skysight-inc/HackerNews huggingface dataset:
Ah, yeah, I've had something similar to that situation as well: I worked a place where you could see the different layers of technology, like different strata in rocks (or layers of lava, to use your metaphor).

You could see the SQL Server 7 era database with tables names taken directly from AS/400 mainframe fixed field width text files. Then you could see the mid-to-late noughties era SQL Server 2005 tables, as part of the same actual database, with its more human readable table and column names, but it was effectively a copy of the old database. All the business logic was triggers and sprocs.

And then the latest iteration, which I was working on, had been broken into "micro"-services, with our service using a Couchbase cluster (which, by the way, was a bag of spanners, and which I will never use again if I can possibly help it) to store yet another partial copy of the same data, and then all the business logic at the "application layer" in the closest thing I've ever seen to an actual seven layer architecture. They were pretty keen on enforcing those layers so what you had was just a ton of boilerplate function calls. The cognitive load of understanding what was going on was completely unnecessary for a system that basically just stored names, email addresses, addresses and phone numbers. Actually it didn't store addresses: it stored references to addresses that were stored by a different micro-service. These kinds of decisions meant that most function calls that actually did anything were also RPCs. You can imagine how this all performed.

Latterly I discovered that the blasted AS/400 mainframe system also still existed when I had to work with some files it was spitting out, and had to write an EBCDIC to UTF-8 converter (not actually difficult at all) to do so with 100% reliability.

The main reason for all of this was dependencies: to retire any given iteration of the system you'd have to migrate all its dependencies (of which there were many) to use the new variant. This sometimes meant we still had to sometimes extend the capabilities of the old versions of the systems, even though almost nobody understood them. So yours truly ended up having to write a stored procedure that updated a bunch of both the SQL 2005 and SQL 7 era tables to get a particular business process to work, and this sproc was called by our new microservice.

Even with the number of people they had migrating dependencies was a huge undertaking that they were only just starting to look at when I decided to tap out. An interesting project and a valuable experience for someone, certainly, but something I realised I didn't have the patience or fortitude for. They weren't idiots though: they knew they had problems, and that they were being choked by complexity, but there's no easy route to getting out of that kind of situation.
Cross-Compiling with Rust
The likelyhood of Python crashing is a lot higher as it is much harder to know you didn't break your error handling path someplace that isn't tested. C++ sometimes has memory issues, but not nearly as often as Python has problems in the error paths.
There's a meme that ads must be based on covert tracking, and google analytics being everywhere is the most powerful covert tracker, also built into Chrome.
>Few mobile OSes ship with a builtin "Scan" app in the same way that they all have a "Camera" app.

What is the problem? I had many systems where you just send a picture to a email then to a server, there it got OCR'd and converted to a PDF(A) or whatever, then send back to the sender-email as attachment or link and archived.
Incredibly relatable, good read.
Things in Azure I Wish GCP Have
Exactly. I've also worked at plenty of projects that I really cared about and eagerly went the extrs mile. I sometimes worked in the evening or even the weekend. I've even stopped freelancing and took a massive pay cut to become an employee to stay at a project I wasn't ready to leave yet.

But I always slept in my own bed. My extra work was mostly from home. The one bad idea was the massive pay cut, and that was a temporary situation (that I justified by considering it an investment to get more experience in a leadership role).

I don't naturally tend towards workaholism (unlike my wife), but when a job is sufficiently interesting and engaging, I do put in extra work, but it also makes me wary that I shouldn't mske that the new standard; it's always an exception.
The big difference is that data scientists only work on the model architecture and data sources, whereas expert systems need people who have expertise in the subject matter itself. One of the biggest changes from 'old AI' to modern ML is that we no longer try to use human domain knowledge as much, instead getting the model itself to see the same pattern from data.
I like this one about some of the design decisions and development challenges.

"[2019] Firecracker: Lessons from the Trenches by Andreea Florescu and Alexandra Iordache" - https://youtu.be/yULy6IFy49o

Image is out of focus for most of the presentation, but not the slides and audio is good.
Woman wins case against British Airways over flight vouchers
> For example I got in trouble

Explain. You "got in trouble", what kind of trouble exactly?

Did someone disagree with you? Because that's natural. And did someone call you "racist"? Well if you posted your opinion publicly and 10,000 people saw it, it's almost certain at least one will comment that. Doesn't mean it's the majority opinion at all.
I like the attitude and parallels to similar actors; "he must block access to Tutanota - just like Russia and Iran are already doing."

But I'm thinking Signal was more along the lines "we don't want to invite litigation".

Both send the same message.
All natural languages have a little bit of redundancy. It helps solve ambiguities more easily, especially when solving it in a strictly minimal grammar would require re-parsing the entire text from start. Having both opening and closing parens / brackets / braces is a good example.

Redundancy also helps when transmission is imperfect. And you do have imperfect transmission when writing code (typos), and even when reading (skimming text, missing a character).

CoffeScript makes every character count, especially punctuation. It's really, really easy to make a small typo in these. But CoffeeScript eschews redundancy, so the typo becomes another valid grammatical construction, with an entirely different meaning. At best, you get a cryptic translation error elsewhere. At worst, it gets accepted but works differently than you had intended.

APL has this property, too. But an APL program is very terse, you pay attention to every character in a short string of them. It does not feel like Javascript which is traditionally lax in the punctuation and whitespace department, catching you off guard.

CoffeeScript was an interesting experiment, but I'd say its result is negative.
Mars will have a lot of wicker furniture
I'm not. Chats are temporary tools for communication. It sounds like you are using texts for your business. That sounds like a lot of work.
I want to think this comment was meant as a praise to the drink, but it sincerely rang as a selfish rant about how unhappy you are because your favorite cocktails will be harder to find.
There's nothing wrong with making new tools. I love making my own tools, both physical tools and software tools.

The feeling you get from it is great! Plus, this is often how new things (or ways to do things) are discovered.
Thank you both. I have been minimizing mousing after injuring my shoulder. Vimium is a godsend to me
> If the UK government really wants to follow through with their plans, they need to set up a Great Firewall - just like China - to block their citizens from accessing encrypted services like Tutanota.

We (the UK) already have a great firewall. Try to access thepiratebay.org or other pirate sites, or other sites that the UK gov deems inappropriate (CP obviously), etc. Its just a case of encroaching that same system just a little further, step by step.

People only tend to fight back when large sweeping one-off changes come in. If you consistently and repeatedly wear the other side down, you eventually get your way. How many times did the house of commons vote on brexit? How many times did the US congress vote on Kevin McCarthy becoming speaker? Yeah, as long as you just keep on and on about it, you get your way.
Nostalgia moment with the CrystalHD decoder deprecation. That came along the Intel Atom netbooks, one of the few ways we had to bump a bit their austere performance.
It's entertaining and somewhat relatable.

Now, I was looking for actual arguments on why one should not use spreadsheets, and I haven't found anything really convincing in this post.
RWKV is showing that maybe RNNs can perform on par with transformers

https://github.com/BlinkDL/RWKV-LM
The argument is descending into one about the definition of "crap theory."

I have a low bar for crap theory. As long as it doesn't have evidence that confidently supports it, it's crap.

The other guy has a high bar for crap theory. A theory without any evidence, to him, is not crap.

It's like arguing over what temperature is hot and what temperature is cold. Pointless. An Eskimo has a different definition of cold and hot then say some guy who lives in a desert. Put them in the same place and let them debate about whether the current temp is hot or cold... That argument ends up being an argument about vocabulary. What is the definition of hot or cold?

Who fucking cares? That is my point.
My guess is the more bravado a company shows, the more they are in bed with the security apparatus and have back doors. No CEO wants jail or crippling fines. The honest ones will leave. The dishonest ones will talk a big game and try to attract more users while secretly backdooring. The security services will complain for effect but actually won’t really punish the company since the more people they can drive to the company, the better for them.
> Qt uses a different string type than glib uses a different string type than std

That is true for any language, even C, so your complaint is with those libraries not the language - and glib isn't even a C++ library at all while Qt is an ancient library that cares more about source-compatibility with its earlier versions than modern C++ (or even any version of C++ with a std::string).

> except actually Qt’s copy-on-write implementation claims to be thread safe but assumes that the compiler inlines the mutation operators so if you forward-declare `struct QString` instead of #include <QString> then the operations might not be thread-safe…

That doesn't make any sense. How is inlining going to affect thread safety? And (only) forward declaring a type won't let you do any mutations since at that point it's just an opaque name withoutout any known members.

> it’s not just the language: it’s the library ecosystem too.

And a new language won't fix that - especially when your idea of the library ecosystem for C++ already includes C libraries.
CoffeeScript solves the wrong problem. You never want to trade long term maintainability for writing code faster and more concisely. Maybe if you’re a solo developer and smarter than me there are benefits, but on a team, CoffeeScript was a detriment.

I spent years writing enterprise scale CoffeeScript with a sizable team and it was pretty rough. We converted to ES5 and now TypeScript (well mostly) and that solved a lot of our problems.
If I remember right there is a famous movie among programmers where a group of developers becomes so frustrated with a printer they brutally destroy it with a baseball bat.
https://github.com/weaveworks-liquidmetal/flintlock
My SO does it this way. They prefer it. But, yes, I always use water. I suppose I'll try it with milk.
Well the reality is, excel is not going anywhere anytime soon.

It’s one of the reasons why MS is so big.

It’s so far entrenched in the business world, so even if Im also gonna kill myself the next time i have to do a fucking VLOOKUP and it craps out on me, I will have to do it because Johnny from accounting surely cant deal with SQL or anything else (pandas, gasp!).

Even if Microsoft would fuck up Windows badly and looses market share to other OSes, people will still be using Excel for the next one hundred years.
In my experience coding clearly in order to keep code alive in the long term as various contributors come to it is a skill all its own. Developers who integrate writing documentation and tests into their coding write much clearer code whether they are integrated with a team or working on their own.

The particular related point that strikes me is that current hiring processes are dramatically against this. Writing clear code with documentation and tests takes extra time and consideration and often goes slowly. But what gets people hired is quick leetcoding. Reverse the link list quickly or write a sort routine that will go fast and be as quick as you can! Does that imply good coding skill? Maybe. Does it imply the skill to write clear code and the patience and communication to produce documentation and tests along with the code? Absolutely not. Leet coding is the opposite of clear coding for long term utility and ability to readily share the code. So organizations want mature and responsible coders but hire twitchy hyperactive kids instead and then wonder that the results are not as expected.
I think if someone takes any of these typical guidelines - clean, SOLID, REST etc - and mindlessly applies it they’re likely to end up with a few parts of their applications which look weird, or perform poorly or end up being worse somehow. This is because there are inevitably going to be situations where the guidelines don’t fit well - they’re not necessarily hard and fast rules after all.

Any time you have these common rules of thumb in any part of your life you need to evaluate whether or not they are appropriate. But just because they’re not infallibly universal, doesn’t mean they’re wrong, it just means life throws complex situations at us sometimes, and that we need to be pragmatic and flexible
I do agree. I've looked at code bases where the switch was replaced with virtuals and the like. It's kind of hard to navigate around the code when that happens. I think I'd usually rather have a completely separate path through the code rather than switch or virtual, making the decision at the highest level possible, usually the top-level caller.
Do you mean "fast-forward" merges that don't have a merge commit?

An actual "merge commit" should make it easier to revert/reset. I always use merge --no-ff to ensure a merge commit is created. With a merge commit it's clear where the feature branch starts/ends.
Try "page on the left"
The way the LEDs are blinking together one can definitely see the face in the periods they are all turned off. The only advantage I see is that this is not humanly possible to do in real time, but not sure how big an advantage this is.
Plutonium, Schmonium...

Have a look at the blog "Things I won't work with":

https://www.science.org/action/doSearch?AllField=Things+I+wo...

One example I recall from the blog is

"It is, of course, extremely toxic, but that's the least of the problem. It is hypergolic with every known fuel, and so rapidly hypergolic that no ignition delay has ever been measured. It is also hypergolic with such things as cloth, wood, and test engineers, not to mention asbestos, sand, and water—with which it reacts explosively."

https://en.wikipedia.org/wiki/Chlorine_trifluoride
Hmm, coincidence, you fondly remember with rose-tinted glasses a period which happened ~20 years ago. People always do.

To give you an US-centric example: arguing against discrimination of Muslim Americans during the early 2000s got you the same kind of anti-establishment pushback you can get for, say, criticising gay marriage today.
it’s a synecdoche. the link is saying it didn’t solely develop from Old English, not that it didn’t at all
My point is rather that the power in software industry was, so far, heavily imbalanced, disproportionately favoring the employee. This is, if not unique, then at least a pretty rare situation.

Unionized professions may be fairer than non-unionized, but compared to software dev pay, unions only turn a shitty salary into merely meh salary.
> effecting [sic]
Googlers are more capable than other top performers? Well, yes, but that comes with some gigantic caveats.

The main thing Google has been consistently great at is designing algorithms and systems to process large amounts of data efficiently. You can't take that away from them, of course.

But that's one of the smallest parts about building beautiful software.

When it comes to other important things: understanding how to build products that are loved(particularly in the social space), or understanding the human element, they've been woefully inadequate on a comical level.
His "arguments" are at the "This Is Gatekeeping" paragraph. It boils down to "spreadsheets are too fragile to be the foundation of any business-critical data pipeline"
Actually we were hoping to go straight from "we have time, let's not do anything drastic" to "well, there is nothing we can do now"...
Correcting ‘Selfie’-Based Facial Distortion
Tunnelmole – give your local servers a public URL
You see, this is why not to worldbuild. And I say that as a writer who's spent years doing just that.

What a spectacularly long and thorough list of items none of which want anything. The closest it got was some sort of evil wizard boss who wanted power. At several places in the description it filled in a bit more about how he wanted power, and control, and was seemingly a bad guy… and wanted power!

Why?

World building with GPT is clearly A Thing. Looks to me like it's nearly as good as real-human world building. Maybe better. It's quicker, more granular, and has infinite patience for every little item in a massive city with billions of fully realized inhabitants, if 'realized' means 'what do they have in their pockets, what adjectives fit them, etc'.

What do any of them want? How does their story play out?

It doesn't. You built a world instead of a story. Congrats. It's a classic trap to fall into.
A weak DNS block is not a "great firewall"

Not sure about SNI sniffing as other commenter mentioned and IP block block (erm) I guess it depends on ISP and it's not so clear cut (everybody does it, especially if there's too much abuse from a certain block)
Can you make your blog subscribe-able?

Although I don't agree 100% with this entry specifically, it is particularly refreshing to read something unfiltered, witty written and yet unafraid to meet controversy. (which don't often go hand in hand lately)
You're right. The reason I switched to using artificial is because I'm borderline hypoglycemic so I have abstained at periods in my life and yeah it's better. But then you really just want something sweet and down you go.
A journalism trope since at least the 80s, probably further.
You must have missed the many announcements of multiple thousands of layoffs happening at many big tech companies lately ;)
https://github.com/kata-containers/kata-containers/releases
In his small example he already added unforeseen couplings that could get out of hands if it was a big codebase. If you follow the principle "switch statements over [X]", try to add a new shape down the line and see how quickly you run into problems.

In the clean code version, your compiler will remind you to implement calculateArea, calculateNumberOfVertices, calculateWhatever, and so on and so forth.

With his version you have to add a new `case` to every switch statement and hope you didn't miss one with a default case, because the compiler won't catch it.

You don't need virtual functions and polymorphism to remove his switch statements. Just compose over inheritance.
Printers and scanners are complicated, and I say this as a 40 yo.

There was a time when they weren't digital, and it was enough to just "hit the big button".

More modern systems you often have to scan some employee card and navigate various screens before you can start.

Printers are are always a bit of pain, working out where the nearest one is - sometimes drivers don't work etc.
Tf is "politically correct" in these https://unicode.org/emoji/charts-15.0/emoji-released.html
I’m sure companies will play up the bravado in the interest of getting more users. But there are non-malicious reasons to want more users, for example some companies provide services in exchange for money. More users, more money.
> Try to access thepiratebay.org or other pirate sites, or other sites that the UK gov deems inappropriate (CP obviously), etc.

I don't know about the "other sites", but tpb isn't part of any "Great Firewall". It's just ISPs have been required to update their DNS servers to _not_ resolve the DNS record. Even then, there are still quite a few ISPs that have not implemented it. It's why changing your DNS servers to something like Google or Cloudflare means you can easily access tpb.

So blocked websites in the UK are nowhere near on the same level as the Great Firewall.

My guess is those other sites are a bit more sophisticated, or if not, ISPs are willing to comply easier.
I made one months ago for php which I didn’t release because it was on chatgpt. It worked well; it told the devs (of an external company; I was hired to do the code review) exactly what was wrong and how to fix it. They didn’t ask me to fix anything, just review it, so that’s what the tool did. I told them it was automated, however I spent times making the automation so they paid for that.

It cannot auto update the code, so it’s not that handy as a product, but saves work on large codebase.
It’s not even a Uk wide block, it only applies to a set of named ISPs.
HROT[0] is a retro shooter using a custom engine written in Pascal.

(Not mine at all, I'm just a loving player)

*[0] https://store.steampowered.com/app/824600/HROT/
Weird attempt at bashing Signal.
I mean, scanners are complicated, just as printers are, although why they have to be so obstructive is beyond me.
Pilots train dogfights a lot. They're not what you're thinking though. A 1v1 dogfight is over in one or two maneuvers and depends heavily on what kind of planes are involved.
> Try to access thepiratebay.org or other pirate sites

Both my home ISP (hyperoptic) and mobile network (Vodafone) allow me to access it.
I can't eat out. We've learned to cook at home a lot of our favorite foods and they taste so much better at home now. Not in any way saying we're chefs, but just the over salting and too much butter that restaurants use is not good.
Dark sunglasses, a baseball cap and an N95 mask work better than flashing a huge light on video surveillance and also deterring people to remember a face and doing it this way gives no date and time information.

Maybe I'm missing the point since both deter automated face recognition but then you could add to the classifier this huge light source as another thing to recognize.
Ridiculous. LLMs may change the way programming looks over the next many years, but they should not be thought of as compilers. Compilers have extremely formal requirements, well understood design, and can be tested deeply to ensure correctness. You can be confident that a compiler will express your program in the way you want in ways that you simply cannot be with a LLM.
It's just a function of Japanese-designed UX. "Easy" symbolises "cheap" in Japanese culture, the more buttons and steps and menus the better.
Coinbase’s #2 largest source of income is interest on US Treasuries
Deep Learning for Autism Diagnosis and Facial Analysis in Children
Printers are almost never named sensibly (e.g. "Room 801 near the door"), instead you either see an IP or its model name.
I was thinking more of numpy arrays versus python arrays.
Xerox...it was xerox for both.
https://archive.is/5vmcH
Elon Musk hires AI researchers to compete with ChatGPT
Incorrect not just a DNS block. IP based aswell.
No security measure is 100% effective nor 100% moron proof, but in many companies that would be a fireable offense, which gets you pretty far.