skysight-inc/HackerNews huggingface dataset:
Ah, now I understand what you are trying to say. Yes, the 'it' in my post is indeed referring to software engineering.

It is not so much that they are doing software engineering wrong due to changing requirements as that the changing requirements make clear that the quality of the engineering is not that great. Another engineer who is working with a higher quality perhaps could have handled the changing and complex requirements without much problems. And in another project the requirements are perhaps quite simple and there is not much requests for changes and both engineers would have done equally well because their skill was not tested much.

Of course, there also has to be some limit in changing and complex requirements beyond which it is no longer reasonable for anyone to be able to keep up...... but we do call it SOFTware as opposed to HARDware because it is supposed to be changeable.... and if that which is supposed to be changeable actually is not, there must be something wrong.....
When the market turns sour it will be largely irrelevant if you own a collection of individual stocks or a packaged mutual fund, which is of course just a larger collection of stocks (or other securities).
Bye bye credit karma
If your “throwaway” code works fine in production for years without any active maintenance and the only down side is that it needs a rewrite five years later, was it really that bad? Or is it the exact thing tech debt refers to - borrowing future time to work on what’s important? If I had to make a point it would be that there’s no line between code that needs to be replaced right now and code that is perfect and lasts for decades - it’s a spectrum and circumstances influence your tolerance.
Serious question: does indexing Logstash/JSON logs really need to take gigabytes of memory + disk and sharding?
> Basically the sort of responses where simply modeling your response after the previous similar disaster is sufficient. The problem with Katrina and Maria was precisely that the playbook from prior disasters was inadequate either due to the type or scale of problems faced.

The Gulf of Mexico is no stranger to hurricanes, and Katrina and Maria don't even top out the strongest hurricanes on the list (that honor goes to Wilma). Hell, Katrina is only the third strongest hurricane of 2005. That's why the response was so heavily criticized: Katrina was essentially the hurricane that New Orleans' levees were designed for, a repeat of Hurricane Betsy a few days shy of 40 years earlier. Even the levee failures should have been scenarios that had been planned for in terms of disaster response.
This is a great list.

Missing from the Architecture & System Design list is Martin Kleppmann's Designing Data Intensive Application, IMO the best modern book on systems / scalability.
I certainly agree with that.
Web is its own beast -- even movie making software has to be learned, certainly true of new software domains. I'd recommend researching your tools thoroughly before diving in, and finally when you choose a few candidate tools try and build small prototypes in each that would become modular chunks of your main app. In this way you can evaluate which tools you'd like to use from some low-risk investment of time and effort, and walk away with clear tool commitment. Once you commit to a toolset, you can dive into development as much as your toolset accommodates expression and feedback. I'd recommend using something that has a REPL (Clojure/script with Selmer and even Python with Django have this) which is a way to get immediate feedback from changes in your code. The feedback loop in traditional web development is way too long to make responsive apps in a reasonable amount of time.

Definitely find forums for the tools you are using and ask questions in the beginners channels. No need to be embarrassed, if you've never held a cup it's not a big deal, it just takes time to learn how to hold one. Then time to walk to the river, then time to scoop some water into the cup. But eventually, piece by piece, you'll get a delicious drink that satiates, and you'll know how to fashion a cup even more cleanly for the next time(s) you need a new cup. Aha, at this point one can start seeing code reusability, state management via atomic actions through swaps, and functional approaches as fundamental to achieving incremental progress. Laying the foundation hardly looks like progress, but actual progress is impossible without an excellent foundation.
I think you are going in the opposite direction to which the OP seems to be lamenting.

First of all Go is not C; it’s much much easier to learn and write production grade services easily. There are a ton of free/ online resources to learn go; I’m self taught and have written production code in go for the past several years with no formal training. The godocs are great; YouTube has videos from gophercon and other conferences as well.

Second: OP is lamenting the lack of higher order programming paradigms like Generics; If you’re using an interpreted language it likely already has support for those things.
I still miss Google Code Search, which was a great way to find examples of anything I wanted to learn about in programming and usually answered my questions better than anything else, including Stack Overflow. Has it really been 8 years... https://news.ycombinator.com/item?id=3112029

If this tool can fill that hole in my world, I'll be stoked. I've bookmarked it.
A naive approach to functional programming
Wow. I hadn't heard that. It sounds like a plan only a politician entirely unfamiliar with the concept "unintended second-order effects" could possibly like.
Stripe supports crowdfunding sites. I’d be happy to take a second look if you email me at edwin@stripe.com.
Many Hits, Some Misses: The Post-Crash Web Rush (1996)
Is there a guide for deploying ES on K8S?
What makes code “Swifty”?
If you're moving Private Keys you are Doing It Wrong. This is very common in VPN setups (and S/MIME) but still a terrible idea and worth taking the time to figure out how you'll make sure you don't do this.
Associations between antisocial behaviour and brain structure
I've seen X-Language shops write PoCs in different languages only to end up with those PoCs in production and a kludge layer between the PoC code and the normal X-language layer.

I've seen people nail down the complete UI first only to spend umpteen sprint demos afterwards explaining why a "fully functional" UI can't be put into production yet to angry management. No matter how hard you try, you can't explain an iceberg to a management staff that wants the project to start earning money already.

> The lesson learned was to be careful and under optimistic about how you communicate to leadership.

Yes. Some people have to learn this the hard way. I would add, don't try and be sneaky either (ie: using different languages, etc.).
CGO (Code Generation and Optimization) 2020 Proceedings
unless you buy and sell a gazillion times a day /week, does it really matter?

Stock at $118.78 or $118.84 means what to Joe that invested $2400 ? NOTHING, the upside is that he actually invested and that money cannot be easily spent on stupid stuff. Free or barely free is the same in this case, considering that stocks can move up or down by a lot.
testify vs argue

I don't think anything in the original comment suggested that they'd be under oath, that's something you came up with.
Sure, but that isn’t nearly enough to make production worthy code. Also, naming conventions are both personal and organizational. If you are writing a prototype, you can use personally consistent standards, if you are writing production code, then you need to up that to an org standard (which you get from code review and such until it is just ingrained in your soul anyways).
> that it’s possible for the team developing the product to deploy or monitor it (example cases where it isn’t: most things that aren’t web based such as desktop, most things embedded into hardware that might not yet exist etc.)

In these cases, you can have a pre-production embedded (in the sense of "embedded journalism") field test, where the developers come out to the production line and/or testing field to iterate on the software together with other departments + the final customers.

IIRC this is done often in military weapons testing—you'll often find the software engineer of a new UAV autonavigation system at the testing range for that system, doing live pair-debugging with the field operator.
Considering Go's tooling ecosystem is split in half (supports modules / doesn't support modules), nothing really.
Useless on mobile.
The point is that by the time your lawyer is redlining the contract it's too late and too painful to change.

So your options as a potential employee (for 99% of cases) are ask for something else to offset the onerous terms like more equity, vacation, or salary or find another company.
check out Cloudflares CFSSL
https://github.com/cloudflare/cfssl
to manage the CA side, its API, and its OCSP

then check out Netflix Lemur for issuing and tracking certs automatically.
https://github.com/Netflix/lemur
What gotchas are you talking about?
In a perfect world, yes. In the case where someone decided to move around 12gb of data up and down 23 different classes just so they can count the objects in those 12 gb in every class, things start to change. In my case it was the latter.
If the objective function was a separable function of the different parameters you could simultaneously optimize over them with ease, but that's obviously not the case very often in life.

In general optimizing multiple objectives (or one objective subject to additional constraints) would achieve a compromise between them. If you are trying to simultaneously maximize equality of opportunity and equality of outcome you would just achieve a trade-off where neither side is happy. On the other hand if you were starting out just trying to optimize for profit, then adding a constraint or additional objective will just mean you make less profit in achieving that other objective. I suppose that could be called more fair if you're trading off profit for fairness.
Security Stuff by BlueTeam
There's a lot of these type of services and there have been since the mid-2000s. It's not that there's no demand, it's that the market is very crowded.

I know of one that closed 10 years ago offering exactly the same services.
Have you seen livegrep?

Blazing fast multi-repo regex code search. May be more expensive to run in prod, not sure.
- Native build system

- Auto-formatting

- Good first-party testing and benchmarking

- Ppprof runs circles around VisualVM

All these things are available for Java (MVN/Gradle, JUnit, IDEA, YourKit, etc) but having one right way to do them built in is pretty great.

On a meta level, combination of the AST package and deterministic code formatting means it's relatively easy to write programs that manipulate source code.
Property taxes have actually gone down before, but in order for the government to remain solvent, they often raise the rate for the next year if they can do it automatically. Or they can play shenanigans with appraisal values, but then fairness comes into play (e.g. if my $100k house is taxed as much as the $200k house nearby, but the $200k house is taxed exactly as it should be).

For property taxes to play their secondary role of forcing people to put their property to productive use (as opposed to using them for speculative investing), the tax is perfectly able to go up and down depending on the assessed value of the property. Of course, local governments also depend on the revenue, which becomes their primary purpose these days. However, societies that lack a property tax (e.g. China) suffer from a lot more speculative bubbles, making the tax useful in itself even if its revenue wasn’t significant.
Use a web browser that respects your choices. Your software should work for you, not the other way around.
Mormon food bank a private welfare system (2009)
Is your list not entirely depending on the usecase?
I am using ES for years with over 1 million daily users.
It provides simple search funtionality.
it runs on a single node with 4gb of memory. For more than 5 years with hardly any issues.
My point is: why can 10% of the population make it but 90% can't? Is it hard work, is it opportunity, is it lack of education/resources?
Also by the co-creator of Django: https://news.ycombinator.com/item?id=22397023
My favorite is having to change Git's global settings if you want to use a dependency that's a private repository. The system is awful through and through.
There's a potential secondary usability trade-off. I only know my PIN by the pattern it makes on the keys. I don't actually have the numbers memorized, just the positional order on a standard keypad layout. So if the numbers are randomized, I would have a really hard time.
Unless there's a miscalculation. Cuba was a very close shave.

With a nuclear war there'd be no negotiations either.
I get the sentiment for YC, but “not one” is pretty impossible. Airbnb reported a profit in 2017 and 2018.
https://www.bloomberg.com/news/articles/2019-01-15/airbnb-sa...

It did lose money in 2019, but because of preIPO marketing and advertising. Marketplaces have great network effects and profit margins, seems like a very viable self sustaining standalone company.
https://www.fastcompany.com/90418766/report-not-even-airbnb-...
It's different if you can "buy" a cert and be "safe" for a few years vs needing to renew it every 90 days. If they choose not to renew your cert, you're out after what ever time is left on your cert.

Let's lower that to 60 ... 45 ... 15 .. ah, let's just renew all certs every day, that's the only way to keep control centralized.
70% of Americans Support Solar Mandate on New Homes
Anybody knows why Safari on iOS will reject using self-signed certificates for WebSocket connections? (doesn't happen on desktop)

This is a major annoyance since it is the only browser that does this and won't work with "wss://" URIs even after accepting the mandatory certificate exception. Accessing the page rightfully shows a warning on all browsers, to which the user can click on "Continue" or similar, to ignore this and start the demo, except if they try with iOS (this is for simple one-off tutorials or demos [1], so maintaining good certs or requesting users to install a custom root CA in their devices is out of the question).

I know, this seems like a StackOverflow question... but the only 100% relevant one I found [2] didn't get much love, so I thought maybe someone at HN knows more about this

[1]: https://github.com/Kurento/kurento-demos-js/tree/master/play...

[2]: https://stackoverflow.com/questions/36741972/using-a-self-si...
"For example the prior probability of someone being born with your specific genetics is so close to zero it’s not worth mentioning."

I don't understand what this has to do with distinguishing between individuals and populations. You could just as well say that the probability of a whole population being exactly as it is, is even lower.

You reference "polluting the context of an outcome with unrelated contingent information", but isn't that what you just did? If you think that confuses the issue, then what's the point?
Defeated Chess Champ Garry Kasparov Has Made Peace with AI
Credit Sesame and https://www.freecreditscore.com/ (used to be a sketchy site but its now owned by Experian)

And others: https://www.doctorofcredit.com/whats-best-cheapest-way-monit...
https://en.wikipedia.org/wiki/Paradox_of_tolerance

Inclusivity does not mean having to include those that would exclude others.
Here is the list I was referring to.

https://en.wikipedia.org/wiki/List_of_mergers_and_acquisitio...

Just some examples Next, SoundJam (iTunes), PA Semi (processors), AuthenTec (finger print sensor), Apple Music (Beats), Siri, etc.

Knowing Apple what is more likely, they would license tech or just create it in house? How do smaller companies prevent that? Patent trolling? What if the companies wanted to be acquired by Apple? Does the government step in and say you aren’t allowed to sell your business? Instead of acquiring the company what’s to stop Apple from doing an acqui-hire? Are you going to tell them they can’t work for Apple?

Government intervention in businesses unless there is a severe negative externality is almost universally bad.
Blaming it on the founder is harsh... Restaurants actually like having long queues all the way to outside. It shows they have a good reputation.
Absolutely agree. Refactoring is almost therapy. Clean up and fresh again
OT but I never understood why treading water in calm comfortable temperature (20C plus) pool is supposed to be difficult (or even slightly tiring). For me it is definitely less effort than e.g. standing up.
Heh, good point.

Ingenuity in code for solving real problems is great. Often times I’ve seen those who know a language deeply write code in ways that makes it remarkably hard to read. Mostly it’s because language features are used in unexpected ways which the author feels is great for x reason, but reduces readability.

With Go, it’s actually really hard to write opaque code like that since the language is so laser focused on low level primitives. And honestly... for core systems, I think that’s an incredibly good thing to have.
There was an interview posted here last week about tech debt, and the speaker mentioned that if you compartmentalize throwaway code properly it can be kind of liberating. I don’t know that I’ve seen that in the wild, but it sounded plausible. Instead, he claimed, the only important part of that code - at all - were the interfaces. So save your design that part well and for the rest, save your energy.

I have seen flavors of the latter work out, especially when you combine the idea of riskiest thing first (also last week) with reversible decisions and only decide today on things that have to be decided now. For things that are easy to change, make an arbitrary selection and keep moving. For everything else, play for time and hope that new information will improve those decisions.
I agree but I think just having your own VM in the cloud solves this. If each user has their own IP then you can basically get E2E encryption between users with SSL so you don't need to worry about encryption as a developer or user. I really don't like the idea of assuming people have access and relying on bulletproof encryption on a completely decentralized system. I would much rather trust a cloud provider that I'm paying for.
I'm with you that surging stocks are more responsible, although the lack of trade costs probably pours oil on the slippery slope to irresponsible risk.

Favorite anecdata is the froth around the reddit user WSBGod, which pushed that crazy sub to near the top of /r/all and seems to have potentially given birth to another bitcoin-esque HODL guru.
> The criteria are very clear:

today. Tomorrow they may change to be 397 days, or 39.8 days, or "until the next iPhone is released".
I think the industry is very much trying to push for the exact opposite of that, with things like planned obolescence to ensure you keep consuming their latest products.
Existing urbanism makes me stressed. Even a shopping mall visit can bring a lot of negativity. A lot of people and noisy.
On the contrary, I want peace, comfort and calm. For me, saving is watching at home with my family a good film about eternal values. I use https://pirateproxy.space/ to find interesting films. It's so good when I can watch a movie in silence and family circle
News you can use: you’re living through multiple pandemics, all the time.

There’s a flu pandemic (several, actually), that are far more immediately threatening to you than this virus. Society has not yet fallen.
I agree with you. More or less each one of those topics could become a treaty on the subject.
Thinking broadly, one could look at security from the programming point-of-view but also from applications point-of-view, where one understands the concepts behind each issue not necessarily having to know deeper software structures to work or handle security aspects.
With free trading and the tight spreads on most equities and no edge, random trading shouldn’t hurt you that much. Your volatility will be worse, though. Sorry for the plug, but here’s a blog post I wrote about it:

https://smabie.github.io/posts/2019/11/28/div.html (Diversification, Risk, and Leverage).

Or you can cut to the chase and check out this graph: https://smabie.github.io/assets/div.png

We run a Monte-Carlo and find the average return and vol for randomly generated portfolios for 2 stocks up to 50. The average return for all portfolios is the same while the vol decreases as you add stocks to the portfolio. While high vol will hurt a compounding portfolio’s return due to volatility drag, the arithmetic return will be the same.

So, in other words l, if you have zero skill trading today (essentially buying and selling randomly) you’re not, on average, going to underperform the market appreciably. As such, I don’t think it’s a problem for individuals to trade long equities with no leverage with money that they need (since it’s basically the same as the market). The problem is when people start trading forex derivatives or options or whatever. The volatility of these instruments can be staggeringly high which can lead to risk of ruin (St Petersburg paradox etc).
> If you're trading with money that you need you're doing it wrong.

This makes so much sense.
> The same properties of the language which helped Google have helped me

To be fair, I don't think anything I wrote contradicts that. If your goals align with Google's, great.
“said it made money for a second straight year, based on a common measure that excludes some expenses”

It’s like WeWork’s “Community Adjusted Ebitda” or Uber’s “we aren’t doing as bad as it looks as long as you exclude 13 different expenses.”
The multithreaded nature of the go http library makes it look simple, but in fact, its not. It won't show up problems until you use a specific tool to send concurrent requests.

Just a gotcha i want to mention to anyone reading. ApacheBench is a good first start.
> If you're set up to do A/B tests or deploys with canaries or give potential customers test accounts you're probably able to start testing in production in a sane, contained way.

You seem to be assuming 1. some sort of large-horizontal-scale production system with multiple customers, where the impact of a failure can be minimized by minimizing the number of users exposed to new features, and where 2. there's no type of bug in the code that would potentially take down production as a whole.

What if your production system is, say, a bank's ACH reconciliation logic? A medical device? A car? The live server for a popular MMORPG? A telephone backbone switch? A television or radio broadcast station?

In these cases, your software isn't a service with multiple distinct customers that each make requests to it, where you can test your new code on one customer in a thousand; your software is just running and doing something—one, unified something per instance of the system (though that process may track multiple customers)—and if the code is wrong, then the whole system the software operates will fail.

How do you test software for such systems?

Usually by having a "production simulation" whose failure won't kill people or cost a million dollars in lost revenue.