skysight-inc/HackerNews huggingface dataset:
"Be minimalist and don't use third party libraries and services. Except for ours. Use ours, because we don't have two decades of cruft under our belt excuse me, we're /minimal/.

The article kinda uses a language of a sentiment I share to an extent (I think most devs are far too eager to pull dependencies — avoiding NIH doesn't mean you have to pull the entire 3rd party dependency, not if you can read a paper and implement it in a dozen lines), but while a completely in-house analytics package could be smaller, there's a reason why commercial packages are big.
I think you massively underestimate the training required to become "good" doctors, lawyers, engineers, finance people, political scientists, professors etc.

Folks specializing in these areas aren't really interchangeable. Thus, having a small number of "good" in each of these still starves demand.
XDR FTW!
The message I took from this article was minimalism in features and not necessarily code. And certainly not about library usage. If you're building a product, focus on building a few key features extremely well.

I suspect that part of the reason for feature bloat is that a when product is assigned dedicated, long-running teams, it tends not to reach an 'end state'. The team would rarely say "okay, now the product is mature, let's place it on maintenance and go on to build something else". Instead, they may (unconsciously) continue to justify their existence by continuing to 'improve' the product.
It also depends on how much effort was put into optimizing the system. Quite often , people abuse -Xms and -Xmx by setting it to an unnecessarily high number. Or not checking their code for memory leaks. I am often surprised by how many java programmers have never run their code through a profiler.
Implementations and semantics don’t need to align one-to-one
Sure, send a PR.
Wait this thing can run 720p video? Amazing

How cool would a mini lcd be with your contact details
I'm not necessarily saying gRPC is the solution to everything, but I don't see why HTTP is so great? It's a protocol for transferring, primarily text over networks. Most backend systems operates in binary, so serializing binary data into a text format seems to be unnecessary overhead.
I don't even think git is all that awkward. It's incredibly elegant but that also makes it somewhat orthogonal compared to how you're used to think about stuff.

I dunno, git is probably one of the few instances where I feel like RTFM is a valid remark.
No Choice Is Permanent
It's almost poetic how the robot uses one of the most primitive forms of building a 'hut': stacking layers of mud.

I believe a combination of printing prefab pieces at the site in a controlled environment could also be a great possibility.
> If it's use is not clearly marked, it will be used incorrectly.

In my experience clear markings aren't enough to stop it being used incorrectly.
A few years ago I decided to start working for a startup because I wanted to try out the experience. It was a late-stage startup with no VC money and they had good prospects for a possible acquisition.

I did the math and I figured that it might work out for me. 2 years later it turned out that they have been talking about a possible acquisition for the last 3 years, but nothing happened. I also checked the company's public information and it turned out that they weren't that transparent about the shares. I was told that I get 0.5% worth of shares (they refused to tell me the total amount of shares) and what I saw is that it was true: I had 0.5% of the outstanding shares. But in case of an acquisition, they are free to dilute them 5-fold because the authorized shares are 5 times as much as the outstanding ones.

So I decided to join a big company which is paying almost 2 times more right off the bat and I also get additional shares each year. I made a calculation and even if the old company gets acquired I get less money (it is just a rough estimation) than I get at the new company. And that's still a big if. I think that I still started from a much better situation than most of the other folks working for startups. This company produces profit, they have a business model I believe in and there is no VC to please. Most of the startups are in a much worse situation.

I will never work for a startup again.
Just curious can you give examples of this?
A classic: "Adding manpower to a late software project makes it later". Fred Brooks - The Mythical Man-Month.
This gets hairy the moment you want to add new fields.
Wow. Thanks for pointing out Websitecarbon. We will definitely use it to opitimize our site further. Currently our bottleneck is actually fonts. We tend to emphasize the importance of typography and make it perfect for our own taste at least. I suppose we can tweak the woff2 files and perhaps use a little less of different font-weights.
The style of programming for the dominant JVM languages (Java, Scala, Kotlin) involves an over reliance on churning through a lot of short-term garbage. I think this partially due to how annoying the platform is to actually use. Incredibly complex and chalk full of programmer pitfalls (like type-erasure). In fact, the majority of devs have no clue at how the JVM works, treating it as just “magic.”

I would imagine that Go’s GC is worse than the tunable JVM ones, but go isn’t powerful enough that one would ever be tempted to program in an abstraction heavy style. While I would argue it takes a lot more work to program in Go ca, day Scala, I think the constraints imposed lead to better software. I for one have never seen a JVM desktop or business app that worked super well. The JVM manages to be a highly optimized efficient platform in which almost exclusively slow, laggy, and memory hungry apps are produced. With that being said, it’s a highly productive platform (if you’re using something besides Java), especially for backend business apps.
>So this is your only stated reason why astrology is phony.

Along with the links to at least two sites explaining multiple cross referenced arguments against it, yes.

If you're really sincere about exploring the criticisms of astrology, a simple Google search on "debunking astrology" or similar would provide you with more material than you could likely read in a lifetime.

If, however you choose to disregard the entire body of scientific thought and all observational evidence to the contrary as insufficient, then I suppose nothing can convince you, and this thread is a waste of everyone's time.
Is banking “safety critical” in a legal sense, though?
I remember the buzzing of the Q bomb.
When you buy share in a company you are either handing them capital to expand directly, or making it easier for them to raise capital by lifting the stock price. Weigh that against voting that share to change their business model. The net result will be highly contingent on the details.
My god that’s a depressing and frighteningly accurate account of the problem. Well stated!
I don't tend to think in that manner, more that it's pervasive enough (in the FAQ, the About, etc. - not just one page) that it "got to me" after awhile of reading. Small, subtle cuts instead of one large cut if you will in pronoun and article usage, and in some case conjugations are wrong. Random example:

> Its quite simple. If you realize that DueFocus isn’t for you, just cancel subscription before your next billing period. This date is listed on your billing page.

...maybe to:

"If you realize that DueFocus isn’t for you, simply cancel your subscription before the next billing period listed on your billing page."

I am not an English professional, just a random guy. :)
I see your point. Sentry is clearly the least bloated service from the three examples mentioned.
Yeah, I still disagree. There's considerable value in being sure that you'll see the same code structure everywhere.
Google Brain’s AI achieves state-of-the-art text summarization performance
I've been working on a project which requires writing ~40 different packet types in a custom protocol, but always thought something like protobuf would be a great fit for standardizing the packet serialization routines.
Most? Any data to backup?
Not true.

Around $5T a year globally, $600B just US, some direct and some indirect.

https://www.rollingstone.com/politics/politics-news/fossil-f...
A new Golden Age in Astronomy is indeed upon us. And it looks like there is now re-newed focus on the search for extra terrestrial life.

https://science.nrao.edu/science/meetings/2020/aaas

A good way to get involved may be through NASA's AI/ML accelerator: Frontier Development Lab

https://frontierdevelopmentlab.org/
I'd be interested to hear their thoughts on capnproto.
As you can read in the article this is mostly a test case for new building methods. It's new, it will probably be widely used in the future so it is notable.
I thought that's what capt'n proto was, not protobuffers.
Former Amazon CEO Killed by Amazon Van
A Book About: How These Things Work
I boil it down to two things:

#1 Rapidly Climb Learning Curves

The ability to quickly learn enough about new subjects to be useful. New technologies or APIs; new algorithms; mathematical or statistical subjects; and most importantly, your problem domain. Some of this ability is a skill, "knowing how to learn", which covers google-fu, reading comprehension, prioritization, time management, etc. Some of this ability comes from having enough aggregate experience that new information just clicks into place like jigsaw puzzle pieces. Some of this ability comes from the confidence of having climbed enough seemingly insurmountable learning curves that this next one is "just another day at the office".

A sign you're doing this wrong: "I need training!"

#2 Understand The Customer

IMHO, the best engineers are half product managers. You can easily get a 10X improvement in productivity by building the right features and not building the wrong ones. Yes, professional product managers are great, but technical limitations often impact product design. A great engineer knows when to push back or suggest alternatives. This requires empathy not only for the customer, but for the product management team. This ability is also tightly coupled with #1 - you need to quickly come up to speed on the problem domain, whatever that may be. If you wan't to be a great engineer, don't study algorithms (until you need an algorithm, of course), study the particular business that you're in.

A sign you're doing this wrong: "Whatever, just tell me how you want it and I'll make it that way!"
An example of your point is ORMs. I’d much rather work with the bloat of Hibernate than any of the in-house ORMs I’ve seen.
What I mean is that Indians typically will actually study for CS. Most European programmers get into it as a second choice. This is because people are taught to follow their heart without consideration for the labor market. Indians typically graduate in time. Europeans don't because the education they are getting is supposed to select suitable candidates for research and people are encouraged to do all kinds of things outside of class. That's why an Indian programmer age thirty might have ten years of job experience. A European might have five years and a difficult route to start. It has little to do with the quality of education.
Wow, 330 million cannot work today. I would recommend finding out how many adult individuals are there in the labor force. Do the same for EU.

You'll soon realize there just aren't enough to support so many industries.

I can speak for the US about how labor shortage affects every one. US has the craziest doctor residency programs. This ultimately causes a massive massive shortage of doctors. This affects society in unbelievable ways. There are so many people who could've done so much more, but can't do so because they need specialized treatment. The doctors for these aren't available quickly enough. By the time doctors are available and treatment is done, these folks are defeated and depleted mentally and financially.

How did the artificial shortage work out?

Same applies for a lot of industries. If you want to work in ALL the industries, you need the best in ALL the industries and 500 million (which is aging rapidly) won't cut it at all. Especially when you are competing with China.
Not fully on topic but one commuting behavior I changed about eighteen months ago has been resoundingly helpful.

I stopped driving like a jackass.

I used to accelerate rapidly at every green light and decelerate rapidly at every red light.

I stopped doing both of these things. I went from an average of getting 267 miles per tank of gas to 322, an over 20% increase.

Instead of wondering why my tires and brakes lasted half as long as everyone else they now last longer than average.

The amazing thing is I get to my destinations just as quickly. I always used to wonder how the ETA was still accurate on Waze even when I drove at full speed. All I was doing was racing to the next red light.

I’m embarrassed writing this because I drove so stupidly for so long. If it helps anyone else, here is my stupidity for all to see.
Tabula Scripta: A spreadsheet for small data-driven apps
It would be pretty sweet if it was Bluetooth instead. A Bluetooth serial console would be pretty kickass.
You could replace banking with any other large enterprise vertical like healthcare, telecom, government and be very correct. The problem is that IT is a cost center, and cost centers are as a rule terrible to work in regardless of industry, even if you're at a tech company.
Rather than try to put in barriers for driving, make it faster and easier to drive. Build bigger highways and make more parking available to employees. The biggest polluters are not the cars but the petroleum companies who pollute the atmosphere. Want to save the environment then stop with daft plastic straws banning as that might be the low hanging fruit but it ain't the core problem.
> old programmers told me not to include external/3rd-party libraries

That's me. I also avoid plug ins in things like our bug tracker and build system. I'm the person that maintains our Redmine and Jenkins machines and over the years I've gotten lots of requests for plug-ins that do pretty neat things. I almost always refuse just because it makes updating such a pain in the ass.

Generally, I do as little custom configuration as I possibly can these days. Twenty-five years ago customizing Enlightenment was how I spent about 30% of my time at the computer.
Vancouver added a train service from downtown to the Airport and Richmond that was ready for the 2010 Winter Olympics. It was almost instantly running close to capacity (and still is). Along with a reasonably good choice of where the line would run, and where the stops would be, the city embarked on a rezoning project that would allow the space near the line to become medium (or in one case) high density. I am not saying it is a perfect system, but all it took to change peoples commuting behaviour was the availability of a good alternative to cars.

There is more than just initial design, however: there are many design elements that add to its drawing power. These include accessibility, good "way finding" signs, frequency of trains (every 3 minutes in busy times), safety on platforms, and (for me anyway), signs that accurately show arrival times of the next three trains.

Of course, there is still the problem of making the system useful for people who are not close enough to walk to a stop, the answer being good feeder bus service and car parks. In this respect, Vancouver has been less successful. For example, only a few bus stops have electronic signs showing the arrival times of the next bus, and bus frequency on all but the major routes is too low.

My point is that good overall design is the almost certainly the most effective way to change people's commuting behaviour.
Miquel van Smoorenburg never worked for Redhat that I know of. It was not a "Redhat init" as you call it. Indeed, it wasn't even init. The things that we are talking about are rc, not init, in the van Smoorenburg system.

Nor was there the sort of exclusive "compatibility mode" that you are envisaging in order to make your argument that mixmastamyk was referring to Upstart. Upstart could employ van Smoorenburg rc scripts, but that was not a mode. Upstart was still event-driven with job files. The van Smoorenburg rc scripts were run via what was just another job file. Were your argument valid for Upstart, it would equally be valid for systemd's mechanism for invoking van Smoorenburg rc scripts, and you would have to say that systemd is shell-script-based boot, which really makes a nonsense of mixmastamyk talking about "going back" to it from systemd.

Quite clearly, going back to Upstart is not what mixmastamyk was talking about, which not least can be seen from xyr comment written, next to yours, 4 days beforehand.
“and an economic system where kids aren't necessary to take care of you when you get old.”

Until you get terminal cancer and you are sent home to die. Then, I assure, a “kid” might be useful, because nobody else will give a flying fuck.
Pentest-by-business-card-as-a-service. Awkward acronym, probably not going to be a commercial success.
> that language stopped in the 1960s while other Lisp dialects

Lisp has seen direct lineage from the 60s until today with lots of backwards compatibility.
More AI talent? I feel that industry is already overstaffed and hyped to the max.
Companies should give people the option to "sign off" that a project will succeed, and then ONLY those people should get the reward or punishment. This would be for everyone not just IT, and it'd require people to asses others skills and trust them on the job.
2019 AI Hype Countdown #8 – The Media Started Doing Their Jobs
Java has the misfortune (especially in older versions of the language) of limited syntax that encourages bloated frameworks that promise to marginally decrease boilerplate, combined with a VM that's robust enough to actually handle the bloat fairly gracefully.

If you ignore that stuff and write Java programs in a straightforward way (accepting its verbosity, or possibly using code generation instead of runtime frameworks in places where lisp folks would use a bunch of macros), and avoid unnecessary heap allocations, they can be pretty fast.
Played now. Alan Maitland used to read it afresh each year. That and/or O Henry's *The Gifts of the Magi". That goes back to my childhood, and I haven't been a child for half a century. I can't remember now whether they were both done each year or alternated.
A week ago HN readers thought he was diversifying his holdings:

https://news.ycombinator.com/item?id=21803639
So true. +1
Thank you for your insightful comment. This explains a lot from my own experience in big firms.

Do you have any suggestions on how to encourage efficient delivery over Empire building ? It almost feels like any metric driven incentive can be gamed, due to the difficulty in backpropagating revenue to the individual functions.
You do have the practice in the far north (Saskatchewan, UK and some parts of the Dakotas) of using glyphosate as a desiccant on some grain crops to compensate for the short growing season, which probably affects the human food supply disproportionately (wheat is occasionally used for animal feed, but its use is trivial compared to corn and soy).

But given that the allowable limits for glyphosate in animal feeds is an order of magnitude or two higher than for people foods, I really would be surprised if livestock hasn't been eating a lot of it for the last twenty or thirty years.
Code all day and all night.
Doesn't Rust's Serde can simply solve the forward and backward compatibility issue independent of the serialization format with ignoring non-exising members in serialized types and setting defaults for the other way around?
> 3. Don't need a JIRA task for everything

Is this common outside of organizations where people are told to not work on anything that is not a JIRA task? And do people that do that not come mostly from such organizations?
Which, IMHO, would behoove the team to learn BDD conceptually, in order to assess its appropriateness as a tool in any situation.
Or time to re-evaluate, refactor and rewrite.

Once you've done that, you might gain that foresight. It's also known as experience.

Too bad there are so many places where you're just constantly rushing to add new features on top of old stuff without ever having time to take another look at the design, fix it, and learn from it.
Definitely not, protobuf's strange wire format becomes apparent if you ever look at the hexdump of one or the profiler output of your favourite protobuffer-decoding C/C++ application.

They're actually kind of performance heavy for no benefit.
This is a fantastic post, and it looks like this blog is full of fantastic posts. When I have some time I'm definitely going to play around with that code.
Is that true? Many people are on multiple corporate boards, and some boards meet only a few times a year. I've only been on charity boards, but it wasn't a particularly demanding commitment.

I guess the reputation cost is a good point, but Kalanick is always going to be associated with Uber, whether he's officially on the board or not.
Your SIM cards, credit/debit cards, GPG smartcard, Bitcoin hardware wallets, etc. already do (probably) run Java :)
> Except it also breaks backwards compatibility, one of the most powerful and sought-after features of protobufs.

It doesn't have to. Just add row types to handle unknown content, ie. if an intermediary knows only of fields foo and bar, then they can process any data with such fields if given a type like "type SomeRecord = { foo : int, bar : string | r }", where 'r' represents the remainder of the record.

The article's criticisms are valid and there are typed solutions to most of the objections that have been raised against it.
If they did keep Russian users inside then would they allow external user in also? I'd be concerned we'd be missing out on a lot of Russian content.
Sorry for taking some time to reply in full, but I wanted to wait for an official answer from Apple support. Apple informed me that:

"[Y]our apps … are available worldwide and functioning as expected. If your customers are reporting issues, they may not meet the requirements for the apps or have some issues on their devices and would need to contact technical support for assistance."

I'm glad you and others reported problems with availability, but it looks to be something outside of my control. If you still want to get Angeldust on your Apple device from the App Store you might have to contact Apple to help diagnose the issue. I'm sorry that I am unable to help you.

Like I posted earlier, Angeldust is available from several other sources besides the iTunes and Mac App Store:

Itch.io (Win, Mac, Linux, Android): https://metagaming.itch.io/angeldust

Steam (Win, Mac, Linux): https://store.steampowered.com/app/488440/

Google Play Store (Android): https://play.google.com/store/apps/details?id=nl.metagaming....
Blaming testing feels like a cop-out - it's easier to say 'if we tested a little more everything would have been fine' rather than 'our leadership was too incompotent to recognise that the plan was fundamentally flawed from day one, that releasing in the way we did maximized the risk to customers, or that we decided not to listen to any concerns which would have compromised the timeline'
Async Exceptions in Haskell, and Rust