skysight-inc/HackerNews huggingface dataset:
It's a shame you can't chain VPNs on android. I ended up running openvpn and pi-hole on a server, all my mobile devices go through that.
Have you looked at what environmental impact a TNT / HMX plant has? Lots of environmental contaminants.

The United States Environmental Protection Agency (USEPA) has declared TNT a pollutant whose removal is priority.

... This seems like a much safer organic compound.
50+ Web API Testing Interview Questions
> Cave diving was like being an astronaut.

At age 16 (or so), I dived into an undersea cave in Sardinia, pretty much completely unprepared.

I had scuba gear, but only a "waterproof" flashlight (read: not a proper diving lamp by any means), no line, no backups, no nothing. Just a teenager's sense of invincibility.

It was almost literally otherworldly, floating through bone-white passages full of strangely shaped rocks, and being so palpably close to my own fate.

It was also very scary for reasons both objective (I knew it was monumentally stupid going in) and imagined (the darkness beyond the cone of your lamp is full of sharks, giant kraken, and Cthulhu).

I turned around after five minutes. On the way back, noticed a fork in the cave. Had a horrible sinking feeling and cursed myself for not looking back on the way in. Picked a path at random, and apparently picked right.

It was the best experience I never want to repeat again.
The subscription economy is changing the mindset of a generation
Human Flies with Back to Ground Guided by Another Pilot a Few Meters Above
Swarm is dead simple to get up and running; it's baked into Docker. Maybe k8s is easy too, but I've always run into issues and the value proposition for pushing past them was never clear to me. There's no doubt in my mind that there are very good reasons to use k8s, I just haven't found them (nor looked especially hard).
I do agree with the premise, but with at least one caveat: for some problems, there aren't any simple solutions. In that case it's better to choose the _simpler_ solution.
This part however is hosted on ARM's own website: https://www.arm.com/-/media/global/company/arm-risc-v-infogr...
Maybe yes. But BSD was encumbered by the AT&T nonsense for approximately a third of the free software community’s history. That’s a long time to sit around and do nothing.
Complexity for new features or performance optimizations is simply a trade off. Sometimes one worth making.

By adding a lot more complex code can I make this blitter 100 times faster? By using this more complex algorithm can I make a "simple" string search amazingly faster?

As for features: Word has more features than Notepad. So why doesn't everyone use notepad?
Yep, all you need to do is build a massive out-of-order superscalar pipeline with 8 to 10 execution ports and a very large reorder buffer (150 to 200 uops). And idealy toss in hypertreadding.

Intel has done it with x86, IBM have done it with POWER, AMD have done it with x86 (more or less independently to Intel), Sun/Oracle have done it with SPARC, Apple have done it with ARM and most recently it looks like ARM's Cortex A76 is joining the league.

All these designs look very similar, they are basically variatins on the same archtechure with different front ends.
what I read: RISC-V is a very serious competitor for ARM
Dear god, the scrolling is breakneck due to some stupid JS plugin or something
In my experience, it's been easier to push UTC time all the way from the db to the user javascript and operate on time then, than trying to manipulate time before sending to the user. YMMV, and it's only web dev.
If you cannot achieve correct without simple, redefine correct.
How to Handle Missing Data in Machine Learning: 5 Techniques
Not to be cheeky, but why not just react?
As far as Apollo Client is concerned, I don't really know. I keep up-to-date with what's going on, but haven't really used it. Everything i've heard suggests there shouldn't be a problem, but Apollo is really good at marketing.

For Relay you're basically given no caching out of the box, but you can implement it by essentially hijacking the store's garbage collection to use an LRU cache instead of immediately evicting data when its dependents unmount. The developer experience for client-side schema extensions is similarly immature, but it is possible.

If you need all this functionality and aren't comfortable diving into the trenches, you'll have an easier time with Apollo (assuming everything works as advertised).
Jira works really well for a small team.
Personally, I think IDEs are better for working but text editors are better for learning. If I'm using an IDE and need to call some method, I press press ctrl-space and more or less guess at which of the options is right. If I'm using a text editor and need to call some method, I go read the docs to figure out what the right method is. The latter is both slower and better for learning.
Article with detailed description, machine translated from Russian: https://translate.google.com/translate?sl=ru&tl=en&js=y&prev...

It says the OS had user's home directory encrypted, but not the whole filesystem.

For those who prefer video, here is what you can do if you forgot your or someone's password: https://www.youtube.com/watch?v=cGu5AFCQ1Uw

Also, I think this bug also deserves a name, but nothing comes to mind. "hddunlock" maybe?
Ahead of time scheduling on AWS ECS
Basho investor to pay up $20m in damages
> that's not how you come off in your comments and I'm not the only once noticing that.

I agree there are some people willingly ignoring the positive things I said in my original comment, and the other positive things I've said in other comments. My guess is that they would rather my view not be nuanced because otherwise there's not much left to attack. I'm happy to try to correct any misinterpretation, but I don't think it's all on me because it's not all comments that disagree with me. Quite a few comments show that people are getting my nuanced view. I would encourage you to re-read my very first comment with an open mind and decide if it's a balanced view based on decades of experience, or if I was actually really saying quality isn't important. If I was, it's very strange I would say the article in question is good. Which I did say.

I disagree that the software profession needs quality fanatics. The software profession needs quality fanatics when it makes business sense. Nobody ever stayed employed by building a $2,000 lock on a $1,000 safe to protect a $1 bill. What you built might be of the highest quality, but when you build with blinders on and ignore every other business requirement you aren't a fanatic for quality. You're irresponsible. I take pride in my ability to do what's best for the company. It's often difficult and requires making tough decisions and tradeoffs and risk management and making sure everyone involved is aware of all of those things. That's what a professional looks like. Not a perfectionist obsessed with quality to the point they become difficult to work with. Don't let perfect be the enemy of good.

> The reality is that a lot of them have piss-poor quality though: they crash, lose data, get easily hacked, etc.

Not the projects I'm on. I refuse to ship code that is that bad. I will get fired first.
> My opinion, my real opinion, is that if you find yourself writing code 'for fun' even if you don't know what your doing, pursue it.

The dirty secret of turning your hobby into a career is that there exists a very real chance you will kill your hobby and passion for the craft.

Unfortunately, one can only deal with some much half-assed code and coworkers before turning into a cynic who hates the craft. I almost wish I was just in it for the money, for this reason.
The attitude of the CPU industry in this regard led to some recent well-publicized, very bad, and nigh-unfixable security vulnerabilities, as you might have heard.
Smarter, faster algorithm cuts number of steps to solve problems
Swedish too.
A counter-anecdote: The features you listed started shipping (from Intel & MIPS) in microprocessors in 1996, 22 years ago. Intel's out-of-order Pentium Pro was beaten by the in-order DEC 21164 the same year.

Also, there's the case of Intel losing to in-order ARMs in mobile. First with XScale, and later on with the in-order Atoms. (https://appleinsider.com/articles/15/01/19/how-intel-lost-th...)
mmm... I disagree. The order should be Correct, fast, simple.

First of all the software needs to be correct, if the software produces incorrect results, then there is no point for it to exists. It needs to be debugged until the results are correct.

Then fast. The point of using software is helping the user to accomplish a task. The better help that the software can provide, the more useful is the software, and performance is often critical to help the user.

Then simplicity, simplicity help future developers to understand how the software work and how to properly maintain it. But if some complicated procedure is needed to produce the correct results, then complicated procedure it is. If a different algorithm needs to be used to speed the software, then the new algorithm it is. It is up to the next developer to study and understand what was done and why.

The purpose of software is the end user. The next developer sits second to the end user.
https://www.thingsquare.com/blog/articles/sensortag-power/ You would be suprised what you can pull off with wireless sensors. These people pulled off 1 year with a 2032 battery.
Making correct code simple(r) requires more time (eg money) than making correct code in the shortest time possible.

Simple, and still correct, is often the result of doing MORE work to achieve it.
That's all true, I'm just wondering how things would be different if everyone were using an Open Source CPU vs what we have today.

If everyone is running the same CPU design but sourced from different manufacturers who had them spun up at different fabs, how would that affect support? Today we have one or two device manufacturers we rely on for support and answers about if security fixes can be done in firmware vs requiring a hardware fix. We can pull the CPU ID of our system and then check with AMD or Intel for an authoritative answer. What does that look like when anyone can manufacture a chip?

Will there still end up being one or two predominant CPU manufactures for desktop/mobile/server CPUs to simplify support? Are we going to have to rely on OEMs to support the CPUs they put in their machines?

I'm fearful we might end up in a situation similar or worse to what we have with Android where smartphones are shipped in their final state and never receive anything beyond failure support from the OEM/ODM.
No that’s a silly example.

I meant more for dealing with edge cases like an external API invocation failing. A final “correct” implementation would need to handle failures but an initial simple one would only handle success.
> Would it be feasible to have homes use that material (properly shielded) without being a threat to national security and safety?

No - the "hotness" is pretty much intrinsically unsafe, people can break into the shielding, and if you limit it to easily containable alpha emission it has a short life.
Compiling Expressions – Crafting Interpreters
From the point of view of non-American citizens, your constitution does not matter much. So, for 95% (or 85%, if we talk about China) of people, those rights are meaningless.

Not even sure they are very relevant to Americans either.
We’ve been hearing this for the past ten years now it feels like. IRCv3 seems to have fallen short on most of its promises.
This is great, but completely lost on the crowd if what Simple means isn't understood.

One of the best clarifications of what it means to be Simple, to put it out there, is [1]; but the key point: Simple != Easy.

Simple means minimal coupling, high-cohesion etc etc.

Yet IME many developers do not understand the distinction and mistakenly believe that easy is the same as simple, and are willing to couple the hell out of the world under some false notion of "simplicity"...

[1] https://www.infoq.com/presentations/Simple-Made-Easy
He means that while you are talking to investors, you should be simultaneously shopping the company around to potential acquirers. Basically, you're asking the investors "How much would you pay for 33% of the company?" and you're asking the acquirers "How much would you pay for 100% of the company?"

Their offers then serve as a floor - and potential bidding war - for each other. If an acquirer offers you $20M for the company but an investor offers you $5M on $10M pre, you tell the investor "Well, we have an acquisition offer for $20M, it doesn't make sense for us to do a deal at less than $20M pre." If an investor offers you $15M on $30M pre but the acquirer offered you $20M, you tell the acquirer "Well, we have a termsheet that values the company at $30M, we'll stay independent unless you can beat that." All firms are, of course, able to up their offer to try and beat the competition.
In general. Again, I may be missing a trick here, but I don't see how there can be any objective way to evaluate different truth-finding systems against each other.
This works for things that have happened. It doesn't work too well for schedules. In those cases, the timezone of the source matters, heavily.
Try MobX
The way we treat animals, and the fact that most animals are going extinct because of unrelated human activity I.e humans don’t want it, but it’s a side effect of global warming.

I’m a 100% sure, really advanced AI will be like that. Millions will suffer as a side effect for the gain of few.
Ujala Lawn
History of the WebRTC API [Infographic]
Yes? I mean, as a perma-renter who's continually demonized for being a renter and suggesting the construction of more housing so I can afford to live somewhere in commuting distance from work, most of the people yacking in city meetings about how I "ruin the community" are, well, homeowners. And usually really nativist ones with a nasty undercurrent of racism, which doesn't even make any sense since I'm usually the same race as them.
Ok now, how do you exit it?
> I barely remember anything about their standard libraries.

If an IDE can abstract that memorization away from you, what's the problem? The benefit I provide as a software developer is to solve business problems and provide value to the people that use my product. Knowing the optional third parameter to a string method I use once a month off the top of my head really doesn't help me with that as long as looking it up isn't slowing me down.
A truly disturbing yet essential read.

Sounds like the reports of shark attacks on the living were greatly exaggerated, but its no wonder if men were hallucinating from dehydration and fever.
I fully buy the argument that code is a liability, while the underlying algorithm, or the overlying service is the asset. Following this line of thinking encourages the writing of simple code.

Far more of a problem than code complexity is the lack of systems thinking when applied to programs. Various factors (abstraction, delegation, nicer APIs, solid products, SaaS, "microservice" trends, package managers and bundlers) have encouraged offloading much of the computation and data flow to other products, whose strengths and liabilities become your own if you make use of them. One-liner lambdas might be simple code, but they're often coupled to a maze of other cloud services, and the complexity there is coming from the dependency substrate, whose shape can't even be expressed in an imperative or declarative notation like code.

In truth, code and libraries and services feed into systems, and those systems must be understandable if correctness and maintainability are a goal.
Land was cheap. At the time the population was less, the suburbs were less city-like and suburbs had a larger share of the population/money relative to the cities. It made sense to reserve the space so that those people could come to the city to work, shop, go to the dentist, etc, etc. Times have changed and that's not economically viable anymore or at least not on the same scale. Better to develop the land for some other use. If reserving the same amount of space for people to park made economic sense today we'd still do it.
I spent a long time wrestling with trying to set up IDEs when I was learning. They were always a huge pain to set up, broke in confusing ways, and were generally far more effort than they were worth for the productivity gain (especially when I would try some other language/etc after a short period and go through it all again). Just using a text editor and the compiler was far easier to understand.

I still find some aspects of modern IDEs a pain, especially the fact that they either want to be your build system (and are generally crap at that) or lock you into a specific build system. Likewise I haven't found one IDE which can handle the variety of languages I use, so I need to learn 3, even if they all do basically the same thing.

I have some hope with the trend towards 'language servers' and also 'build-system servers' (though ATM cmake and Qtcreator are the only example I know of the latter), that this will change and you will be free to choose your combination of build system, development environment, and language with ease.
I can't really understand the equivocating tone a lot of folks are taking in response to this, and more importantly I can't wrap my head around how you could make such a statement in the first place: without correctness you've got nothing. Stating authoritatively that correctness comes after...anything is incomprehensible to me.

It's possible to have a correct solution that is neither simple nor fast, and it can be worth your while to speed up a correct solution while sacrificing simplicity. So there are trade-offs involved in the relationship between simplicity and speed, but correctness is not negotiable. Acknowledging that all software has bugs is not the same thing as throwing out correctness as your first and primary objective in implementing an algorithm, and accepting that your solution may only be partial or fail with certain inputs is fine if that is acceptably correct for the problem at hand, but ascertaining that still comes first. Preferring simplicity over complexity because it makes debugging, profiling, etc. easier is not a reason to insist that correctness can go out the window in service to simplicity--who cares if you've removed all the bloat from your code if it's wrong?
People are not sure what benefit is going to be provided to make up for the inferior text manipulation capabilities.

I remember tab completion being a big thing. When I was a new programmer, I really wanted that stuff, for sure. But as I see it now, I find the cases where I don't remember the name of the function I want to call rarer, instead wondering about the undocumented things like "is this method thread-safe?", "who owns the memory for this result object?", "what happens when the connection times out?", "does the error message this function returns contain the name of the file it couldn't open, or do I have to add it myself?" and so on, and the only way to find out is to open the source code of the library I'm using and to read it.

Like maybe IDE tooling has evolved to the point where it's just one keystroke to get the right answers to those questions, but I kind of doubt it. So if you want to demean people for not using an IDE, you need to sell it a little better and tell us what we're missing. If it's just tab completion and a shitty build system like IDEs were 10 years ago... not interested but thanks. If there is something that's actually helpful though, would consider.
My build script tells me the book is now 132,991 words long and only 56% done. I knew I was running a marathon with this one, but I didn't quite expect it to be an ultra-marathon.

But it feels good to be one chapter closer to the end!
oh thanks for the correction. /s/electorate/gov_officials
Sounds like a recipe to deliver hard-to-use software late. The easy-to-use software that was delivered on-time will eat your lunch, even with some bugs.
There are many kinds of data that get saved as time. For some, yes, it's better to add and remove the TZ at the interface. For some the TZ carries meaning by itself, and it must be stored and keep constant everywhere. For some the TZ carries meaning, but the time must be converted for display.

Know your data, and most of your problems get easy.
The version lumberyard started with a 2016 engine, a few revisions behind Crytek's current engine. Crytek had fixed some of the logic bombs, as mentioned in the article, in their current release.
No idea why you are being downvoted.

I will add more:

- where is the pressure to close Guantanamo?

- where is the pressure to como clean with the lies leading to the Irak war?
I think the problem is always in the breadth of understanding. When you read documentation you discover more than exactly what you're looking for. When you tab complete something, it just tells you all the methods in the class that start with the letters you typed.
It's fun?
Yep, and that's why "worse-is-better" is better.

I've never read Gabriel's article in such a way that this "worse" means actually, seriously, worse quality. I always thought it meant "YAGNI", "KISS", and so on.

If you can't solve a problem, maybe you shouldn't try so hard? Find a better problem! I'm confident this attitude helped me a lot in the past. Speaking as a clearly-not-a-genius programmer.
> But the correct assertion is there's 37 time zones (as of this writing). So, the simple solution results in a third of your potential user base having issues.

That assumes your user base is evenly distributed across time zones. The US has 6 time zones, but if you only handled 4, you'd cover 99.3% of people.
It's order of importance though rather than an expression of dependencies and I'd definitely err on wanting my solution to be as simple as possible over merely correct. The idea being that whilst you are solving a problem you are always striving to solve it simply and only add complexity as needed.
That's about all the time I have left to spend on this. If you truly have discovered a way to do what you're claiming and it's has just been a victim of bad luck and poorly written books in the past, then there is a huge market opportunity and I wish you the best in bringing it to market.

Interesting discussion. Thanks. I will keep my eye on this space from time to time.
I agree - UTC is the way to go. The point of the example was to illustrate how simple could be detrimental to a significant portion of your userbase.

How about another example? You're building an android application. Let's pretend there's an API in the latest version of Android that reduces a dozen lines of code down to one function call - ShinyNewMethod().

You can use that ShinyNewMethod() call. It's certainly simpler.

But the vast majority of android devices in use are not running the latest OS. So the NewShinyMethod(), while being simple, will cause your app to not work for them.

Hopefully the framework designers figured a way to have this auto-reverse engineer for older devices, but that's not always a guarantee.
I don't think that is related. A lot of the Nazi websites are hosted via HostKey in Russia. In fact, some of these websites were used to start "white power" rallies in the US just to stir up the hornets nest. I'm a fan of free speech, but am generally against Nazis as a concept. We fought a war over this :)
Introducing Jib – build Java Docker images better