frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

I Built a Tool That Tells Me If a Side Project Will Ruin My Weekend

https://www.rafaelviana.io/posts/code-chrono
1•vianarafael•6m ago•0 comments

A new Lazarus arises – for the fourth time – for Pascal programming fans

https://www.theregister.com/2025/05/09/new_lazarus_4/
1•romaniitedomum•11m ago•0 comments

Cory Arcangel Recovered a Late Artist's Digital Legacy

https://www.newyorker.com/culture/infinite-scroll/how-cory-arcangel-recovered-a-late-artists-digital-legacy
1•FinnLobsien•14m ago•0 comments

Elizabeth Holmes' partner raises millions for new biotech testing startup

https://text.npr.org/nx-s1-5393950
1•BostonFern•15m ago•0 comments

Interview: Bjarne Stroustrup on 21st century C++, AI risks

https://devclass.com/2025/05/09/interview-bjarne-stroustrup-on-21st-century-c-ai-risks-and-why-the-language-is-hard-to-replace/
1•romaniitedomum•19m ago•0 comments

Claimify: Extracting high-quality claims from language model outputs

https://www.microsoft.com/en-us/research/blog/claimify-extracting-high-quality-claims-from-language-model-outputs/
2•tobr•23m ago•0 comments

Absolute Zero: Reinforced Self-Play Reasoning with Zero Data

https://arxiv.org/abs/2505.03335
1•leodriesch•29m ago•0 comments

New research finds substantial peat deposits in Colombia's conflicted Amazon

https://news.mongabay.com/2025/04/new-research-finds-substantial-peat-deposits-in-colombias-conflicted-amazon/
1•PaulHoule•29m ago•0 comments

The Emacs Widget Toolkit

https://appetrosyan.github.io/posts/emacs-widget.html
1•signa11•30m ago•0 comments

Show HN: Shell-Dads – see a random tip from NIST DADS on terminal start

https://github.com/avestura/shell-dads
1•avestura•33m ago•0 comments

Work Processes and Outcomes

https://surfingcomplexity.blog/2025/05/10/on-work-processes-and-outcomes/
3•gpi•34m ago•0 comments

The Deadline (2014)

https://www.thomas-huehn.com/the-deadline/
1•Tomte•34m ago•0 comments

What is it like to be a thermostat? (1996)

https://www.organism.earth/library/document/what-is-it-like-to-be-a-thermostat
3•theletterf•39m ago•0 comments

Automatically grab the title of a web page

https://www.burntfen.com/2025-05-11/automatically-grab-the-title-of-a-web-page
1•lentoutcry•40m ago•0 comments

I learned Snobol and then wrote a toy Forth

https://ratfactor.com/snobol/
1•ingve•58m ago•0 comments

Larry Tesler: Smalltalk Kernel Language Manual [pdf]

https://bitsavers.org/pdf/xerox/smalltalk/Tesler_-_Smalltalk_Kernel_Language_Manual_197709.pdf
2•ingve•59m ago•0 comments

Trump has officially dismantled the Digital Equity Act

https://thesarkariform.com/trump-slows-down-internet-in-rural-america-calls-it-a-woke-and-illegal/
5•someotherperson•1h ago•1 comments

Open Fortress on Steam

https://store.steampowered.com/app/3561320/Open_Fortress/
2•beeflet•1h ago•1 comments

Learned pain as a leading cause of chronic pain – LessWrong

https://www.lesswrong.com/posts/6taauM3vtMtojgjom/learned-pain-as-a-leading-cause-of-chronic-pain
3•diwank•1h ago•0 comments

Show HN: I’m 16 years old and working on my first startup, a study app

https://www.notiv.app/
29•WilliamCranna•1h ago•9 comments

Soviet Spacecraft Crash Lands on Earth After a Journey of Half a Century

https://www.nytimes.com/2025/05/10/science/kosmos-482-crash-soviet-spacecraft.html
2•Stratoscope•1h ago•1 comments

WeSellRemotely – The ultimate remote sales job board

https://wesellremotely.com/
1•figoshi•1h ago•1 comments

Software company SAP apparently scraps gender diversity target (original in DE)

https://www.spiegel.de/wirtschaft/unternehmen/sap-streicht-wegen-trump-offenbar-ziel-fuer-geschlechtervielfalt-a-573d831f-a621-4b4b-8447-b7ac0e8f2a44
1•muditmudit•1h ago•0 comments

Europa Universalis 5 is so complex it will let you automate half the game

https://www.rockpapershotgun.com/europa-universalis-5-is-so-complex-its-developers-will-let-you-automate-half-the-game
3•Tomte•1h ago•0 comments

The Accursed Share

https://en.wikipedia.org/wiki/The_Accursed_Share
4•handfuloflight•1h ago•0 comments

Show HN: I made a free documentation downloader

https://devdocsdown.xyz/
3•glossardi•1h ago•0 comments

Thinkers and Doers

https://www.strangeloopcanon.com/p/on-thinkers-and-doers
2•andrewrn•1h ago•1 comments

The effect of ChatGPT on students' learning performance, learning perception

https://www.nature.com/articles/s41599-025-04787-y
2•feyman_r•1h ago•0 comments

The Quantified Knife Project

https://seattleultrasonics.com/pages/knife-database
3•thebenedict•1h ago•0 comments

Theranos Fraudster's Boyfriend Starts New Blood-Testing Company

https://www.thedailybeast.com/theranos-fraudsters-boyfriend-fundraising-for-new-blood-testing-company/
2•jnord•1h ago•0 comments
Open in hackernews

Leaving Google

https://www.airs.com/blog/archives/670
97•todsacerdoti•4h ago

Comments

90s_dev•4h ago
> That is far beyond what any of us expected in the early days, when our best hope was that Go might serve as an example for useful ideas that other languages and programming environments could adopt.

Am I understanding you correctly? The Go authors basically expected Go to be just a good starting point or source of ideas for real languages to stand on?

chubot•4h ago
No, you editorialized it by adding the word “real”

You’re probably reading what you want to read

lowmagnet•3h ago
no, they expected to have good ideas others can follow.
nine_k•3h ago
Google has a bunch of internal languages that are only used within it, don't enjoy a wider adoption, and get deprecated.

Facebook created Hack, a version of PHP with a quite nice static type system, which is virtually not used outside it. They also had an early statically typed version of JavaScript, called Flow, which enjoyed a limited success, but was supplanted by Typescript.

Haskell, OCaml, Erlang, Smalltalk, etc all enjoyed some success in specific narrow domains, while influencing heavily such mainstream languages as Python, Java, Typescript, Rust, and, well, Go.

Compared to this, Go is unreasonably, blindingly successful; it's now all over the place, but that was hard to predict back in the early days of the project.

nick__m•3h ago
hack was created at meta for meta...
nine_k•2h ago
Still Hack and HVVM are open source and anyone who cares can use them.

Go was also created at Google and for Google first and foremost, but ended up wildly popular in general.

(React was also created at Meta and for Meta. Same with Pytorch.)

nikolayasdf123•2h ago
cmon. nobody in their right mind is using hack outside of Meta

at least single example in open source or in enterprise who is running Hack? haven't seen even one in 8 years

nine_k•2h ago
My point exactly.
tuan•2h ago
https://slack.engineering/streamlining-your-workflow-debuggi...
nikolayasdf123•1h ago
wow. no way... slack is on hack! is this toy project for them or some sub-system? hard to believe. interesting if this is true!
scripturial•2h ago
Early on it was risky to choose go, as it really wasn’t clear if go could achieve mainstream adoption. That said, in hindsight, it really should have been obvious. If I myself saw its benefits over the incumbents, I should have realized I wasn’t the only one. That said, go is old enough that google still had a lot of its older more positive “high skilled elite cool programmer” image, so perhaps that really helped the language along. I’m not sure. Today I’d be much more hesitant to pick up a google language.
cdogl•3h ago
I read it as simple humbleness, which is not too surprising given the careful management of the project and the tone of the piece.
cratermoon•3h ago
Hugged to death, so https://archive.is/RbkzW
chubot•3h ago
I wonder what people use GCC Go for, in production? I tried it and it seems pretty cool, although the binaries start slower for some reason (I think it was more than a second even?)
vips7L•3h ago
Probably boutique architectures or operating systems the official compiler doesn't support.
RainyDayTmrw•3h ago
If you're targeting a system (hardware architecture and operating system combination) that GCC already supports, but the native Go toolchain doesn't, this may be an easier bootstrap path.
r0nan•3h ago
I’m curious what he means by Google changing and the Go project changing
LVB•3h ago
re: Go, I did wonder if there was any connection to Russ leaving (https://news.ycombinator.com/item?id=41132669)
nikolayasdf123•3h ago
yes, looks like related
RainyDayTmrw•3h ago
> But Gooogle [sic] has changed, and Go has changed, and the overall computer programming environment has changed. It’s become clear over the last year or so that I am no longer a good fit for the Go project at Google. I have to move on.

That's kinda surprising to hear. I wonder what happened. It would have been easy to leave out these 3 sentences or replace them with fluff. The author choosing to write this out suggests that there is some weight here.

hiddencost•3h ago
I think management started turning the screws. They're doing that everywhere. Management isn't technical anymore.
RainyDayTmrw•3h ago
One would think that someone prominent like Ian Lance Taylor or Russ Cox (who also left within this past year, as noted by another commenter) would be relatively insulated from that.
vlovich123•3h ago
Why would you think that? You still have management, you have to go through perf calibration and justify your performance. Engineering like most human profesional activities is a very social endeavor where you rely on the people that surround you and you always have people pressuring you to do something.
90s_dev•3h ago
> you have to go through perf calibration and justify your performance

He did sound relatively defeated when he accused himself of not accurately predicting the future needs of Go users, as if it were even possible!

Maybe management has just been unjustly critical of his performance, and he's taking it too much to heart? Hard to tell, but I just get that feeling.

nine_k•2h ago
Maybe they are safe from being laid off, though you never can tell [1]. But it does not mean they enjoy the tension, the demands, the disagreements, etc that likely crop up. At their position, they can afford to not put up with that, not hold onto the enviable salary, like many others doubtlessly and begrudgingly do.

[1]: https://nerdy.dev/ex-googler

rtpg•1h ago
Or management is cynically thinking they could get more bang for their buck with multiple people (I gotta imagine at 19 years at google gets you a healthy multiple compared to new hires)
kortilla•3h ago
This theme has been repeated a bunch over the last 10 years or so. Google has been in a constant state of decline since the employment surge in the back half of 2010s culminating with a hiring fervor in 2020 that diluted out all of the extremely talented employees.

This severe decline of the median engineer means comp gets cut back, perks get cut back, and most importantly, autonomy gets cut back. Oppressive process and political gamesmanship reign supreme.

Even when I left nearly a decade ago, the idea that something like Gmail could be made in 20% time was a joke. 20% time itself was being snuffed out and dipshit PMs in turf wars would kill anything that did manage to emerge because it wasn’t “polished enough”.

At this point Google is far beyond recovery because it is inundated with B, C and now D players. It’s following the same trajectory of Intel, Cisco, and IBM.

Pockets of brilliance drowning in mediocrity

qyph•3h ago
Gmail wasn't created with 20% time.

https://time.com/43263/gmail-10th-anniversary/#:~:text=Gmail...

happyopossum•3h ago
> comp gets cut back, perks get cut back

That hasn’t really been happening - perks and comp have been pretty stable for the past 3+ years at least, so…

nophunphil•2h ago
Aren’t we talking about what appears to be a management decision/performance review?

What do the other engineers have to do with this? Why are they mediocre?

babyent•1h ago
What if I told you..

Most of the actual groundwork has already been laid by passionate, actual engineers.

Today big tech is just a place people go to make money, and they don’t necessarily care about long term vision.

Mostly filled with the most uninspiring, forced-to-do-kumon types who have little “passion” for engineering or computers. Zero imagination and outside the box thinking. Just rote memorization to get in and then getting PIP’d or laid off to go do the same at the other big corps. TC or GTFO types.

Better luck at startups that are the Google’s of yesteryear.

neves•3h ago
What are the good use cases for Go today? It looks like the hype has gone.
packetlost•3h ago
I put it in the same category as Clojure and where I hope Rust eventually ends up: stable, boring, and capable with healthy ecosystems
dboreham•3h ago
Where you want to just cut code without drama (and dramatic people).
root_axis•3h ago
Go shines for network services. The standard library has everything you need for networking and the web with very accessible concurrency primitives. It's also a pretty lightweight language that's easy for people to pick up.
90s_dev•3h ago
Are these not also true for Node.js? Add the familiarity of JavaScript, the ecosystem of NPM, and the good-enough speed of V8, and I'm not sure why choose Go.
kweingar•3h ago
Go's performance is in a totally different class than node.
nikolayasdf123•2h ago
minimalism in dependencies, security, type system and static analysis. tooling (fuzz tests, benchmarks, etc.). uniform syntax (thanks go fmt) in entire ecosystem.
scripturial•2h ago
Go has a standard code style, everyone agrees to use the same format and all our code becomes easier to read and standardized.

Go is very much faster, you save time and money on computing resources.

Go has built in testing and type support, making it easier To write more reliable and more bug free code.

But let’s not debate it, learn go for yourself and try it on a small little project. I’m convinced you’ll pretty much not want to switch back.

90s_dev•2h ago
> Go has a standard code style, everyone agrees to use the same format and all our code becomes easier to read and standardized.

I like VS Code's default code style for TypeScript, but partly because it is not too opinionated about whitespace (though it gets close).

But after 10 years, I finally went back to manual CSS formatting. I just can't write CSS without the option of single-line rulesets.

gofmt doesn't (or at least didn't) allow single-line blocks ever. This is just too opinionated, and for that reason it will one day change, even if that day is 20 years from now.

Having a standard is fine. But software is not just technical, it's an art too.

haiku2077•1h ago
> This is just too opinionated, and for that reason it will one day change, even if that day is 20 years from now.

Would you be willing to make a Long Bet about it? https://longbets.org

90s_dev•2h ago
> But let’s not debate it, learn go for yourself and try it on a small little project

I wrote a lot of Go from like 2010 to 2013 or so.

A few days ago I read an article from someone clearly experienced in general software good practices, who masterfully laid out every complaint I had when I left Go.

I wish I could find it, but I think it was from this year or last year. The only example I can remember is repetitive explicit error handling with a comparison to more modern languages.

echelon•3h ago
I've used Go and Rust for network services, and they honestly feel completely on par with one another from a DX and ergonomics perspective. I wouldn't be surprised if Rust starts eating into Go marketshare for microservices.

There are some Googlers angling for this.

prisenco•2h ago
I can't agree they're on par based on function coloring and slow compile times alone.
Animats•2h ago
> Go shines for network services.

Right. Go is a great language for the server side of web client/server things. It's more reliable than C++, easier than Rust, and is hard-compiled to a read-only executable, which is good for security. Goroutines, which are cheap but can block, get rid of the async/sync distinction. The important libraries are maintained by Google people and used internally, so even the unusual cases are well-exercised.

What more do you want?

nikolayasdf123•2h ago
native GPU (CUDA, BLAS and friends) support would be nice. haha
tayo42•3h ago
It's like a more robust python. Compiled so you don't deal with the annoyances of using a scripting language to build, deploy and run applications. But also way simpler then something like c++ or rust. Though I do wish it had some more nice syntax and features.
90s_dev•3h ago
Theoretically, it's basically a faster Node.js. Case in point, TypeScript is moving from Node.js to Go for a 10x speed increase.

But in reality, TypeScript is probably its only legitimate use-case, and only because it already had very stringent requirements.

Most projects either stick to Node.js, or if they need more efficiency, they get rewritten in C++ or Rust, instead of ported to Go.

zaphirplane•3h ago
With all due respect, I am fairly confident that the view you have is formed in a bubble .
nikolayasdf123•2h ago
> Theoretically, it's basically a faster XYZ

well, that's the point. it is excellent language for server programming. and not just faster, it is more stable, scales complexity better, stronger security

bqmjjx0kac•3h ago
Go has surprisingly good "UX", which I don't hear people talk about much. It compiles very quickly and gets out of your way. I've found it useful for a few reasons:

1. The standard library has a real HTTP/2 implementation (unlike Python).

2. The Go compiler creates statically-linked binaries and cross-compiling is painless.

3. Channels and goroutines make it relatively easy to write parallel code. There are certainly sharp edges, like every language.

kevindamm•2h ago
It is also conveniently easy to compile everything into a single file, using embed, and this helps with deployment in a few ways.
prisenco•2h ago
I love how readable it is, even by people who don't know Go.
devjab•2h ago
We've moved from .NET and C# to Go, and I'd argue that it's very competetive with general purpose languages like C#, Java and similar for a different philosophical approach to enterprise tech. It's been a great technical fit for us in both finance and energy, but the main purpose for our adoption is because it's opnionated approachs are a much better fit for us than traditional OOP languages. There is no "magic", everything is explicit, the standard library is incredible and it's a relatively easy langauge to write and read.

In a world where 4chan can serve 4 million visitors on some dated apache server version running a 10k line PHP script which hasn't been updated since 2015 it's important to remember, that for 95% of all software (if not more), any, general purpose language will be just fine technically speaking and it's in the development processes (the people) the actualy differences are found. Go is productive and maintainable (cost-efficient and rapid changes) for teams that work better without implicit magic and third party depedencies.

The hype may be gone, but the Jobs aren't. In my area of the world Go is the only noticeably growing programming language in regards to job offerings.

haiku2077•2h ago
- Fast compiler with easy cross compilation (super handy e.g. for developing Linux network services on a Mac)

- Pretty decent concurrency built in

- Small language spec that is very easy to read and learn

- A very good and well thought out toolchain and tool ecosystem. This is hard to list as a selling point or quickly summarize but it makes Go code pleasant to work on. Things that other languages have ti have complex third party tooling for are simple and boring in Go.

- If you are writing code that interfaces with Kubernetes or a popular container runtime like Docker or Podman, it is a natural choice.

- Pretty good performance as far as garbage collected runtimes go. Not the best, but really good.

eikenberry•2h ago
The hype has gone as it is now just another programming language in common use. The use cases are the same as they've always been. Networked and distributed systems.
benesch•3h ago
It’s hard to overstate the amount of service Ian provided to the Go community, and the programming community at large. In addition to gccgo, Ian wrote the gold linker, has blogged prolifically about compiler toolchains, and maintains huge swaths of the gcc codebase [0]. And probably much, much more that I’m not aware of.

I’ve had the pleasure of trading emails with Ian several times over the years. He’s been a real inspiration to me. Amidst whatever his responsibilities and priorities were at Google he always found time to respond to my emails and review my patches, and always with insightful feedback.

I have complicated feelings about the language that is Go, but I feel confident in saying the language will be worse off without Ian involved. The original Go team had strong Bell Labs vibes—a few folks who understood computers inside and out who did it all: as assembler, linker, two compilers, a language spec, a documentation generator, a build system, and a vast standard library. It has blander, corporate vibes now, as the language has become increasingly important to Google, and standard practices for scaling software projects have kicked in. Such is the natural course of things, I suppose. I suspect this cultural shift is what Ian alluded to in his message, though I am curious about the specific tipping point that led to his decision to leave.

Ian, I hope you take a well-deserved break, and I look forward to following whatever projects you pursue next.

[0]: https://github.com/gcc-mirror/gcc/blob/master/MAINTAINERS

sidkshatriya•2h ago
It's very important for both the compiler tools chains of go to continue working well for redundancy and feature design validation purposes. However, I'm generally curious -- do people / organizations use gcc-go for some use cases ?
cletus•3h ago
Google has over the years tried to get several new languages off the ground. Go is by far the most successful.

What I find fascinating is that all of them that come to mind were conceived by people who didn't really understand the space they were operating in and/or had no clear idea of what problem the language solved.

There was Dart, which was originally intended to be shipped as a VM in Chrome until the Chrome team said no.

But Go was originally designed as a systems programming language. There's a lot of historical revisionism around this now but I guarantee you it was. And what's surprising about that is that having GC makes that an immediate non-starter. Yet it happened anyway.

The other big surprise for me was that Go launched without external dependencies as a first-class citizen of the Go ecosystem. For the longest time there were two methods of declaring them: either with URLs (usually Github) in the import statements or with badly supported manifests. Like just copy what Maven did for Java. Not the bloated XML of course.

But Go has done many things right like having a fairly simple (and thus fast to compile) syntax, shipping with gofmt from the start and favoring error return types over exceptions, even though it's kind of verbose (and Rust's matching is IMHO superior).

Channels were a nice idea but I've become convinced that cooperative async-await is a superior programming model.

Anyway, Go never became the C replacement the team set out to make. If anything, it's a better Python in many ways.

Good luck to Ian in whatever comes next. I certainly understand the issues he faced, which is essentially managing political infighting and fiefdoms.

Disclaimer: Xoogler.

eikenberry•2h ago
> Channels were a nice idea but I've become convinced that cooperative async-await is a superior programming model.

Curious as to your reasoning around this? I've never heard this opinion before from someone not biased by their programming language preferences.

cletus•2h ago
Sure. First you need to separate buffered and unbuffered channels.

Unbuffered channels basically operate like cooperate async/await but without the explictness. In cooperative multitasking, putting something on an unbuffered channel is essentially a yield().

An awful lot of day-to-day programming is servicing requests. That could be HTTP, an RPC (eg gRPC, Thrift) or otherwise. For this kind of model IMHO you almost never want to be dealing with thread primitives in application code. It's a recipe for disaster. It's so easy to make mistakes. Plus, you often need to make expensive calls of your own (eg reading from or writing to a data store of some kind) so there's no really a performance benefit.

That's what makes cooperative async/await so good for application code. The system should provide compatible APIs for doing network requests (etc). You never have to worry about out-of-order processing, mutexes, thread pool starvation or a million other issues.

Which brings me to the more complicated case of buffered channels. IME buffered channels are almost always a premature optimization that is often hiding concurrency issues. As in if that buffered channels fills up you may deadlock where you otherwise wouldn't if the buffer wasn't full. That can be hard to test for or find until it happens in production.

But let's revisit why you're optimizing this with a buffered channel. It's rare that you're CPU-bound. If the channel consumer talks to the network any perceived benefit of concurrency is automatically gone.

So async/await doesn't allow you to buffer and create bugs for little benefit and otherwise acts like unbuffered channels. That's why I think it's a superior programming model for most applications.

nikolayasdf123•3h ago
so what is the reason why he is leaving? layoffs? burnout? up-or-out without up? internal politics pushed him out? seems like he wants to work. so what happened?
philosopher1234•2h ago
This is so sad! It seems Go is fast becoming rudderless, i worry the wualities that have made it great wont survive the tides at google this way. But i hope to be wrong.
nikolayasdf123•2h ago
same. Go is so powerful because of its core. without core, ecosystem will fall apart