skysight-inc/HackerNews huggingface dataset:
Don't charge money to scope projects. Be selective about the kinds of projects you'll take, and don't take the kind where paid scoping is material.

Don't charge hourly; daily at minimum, but you can go much higher than this. We bill monthly and have quarterly commits.

Raise your rates. Raising your rates also raises the quality of your clients.

Fixed vs. T&M isn't an either/or. At Matasano, our standard engagement was "bid" fixed, with a single price tag, but backstopped with a T&M extension clause (which we rarely used). Clients want to know what they're paying, and you can tell them, while also retaining the discretion to start a meter running if the project goes over.

Don't nickle-and-dime clients. If you're trying to squeeze a small number of clients, you're doing it wrong. Serious returns from consulting come from scaling up to larger engagements and to multiple large clients. If you're a pain to deal with, that's going to take longer to happen; you'll get stuck in a local maxima that is a real drag to be in long term.

We have two prices: free and expensive. This is liberating; at Latacora, we're totally unafraid to do work that other firms would charge significantly for (we've done whole assessments for people gratis), because we are super clear (and a serious financial commitment) to engage for real. But even at Matasano, where our engagements were super variable in price, we were still happy to do lots of stuff for free. I'm pretty sure consulting is karma based; I don't try to map out exactly where the karma is flowing, I just try to feed it and assume good things will happen later, and that's always proven out for me.

Look for ways to specialize. A trading firm would rather do business with a trading development consultancy than a development consultancy, and, if they couldn't find a trading development consultancy, they'd prefer a development consultancy over a generic IT consultancy.

Remember the difference between an employee and a principal is that employees always get paid; when business is light, principals don't eat. To anyone thinking about consulting for-serious I'd tell them to plan on hiring! But be very careful about how and when you do it.

Get an accountant. Get an accountant! GET AN ACCOUNTANT.

A lawyer is also helpful. There are two strategies I've seen with respect to contracts: the "just sign everything" strategy and the "get everything reviewed" strategy. We've always been on the latter side (Grellas Shah reviews our contracts and we're very happy with them), but I would be remiss if I didn't point out that one of Matasano's more-successful competitors was a "just sign everything" company.

Did I mention don't bill hourly? Don't bill hourly.
Yep. And for a long while the future was Ruby, then Node.js, then it was Go. Now it's Elixir? Rust? WASM? Nim?
yeah, and why did the Washington AG hold a press conference around this? he should have tried to hide it. seriously.

the AG barely held Amazon accountable at all. the fines are miniscule. my guess is that these same lead and cadmium tainted products will be sold through Amazon again in the future. lead paint in toys has been a problem for decades. this isn't enough to stop it. this problem calls for a far stronger remedy.

also: where are all the California Prop 65 lawsuits? where is Calfornia's AG on this issue? we have way more Amazon customers in California and fewer conflicts of interest since Amazon is headquartered in WA. this makes no sense.
Where I live (Seattle), a landlord can enter your apartment immediately if there's an emergency (ie something like it's an apartment and the downstairs neighbor reports water leaking from the ceiling), or with two days (48 hours) notice. My current apartment does the second one twice a year for fire alarm testing and, well, that's been it.
I mean, Java 8, that's great! From an enterprise point of view it was released basically yesterday. I'm sure a large minority of systems still runs on Java 5 or 6.
I think the closest equivalent is Canonical. Canonical spent a lot of money on Desktop Linux, and to be honest, you can see the impact. Desktop Linux today is far more usable than it ever was, and the millions spent by Canonical are a large part of that.

Unfortunately, Canonical appears to have scaled back their desktop spending, so it remains to be seen if someone else will step in. Maybe the System76 or Purism folks, or maybe Canonical will focus on Ubuntu desktop again, especially with Shuttleworth’s recent comments that he has been surprised with the number of large organizations requesrion Linux laptops, esp for their data science teams, etc.
> he had to _crawl on all fours_ out of the plane through thick smoke

Individual smoke hoods were tested in the 1980s for such eventualities but weren't adopted for cost reasons.
Not sure what's in the curriculum today, but I was taught calculus (20 years ago) heavy on physics applications. I don't think I would have appreciated it as much without that.
It is: man git-reflog.
How many people in your house know how to operate your (presumably non-smart) AV system, with its receiver and four different remotes? When someone new comes over, how long would it take them to figure out how to watch a movie?
RaspberryPi Featured on UK Postage Stamp
I'd suggest creating the branch before the rebase:

$ git co feature-branch
$ git branch before-rebase-feature-branch
$ git rebase develop
"Eschew flamebait. Don't introduce flamewar topics unless you have something genuinely new to say. Avoid unrelated controversies and generic tangents."

https://news.ycombinator.com/newsguidelines.html

We detached this subthread from https://news.ycombinator.com/item?id=19875516 and marked it off-topic.
In C you'll content yourself with a library for operations on long, long long, or void*.

But if you are working on a project where the details of the tree do not matter (so you can use a library), you will probably use C++, not C. I still have a hard time understanding what niche Go fills, it's too high level to compete with C or Rust, but here we are comparing its expressiveness with C.
Yep, it was designed by and for linux kernel development, that average users are using it is an accident of history.
I like this approach (having been stuck in full time jobs for longer than I intended).
As the old Andre Previn sketch joke says: all the right commits, but not necessarily in the right order.
I don't have a smart home device and I won't buy it in a few years. And the simple reason is that there is no regulation for bad behavior. These companies keep getting away with massive privacy violations. We can dig into the big companies but at this time, that point has been beaten to death.

When there is better regulation and the software engineers are being jailed for violations of privacy, I will trust the system and buy it. Until then, I simply don't trust it. And won't buy it.

I don't hate the lights. It's great innovation. I am amused at the fact that you can turn off your ac from work in case you forgot. But privacy. Privacy is becoming a bigger and bigger issue. And I'd like it to be addressed before I let the companies run my data on aws.
Bird that went extinct 136,000 years ago evolves again
I just don't understand why programming a thermostat needs to bring Google into the loop? It's not needed. My data should stay with me if I so desire (without needing extensive mistake-prone config).
Cool. The whole repo is about 24K lines, and the vmcore_wasm dir is ~8300 lines.

~/git/languages/wasm-micro-runtime$ find . -name '*.[ch]' |xargs wc -l |sort -n
...
472 ./core/iwasm/runtime/vmcore_wasm/wasm-opcode.h
478 ./core/shared-lib/utils/runtime_timer.c
537 ./core/shared-lib/platform/zephyr/bh_thread.c
581 ./core/iwasm/runtime/platform/zephyr/wasm_math.c
590 ./core/shared-lib/mem-alloc/ems/ems_alloc.c
841 ./core/iwasm/lib/native-interface/attr-container.c
893 ./core/iwasm/lib/native/libc/libc_wrapper.c
1220 ./core/iwasm/runtime/vmcore_wasm/wasm-runtime.c
2160 ./core/iwasm/runtime/vmcore_wasm/wasm-interp.c
2874 ./core/iwasm/runtime/vmcore_wasm/wasm-loader.c
24534 total

There is also a C++ VM here that’s ~7700 lines. I haven’t tried either one but it would be interesting to see how they compare!

https://github.com/WebAssembly/wabt/tree/master/src/interp

~/git/languages/wabt/src/interp$ wc -l *.cc *.h
1863 binary-reader-interp.cc
3585 interp.cc
642 interp-disassemble.cc
740 interp-trace.cc
43 binary-reader-interp.h
735 interp.h
94 interp-internal.h
7702 total
> This piece of the puzzle is the one that worries me the most. What I’m worried about is that places like Hacker News, r/programming, the tech press, and conferences expose us to a number of tech-forward biases about our industry that are overenthusiastic about the promises of new technology without talking about tradeoffs.

That's because these are marketing websites, meant to show off the newest and shiniest things, with an agenda. We like them because by our nature we like new and shiny things, but their content isn't representative of real life, like at all.

> That the loudest voices get the most credibility, and, that, as a result, we are listening to complicated set-ups and overengineering systems of distributed networking and queues and serverless and microservices and machine learning platforms that our companies don’t need, and that most other developers that pick up our work can’t relate to, or can even work with.

This is also part of human nature and my experience in the tech world confirms to me that the loudest voices are usually somewhere in the top of the bell curve of correctness or usefulness. Make friends with people who are working on real products every day and stay grounded in reality by talking to them, like knives that sharpen each other. The less they want to talk about tech or share their opinions, the more likely they are to have sane, reasonable and useful ones.
Or even new ones. I’ve been given js+mongo apps by partners that I had to modify to use standard postgres before becoming responsible for herding them in prod.

Not everyone chases the hype cycle.
Interesting, is this why lots of positions say "Remote (US only)"? I couldn't find any legal basis for restricting remote employees to a certain country but your theory may explain the rational.
If you want a security system, don't buy one that is glued to the side of an insecure IoT system.

I like convenience as much as anyone, but you may want to consider that it's paid for by continuous monitoring by someone whose business model is to manipulate your future behavior.
Should I move near Chernobyl ?
Indeed this is the whole reason I like fixups. Reviewers can actually keep up with the requested changes and know exactly which fixup-commit is related to which change.
Health insurance is a problem. Solve it before you move to contracting.

Taxes, on the other hand, are completely skewed in favor of consulting. Look at 401k contributions, for example. The limit for your contribution is the same, but your company can contribute a lot more on top of that. And talk to your accountant about how you decide on your salary; that's an important number and it's not straightforward to decide what it is. (It's certainly not your entire income)
This is simply a lie. The Hebrew language never died, and Jews have continuously lived in Israel all this time. There was no mass conversion of the "Khazaars."
There is the reflog for that. https://www.atlassian.com/git/tutorials/rewriting-history/gi...
Isn't that what the reflog is?
Or they can charge more.
You could say the same thing about driving at all. People think it's their divine right to drive, even though driving at all reports 165,000 casualties of all levels in the UK, per year: https://www.gov.uk/government/statistics/reported-road-casua...

And the government does nothing. Except speed bumps, which people complain about, mandatory car maintenance, which people complain about, traffic lights everywhere, which people complain about, speed cameras, which people complain about, regulate emissions, which people complain about.
Devices that don't connect to a 3rd party servers in the first place aren't dependant on the good will of the manufacturer to remain privacy conscious.

Right now Apple makes buckets of cash from their hardware, but if they ever need to tighten their belt you can bet that the extra revenue from selling your data will be extremely tempting.
Ran a consultancy for years

Most important advice I'd give is to liberally turn projects down and there are two positive outcomes

- you don't take on projects that don't make sense for you

- the best projects are the ones where the client is resilient enough to negotiate through your initial "no"
I'm right now writing code for integration with one information system using SOAP Web Service with digital signatures. Good old Java 8, wsimport, etc. Nothing wrong about it, it gets job done. I'm still reluctant to throw away XML from my Spring projects, I don't like their new approach with annotations and XML works better for me.
Yep, they even used the term "quality over quantity" to describe this.
> I have been consuming philosophy/philosophical themed content

That might be a good way to start but you should not see it as something to "consume". You can consume all the philosophical content of the world, but if you don't put in the work to reflect and internalise what you consumed it's not much better than consuming netflix shows. It's very easy to fall into this trap these days, lot's of podcasts and youtube channels about self improvement, making it fun &c. while in reality they're just scraping the top of a bottomless pit of knowledge. It's like a new form of entertainment / feel good hobby.

You also have to be careful about where you get your infos from, (over) simplification (like on https://www.philosophybro.com/) can be detrimental. It took decades for some philosophers to articulate their ideas, you have to dig into their work if you want to truly understand the authors.

Find an author you like, stick to it. Read about him/her, naturally you'll discover other authors & themes gravitating around him/he. It'll slowly open up your horizons. Learn about the history of philosophy too, very interesting and it can give you hints about what you'd like to learn.

> Be careful, however, lest this reading of many authors and books of every sort may tend to make you discursive and unsteady. You must linger among a limited number of master-thinkers, and digest their works, if you would derive ideas which shall win firm hold in your mind. Everywhere means nowhere. When a person spends all his time in foreign travel, he ends by having many acquaintances, but no friends. And the same thing must hold true of men who seek intimate acquaintance with no single author, but visit them all in a hasty and hurried manner. - Seneca
I would have murdered every single one of those little devils. Bee murder, it's the only way to fly.
Actually, there are many things I like a lot better about the 2007ish KDE/Oxygen/Breeze style than about more modern approaches like for example Windows 10.

I am not saying it is perfect, it is not, but especially in design terms, 'newer' isn't always better. And in general, I like KDE look very much.
"Legacy ones" as in almost all companies. The fact is that the economy, in large part, runs on Excel.
Comparing lost commits to rm isn’t a good analogy.

Git has a very good safety net when you know how to use it. The problem is knowing how to use it, not that it’s not there.

It’s a legitimate point that git’s UI sucks, that’s what’s wrong, and everyone agrees. But learn how to use the reflog and you will see the light!
Editing history in git is also well supported and very commonly used, and git does it well. It's just not for absolute beginners, and the UI is occasionally not great. If git did not want you to ever change history, filter-branch, rebase, rebase -i, fixups, squashes and a bunch of other inclusions are odd, to say the least.
I don't really believe this myself, but HN just loves it if you defend corporations doing evil shit. They are all gullible fools on here and I just had some fun manipulating them.

I too, wish governments would get their shit together and regulate them. The corrupt governments (especially US) of today wouldn't even regulate regular banks, quite the opposite.
yep, they run whatever version of Confluence was released 4 years ago
Yes, most suburban houses are wood. In cities standalone houses tend to be brick, while newer apartment buildings tend to be glass, steel, and concrete. Insulation is fine since since there's fiberglass insulation between the frames. Houses are designed to have some airflow in order to remove humidity to avoid mold. Remember summers on the East Coast often hit 40 degrees C with 100% humidity. They can withstand most of America's extreme weather (blizzards, hurricanes, earthquakes) with the exception of tornadoes, which have the tendency to pull the roof off.
Human language isn't math. Two things can be described with the same words and still very much not be equivalent.

"Muggers use the treat of violence to take money, government threatens violence if you don't pay taxes, ergo, taxation is the same as mugging and you may now assign to taxation all the dislike you have for mugging" is a terrible argument. Some form of bad syllogism, specifically, I'd say. If you really want to advance these positions, get better at it—then let me know when you have, because I've not ever seen them advocated particularly well and that'd surely be interesting.
You may be very surprised how much very serious stuff runs in and is still being written on top of Excel. Trading models dealing with tens of millions of dollars a day for example.
Even then, unless Uber and Lyft develop self driving in house and don't license it out, i think in the majority of the country, most people would buy a car with self driving tech instead of using Uber or Lyft. Most people in america live in suburbs, where having a car on hand is much more convenient than ordering one all the time. My bet is that self driving tech will lead to more people moving farther into the suburbs rather than less.
Personally I prefer Windows 95-98 era UI/UX, it was the right balance between pretty and useful. Too bad those days are over.
BE-4:

https://www.youtube.com/watch?v=Nyn2gOimRfM

First new staged rocket engine developed in the US since the Space Shuttle (or at least at the same time with the SpaceX Raptor).

They also have gigantic production facility that is already built in Florida. Do you think its just an empty warehouse?
Somewhat related - I'll charge for analysis and a briefing doc as well before speccing the actual project. Sometimes in marketing clients don't know what the outcome they want is (other than, "make moar £££s"), so reviewing what they're doing is also another good funnel into a larger gig.

Again, this helps clarify the intent and scope when you launch into a larger engagement.
I lived in LA for 20 years (moved about 2 years ago -- hope I didn't sell you my condo!) -- and was right by LAX with a view of departing planes over the ocean, right from my balcony. Never had any health issues, still have all of my hair.

My mother was just diagnosed with dementia, and her mother had it before she died. Despite my "anecdata", I am keeping a close eye on these sort of findings, to see if my brain is going to go the same way. I've certainly had a higher pollution load in my life to date than either of them. :/
It’s more like saying that files in the trash or recycle bin aren’t really deleted. It’s true, they’re still there.

Someone who has never done it before won’t know how to retrieve them, but that’s hardly a surprise.
At work, we have some customers who want to use WebLogic and Websphere, and last time I checked those don't have versions that support anything beyond Java 8.

I still use Java 8 even on personal projects. I'm migrating those to Kotlin, so I'm at least not held back with regard to programming language features. I could upgrade those to Java 11 (or 12), just haven't prioritized taking the time to do that over other tasks, and the benefit would be minimal for these particular projects.

When using Java 8 language, I'm just happy to have lambdas and streams. Java 8 was the biggest improvement to Java language since 5 -- and I'd say it's a bigger leap that 5 was.
have never been more on board with breaking up McDonald's. ;)
That does sound like they're doing it wrong. Could you give an example?
> Pi types in C.

I took a quick look at what these are. Couldn't they implemented with macros like (this builds a type "Utf8String" which "depends" on the value of the "ENCODING" parameter to figure out what set of functions to call for the guts of the functions that handle the type, e.g. RawStringUtf8Length):

enum Encoding { Ascii, Utf8, Utf16 };

#define TYPENAME Utf8String
#define ENCODING Utf8
#define CHARTYPE char
#include "stringdef.ph"

Then in stringdef.ph (ph=parametric header, just came up with it):

typedef struct { size_t len; CHARTYPE* text; } TYPENAME;

#define MAKEFUNC(name) TYPENAME##name
#define RAWSTRINGFUNC(name) RawString##ENCODING

void MAKEFUNC(Create)(TYPENAME* str);
void MAKEFUNC(Destroy)(TYPENAME* str);
void MAKEFUNC(CreateFrom)(TYPENAME* str, const CHARTYPE* text);

/* this goes in a single C file, single header library style */
#ifdef IMPLEMENTATION

void MAKEFUNC(Create)(TYPENAME* str) { ... }
void MAKEFUNC(Destroy)(TYPENAME* str) { ... }
void MAKEFUNC(CreateFrom)(TYPENAME* str, const CHARTYPE* text) {
str->len = RAWSTRINGFUNC(Length)(text);
str->text = RAWSTRINGFUNC(Duplicate)(text);
}

#endif

#undef MAKEFUNC

/* cleanup input parameters so includers wont need to do it */
#undef CHARTYPE
#undef ENCODING
#undef TYPENAME

Then you can use the above simply like

Utf8String u8s;
Utf8StringCreateFrom(&u8s, "foo...");

It isn't exactly pretty, but seems to do the work. The ENCODING parameter is only conceptually an Encoding enum, but this can be enforced with some dummy (unused) code that does use of the ENCODING value as Encoding (and if extra strength is needed, as enums are weakly typed, instead of native enums, you could define macros that create stronger "enums" out of structs).
> Smart people don't buy smart home devices.

Insulting everyone you presumably intend to convince with your argument is not a smart move.
> All your shit can be replaced

Yes, at your own expense. Airline compensation is capped.

We're all being rational here in a forum. Someone evacuating a burning aeroplane isn't. They might think "I need my passport" and grab their bag.
> Don't charge money to scope projects

Would you recommend this even to a solo consultant, where scoping can take multiple days with the prospect of that time being lost? I'm in a situation where the potential client desperately needs a scope developed, but I don't feel I can risk doing it for free as it might take a week.
So-called "Web Standards" processes and organizations have been a fairy tale for a long time now. W3C is a pay-as-you-go puppet organization dominated by Google. You can see who calls the shots just by considering that the W3C-HTML 5.3 and SVG 2 specs have been abandoned. WHATWG was also funded and is sponsored by Google, and made an aggressive attempt at usurpating de-facto power over web standardization with a vulgar, staged anti-establishment "HTML5 rocks" campaign. The dominating browser and mobile platform (again, Google) can do what they want anyway. Now they turn to W3C again as a fig leaf for their not-so-stealth operation to become the web.

WHATWG's and W3C's track record as wannabe standardization bodies is incredibly poor considering that it has seen Opera and MS drop out of browser development alltogether, and that web standards are so fsckng complicated it's infeasible to develop a browser from scratch again, ever. I mean, that's exactly the situation that a standard is meant to prevent.

It's time for a real standardization org to step in, and for society to sit at the table when it comes to decide on the primary means for digital communication.
Is Philips hue also connected to Google? If not this is a big positive point as there is a hard separation to other data (e.g. retrived via Android).