skysight-inc/HackerNews huggingface dataset:
As a meta observation, I noticed this was submitted by user luu and his website also has a blog post with a similar theme ("boring languages"[1]). Therefore, I wonder if the "boring vs exciting" advice somewhat depends on the personality. I.e. if person has a tendency to prefer conservative technology, it means external advice that advocates "boring tech" will resonate with that person.

I think choosing boring technology makes sense but I'll give a contrarian view anyway.

A lot of people like new and shiny things because it's interesting and spurs the imagination for future work.

For example, in 1974 when the new Altair 8800 made the cover of Popular Electronics[2], an excited Paul Allen showed the magazine to a 19-year old Bill Gates. The "boring tech" advocates would tell them they're wasting their time with the "new fad of microcomputers" and they should look at boring IBM 360 mainframes instead. Those IBM machines were around since the 1960s and were more proven. The problem is that Bill and Paul weren't interested in those mainframes. The choice isn't proven/unproven. The choice was really interested/uninterested.

Similar situation with WhatsApp in 2009. Apple just released the iPhone SDK in 2008. The older tech was PalmOS, Windows Mobile CE, and Symbian. Those legacy mobile operating systems were around since the 1990s. It didn't matter to Jan Kuom that the new iPhone didn't have a track record. It was the more interesting platform to work on and he made a bet to write an app for it.

From what I read, Google's first AdWords server in 2000 was built on MySQL. MySQL was released in 1995 so using a relatively new 5-year old technology may have been more risky than picking traditional Oracle RDBMS which had been around since the late 1970s.

It's ok to choose new and unproven tech if you have a coherent thesis of why it makes sense to try it. You also have to be willing to pay the price if your bet turns out to be wrong. You can also deliberately choose boring tech in as many areas as possible so it frees up brainpower to aggressively make a bet on new unproven tech in a particular area where you think it will make a difference.

Also, your role dictates the freedom to use new and unproven tech. If you're an employee at a mature and conservative company, you'll be constrained to choose boring technology to minimize risk. (This reinforces the saying, "Nobody ever got fired for buying IBM.") On the other hand, if you're an entrepreneur, there's a good chance you'll need to make a calculated risk with new exciting technology that is (1) unproven, (2) has non-existent documentation, (3) does not have much tooling to make implementation easy.

At one point, even all the "boring technology" was new and interesting. In 2019, what's some new and unproven tech that we should look at?

[1] https://danluu.com/boring-languages/

[2] https://www.google.com/search?q=altair+8800+magazine+cover&s...
> Three Body Problem (all 3 books) - Liu Cixin

These are great and helped me re-discover my love of sci-fi from when I was a kid, they are often recommended in these HN book threads. I just ordered the other 3 books that you mentioned so thanks for the recommendations!
Oh yes, definitely. Another one from these experts is Valter Longo with his book "The Longevity Diet". All three of them were interviewed by Rhonda Patrick https://www.youtube.com/user/FoundMyFitness/videos for people who like to watch/listen before reading. Matthew was also a guest in Joe Rogan Experience https://www.youtube.com/watch?v=pwaWilO_Pig
Types of Technical Documents
Extended search with previews will be great and playback in external player will be great features to add.

But anyway, Youtube brakes API too often and maintaining any of YT apps is very painful.
Not everyone is familiar or comfortable with the command line.

A lot of my friends don't use youtube-dl for this exact reason. They end up messaging me, asking me to download files for them.
There's even an expression for it: reinventing the wheel.
American Standard Code for Information Interchange (ASCII) (1963) [pdf]
I thought this was one of the best articulations, though. All it needs is a CC-BY-SA license so it can be used outside of one blog.
> Typically, to maintain the code, you need twice as much engineers than was needed to write the original code.

As a non-coder this sounds horribly inefficient. Isn't coding also about automating tasks so people don't need to do them manually anymore?

But with the above scaling, we'd always need more humans to solve new problems generated by coding itself, which feels quite counter-productive to the original intention, that of automation so fewer people are required for the same work.
The entire world doesn't doesn't evolve uniformly. In 1985 for example we had literally 1 (state run) TV channel and I still remember what I huge deal it was the day we went from having 1 to 3 TV channels (non of them commercial of course) and I could experience "changing channels".
Having agency (aka being in charge) definitely lowers my stress level. Not that those examples weren't amazing people, but most people are not in charge, and that's more or less why they're stressed out.
But it probably isn't used in the YouTube apps and using it would require pushing an update. Smart TV manufacturers are not famous for pushing updates promptly.
Machine Learning – A Growing Technology Field and a Rewarding Career
To me it's obvious that weed can accelerate psychosis since it comes up quite quickly when researching about weed. I thought it was relatively well-known in the HN community as well.

I also said that my other information was from people working in the field. If I say something like that, then I implicitly mean that I couldn't find it on the internet, which I find an interesting thing in itself.
I just gave it a go yesterday but I don't have high expectations. Even in "Who is hiring" thread I noticed most offer are onsite USA - at least for me (iOS developer) and for many this is out of reach or they don't want to go through lengthy VISA process.

"Remote" tag is often confusing since in many cases it means:
1) Remote but USA only
2) Remote but only 1-2 days a week
3) We put remote just to grab your attention and to get more candidates but we actually prefer onsite

Personally this often discourage me to apply even if otherwise I could be a good fit. Also if you put REMOTE I guess for many companies you are no-go candidate since you haven't gained trust yet.

As for me I wouldn't mind relocating somewhere for the first few months for higher bandwidth communication and to gain some trust but that rarely works if company doesn't have remote culture.
The main problem is that you cannot version the standard library (well, there are "editions" but that's a bit of a workaround for other language changes).

Go has the exact same problem, and has also historically made similar mistakes to Rust in their stdlib (the "syscall" module is strongly recommended against -- instead you should use "golang.org/x/sys"). And it should be noted that Go is even more bare-bones than Rust -- the lack of generics means you have to use "containers" which is very limited (I also have a feeling it's used by effectively nobody, because of the bad ergonomics).

I think the best solution for this problem might be some form of "meta-crate" concept which would allow you to pull in all of the well-vetted and stable libraries that most people want, without having to curate ~20 libraries yourself.
A bit tangential but this

> Maslach received an incredible outpouring of letters and phone calls from people who were grateful to find out that they were not alone in their experience of burnout.

got me thinking how important it is for us, humans, to compare and match our own experiences with the societal "averages". It's usually a relief to learn you are not alone in something that's happening to you, despite that it can be truly worrisome. But at the end of the day it's all relative to the averages and norms. And norms change over time, too.

Not saying burnout and depression can become a norm, just pointing out what it means to be a "social animal". Something bad happens to you and suddenly it's not as bad because you are not unique.
This reminds of a comment, where someone never having used a typewriter before, commented that people in the olden days were prescient enough to put #(hashtag) on the keyboard, before Twitter was invented.
Logs for regular chat are removed after a very limited amount of time.
I’m trying to find a link to it but there was an incident based on this issue somewhere around 1999-2001 where Microsoft added a sort of prefetching thing to IE (or was it Netscape?!) and it would effectively click all the links on the page in order to get all the content in the cache.

Lots of us really didn’t know what we were doing and we’d made all the action buttons in the listing screens regular links. As you can imagine, pandemonium ensued.

Hey, at least we’d figured out that sql injection was a thing.

It was a simpler time.
The KLF - Chaos, magic and the band who burned a million pounds
https://johnhiggs.com/books/the-klf/
Right, but there's a big difference between "Don't estimate until you've done your due diligence" and "Don't estimate".

It's perfectly reasonable to say "This is a big project, it'll take me a week to know where we stand"- there, you've provided an estimate of the scoping task and promised an estimate in the future as well.
I started reading "The Master and Margarita" this year after seeing this title pop up on HN so often. I could not finish it, I found it rather boring. I'm curious, am I the only one? What does everyone find so great about this book?
I have always been of the opinion that you ought to read the stoics in the order of:

1. Epictetus (foundational with the enchiridion) [trans Robert Dobbin]
2. Seneca’s letters (eloquent exhortations from one person to another) [trans Robin Campbell]
3. Aurelius’s meditations (powerful self-reflections not meant for publication) [trans Martin Hammond]

I found that, going back, both Seneca or Epictetus were lesser reads than Aurelius, but I’m still glad I read them.

[These are my preferred translations, but I did see this comment and just ordered the translation mentioned https://news.ycombinator.com/item?id=8717216]
Doors and windows
OS threads use statically allocated stack. This limits the nubmer of threads one can have (say if stack is 1MB and you have 1GB of memory, you can have 1024 threads max). That's the main difference. I think some savings also come from avoiding full blown context switches.
Who wants to kill the electric car this time?
In fairness to GP, they are implemented using unsafe (which is unsurprising since they take one &mut and return two to the same borrowed data).
If the code is released anonymously, what good is it though (in the context of research code)? Ideally it should be connected to the paper to allow for replication, and what academic would want to release a paper anonymously?
This this is not some obscure off by one error. You see it in basic game building tutorials. Hell, I will admit to making this mistake on an early game, but only once.

Not making the mistake in the first place should generally prevent the issue even if it was never fixed in any game ever. I am calling it incompetence specifically because it’s the kind of mistake you make when you don’t know what you’re doing.

PS: If detecting and fixing an issue like this is a significant issue for your team, that’s a much larger issue you need to deal with.
The OS thread model is lightweight processes - each OS thread is essentially a separate process sharing a common section of the process control block. Context switches are still relatively heavyweight involving a kernel mode switch, CPU state save and restore.

Application threads are a part of the application runtime environment. Thread scheduling is little more than a function call and doesn't involve a syscall invocation, and can be hooked into runtime environment trigger mechanisms.

Kernels have to be one size fits all, application threads can be tuned more precisely, with greater visibility over the application's state.
SEEKING WORK | Remote - Worldwide (Based in India)

Full stack web developer with experience working with Node (Express, Hapi), Python (Flask, Django), React, Redux, Bootstrap, ES6, Git, Rails, Meteor, Heroku, WebExtensions and Chrome/Firefox extensions, SocketIO, Electron, Selenium/Puppeteer, etc.

I've contributed to several open source projects and am a maintainer of a few popular resources on GitHub.

GitHub: https://github.com/dhamaniasad

(Semi)Resume: https://www.asad.pw/about

You can find my email address at the above link at the end of the page.
> Unfortunately, I imagine once my wife and I have children, expenses will become rather difficult. I'm not sure how well a tiny apartment will accommodate a growing family, especially if we have two or three kids. So... I'll probably end up back in the suburbs eventually, but I'm not in a hurry, and it certainly isn't my preference to be there.

You may find that your preferences change as a result of having children. Also - there are a lot of different living options falling somewhere between San Francisco and Atlanta suburbs with regards to population density. E.g. a small city with a walkable downtown, restaurants, etc., but affordable enough to own a decent-size house and a car.
the blog describes technology that existed in the middle 1980's

To quote William Gibson: "the future is already here, just not evenly distributed"
You've just summed up the gui/command line dichotomy.

It's something we could do better at bridging the gap between.

Tbh things like this, a gui front end for a terminal app seem the best way forward. I don't know why they aren't used a lot more in open source, it just seems to match up so much better to the open source model of a random person developing a project and no one taking over when that person loses interest. The front ends are the sexy bits where you get more churn but also more interest. The boring back end doesn't attract, but also doesn't need so much attention.

I suppose you could argue we do it at the library level, I still think there's room to do it at this level also.
I spoke once with a Microsoft consultant, he was advising us on upgrading strategy, as our customer had a mandate to be at least on version N-1, that is the customer must be on the latest major version or the version before, so at the time we were migrating off Windows 2003 as Windows 2012 was going through internal validation.

He mentioned that on a bank he'd been advising, the mandate was the opposite, namely at most they could be on N-1 and were in the exact same position as we were, except that they were migrating to Windows 2008 and we to Windows 2012 as the N-1 mandate in practice meant that we'd upgrade services every other release, except when there was a waiver, which was often and explained why when I left in late 2012 we still had some Windows 2000 boxes.

As a techie, it was always a pain going back to an old box as you'd try to do something and realise that it was not possible as that feature had only been introduced in later versions. Even worse, was when it was possible but extremely convoluted and error prone.

It's interesting how everybody thinks that it's career suicide to support old stuff when it actual fact most people are hired for a mixture of their knowledge and their capacity to learn. I appreciate that it's lower risk to hire somebody with experience on the exact product but would you rather have an extremely good engineer with no experience in your stack or a good one with experience in your stack?
How to get the Series A funding right
This would solve an issue I have regularily. Sighted people tend to invert left/right almost more then 50% of the time when telling directions to a blind person, especially if they are not looking in the same direction.
In fact, the error is so common that I actually gave up listening to directions from random strangers. The likelihood of them being wrong is so high that it actually is dangerous to listen to sighted people without double-checking if they actually can be right.
I spent too long believing that technical competency would breed trust in my ability to produce and execute a sound road-map.
I left too late, having lost a lot of the joy that I previously took from software development.
Oh, this is great! And it's one piece of something I've been looking for (so hopefully a good comment section to ask for more): a book on how (GNU/)Linux 'works'.

i.e. I'm not interested in a book of commands or cheat sheets, I can use `man` and SO, Arch wiki, etc. for that when needed.

I think part of the problem is that I don't know what I don't know - but I discovered namespaces (`/proc/<pid>/ns/<type>`) recently and don't know much about it but thought it was interesting, and managed to use it to do what I needed to overcome a problem I was having with `ip netns`. A similar 'aha' was with inodes a while ago.

So, any recommendations for a book on 'how Linux works'? I think it's a gap in my understanding (academically EE/CS - hardware, up to OS but not Linux-specific, theoretical CS; professionally software, 'using' Linux). Best candidate I've found is Brian Ward's 'How Linux Works: what every superuser should know'.
I loved the RadioShack tape recorder. I used it as a little portable boombox that could play in my backpack and create a little sound bubble that would accompany me and my friends.
In this mirror universe, do the men have goatees and compassion is seen as a weakness? If so, I have a few theories on how we can find that universe...
Location: Manila, Philippines

Remote: Preferably

Willing to relocate: No

Technologies: (Web Development) Python, Django, DRF, Postgres, Nginx, Gunicorn, Ubuntu, Heroku, AWS

Résumé/CV: https://drive.google.com/file/d/1JygA7BeURmGs9UCHJiKYck3gs4B...

Email: rbbeltran[dot]09[at]gmail.com

Looking for short-term or long-term opportunities with python projects.

Linkedin : https://ph.linkedin.com/in/ronbeltran

Github : https://github.com/ronbeltran
I’ve read all of them. You won’t be disappointed.

I’d start Alistair Reynold’s stuff off with ‘House of Suns’ though. It’s a standalone, but it’s one of his best works IMO. Then go ahead and devour the ‘Revelation Space’ series.
Chocolatey is the way to go. Once you have it installed, it's just `choco install youtube-dl` and `choco install ffmpeg`.

This is how you get Chocolatey: https://chocolatey.org/install.
Is this about BoringSSL or The Boring Company? There's so many new and exciting boring technologies to follow that it's hard to keep track.
Andrew Yang Is the Voice of Reason the US Presidential Race Lacked
I think people's brains must work different, because for me this would be a terrible way to do it. I simply cannot read and comprehend math with very long descriptive variable names.

Whenever I see people do that, I have to write down the equation with single letters, and then look at it.

I am more of a literate programming type of person. I prefer writing longer explanations of code. But usually as a header. I like keeping the core of the code as clean and noise free as possible.

So I write code more like a math or physics book I guess. The equations are kept simple and clutter free, and then there is a body of text above or below explaining how to think about it. I tend to prefer using a lot of unicode, because following conventions helps me a lot. If I see a t₀, t and Δt variable e.g. I immediately get a sense of what sort of variables this is and how they are related. If instead it said start_time_of_incident, current_time and time_difference_between_events I could not quickly parse and internalize that.
What's not talked about so much is the ghettoization of the suburbs.
If you look closely, many of the houses are rooming houses. It's harder to tell because 4 or 5 cars parked in the driveway is not abnormal in the burbs.

The suburbs built in the 1930s are being gentrified, and are now considered 'downtown'.
The suburbs built in the 1940s-1960s are in now the edge of the city, inhabited by an older generation or retires that vote very conservatively as they try to stop change in their neighborhoods.
The suburbs built in the 1970s and 1980s are starting to show their age. They are at the ends of public transit lines where rents in rooming houses are the cheapest. This is the area new immigrants are moving, as it saves money, but the commute is long.
The suburbs of the 1990s till now are eating up small towns. This causes some tension between the new burbs and the more redneck locals that have never liked the city.
A 17k sport car made in France
Depends on the suburb. There was forest in my backyard growing up. But there were plenty of other areas nearby with nothing like that.
The eternal problem of externalities. They ought to be priced into the cost of the rare earths, but doing so means you lose out to your less scrupulous competitors.
If you have the whole summer to read a book, check out The Power Broker by Robert Caro. It’s the story about the rise and fall of Robert Moses. His accumulation of power and how he basically built modern New York and his impact on the 20th century.

I’m in the middle of reading it, it’s very good. It’s long though. Something like 1400 pages or 66 hours of audio. So you'll need the summer to finish it!
That's not what I said. I said it runs really nicely if you stick to the built-in apps, and that I use mine as an external monitor. Those two are not mutually exclusive.
There are a couple of issues here: scheduling, and managing the stack. The reason a runtime can do better than the kernel is that its constraints are (hopefully) less constraining than those of the kernel.

In the case of managing the stack, the kernel must be able to support languages like C/C++ and Rust, that can have internal pointers pointing into the stack itself. This makes it hard to reallocate stacks dynamically and move them around in memory. The JVM doesn't allow such pointers in application code, and internal bookkeeping pointers are known.

As to the scheduler, the kernel must support very different kinds of threads: threads that serve server transactions that block very often, and threads that, say, encode a video, that rarely block at all. These different kinds of threads are best served by different schedulers (e.g. the "frequently blocking" kind of thread is best served by a work-stealing scheduler, but that may not be the best scheduler for other kinds of threads). When you implement fibers in the runtime, you can let the developer choose a scheduler for their needs.
Late tape players were amazing. I think the last one I got was from aiwa, but it sported everything: slim, electronic buttons, li-ion battery. At some point, the technology around them was so well understood that the companies building them really did go over the top to provide the most luxurious experience.
Turns out I'm about the same age and from the same city as the author. And I'm telling you, hardly anyone had an internet connection at home in the mid-90's where I grew up.

My father's job provided him with a callback modem hookup, so we got on the Internet in, I think, 1995. This was a rarity and the phone bills would have been pretty bad if my family'd had to pay them.
What phone doesn’t change timezones automatically?