skysight-inc/HackerNews huggingface dataset:
Fully agreed.

After the modern crane technology was invented there are exponential increased in the number of high rise buildings including the skyscappers.
I remember Google's recruiting slowed down in ~2008. [edit: 2009? Maybe not right at the start of the recession.] [1] So sometimes yes. On the bright side, it's rare for profitable large tech companies to lay off software engineers, so if you get in, you're pretty safe.

I don't think Google has seen the impact of a recession yet. It was 4 years old in the dot.com era, and insulated from the effects of the recession by a steady stream of VC money. It was 11 years old in 2008, 5 years out of its IPO, and growing insanely fast on the back of an internet boom where every business was struggling to understand how to utilize online advertising to get the best possible results. Businesses believed that online ads would protect them from the 2008 collapse, so Google were in a position to grow despite the downturn.

The same is not true now. If there's a serious long term recession it's very likely to impact companies with advertising derived revenue far more than it has in the past. In Google's case it'll probably mean little more than repatriating the cash reserves it has offshore and spending them to weather the storm. We all know that some of the higher ups will want to use it as an excuse to 'trim some fat' because that's what higher ups do though. No one will be safe.

The same is probably not true of other companies that are less cash-rich though. There's no reason to assume that tech will be fine this time because tech was fine last time.
https://i.ebayimg.com/images/g/V94AAOSwmL9f8vwL/s-l300.jpg one of these?
What can be said - is that recessions and hiring stops send people back to schools, and you suddenly have a lot of people with Masters degrees applying for the same jobs.

Tech could very well be immune against credential inflation like that (because of the growth) - but others are not. There are industries where you don't even get interviews unless you hold a graduate degree - precisely because there are too many applicants with graduate degrees. Maybe more relevant to the niche positions within tech (data science, for example)
The constitution doesn't constrain the US. The judges sitting on top of it are foremostly politicians - if they wanted to, they could take things in a different direction.
Snap’s warning sends shock across digital advertising
"routinized" is not a word.
What "new technology" are we talking about exactly?

Because new technology as in better robots, better medical/agricultural/transportation technology, better network tech, better electronics, more efficient power generation technology, faster chips, improved algorithms for things like logistics etc. etc. HAVE made us much more productive.

The problem is, as with almost all developments that actually matter for our progress as a species, these things kinda fly under the radar. They just work in the background, keeping the ship afloat. They usually don't get big shiny sparkly stage presentations. They are, simultaneously, the most important things happening to our technological and scientific progress, and the most ignored.
There are two problems with this:

1. Even for as weak computational model as FSM the problem of verifying its correctness is intractable (NP-hard). And modularisation does not help.

2. We don't know any weaker computational model that is strong enough to be viable for the problems we want to solve and still weaker than TM. It is well known that it is surprisingly easy for a language to be (accidentally) Turing complete.
We Already Have Go 2
This article is conflating pushes to control and censor data with pushes to provide privacy rights. Those are very different things that just happen, because they are enacted along nation boundaries, to both create these borders.

Providing privacy rights is very much not a "nation accelerating efforts to control data", and shame on the NYT for muddling this.
There is already Jsonnet the data templating language: https://jsonnet.org/
1. There is a sizable community of retro-computing enthusiasts. It's a fun to being able bring back to action an old computer.

2. Computers evolve very quickly and they are small compare to other artifacts of human history so it is more feasible to have an interesting museum-like collection at home. I consider collecting some old CPUs - hope by the time I will afford to have more possessions they will not be too expensive.
Well, that depends. If I pay X per 1k views what I care about is how much I sell as a result of that. If I sell a lot and profit would I care that some huge percentage of my views were bots? Conversely, if I sell very little would I care that there were zero bots?

If you are advertising just to get an idea out, or for something you have no capacity to measure, sure. You need to know accurate numbers. But if you can track conversions on your end, and conversions are good, does the exact number of real views really matter?
> software engineers are overpaid as is with benefits that nearly every other industry can only dream about

Then why do companies keep on paying these salaries? Besides, that doesn’t really apply outside of unicorns and SV. I’ve been doing this for a while and have never had catered lunches or dry cleaning etc provided by my employers.

Also, what are you comparing to? Professional athletes or traders are overpaid compared to SE. if you compare to burger flippers then it doesn’t make sense either.

Accountants are paid quite well for instance. Their employers pay for their time and expenses when they go to a seminar and keep their skills up to date. Why should it be any different for SE?
I remember when GraphQL came out way back in 2012, and I really did think that we'd see fewer REST APIs.

To this day, I've never seen one, inherited one, or met someone who uses them in production. I'm sure HN has some happy GraphQL users, and there are some big companies outside Facebook that use it, but it must still be a tiny fraction of all APIs at this point.

Tooling and caching are certainly still a lot simpler with REST APIs, and the vast majority of projects just don't need the extra efficiency.
Me too with a sad twist: no matter how often I put a sign on my council kerbside collection e-waste saying "works" some metal scavenger on a copper hunt cuts the powercord and moves on. They're trashing value to extract the one bit they care about.
I think people tend to overthink about running your own db.

There is nothing to patch manually. Security updates are handled automatically via "unattended-upgrades" for Ubuntu and when the OP says,

> tiny, almost free, sql database for personal projects

running "mysqldump" on a cron job sounds enough to me.

> with reasonable disaster recovery

You may send that dump file to any S3 based storage anywhere in the world for a decent disaster recovery. (Tools like restic allows automatic data rotation easily.)

Launching an instance (even use "MySQL" app instance cloud providers provide) and installing MySQL with 1 command, write a few lines of shell script to take a daily backup should take at most an hour.

Optionally, install Caddy web server and set up a few lines for PHP fpm or for other languages a single line to reverse proxy for automatic Let's Encrypt and your site is up. I'm sure there are plenty of tutorials on that.

Once things are up, there's nothing to manage. It gives you flexibility with lower price, not to mention gives you the little knowledge you likely want to have down the road.
Isn't this a dead project?
I'm not sure that billions of people build houses with wood. It's definitely an American thing, Europe not so much (bricks and concrete.) China is concrete. India? South America? Mexico? Africa?
You're paying your employee because they are suitable at this moment. Expecting someone to study in their free time is nonsense. If you want that you either need to pay for it or allow study time during the work time.
After that debacle with pipenv and the misleading promotion of it, I'm not surprised he's taking time out from Python dev (or perhaps Python is taking time out from him).
"While the United States supports a free, unregulated approach that lets data zip between democratic nations unhindered, [...]"

I think it's no secret that nations with the most market power were always for "free trade" and calling it so.
The saturation of guns in the US is so high, that any legal ban is like trying to stop water with a fishing net. Even the word ban leads to record breaking sales of guns. This shooting will probably boost gun sales as well, because many will assume a ban is coming and stock up before they are not allowed anymore. Even if you were to magically collect as many guns as you can, that leaves the bad guys, still with guns, as anyone who has plans to use one would not be giving it up easily. Then there is 3D printing and self-made stuff. Americans don’t respect regulatory bans, so the approach has to be different. Education, monitoring, better programs to catch early-stage behavior. Many of the shooters target people they know won’t fight back - kids, elderly, people who are unprotected in one way or another. There is no shortage of potential victims. If you protect the schools they will switch to churches, or hospitals. The attack surface is so broad, it seems you have to narrow down on the attackers. Can tech help with that? Can Education? Can social programs?
I wonder if they made any thought on security. Things like Turing completeness, data stealing, privacy violations etc.

I think it is however a good thing for prototypes and internal company tools.
Remix creators inspired by Ember.js as they mentioned years ago in one of the blogpost about the new concept and philosophy.
Actually, it looks like the damage goes even further back than I stated in the other response:

https://www.cleanenergywire.org/sites/default/files/styles/g...

It seems like nuclear power genertion started going down for real around 2006.

This corresponds roughly with the time electricity prices for households were nearly doubled:

https://wattsupwiththat.com/wp-content/uploads/2022/01/Elect...
I am not convinced by this lengthy rebuttal, in fact it just solidified OP's point.

OP/Thiel's point: It's not that we haven't made any progress, but rather the progress since the cold war has been disappointing.

I'm a bit ambivalent about Globalisation and whether that can be considered progress. We globalized several times (Early trade routes, 14th century, British empire and then again in post-modern era).
He's listed as the (co-)author on a number of PEPs:

- PEP 533 – Deterministic cleanup for iterators

- PEP 518 – Specifying Minimum Build System Requirements for Python Projects

- PEP 517 – A build-system independent format for source trees

- PEP 465 – A dedicated infix operator for matrix multiplication

- PEP 600 – Future ‘manylinux’ Platform Tags for Portable Linux Built Distributions

- PEP 8016 – The Steering Council Model

- PEP 568 – Generator-sensitivity for Context Variables

(and that's as far as I cared to look - unfortunately https://peps.python.org/ lists the authors by last name and there are multiple people named "Smith")

So it seems he has in fact "done much".
It really seems like the compiler writers have gone insane in the last decade or so. Any reasonable person would look at the standard and conclude the intent is to describe what is required to write super-portable programs. Yes, you could have 1s-complement or sign-magnitude integers, so you can't rely on signed overflow for portable code. Yes, you could have separate address spaces for floating point and integers, so you can't rely on cross-type pointer casts or address arithmetic for portable code.

But the compiler writers are using "undefined behavior" as justification to break code on machines that don't have weird address spaces and don't use 1-s complement integers.

So the result... anyone who wants C/C++ to just be a high level assembler is going to need to do all their arithmetic with unsigned and all their pointers as char. Say goodbye to readability or type safety.
> We did for GCE and drove it down pretty heavily.

As a heavy GCE user, something weird about GCE to me is that instance boot times can be extremely variable — predictable within a given instance group, but unpredictable with even very small changes to e.g. instance sizes within the same instance family. (And this isn’t the instance blocking on getting scheduled onto a hypervisor; I can recognize that point, because it’s when any quota limits hit to potentially kill the instance provision. That phase of the delay is very stable.)

The variable delays also seem to apply to “reset” of the instance (which won’t involve an even-temporary deschedule, as reset keeps NVMe state) — but not to kexec-reboot, if one opts for that.

Is GCE built on a hybrid of two different hypervisor systems with wildly differing boot-time performance characteristics, where subtle tweaks of your instance config determine which hypervisor you get? Maybe one that relies on a hardware offload for something (PXE kernel signature verification?) that the other does purely in software?

One thing that’s clear to me is that instance types introduced after a certain point (e.g. all n2d instances) are always of the fast-booting type. So I’m guessing this is just old hypervisors being stuck on some legacy config because of long-term customers partially pinning those host machines with workloads that somehow prevent live migration (workloads with NVMe or GPU), and so make those hypervisors unable to be drained for a hard-upgrade.
Show HN: Open-source code for Software Mistakes and Tradeoffs
Some time ago, we published a book that focuses on mistakes, tradeoffs, and decisions that every software engineer needs to make in their day-to-day job. More info in this HN post:
https://news.ycombinator.com/item?id=27842632

Today, I am glad to announce that code from this book is open-source and free and can be accessed at: https://github.com/tomekl007/manning_software_mistakes_and_t...

It demonstrates the approach and some of the problems that the book is trying to tackle (not all problems are code-based). Feel free to fork, contributed, browse or create questions/issues :)
I don’t see any relation…? What’s stopping you from rebooting a system with NVRAM? What’s stopping you from shutting it down? Hibernating it? Nothing.

However, NVRAM enables power-efficient sleep. My old ThinkPad used almost all of its battery charge overnight in S3 standby. On the unreasonable efficiency of instant-on computers
That's a good argument for living in a small place rather than a house as big as you can possibly afford.
> Just check the map

Ah yes, “just” check the map. When I was a kid if my Mom made a wrong turn on a way to a doctor’s appointment a few counties over (I got sick a lot as a kid) I’d have to reach under my seat and figure out which of the multiple paper map books corresponded to where we were. Until GPS I had no visual sense of “where we were” when we were out of my town (I don’t understand the “relying on GPS makes you worse at navigating” people), so I was basically useless at reading or interpreting the maps. Mom would need to pull over, but that meant finding some way to get off the unfamiliar highway we’d just turned onto, which could take a few minutes (or more, if the exit we took put us on another highway).

So now we’re several minutes off course, flipping through the pages in this other county’s map, trying to figure out how to get to a doctor’s office in a building whose parking lot has a one-way entrance that’s in the back, but first we’re low on gas and need to find a gas station that hasn’t closed down since the maps were printed.

And then suddenly, we got this GPS thing, and this awful fixture of my childhood was gone. “Getting lost” just stopped being a thing around the mid-2000s. Screw the 1950s, 1990s me would find the current status of driving to be an unimaginable utopia.
If you look at 8 year old civil war in the Ukranian Donbas - it is not really weapons they are missing.
I think that’s a very understandable reaction, and I had the same initially. But, there are upsides to using a proprietary format over HTML:

1. Encoding behavior in custom components without resorting to Turing complete languages (JS), such that custom components (eg DatePicker)

2. Dependencies between components, like rules, become possible: If textfield A is empty, disable button B.

3. Access to native APIs that are not (yet) implemented in browsers.
I've had a K2 for years and that was my only annoyance with the keyboard until now.

Now, it's my ideal keyboard
I think that's an artifact of RDS specifically. It's dreadfully slow. An EC2 instance will launch and have SSH connectivity in 17-22 seconds in my testing. (I was testing this a fair bit a while back for a silly idea I had)
Social concerns are as a concern for engineers, as they are for their managers. However, I agree on changing the title somewhat, in order to indicate, that this is not a book about computer programming.
This is a very real phenomenon. But Lamport didn't discover it. It was known a decade earlier. The classic paper is Kinniment and Wood, 1976.[1] The earliest patent in this area is from 1972.[2] It's quite difficult to do this right. Arbiters today recognize "A was first", "B was first", and "ambiguous, must retry". The system has to be prepared for rare retry delays. In theory there can be an infinite number of retries, but the odds of needing more than one retry are very low.

It comes up all the time in multiport memories, where several CPUs are accessing the same memory, and there has to be an arbiter to decide who gets access access for near-simultaneous requests. Requests can be very close to simultaneous. If two CPUs with 3 GHz clocks are contending for memory access, and the clocks are not synchronized but close, about once per second they will be within 10^-19 seconds of whatever difference is most troublesome.

This was a serious problem with some early multiprocessor mainframes. Early in my career we saw this happening with multiprocessor UNIVAC 1108 machines. They had an unsound arbiter, and, once in a while, every few hours, they'd botch a memory access. Early on, the software stability was so bad the OS crashed more often than the hardware did, but as the OS got better, it became clear there was a race condition at the hardware level.

[1] http://async.org.uk/David.Kinniment/Research/papers/IEE1976....

[2] https://patents.google.com/patent/US3824409A/en
Core, not chore.

Most pertinent advice I’ve seen in a while.
> to me the only tangible remains of the time when my dad was a boy/young adult have disappeared.

My parents, when they were young and carefree and enjoying life, used to make mix tapes. Loads of them. There was something almost magical about being able to listen to them in my old car, and experience a little window into what they used to listen to etc.

Sadly my car went to the great scrapyard in the sky and now I hold onto a plethora of cassette tapes I'm unsure I'll ever listen to. Silly really.
Quoting from Wikipedia about Rice's theorem:

> for any non-trivial property of partial functions, no general and effective method can decide whether an algorithm computes a partial function with that property

This basically translates to "for each non-trivial property P, there exists a program x for which it is undecidable if x has the property P", or "∀P ∃x such that it's undecidable if x has property P".

Notice that in this statement, programs are quantified using an "exists", not a "forall". Something similar holds for what you said here:

> its corollary is there is no general algorithm to build Turing Machines with arbitrary non-trivial properties

Translated to logic, this becomes "for every program y which takes as input a property and outputs a Turing Machine, there exists a property P such that the y(P) does not have property P", or "∀y ∃P y(P) does not have property P".

Because this statement uses "exists" on the property, it does not rule out the existence of a y which works for most properties P that we'd care about. It only rules out one that works for all properties.

As a simple example where it's possible to prove a non-trivial property, take the property "x is the identity function". This is a non-trivial property, because it is not true about all programs, nor is it false about all programs. And it is trivial to prove that the function "(n) => n" satisfies this property.

Now, I additionally think that most practical programs can have their correctness / incorrectness proven. My reason for this belief is that generally, I expect coders to understand why the code they're writing should work. If nobody understands why the code works, I'd generally consider that a bug, or at least a major code smell. But if the programmer actually understands why the code works, and hasn't made any mistakes, then in principle their understanding could be converted into a proof, because proofs are more or less just correct reasoning, but written out formally. Of course, it would still be very hard, but it's not "provably impossible".

Edit: minor text change
"FAA: Reboot 787 power once in a while" (2016)

https://news.ycombinator.com/item?id=13094600
In Sweden the interest on student loans is about as low as it can get. It is pretty much the most favorable loan possible, even in a recession.
> This is a matter of opinion

But, it turns out, it basically isn't. In the Lisp world there is a tremendous consensus about it; nearly everyone does it in nearly an identical way to everyone else. This is in stark contrast to the way, say, C or C++ people lock horns over formatting.

Even if you might not like the particular way it is done, the dogged consistency has to count for something.

> arbitrary indentation and closing brace style.

Lispm demonstrated how this style is reproduced by a Lisp system's printer. It's codified into a documented algorithm, and one that isn't hugely complicated.
I remember FCA00000, a Spanish guy who would write articles in Spanish for a long lost ezine about the internals of Symbian.
Code More Sustainable CSS with Methodologies
The fact that you don't see the problem _is_ the problem. Fucking with ecosystems using bar napkin math is not a thing we should entertain.
Crypto Memes for the Ones Who Are Holding
You could looking to using: http://template-toolkit.org/
I've built an 8088 replica (Sergey's Xi 8088) and I'm having great fun with ELKS.

https://github.com/jbruchon/elks

ELKS is a Linux subset designed for the 8088, along with a complete toolchain (gcc-ia16). It's also actively maintained and comes with QEMU images and a dockerfile for fast, reproducible builds.

Best to test it on live hardware, it's more rewarding and more fun a toy Unix than xv6.

edit: typos
> This doesn’t sit well with me at all. Apple should have every right to create a closed system if they want.

I disagree. In general a company should have the right to create a closed system sure. But if said company is this huge and essentially shapes a large part of digital society then the representatives of the people (it's governments) should take action to shape it in the interest of their populations. Now if that's what's happening I cannot say. Perhaps it is more like you describe it:

> All I see is lazy, half baked ideas and petty bureaucracy.