skysight-inc/HackerNews huggingface dataset:
It is worth pointing out that many military aircraft are made to be unstable by design. Unpowered or underpowered Commercial aircraft want to glide, with aerodynamic resisting change of course for safety and ease of use. On the other hand, aerodynamics of military combat aircraft operate in unstable equilibrium to encourage greater maneuverability.
Definitely fair enough, hah. Thanks for the article!
Unpopular HN opinion: we need more commercial SWE tools. This is the expected outcome of under-organized underfunded ad-hoc development of professional tools.
Thank you for your work! I run my own federated homeserver that I really enjoy digging in with on the weekends. Between selfhosting email and Synapse I really feel a sense of reverent ownership over these methods of communication.
One of the primary functions of the mark of the beast is that Noone without it will be able to buy or sell. Assuming you believe in the Bible, it's pretty easy to see how the vaccine will put people in the situation that they can only participate in the economy if they have it. It honestly troubles me how little some of the people here is willing to look at the other side to even try to see where they're coming from.
There was a tweet about Nazi stuff:

https://twitter.com/pid_eins/status/1113738764797534208?s=19

See also

https://news.ycombinator.com/item?id=20845633

I don't know much more about the community, I don't like suckless tools.
> Centos is too slow moving to be suitable for desktop use.

Depends on what you need. CentOS Stream is rolling release.

> Updates in place have historically been less than awesome and it adopts new tech before it is ready with no practical way to run either the old version of fedora or the old version of the software.

There's Modularity for different software versions.

https://docs.fedoraproject.org/en-US/modularity/
I guess the name comes from Mutt:

> The Mutt E-Mail Client

> "All mail clients suck. This one just sucks less." -me, circa 1995

The above is in essence a absurdly humorous, self-derogatory show of humility, summarizing the sysiphean task of trying to make any software bug free and useful in any way.
To be fair, IceWM is pretty cool.

No, really. It's the center of my custom linux desktop. You can run a similar setup like described in the article with it, it replaces dwm just fine. Its preferences and winoptions are powerful enough.
Also Monzo

https://monzo.com/blog/2018/01/18/future-of-prepaid
They do? You can globally whitelist urls
Yes, when I got that lecture, it made me think about my own life and made me wonder if I was just 'exploiting a local maxima' or if I was really on the right path for optimality. I figured that it was almost certainly sub-optimal, but without having many thousands and thousands of retries like an agent, what can you do?

My path to where I am today also has many little 'chances' where my exploration lead my in a completely different path that I wouldn't have been on today.

Like when I was a young teenager, and discovered a forum about a video game that I liked. From there, I picked up video game level design because I was inspired by a couple of the posters. After a while of that, I discovered game scripting, which lead me to pick up programming. When I entered Sixth Form at school, I picked up Electronics on a whim and ended up realising that I really liked assembly language. Things grew from there until I got to where I am today.
Yeah, the closer I can get to just opening Visual Studio and pressing F5 the happier I am. I like to focus on writing software and shipping a product, not troubleshooting toolchains and figuring out config files for each piece involved. I know not everyone feels this way.
Ironically, the author defines the primary aspect of his life's work as the desire to:

> transform JavaScript into a secure language, which is part of my plan to transform the web into a safe platform for mashups, advertising, and commerce.

My memory of the early internet business days was that it was specifically advertising and commerce that held back Javascript for about a decade. AOL would not ship a Javascript capable browser because they thought they could monopolize the entire internet by sending "free 100 hours of internet" CDs in the mail and every magazine.

Monopolization of internet technologies was such a good idea that Microsoft then decided to try to do the same thing, and also not implement Javascript properly because they didn't own and charge a license fee for it.

In fact, if memory serves me correctly, the reason for the rise of PHP back in the early internet days was as a server-side rendered replacement for browser scripting was the poor state of Javascript engines. If you take the logic away from the AOLs and Microsofts of the world, then they can't break your complicated, interactive website while bickering with each other by breaking things on purpose. The lure of writing things in PHP was that it spit out raw HTML separately from a browser, and HTML was the only thing everyone agreed on.

In short, Javascript might have gotten along farther, faster than it did, if more people had been more concerned with building a better mousetrap than building "advertising and commerce."
You're right. RSS could be enough to use for automation
My problem is that I was pretty productive with Ubuntu + Unity, significantly more than with Windows or MacOS, or other Linux DEs. This was great because Unity was the default DE for one of the most common Linux distros, so it was well-supported and easy to find information about tweaks and settings online.

But then it got killed off due to a vocal minority constantly complaining about it, and now I'm trying to find an alternative that uses similar UI principles but nothing actually seems to get it right. For example, I often hear people (computer power users) praise OS X. When I see them use it, they're mostly operating it in a "casual" point-and-click fashion like the average casual user. What made the difference for me in Ubuntu/Unity were power user features, like extensive keyboard navigation, or dragging/resizing a window with the middle/right mouse button while holding Alt, or searching the window menu simply by pressing Alt.
The code is less than 2k lines. It's understandable probably after a weekend.
That sounds very plausible. Do you have a reference I could cite?
Very interesting, but can anyone explain the underlying technology?
There are no free lunches.
Here we have sql join on time series data. Very cool, but is it really sustainable?
It does not appear that your statement is accurate.

I just fired up Riot 1.6.2, the latest available from the site.

It makes three connections, one each to matrix.org, vector.im, and riot.im on startup.

Even after removing application settings and preferences, it connects to all three of those on startup, just sitting at the login screen, not signed in to anything. I didn't opt in, and I didn't look anything up; it was automatic (and silent!) on a blank install.

That's completely unacceptable, and counts as telemetry to three separate parties, whether intentional or not.

The local app should not send any traffic whatsoever when launched and sitting at the login/signup screen. It should make a connection to the homeserver chosen to log in to, and that server alone.

I just filed it as a bug again: https://github.com/vector-im/riot-web/issues/13942
Ask HN: What's the most “well-crafted” piece of software you use?
By well crafted I mean fast, reliable, and good attention to detail. Related thread that inspired this post https://twitter.com/craigmod/status/1268788533990289409
Right, and if bernoulli thought that "omg birds evolved a billion years, we can't simply model their wings to levitate a plane, look at those intricate feathers!" or the guy who first suggested CNNs thought "human brain! hundred million years of evolution from early primates! we can't simply use the neuron structure to create anything better, it's all over oh no!" we wouldn't simply be at the point we are standing today. On the shoulders of pretty smart people and their brave ideas.
> Those practices might not harm when you are making basic sites or demo apps in your spare time. But when an engineer with these practices goes to work on something like the software for controlling Teslas, it suddenly becomes a big problem.

Well, the reality is that most businesses only need basic sites and you don't need trained engineers to build them. Basic developers can do it as well and giving them the tooling to do so helps.

There is a lot of value in making programming for "basic" stuff like a CRUD web/mobile app about learning to use tools rather than learning to understand the whole system (i.e. programmer vs engineer).

A comparison I really like: To build a house, you need one engineer for statics, but a lot of construction workers actually putting it together. And even that one engineer for the statics is more for safety than actually necessary, if you build some basic house with the basic default material. Because it's proven over and over again that it holds and the margin for errors is quite large before there is any risk of collapse.
All of your premises are incorrect.

The law of war doesn’t work the way you claim. At all. The Geneva convention specifically addresses non uniformed combatants and people wearing the wrong uniform, and does not permit them to be shot rather than taken prisoner.
A newbie question.

As a seasoned C#, Python and JS programmer, what conceptual foundations in CS will make me use rust more effectively?

Say I want to create a new database service, on top of Postgresql, using rust. Would the design of rust help me in a specific way?

I want to learn and use rust, for systems programming, the kind where I build a high performance underlying system, called by other languages, but it always feels I need to learn quite a bit of theory to effectively use rust.

I never felt the same with C# or python. A bit of OO stuff was usually enough to be productive with them.
"buckling under its own weight when a project reaches medium size" is a subjective view!

A counterexample is the company when I worked for 8 years. They took Python very seriously. By the time I left, 4,000 developers were making 20,000 commits a week in a codebase of some 30,000,000 LOC.
> I don’t have enough time in my life to debug and recompile my window manager or Terminal app on a regular basis. Maybe a long time ago, when I was single and had a lot more time to burn.

I set up dwm, st, and dmenu once years ago, and have worked flawlessly without faults ever since. I actually use a stripped-down hacked-up dwm that I did on a Sunday years ago and have since lost the source for it; I can't recompile it even if I wanted, heh (which is not ideal, but I have little reason to spend effort on it).

> Would the tiny incremental gain from tweaking one or two specific settings to my perfect liking save me anywhere near the amount of time, happiness, or productivity that I save from just letting someone else choose the defaults for me?

But that's not without overhead either. If you update your Fedora or Windows you'll sometimes need to spend time getting used to new defaults and the like, especially on the long term (e.g. Windows 7 -> 8 -> 10, or if you use Ubuntu, Gnome -> Unity -> back to Gnome). With dwm, my experience has remained unchanged for a very long time.

I can only speak for myself, but your description of a hacker constantly fiddling and compiling their software couldn't be further from what I'm actually doing with suckless/dwm. Funny enough, I like it for much of the same reasons as you like Fedora/Windows: it gets out of my way so I can spend time on more important stuff.
High cost and the possibility that you design a worse plane.
UK under pressure to rethink face masks in wake of WHO
Most of us have been there, done that since childhood. Once you reach a certain age, it's more important to get things done and not fuss over trivialities in life.
I programmed a little in Ruby and IMO all this dynamic stuff is redundant(to be polite).
> I don't think you could get those ergonomics from many other languages, even if you wanted, without extra static analysis.

You absolutely could. Hell, languages which are much simpler to analyse have worse error reporting, and the language which started the movement of having less shite error message is a fairly simple one: https://elm-lang.org/news/compiler-errors-for-humans
It was disappointing to me when I recently found out that I couldn’t create Jupyter notebooks with vim. The on-disk format is JSON.

It sounds silly, but when there’s a lot of work do in terms of writing the literature part, and then adding the actual code part, I’m much happier with vim than I am with the browser based editor.

(This is for producing literate programs for the purpose of teaching others, not for my own benefit.)
I was just waiting for someone to go for the "there's more important things going on" bullshit.

Did I ever say this was the most important thing in the world? Did I even say it's important? Even slightly? You're acting like I'm asking healthcare workers to drop what they're doing and become the language police.

I shared an opinion. How dare I?!?
Give me a break...
Our attention spans are shot. The article is verbose. Two things can be true at once.
The compile keyword produced warnings for over three years now. The author was likely developing with an old or bad guide in hand, because the warnings were there.

In my experience, many of the Android methods marked as deprecated also contained docstrings to the new API and how to use it. In some cases it can even automatically insert the boilerplate code to do what the old, deprecated function did with the extra error handling for changes to the platform.

compile and implementation aren't the same thing. Depending on your use case, compile needs to be either changed to api or implementation. They aren't the same thing, so just a quick replace by the IDE would likely break more than it fixes. The problem is that most guides treat them as the same thing and make people think the compiler is being stupid for changing the word they need.

I can't speak for other projects, but for Android, where most of my deprecation struggles came from, the change was the result of changing requirements. Early Android was a wild west where every app could copy the contents of your SD card and upload it to their servers without even so much as a warning, where IMEI numbers were widely used as identifiers in databases for analytics and where permissions were more of theory than a practical requirement. Killing random apps was a permission any application could obtain, app databases appeared on your SD card which sometimes included credentials and secretly turning on cameras was easy to do by rendering the preview to a 1x1 pixel area. Screen hijacks were also commonly possible, causing major concern for apps for banking and such. Google had to retroactively restrict applications with new permission systems and applications often crashed without workarounds because the developers often never bothered with exception handling for stuff like file I/O. This isn't moving fast and breaking things, this is trying to fix fatal flaws in the design of a running train.

When I encounter deprecation, it's because the underlying design of the API I use has significantly changed, often for good reason. It's annoying when features turn from a simple function call to a complicated code structure, but there's often a good reason behind it. I just wish people would put those reasons in their docstrings and release notes instead of marking stuff as deprecated and leaving it at that.
For some AMD hardware openSUSE has been more stable for me than Ubuntu, Debian and Fedora.
And off course the best KDE support of the bunch is also a plus.
> First of all, the introduction which bashes the paper which applying social network techniques to fiction? If the author had bothered to look it up, they would have realized the authors are an applied mathematician and theoretical physicist. Not humanities.

Nonsense. Whether a piece of research belongs to the humanities doesn't have to do with the credentials of the researchers but with the subject matter. If we genuinely want to say that scientific and mathematical methods are fruitful to explore questions in the humanities (contra the main claim of the article), we have to at least allow this. Or would you say that the paper on the network structures in fictions is a piece of theoretical physics?
Similarly, I've heard of HVAC systems that just use city water for cooling. It comes in cold, dump heat into it and let it run down the drain.

Running like that all the time seems unconscionable, but it makes a lot of sense as a backup while the primary is down for repair, as a very cheap-to-install but wasteful-to-run system that would be appropriate for short durations only.
I'm not following you, sorry.

Is "let's wait and see" a precautionary move?

Are you saying the cost of inaction must be quantified before it's a legitimate choice?

In which case, in our world of imperfect understanding, does that lead to bias towards action?
Hah, if he finds Gradle arcane and unintuitive, wait until he actually starts developing the Android app itself...
I always found the elitist statement on that page strangely at odds with the rest of the philosophy (at least how I understand it).

I mean, if everything is small and simple, doesn’t require you to learn a frameworkish configuration written in yet another language but can be configured with what amounts to a key/value file and can be installed in seconds with make + sudo make install, then it’s hardly elitist.
Damn that is a hell of a story.
Really highlights how important high thrust:weight ratios are for military aircraft. Missing a wing? Apply afterburner
As a non-native speaker, I thought the correct form would be "Fast, working pages mean better rankings.", "mean" in singular. I checked it against a grammar app and it said the same, but I see how it could be used in plural for the header, as in "having fast, working pages means...".
I mean, I think it's possible to write quality software in virtually any language if you're serious about it. I would argue that in the case of python, you'd be succeeding in in spite of the language at that scale rather than because of it.
Does anyone have a good software patent story? Where a small company was able to use for good or to fight off a bigger player.
The parent wrote: “I would hire a junior dev with 1.5 k salary per year.”

Better to confirm that they actually intend to pay that much per month and not per year ...
Jio: Desi-FAANG into making?
don't hesitate to join our slack and ask us any question you have
expired patent.
The Simplicity of Specificity
Change the font, if you expect someone to read your article.
I barely had the attention span to read this :-(
> R/unixporn is the nerds equivalent of shirtless beach dudes.

Wait, what kind of savage goes to the beach in a shirt?
1 Gbps, unoptimized, commodity home network between an ancient thinkpad t520 and gen 4 i7 workstation using ZeroMQ throughput perf test gives more than 1M messages per second:

$ ./local_thr tcp://192.168.1.123:5678 100 1000000
message size: 100 [B]
message count: 1000000
mean throughput: 1143708 [msg/s]
mean throughput: 914.966 [Mb/s]
Exploiting Commutativity for Practical Fast Replication
I don't know if this works for you, but since a month I started taking a 1h walk every evening, after my kids go to sleep. I'm in my 30s, walking for me was something older people do. I also run every other day. But I find it so relaxing, it gives me 1h of reflection, burns a few hundred calories, and in that time I would have probably sat at the computer anyway. I think this is one of the good habits one can pick up, and in your case I think you need to pick up some good habits. Focusing on how to break your phone addiction could be hard since it's very specific, so maybe changing some fundamental things that you do will shake off this behaviour.
Oh how everyone ranted about that in 2013. Being from Google was a major selling point.
IBM is alleged to have have used dubious parents very aggressively back in the day: https://www.forbes.com/asap/2002/0624/044.html

> As the Big Blue crew looked on (without a flicker of emotion), my colleagues--all of whom had both engineering and law degrees--took to the whiteboard with markers, methodically illustrating, dissecting, and demolishing IBM's claims. We used phrases like: "You must be kidding," and "You ought to be ashamed." But the IBM team showed no emotion, save outright indifference. Confidently, we proclaimed our conclusion: Only one of the seven IBM patents would be deemed valid by a court, and no rational court would find that Sun's technology infringed even that one.

> An awkward silence ensued. The blue suits did not even confer among themselves. They just sat there, stonelike. Finally, the chief suit responded. "OK," he said, "maybe you don't infringe these seven patents. But we have 10,000 U.S. patents. Do you really want us to go back to Armonk [IBM headquarters in New York] and find seven patents you do infringe? Or do you want to make this easy and just pay us $20 million?"
> The compiler would say “Missing semicolon on line 427.” To which I’d reply “If you know what is missing, and you know where it is missing, why not add it back yourself? You useless piece of crap!

That’s not the role of a compiler, for good reason. I stopped reading the article after reading this line.
Yes it could. Maybe he meant there's no conditional calculated jump, but then you can combine conditional JP cond.,NN and calculated JP (HL).
Conspicuously absent from the article is the bad guy. There is no evil villain scheming to destroy our attention spans. The evil villain is us.
Be a little charitable to OP and this reply. The configuration is indeed in code but it's macro defines. It's essentially as simple as changing a text configuration file, it's not like you have to actually edit code (as in new functions, adding actual logic). Things like fonts and sizes and colors is changing defines, it's actually simple.

Now when it comes to more complex stuff, like hotkeys, well you're essentially programming already in most other wms that doesn't have such things build in. AwesomeWM, i3, qtile (not popular but I used it for years) basically is half-way to programming, although it's a line, so it isn't any worse. I think the thing people aren't getting is the code is actually simple, so editing it and recompiling it isn't a chore.
Good recommendations. I started doing this slowly over the past few years (watching almost no video, leaving phone behind while going out etc). Last week I went off Twitter, which was my main source of news. In a short time that's had a big impact on how distracted I feel.

Also agreed on reading old books. Most new books (at least mass marketed ones) are mediocre. They may have a financial ROI but not a mental one. Reading books that have been around for a while means you're probably seeing the best. Same goes for old movies.
But not because it wasn't technically insufficient, the market has changed priorities.
kind of strange that the BLS would release this on a weekend when it wouldn't effect markets. lol.
https://www.washingtonpost.com/business/2020/06/05/may-2020-...
https://www.washingtonpost.com/business/2020/06/05/may-2020-...
That sounds like engineering and scaling challenges, not inherent limitations... I mean, they clearly have the magnets figured out and so far there doesn't seem to have been a lot in the way of unforeseen roadblocks.
I agree, if you're trying to get something to be productive you should go with whatever gives you a good environment out of the box. But it sounds to me like 15 years ago (or whenever that was) you didn't really care about productivity but rather you just wanted to tinker with stuff for the sake of tinkering with stuff. And I think that's also valuable - there's a lot to be learned about how things work.