skysight-inc/HackerNews huggingface dataset:
You just stated reasons to move to micro services. Keep the code small and non complex. Smaller code bases lead to smaller changes. You abstract complexity through interaction. You hand off complexity to a higher level of orchestration.

I think people don’t understand what a true enterprise monolith actually looks like.
People advertise on Google because of the massive audience, and that audience exists because of quality organic search results. They are not going to mess with that.
ReadTheDocs: Improved Search Using Elasticsearch
Throwaway for obvious reasons...

I worked at a YC startup a couple of years ago. The day after I started, the guy who hired me (eng manager) quit. All engineers reported to the CEO (former dev). That was the first red flag.

The second red flag occurred a week or two later, when two of the other three engineers cornered me in a room and tried to convince me that I should do what they say instead of what the CEO wanted. Second red flag.

Third red flag was when any tough decisions were made, the CEO would leave it up to us to work out amongst ourselves. Majority ruled. He was so afraid of pissing off any of his engineers that he just wouldn't do anything at all. Total clusterfuck.

They would play games once a week to try and team build, but it was a joke. Nobody trusted anybody else, and everyone was trying to undermine the CEO. Technically, they were doing things fairly OK. They wanted 100% unit test coverage, they had a proper CI/CD pipeline, they expected 2 people to approve every PR, they versioned their APIs appropriately. But none of that works if the people culture blows. And this one blew hard.

I stuck around as long as I could while I tried to find something else, but I couldn't have been more glad to leave a place. It was hell working there.
500k job lol your such a liar... more like 50k.
Re: long-term maintenance

So far every way of doing UI I have seen isn't maintainable long term. Yet somehow things wind up being maintained even if it is in that "why me?" kind of way.

I think this says less about frameworks/libraries themselves and more about the amount and sources of entropy present in the front-end. That's really what we're dealing with here.

Libraries/tools/patterns/frameworks all usually have the function of containing some of that entropy. In theory the best tool contains the most entropy while allowing you to produce results you can sell to all stakeholders.

I think over the years we are doing better and better, but it's a long game. We're not all the way there yet, is it even possible to get all the way to the dream?
Maybe? But what's the average life expectancy of a particular workflow? As long as the feature outlives my workflow, I'm a happy camper.
The great majority of websites, though, DON'T need a mobile app; they need a website that works on mobile. Most smartphone users are unwilling to download more than a few apps for websites, anyway; if your website is a restaurant, a news source, or anything else that works well on a website, most users are unwilling to download and install your app anyway. So, if you want their business, you need to make your website work for mobile. Once you have done, that, in most (not all) cases, you don't need to develop an app anyway.
I've started thinking of this phenomenon as "blog driven design". It's what happens when you fall into the assumption that what bloggers are writing about is what everyone is (or should be) doing.

The problem with that is, blogs are a poor barometer for that sort of thing. Nobody needs to write new blog posts about tried-and-true things that are already plenty well documented. The more solid and stable a technology is, the less incentive there is for anyone to bother writing how-to blogs about it.
Thanks being quite open about what's changed the trajectory!

I do share the same sentiment as yours. I'll be closely watching your experiment and hopefully learn something from you!

Good luck and best wishes!
At least with Gitflow and Githubflow workflows, it is my understanding that we change the version number in the release/feature branch.

With that understanding in mind (regardless of it matching your understanding, I mean), then clearly, "2.3.3-some.prerelease" is in fact less than "2.3.4", or it would have been named "2.3.4-some.prerelease".

Therefore, I believe it is clear that workflow must necessarily be considered to understand SemVer.
> What is your change request process?

I have done everything from formal documentation of changes, requiring pricing and sign-off for every variation, to vaguer schemes.

The change request system sucks; it loses sight of why we're building the software and turns into a war of attrition.

The issue is always they say the spec is open to interpretation and they meant this, or they expect it to work this way (which is slightly different now they see it, but in scope because every single interaction can't be specified in advance). And either way they see no reason to pay.

So it ends in arguing and bad feeling; the client has an expectation that's not met without paying more and feels it's my fault, that they're paying when they shouldn't. I've lost time and much emotional energy.

I have gone as far as to have a "What's not included" section in every contract which helps, and that if it's not mentioned specifically then to assume it's not included; but it's a non-ideal situation.
Wasn’t even serious about this, but now that y’all are playing along, I’ll just dig in for fun.

It’s interesting that Linux kernel bug stats contradict my bold bet. But I’m imagining rando C code here, not necessarily open source, not necessarily in the kernel, not necessarily tested and reviewed the same way. This code is at least open source but I dunno to what extent this newly added code path in runc gets the kind of shaking out that makes kernel code solid.

Runc aside, I expect most C code to have a higher rate of every kind of bug than the kernel.
I think you've got cause and effect backwards. People almost always end up writing spaghetti code. They create monoliths on the way. But the problem is the people, not the monoliths.

Or look at it this way: Even if monoliths are the problem, well, the people wrote the monoliths...
Hiring a replacement would cost them a lot of money and the replacement would also expect $400k for the same responsibilities anyway.
per my comment below > it's pretty amazing how well designed and entertaining the game is 15 years on with the 3 unique race systems, beautiful tilesets/models, fantastic music, etc.

add to that: great lore borrowed from mythology/made up, fantastic voice acting, champion units with extra abilities and item usage, complicated (but not overly) resource management, competitive online community, modding ability with a full map editor/scripting engine. plus a lot of interesting/funny people play the game all over the world which always spices things up. and continuous tweaks to improve the games balance
First U.S. Coal Plant in Years Opens Where No Options Exist
I found there to be a lot of demand in document automation especially in the real estate world. What's your experience been like, just wondering?
Wow. Awesome share. Thanks!
has everyone forgotten what we learned from the Snowden leaks? NSA has QUANTUMINSERT plus a dozen other QUANTUM* codeword programs to attack anyone connected to the Internet by using MITM attacks to impersonate any Internet endpoint and deliver tailored exploits to any client. the way QUANTUM works is by delivering the impersonated connected to the client faster than the real server can send the response. i have been surprised by the lack of interest from us tech nerds into figuring out just how is that possible on a technical level of Internet infrastructure? how can NSA insert itself so its server can deliver spoofed packets faster than the real server?

all Russia is doing here is protecting itself from QUANTUM style attacks on a total scale, by funneling all foreign traffic through infrastructure choke points which is controls. at the very least, this would give Russia the capability to detect QUANTUM attacks. and there is no question whether Russia needs this, because we have already seen evidence of QUANTUM attacks. recall the recent indictment of the dozen GRU officers for their alleged hacking the DNC? in the indictment it lists as evidence that DOJ knows certain Google searches for English translations performed by GRU officers, which later ended up used in the texts and names of accountsed used by GRU. nobody asked "wowie, how did NSA penetrate GRU so deeply to be able to hack their HQ network to then watch what they typed into web pages and emails?" QUANTUM is how. then there was the indictment of the North Korean who allegedly launched on of the bigger WannaCry variants and his indictment shows DOJ was reading his Yandex emails. how did NSA gain access to Yandex in the first place? can you imagine if Russia had breached Gmail and was bulk scanning everybody's emails?

so Russia cannot just do nothing. it has to protect its own cyber sovereignty from NSA. NSA already does the same thing here to protect itself and to give itself enhanced capabilities.

truly free speech is more censored here in America than in Russia, so worry about your own dwindling 1A rights before you tut-tut about Russian's right to say mean words about Putin and criticize their govt for not increasing the acceleration of importing SJW degeneracy into Russia from America.
Is there a centralized jail image repository with images of jails running popular open source software applications that I can search from the command line and spin up locally or in a cluster with a few commands? Can I easily replicate and distribute an image of a jail? Because that is what Docker offers.
what cracks me up about this story is that the voters triumphed simply because they were oblivious to the internet's lies
I'm not following how $380k is the baseline. Were the grants based in dollars or in AMZN shares? I assume it was based in shares and if the stock had fallen you'd have made less?
> The cheapest is about $14K/year here in WA for a family of four (which is what I got). Deductible is about $7/$14K IIRC.

Just think, you need to have $21k in medical receipts before you can even break even. ACA is such a joke and yet many people in our society believe MORE "free" healthcare will drive prices (ie. taxes) lower.
Managers are the problem, they push developers to finish a feature and don't give enough time to look back and revise.

As you see it's easy to shift the responsibility. You have to question and justify every foundational or core decision, weight all cons and pros, and revise. But, well, if nobody is motivated or cares..
Interesting to see this topic coming up. I just recently complained to Microsoft about how Azure Artifacts' "Universal Packages"[1] only supports strict Semantic Versioning with no extras (no additional version number components past patch and no commit hash). This is problematic because there are still several versioning schemes that use four version components, most notably Windows binaries. I was really interested in using Universal Packages to store application binaries as part of a set of new CI pipelines I'm architecting; unfortunately, I have to resort to NuGet, which still supports <major>.<minor>.<patch>.<buildid>+commithash syntax.

I realized the issue was with Semantic Versioning itself. The spec should be changed to mention that any number of additional dotted version components are allowed after <major>.<minor>.<patch> but that they have no semantic meaning. This would help address legacy versioning concerns like mine while not being too prescriptive.

Only having three version components is additionally problematic because there is no place for CI build IDs in the version. Imagine I'm working in a bug-fix branch called 1.5.4. I might have several commits that all trigger CI pipelines. I don't want to increment the patch component until I actually merge the bug fix into master, but I still want my CI system to generate unique version numbers per build. There currently doesn't seem to be a way to do that without being forced to use pre-release identifiers (e.g., 1.5.4-beta.1, -beta.2, etc.), which unnecessarily complicates the CI pipeline.

[1]: https://docs.microsoft.com/en-us/azure/devops/artifacts/quic...
Modern Monetary Theory and the New Green Deal
That's actually exactly the point the parent poster is making. Ada Lovelace has no direct relation to the Jacquard Loom. She's only related because she worked with Babbage, and Babbage was mentioned. Both of you are pointing out that Ada/Turing don't need to be mentioned, as it's not an article about general computing, but specifically about the Loom.
This mindset is so hard to get away from. Still working on it myself as a freelancer of 8 years. I'm starting to think that happiness, work/life balance, and relaxation are all basically a mindset shift that has to be consciously taken.

As my friend recently said, "When I work, I'm typing text into a text box. When I play, I'm also typing text into a text box. What's the difference?"
The article this is from is here: https://web.archive.org/web/19980610100009/http://www.redher...
They're probably going to release an enterprise version: https://hub.docker.com/r/metabase/metabase-enterprise/tags
Yeah. And honestly it’s a giant source of hope for all activists.

Basically if you are on the right side of the issue you just gotta keep up the activism. If the corrupt refuse to reform their undoing begins once they start to try on shady tactics to discredit you and disrupt your effects.
I get your point, but if you’re not making any income from $1m in liquid assets you’re doing something wrong.
You're looking at it the wrong way (i think).

The point is not that he is starving, or that he is desperate. The point of that number is what he gave up!

The point is he gave up a job of 0.5 million, potentially 1 million in a few years. To top it off the job had reasonable hours, great people and he was getting positive feedback.

You would not expect people to give that up. The question is why?

Instead, you're pointing out how lucky he was. Well, that is his point! He was so lucky and is giving it up! Aren't you curious why?
Product Managers* ;-)
This is great!

Natalie Weizenbaum and I used SemVer when we created pub, the package manager for Dart. It was a good choice, but we definitely ran into some subtle problems over the years. Briefly:

* Like Steve notes, Semver doesn't specify any syntax and semantics ranges, constraints, or other "groups of versions". Every package manager just rolls its own thing, hopefully in a mostly compatible way.

* SemVer used to specify an ordering for build versions ("1.2.3+1" versus "1.2.3+2") and then later removed that. Pub still uses the older semantics because a package manager has to do something. If the user requests "foo 1.2.3" and both "1.2.3+1" and "1.2.3+2" exist, what's the package manager supposed to do? Pick randomly? So we still technically use the older SemVer spec where this ordering is defined.

* It's hard for a package to transition into a period of experimental development. Let's say you maintain foo which has lots of users. Foo 1.2.3 is out and lots of people are using it. You want to start working on a major, breaking revision to foo. You need to do that in a way that doesn't spontaneously break existing users, but you also want to ship something so that you can get feedback from early adopters.

Right now, the way you do this is by shipping a series of pre-release versions like 2.0.0-dev.1, etc. That works, but users are often confused that a range like ">=2.0.0" does not include those dev versions, nor does "<2.0.0". It doesn't feel to me that SemVer gracefully handles the idea that previously stable packages may go through periods of instability. Pre-releases are sort of the imaginary numbers of SemVer where they don't really fit the natural linearization of version numbers.

Many projects now have "channels" of development where users can indicate whether they want to be on "stable", "dev", "bleeding edge", etc. When it comes to pre-releases and experimental versions, I think users generally want to indicate whether they want to be on the bleeding edge or not. Today, at least in pub, they have to indicate that using some carefully crafted version constraint that only includes pre-releases. It would be nice if that was a more direct way to express that.

(The fact that SemVer doesn't define ranges compounds this. I think our interpretation of ranges mostly follows npm.)
For the critics, Bruce Schneier wrote about the massive east coast DDoS attacks occurring in 2016, says that it looks like probing, pentesting, checking for response measures.

"Someone Is Learning How to Take Down the Internet"

https://www.schneier.com/blog/archives/2016/09/someone_is_le...
Not the author.

One issue I see is that you'll always face this same question again and again, as risks are way less quantifiable than one expected. I was at multiple occasions that I made up my mind to move on, but at the juncture of making decision, the previous thought process just fell apart for no reason; because when risks become more realistic, its mental pressure is way heavier than the expectation.
Thank you so much, that is extremely useful!
There is a lot of noise and one can never time the market, but I think many of us are interested in analysis because we have a general interest in the economy.
This is the case with (almost) all best practices and better choices, though. Machines don't care about code organization or type systems reminding them about what's what; these are developer tools and aides.
So somehow you can't end up with the micro services version of spaghetti code? If an engineering organization can't handle managing a single codebase, why would you assume they would be good stewards of multiple codebases?
As someone who did something similar and blew through a lot of money I would now recommend to milk this for a few years until you are truly financially independent. If your business doesn't go well it may be hard to jump back on the gravy train.
Pretty sure escorts also come in the "male" variety.

...not that I would know...
4 races: horde, humans, undead & night elves.
This is a significant point; it's definitely not a one-way thing.

At the simplest, there's genuine confusion over symbolism, like people mistaking the Magen David for the Israeli flag. A lot of other times, there's way less excuse; I think the infamous example here is (ex London Mayor) Ken Livingstone comparing a Jewish reporter to a concentration camp guard. His justification was that people are afraid to criticize Israel - despite having been speaking to a British reporter covering a domestic beat.

Honestly, I think that's part of what makes the conflation so enduring. If it stemmed from one side, people would get used to dismissing it as a partisan move. But depending on who you're appealing to and what you're justifying, it can be run from all different political starting points, so no one is putting it in political cartoons as "that thing the other guys do".
Nowadays they have blood clot kits you just pour into the wound. It solidifies very quickly stopping most external blood loss but has to be surgically removed by the attending physicians.
It's generally a bad idea to buy a house, so I don't really see how the median home value is relevant.
Yeah I think that quote is a lot more apt than some of the descriptions we see otherwise.

I'd like to do it, maybe try my hand at woodworking.
Nvidias recent face generation deep neural network (keep refreshing)
Don’t forget that the web is changing. There is more junk produced every day and Google needs to combat search engine spam and blackhat practices. This means changes and not seeing search results you are used to.
Few places are hitting 12 on the Joel Test twenty years on. That, unit/integration tests, and a "message bus" with metrics dashboards and you're above average.
My interpretation was $1000, or $1k
500K/Year is a good enough motivation for me, Jesus! And only 8 years at AWS? I'm probably working for the wrong team.
Out of all the incorrect predictions and offbase hottakes Krugman has made over his media career, the Internet-impact quote is one of only two predictions Krugman admits to getting wrong.

Krugman is not credible.

https://blogs.spectator.co.uk/2013/10/niall-ferguson-paul-kr...
Frankly, I think browser compatibility is one of the nastiest, trickiest bits of web development. I'd want to find any way to avoid that sort of thing. The "living standard" model merely describes underlying complexity without resolving any of it, which puts the burden on individual developers. I think we can do better.
So if a user has the version constraint ">=2.3.3 <2.3.4", should they get that pre-release version?
Right, some compile-time errors for me are like; wow, thank god that didn't happen in a runtime environment
Agreed. Stimulus has been great and very refreshing. I love writing my html using erb templates, and being able to do that and easily add client side interactivity has been great!
I'm not sure that I disagree with anything said in the article... I'm not sure how it relates to the referenced article. My own approach has become, make everything as simple and discoverable as possible. If you create or use an abstraction, it should make the rest of the codebase simpler, not add more layers of indirection unnecessarily.

In my own experience, the longest lasting codebases I've worked on or implemented are those meant to be thrown away that didn't have a lot of extra cruft for "pattern" sake. Add it when you need it, and push back on every feature you can push back on.

Also, organize by practical feature, not by type of file. If a feature only has a view and not a distinct controller or models, that's okay... making it easy to discover where the hell crap is makes it easier to maintain. That doesn't mean shove all of your models/controllers/views/components etc into 4 mostly mirrored trees, it means merge them into a structure where like needed/used things are together.
Show HN: Drone Mapping Software – WebODM Lightning
Is the Revolution of 3D-Printed Building Getting Closer?
A good xkcd question might be, how much power does it take to jam all frequencies with radio noise, per acre ?

Maybe you will have to transport yourself out to the tundra to get clear signal.
Outline link: https://outline.com/qqSvjm
The thing I have trouble understanding is this....

How can the same people be worried about human extinction as a result of environmental collapse, also think we might be able to develop a sustainable colony on Mars.

I agree that climate change is a huge problem and could result in horrific loss of life and a world wide traumatic event like we have never seen before. But there is no way that global warming will make this planet LESS hospitable than Mars could be possibly be in the next 200 years.
Your rational numbers argument does indeed fail, but for a different reason. It's not valid to go from a sum over the rationals to an integral in the reals in that way, however it is perfectly valid to go from a sum over the integers to an integral over the reals (in certain situations), if you only want an estimate (see eg. the Euler Maclaurin formula https://en.wikipedia.org/wiki/Euler–Maclaurin_formula ). This was fine in Feynman's argument.
Israel is considered a "Designated Country of Missile Technology Concern" according to the Department of Commerce.
https://oiir.hq.nasa.gov/nasaecp/docs/DCList_10-24-2018.pdf