skysight-inc/HackerNews huggingface dataset:
Back in the early 2000s, when I was a wee new SDE at Microsoft, there was a shared whiteboard down the hall from my office on which someone had scrawled:

"STRONG TYPING IS SO 90s!"

That missive stayed on the board for over a year. I still think about it from time to time and remember that the tech world's pendulum is always in motion.

Today? I adore TypeScript and I'm pretty excited about the PEP 695 QOL improvements to type annotations in Python 3.12. Where types and tools are concerned, we're in a much better place today than when Nirvana was still the next big thing.

But I won't be surprised at all if in another decade I see "STRONG TYPING IS SO 20s" marked on some corporate whiteboard in Redmond. :-)
We’re all humans and life is very complicated with many facets. If we all looked hard enough I’m sure we could find a person you’d refuse to engage in a debate with over their “thing.”

But that wouldn’t be a wise use of time in my opinion. And that’s what they’re ultimately driving at: we all have limited time to expend, so do it in things that matter to you. I believe “matters to you” is a bias.
If your language is wholly type inferred, and the type system is expressive enough to deal with whatever one wishes to write, it is indeed "free". If you ignore compile time performance, run time performance, and that you're writing in something between Idris and vapourware.

Otherwise the cost is merely being unable to write anything that the type checker does not understand, and however long your compiler takes to do the checks on what it does understand.

Also a fair chance the whole program must type check before you can see the results of changing a subset. In the worst case you get to hunt down all the unused variables before it'll run the test suite.

I prefer dynamic languages. That makes me a heathen on these boards, to be ignored or chastised for my stupidity. Regardless, those benefits do not come for free.
Well, if this trend of longer updates gets adopted, then the EU regulation on compulsory replaceable batteries will make even more sense.
The handbrake is usually fully manual, but it's also not terribly strong especially against an electric motor in its optimal torque region. That leaves you with the regular brakes. Now, I don't know if they're vacuum-assist hydraulic or brake-by-wire on electric cars such as this ..
It is technically possible, but it will only hold homebrew at best, due to licensing nightmares.
They published a video recently of a PoC of it happening in their discord

I think this could replace the likes of Universal Updater (3DS's main homebrew browser) if it gets to public. Not that UU is bad, it just lacks the tiny eshop dudes :)
For any readers of "Thinking: Fast and Slow", this blog on replicability with a reply from the author Daniel Kahneman is fascinating:

https://replicationindex.com/2020/12/30/a-meta-scientific-pe...

Edit: here's the article with the comment from Kahneman:

https://replicationindex.com/2017/02/02/reconstruction-of-a-...
And I definitely think less of you as you as a developer as you openly admit to dogmatic and myopic prejudice regarding the nuances of typing systems and the complexity of software development contexts.
I remember the first time a co-worker told me that his kid wanted to be a youtube creator for a grown-up profession. I wasn't surprised in the slightest, but it was odd since that was never a thought when I was a child.
People are always resistant to stuff like this, it's people's jobs and livelihoods after all.

However, none of the people in the creative space I see complaining about these models ever cried for: all of the jobs surrounding the horse industry (stables, horseback couriers, etc); thatches roof weavers; textiles weavers; knockeruppers; the people that manually lit street lamps; etc.

Of course many argue that industrialisation also created many more jobs, but I certainly suspect there were fewer than it consumed.

However the end result is that we are all generally better off for it. I think the reason the argument against machine learning models is flawed is that it is just neo-Luddism; it's hypocritical to complain about the loss of an industry or a specific job, or specific task of a role to technology whilst reaping the benefits of previously lost jobs - artists wear machine woven fabrics, after all; They use technology assembled by pick and place machine - we all do.

The big _however_, however, is that we can do better as a society to support transitions like this. We shouldn't stop technology if it has clear benefits for humanity, but unlike previous eras where those who were "replaced by machines" were forgotten, we need to assist and help anybody who is affected by this transition. This is how we should be doing things these days.

I find the same argument for train drivers, with the fear of being (rightfully) replaced by self driving trains, a technology that has been available for a long time now. Yes, of course they'd prefer to continue driving trains. But the ability to dramatically lower costs to riders of public transport outweighs this, and companies involved in such transitions (and wider society) need to take care of people involved in such transitions; free cross-training within the same industry, or free training within whatever industry they choose. Financial support through the transition period that their studies take. We can have and eat our silicon cake, we just have to be kind about it.
It does seem unfortunate that what's apparently (given its name) the 'default' base64 crate for Rust can't expose a simpler interface. Most people don't need optimally efficient base64 encoding. It should suffice to expose 'encode' and 'decode' functions that take some parameters configuring the encoding. That's not to say that the more complex design of this library is necessarily bad, just that it seems to be motivated by goals that won't be relevant to most people who just want to encode a smallish blob.

Maybe this illustrates why it's good to have base64 in a language's stdlib. That way 90% of people can just use a couple of simple functions, while libraries like this can still exist for those who really need them.
This sounds like a lot of fun.

Reminds me we need more events to bring my neighborhood together.
GrapheneOS only supports phones for as long as Google does, though.
Your blog is the most effective bug reporting tool for Windows issues. Thanks for keeping it going!
All I ever wanted was to be able to search "shipped and sold by Amazon" results only. If this is the heavy hammer needed to get to that end result, so be it.
Not to mention the advantage of having investors willing to burn billions for a decade+ until you got into a dominant market position to finally become profitable. Not always easy to get access to that.
Sounds a bit like how DOIs are assigned.
If you want to combine your interest in programming and visual creativity, but still make money, may I suggest front-end development? Whether it be web stuff or mobile, there's a lot to chew on there plus it pays great.
I have enabled webgpu in Firefox (set `dom.webgpu.enabled` to true) but it just says, "your browser does not support WebGPU". No, actually it does support WebGPU it's just that you're not detecting that properly.
Sarcasm: Seven years of updates for the first 3 years.

On a serious note, it is possible to sue if google suddenly decided, after 3 years, that they don't want to provide updates for the remaninig 4 years?
What is TPOT?
SEEKING WORK | Remote Only | Software System Design/Implementation

Location: Toronto, Ontario, Canada - Eastern timezone

With decades of experience in software development I can bootstrap a system from concept through to implementation, providing design and implementation for UI/UX, database, dev/ops, cloud infrastructure, embedded software, and radio and internet communications,

Most recent positions:

* Technical Project Manager - Managing multiple IIoT development projects in a large scale global environment across multiple timezones.

* Principal Software Engineer - SaaS providing spend and performance optimization for cloud infrastructure

* Software System Architect - SaaS Internet event/conferencing system.

Résumé/CV:https://drive.google.com/file/d/2itaF1wh2aN13-l51B_By9_2u_2Q... or

LinkedIn: https://www.linkedin.com/in/paulwujek

Email: Paul.Wujek@gmail.com
I have had a pretty similarly bad experience repairing my pixel 4a the other month. Purchased a new screen and kit from ifixit for 1/3 the cost of buying a new phone, even had to get a heat gun to unglue the old screen, and guess what? she dies a week later anyways due to some other issue.

The problem with all these phones is that they're kind of built to be disposable. They're just glued together plastic. And even if you can repair the phone or it survives 5 years or so, the vendor is just going to stop supporting the chipset anyways.

Just got a fairphone 4, optimistic but the build quality is shit and they're already rolling out a fairphone 5 now... whatever, I use AOSP. I can't stand samsung anyways with all the crapware they put on stock android.
Walgreens Test of Ad-Enabled Cooler Doors Ends Up in Court
Hi, this is Kuba from Ambient team, I work on Ambient backend.

The servers in question are part of the main Ambient application [0]. The server part is open-source just like the rest of the engine. You can start your own server using native build of Ambient (check cli help for `ambient serve`).

As for the orchestration and creating servers on demand, we are using Kubernetes and Agones [1]. Both of them are open too. We just have a thin API server that receives requests that a server is needed, checks if there's already one running and if not it uses Agones to allocate one.

[0]: https://github.com/AmbientRun/Ambient

[1]: https://agones.dev/
I know nothing of electric vehicles, but couldn’t he turn the vehicle off?
Does Yugabyte actually contribute to Postgres or just use their code?
No. It’s just another alternative. I’m not a web developer in my day job. So I’m not aware of all options out there.

Render does look awesome. More mature and all. It’s not as easy as shuttle though.

- shuttle comes with a cli that allows you to run your app in similar fashion as the cloud version

- with shuttle you don’t need to configure the storage (eg db) and such yourself

That said. The price you pay is tighter coupling to the system. On top of that Render looks a lot more mature.

For now I’ll stick with shuttle for those projects. But I do thank you for telling me about render. Might switch to it, away from shuttle, if I my project’s needs ever outgrow shuttle’s capabilities
Transparent glass, white paper and certain thermoplastics (PE, PP, PET) too.
> Thank goodness reforms have been made so that excesses like those described cannot happen again.

I'm sorry. Reforms maybe, but harsh torture? I don't believe that for a second.
Filler tokens don't work anywhere near as well on GPT-4 as CoT so that's obviously not the only reason.
https://www.lesswrong.com/posts/oSZ2xTxEMZh9f3Yaz/llms-are-m...
You're right, I mixed up when I moved to Cali my tax rate increased, but I wasn't making near there hah!
> read up on some catastrophic bugs. Those that have caused space ships to explode and cars to crash.

One of the most famous type errors in recent history did in fact crash a spaceship.

https://en.m.wikipedia.org/wiki/Mars_Climate_Orbiter#Cause_o...
"how I grift the ticket system..." would be a better title, this behavior is bad for people who actually want to go to shows.
I recognize it's not sportsmanship - I'm merely relaying who I know that uses them and why ;)

Hence suggesting it may work for you
Really nice high level explainer that pulls together together all the motivations and features of the language I've heard about.

How are people liking the addition of generics?
I don't know if this would work. Right now, Winnie the Pooh has gone public domain, and if you've seen the reaction to "Winnie the Pooh: Blood and Honey" or a new video game called "Winnie's Hole"... most people really, really do not like that Winnie the Pooh is being expanded in the horror direction. Some are even calling for copyright to be eternal because the public is showing that it cannot handle public domain responsibly. There's even a growing argument that copyright actually prevents unoriginal ripoffs and shock content more than it stifles creativity.

Emotionally, I do understand the sentiment. Especially when more content like Mickey Mouse or The Hobbit (in Canada, just the books, next year) go public domain - I wouldn't be shocked if we get calls to just abandon the concept of public domain from how companies are using it.

Let me be clear: I still support Public Domain. I also think people who make slasher films using childhood characters are the most perfect method you could devise, if you were a corporation, to make people mad at Public Domain's existence. If I were Disney and somehow capable of sending money anonymously, I'd pay for the creation of as much awful Winnie the Pooh content as possible; then send a letter to a local senator asking for Congress to investigate restrictions.
> You'd have to have special categories whereby quantities could be intentionally limited.

This is artificial scarcity, especially when applied to things that can be distributed digitally. I don’t particularly see a reason to encourage it. It’s not like 1s and 0s are in short supply compared to, say, precious metals.

And omitting that carve out will explicitly prevent Nintendo and other companies from making that argument.
Doesn't seem to provide examples of before and after (?)

I think the most important documentation is the why a particular piece of code is written the way it is; if weird choices made, why they were made, etc. I'm not sure how a tool can determine that if such info is not already in git commit messages.
I think the MG4 has a brake by wire system, although those are supposed to have a failsafe built in but if it's not electro-hydraulic there might not be a mechanical link between the pedal and the callipers. Handbrake will be electric too, so activation depends on enough of the car brain functioning.

Keyless ignition usually has an override for a running car too, in a ford pushing the button three times within a few seconds turns the combustion engine off. Wonder if that's the same in electric cars, otherwise the only way I can think to kill it is isolate the batteries, same as emergency services would do in an accident.
Ah I had a really similar interaction with a vendor PM doing a rollout. It was just a bunch of open source kludge stitched together by a proprietary ERP, but there wasn't any kind of overarching . . design? Purpose?

Resulted in a late closed door meeting with many payscales where I was told - confidentially, as if in an esoteric ritual - "You're going to need to evangelize System X to the Team"

I still remember my actual words: "I'm a lousy preacher. I can't brag on something if I don't even know what we're doin'."

Ah, that didn't go well. That vendor had juice all up in and over our org. Smothered and Covered. I thought to myself, I should have taken the collar.

But other - more bright - friends of mine said nah - they were looking for scapegoats.

So, maybe, maybe, pulling the yellow handle under the seat is the right move when someone forces evangelize into your job description. I waited too long myself, and that particular disaster farm is still a stain on my CV.
> The argument that it helps inexperienced developers approach the codebase is, IMO, a poor one as it tends to incentivize an iteration loop that lacks understanding and is simply trying to make all the red go away. In fact I find that the type system is often a barrier to truly understanding what's going on as it effectively adds a very domain specific language to every project that has to be learned on top of the language itself.

This is very interesting and at first blush strikes me as backward. I wish I could sit in your office and see this happening, because I find it hard to imagine and I would love to know what that looks like. (And I have way less experience than you so I'm not saying it can't happen.)

Specifically, I find the domain-specific logic in my field is impossible to grok in dynamically typed codebases, while statically typed ones actually teach the developer what the business logic is.

> I may just be a grizzled greybeard screaming "the code _is_ the documentation"

Also confusing to me! In all my experience, static typing is what allows the code to be the documentation. Without it, there's no way to know what properties this object has or why we have a check for this certain property that I thought didn't even exist on this object. (Other than comments - maybe I'm on a weird team but I don't know anyone other than me who leaves comments of any significance.)
Now I just hope they could supply the replacement components on ifixit for 7 years.
I mean, that's one reason I like dynamic typing, I get to avoid a bunch of psycho cargo culters for free.

cries at the thought of insanitybit not respecting me
IBM foresees no layoffs due to AI, they will hire more workers than it lets go
A quantum dot is like a prism made of electrons; the sizes can be adjusted so that the color emitted is different and their properties of semiconducting and so on are drastically different. “The discovery here is for actually purifying quantum effects to actually become materials you can touch.”
One of Bytebase authors here, we use "state-based" and "declarative" https://www.bytebase.com/blog/database-version-control-state... interchangeably

Our initial launch does use "state-based", but we later change it to "declarative". You can check the product here https://demo.bytebase.com/project/blog-102#gitops

Of course, it's always a bit confusing to have multiple ways to reference the same thing. So be it.
Tech doesn’t make our lives easier. It makes them faster
That’s the point. A = B is frequently not true “orange is the new black”, “Kier Starmer is a fascist” (sci-fi writer Charlie Stross), etc. General semantics practitioners would frequently reject A = A (e.g. me as of today and me as of tomorrow are not quite the same) See

https://en.wikipedia.org/wiki/The_World_of_Null-A

In your case, people get terribly confused about things like threads, fibers, processes, continuations, coroutine and all these other mechanisms that are frequently used by the OS and libraries to cover up interrupts. As there is a lot of confusion, equations that are not 100% true are part of the problem and not the solution, at least that’s my hot take.

(I imagine feeling exhausted when I imagine rewriting that comment in E-Prime, however!)
I honestly don't much care for benchmarks, but in this case there's a direct correlation between power and efficiency. The Pixel Pros are typically very poor for battery life and that's really what I care about.
Iis there any problem with that? Discord is nice to use, free and most people already have it.
They certainly have a few outliers. They released 12.5.7 in January 2023, which supports the iPhone 5s and 6 - 10 years after the 5s was initially released! However, that was an outlier; they haven't backported most security patches to older devices.

They only do it when there's clear evidence of in-the-wild exploitation or it's a big compatibility bug that would prevent you from migrating to a newer device.

Google's announcement was for full OS support for 7 years, not just security fixes. Comparing it to Apple's ~6 years of OS support is fair.
Pixel 8 and Pixel 8 Pro
60 Minutes had a program where they looked at cars that did not stop when you press the break. And all of their tests, no matter what, even if they were holding down the gas pedal, pressing the break, brings the car to a stop.

Unless there is shown to be a physical defect or fault that prevented the brakes engaging, I am inclined to believe the driver is at fault.
The tech CEOs see sw engs as entitled, mediocre performers.. they're kinda right
Iphone 13 mini)))
Or galaxy s23 should be abt the same as p5
I tried to find a copy of Rusty Russell's API Design Manifesto to get another respected voice to back this opinion, but the most-linked to version of it now sits behind a Google sign-in, and (somewhat ironically) search results for Rust API documents/blog posts/reddit threads make other copies hard to find.
Experience with Inkplate
Came across this new device called Inkplate 4 TEMPERA. It's an Arduino-compatible, 3.8-inch e-paper device. Its approach to sustainability caught my attention: each unit repurposes an ED038TH2 E Ink display, aiming to reduce e-waste. It has a 600x600-pixel touchscreen, Wi-Fi, Bluetooth, and many sensors. Seems like a neat blend of tech and eco-consciousness. I like it's ready to use out of the box. Anyone had hands-on experience with their previous models, is it worth buying one?
I don't think it has a 'power' switch that you can flip to cut power. In fact I'm not sure many ICE vehicles will do that these days. If I press the 'engine start / stop' button in my car while I'm not stopped, I don't think it will stop the engine.
Even though I usually fall more on the "types good" side of the discussion, the advantages you listed are not free at all. They come at the cost of at least:

- having a compile step in between writing and running your code. This drastically slows down the feedback loop of development. The more your compiler has to check for you, the slower it gets.

- being able to run your program in a half-broken state. This may not seem like much of an advantage, but sometimes it is good to just be able to run a broken piece of code to see how it crashes. This is especially important when learning to program, but is still very beneficial when learning a new language or framework, or sometimes for debugging.

- As someone who has contributed to the main Haskell compiler, I can definitely confirm that a more complicated type system can slow down development of the language itself too. It takes significantly more effort to grok all the possible interactions as the codebase of the compiler grows.

Don't get me wrong, I think encoding and enforcing program properties with types is a great idea that will grow further in the future. But the dynamic languages gained popularity for good reasons, and some of those reasons are still valid today.
> Those that have caused space ships to explode

It's funny you should mention this, as it immediately brings [1] to my mind. This well-known incident was due to type-checking, with acceptable ranges defined ahead of time for some types (which resonates with your comment: make birthdayGreeting accept ranges 1-150 or something, easy to do in ADA).

There are a few more well-publicized issues with spacecraft that could have been caught with better type-checking, including metric/imperial conversions (why not build the unit into a type? Though the fault probably was with integration testing for [2]).

Of course, you are right that type checking can't find every code issue (especially algorithmic), it doesn't replace tests. Instant feedback and type hints are invaluable during the development phase, though.

In your example, one could probably replace the first name string by a person type/object, by the way.

[1]: https://en.m.wikipedia.org/wiki/Ariane_flight_V88

[2]: https://en.m.wikipedia.org/wiki/Mars_Climate_Orbiter
But if you're not... or even if you are but you struggle with motivation...
And how exactly do you want to know that?
This sort of thing is why packages should always be namespaced. Just "base64" without any additional qualifiers makes it seem more official and definitive than it actually is.
can't view without a phone number at times