frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Motorola announces a partnership with GrapheneOS Foundation

https://motorolanews.com/motorola-three-new-b2b-solutions-at-mwc-2026/
1473•km•10h ago•518 comments

Ask HN: Who is hiring? (March 2026)

57•whoishiring•1h ago•78 comments

First-ever in-utero stem cell therapy for fetal spina bifida repair is safe

https://health.ucdavis.edu/news/headlines/first-ever-in-utero-stem-cell-therapy-for-fetal-spina-b...
79•gmays•2h ago•6 comments

/e/OS is a complete "deGoogled", mobile ecosystem

https://e.foundation/e-os/
511•doener•8h ago•288 comments

Launch HN: OctaPulse (YC W26) – Robotics and computer vision for fish farming

15•rohxnsxngh•1h ago•3 comments

Felix "fx" Lindner has died

https://blog.recurity-labs.com/2026-03-02/Farewell_Felix
39•is_taken•1h ago•3 comments

Reflex (YC W23) Is Hiring Software Engineers – Python

https://www.ycombinator.com/companies/reflex/jobs
1•apetuskey•38m ago

Parallel coding agents with tmux and Markdown specs

https://schipper.ai/posts/parallel-coding-agents/
29•schipperai•3h ago•6 comments

Zclaw – The 888 KiB Assistant

https://zclaw.dev
22•kristianpaul•2d ago•10 comments

Use the Mikado Method to do safe changes in a complex codebase

https://understandlegacycode.com/blog/a-process-to-do-safe-changes-in-a-complex-codebase/
68•foenix•4d ago•26 comments

Notes on Lagrange Interpolating Polynomials

https://eli.thegreenplace.net/2026/notes-on-lagrange-interpolating-polynomials/
15•ibobev•1h ago•5 comments

How to talk to anyone and why you should

https://www.theguardian.com/lifeandstyle/2026/feb/24/stranger-secret-how-to-talk-to-anyone-why-yo...
377•Looky1173•10h ago•432 comments

Inside the M4 Apple Neural Engine, Part 1: Reverse Engineering

https://maderix.substack.com/p/inside-the-m4-apple-neural-engine
130•zdw•1d ago•39 comments

Anthropic Cowork feature creates 10GB VM bundle on macOS without warning

https://github.com/anthropics/claude-code/issues/22543
265•mystcb•3h ago•132 comments

Why Objective-C

https://inessential.com/2026/02/27/why-objective-c.html
58•ingve•2d ago•45 comments

Show HN: Govbase – Follow a bill from source text to news bias to social posts

https://govbase.com
10•foxfoxx•30m ago•2 comments

Microsoft bans the word "Microslop" on its Discord, then locks the server

https://www.windowslatest.com/2026/03/02/microsoft-gets-tired-of-microslop-bans-the-word-on-its-d...
714•robtherobber•7h ago•279 comments

An Interesting Find: STM32 RDP1 Decryptor

https://carlossless.io/stm32-rdp1-decryptor/
54•carlossless•3h ago•10 comments

Making Video Games in 2025 (without an engine)

https://www.noelberry.ca/posts/making_games_in_2025/
322•alvivar•3d ago•148 comments

AMD Am386 released March 2, 1991

https://dfarq.homeip.net/amd-am386-released-march-2-1991/
63•jnord•4h ago•14 comments

Judge finalizes order for Greenpeace to pay $345M in ND oil pipeline case

https://northdakotamonitor.com/2026/02/27/judge-finalizes-order-for-greenpeace-to-pay-345-million...
122•gmays•3h ago•103 comments

If AI writes code, should the session be part of the commit?

https://github.com/mandel-macaque/memento
418•mandel_x•17h ago•355 comments

OpenClaw Surpasses React to Become the Most-Starred Software Project on GitHub

https://www.star-history.com/blog/openclaw-surpasses-react-most-starred-software
198•whit537•4h ago•203 comments

Mondrian Entered the Public Domain. The Estate Disagrees

https://copyrightlately.com/mondrian-public-domain-controversy/
148•Tomte•3d ago•80 comments

Packaging a Gleam app into a single executable

https://www.dhzdhd.dev/blog/gleam-executable
8•todsacerdoti•1h ago•0 comments

Show HN: Omni – Open-source workplace search and chat, built on Postgres

https://github.com/getomnico/omni
118•prvnsmpth•8h ago•35 comments

A bit of fluid mechanics from scratch not from scratch

https://tsvibt.blogspot.com/2026/02/a-bit-of-fluid-mechanics-from-scratch.html
12•surprisetalk•2h ago•3 comments

Jolla phone – a full-stack European alternative

https://commerce.jolla.com/products/jolla-phone-sept-26
375•spinningslate•7h ago•158 comments

Why Go Can't Try

https://niketpatel.com/essays/why-go-cant-try
30•nexneo•3h ago•9 comments

Neocaml – Rubocop Creator's New OCaml Mode for Emacs

https://github.com/bbatsov/neocaml
73•TheWiggles•2d ago•12 comments
Open in hackernews

Why Objective-C

https://inessential.com/2026/02/27/why-objective-c.html
58•ingve•2d ago

Comments

frityet•1d ago
Good time to check out ObjFW [1], it's a cross platform ObjC framework that's just really awesome

[1] https://git.nil.im/ObjFW/ObjFW

vintagedave•1h ago
I hadn't come across this. Insane (if true, I've never tried) that GnuStep is not 100% compatible, surely that would be the point.

How easy is it to port, say, a Leopard-era Objective C app to ObjFW?

vintagedave•1h ago
I really miss Objective-C, and in the world of Swift craziness [1] I'm reminded often of this blog post [2] wondering what would have happened if Apple hadn't encountered Second System Syndrome for its recommended language.

(There's a decent argument it encountered it in iOS and macOS too.)

[1] https://github.com/swiftlang/swift-evolution/blob/main/propo... -- apologies to the authors, but even as a previous C++ guy, my brain twisted at that. Inside Swift is a slim language waiting to get out... and that slim language is just a safer Objective C.

[2] https://medium.com/goodones/pareto-optimal-apple-devtools-b4...

tarentel•1h ago
I go back and forth. I do miss the simplicity of objc at times though. I think in a short amount of time someone can become close to an expert in objc. Swift is already incredibly complicated and there's no end in sight.
cosmic_cheese•36m ago
Obj-C’s simplicity can be nice, but on the other hand I don’t miss having to bring in a laundry list of CocoaPods to have features that are standard in Swift. I don’t miss maintaining header files or having to operate in old codebases that badly manage Obj-C’s looseness either.
nicoburns•19m ago
> Inside Swift is a slim language waiting to get out... and that slim language is just a safer Objective C.

Rust? Rust is basically a simpler Swift. The objective-c bindings are really nice too, and when you're working with obj-c you don't have have worry about lifetimes too much, because you can lean on the objective-c runtime's reference counting.

I think the way to think about it is that with Rust, it's as if all the goodness in Swift was implemented with in the "C" level, and the Objective-C but is still just library-level a runtime layer on top. Whereas Swift brings it's own runtime which greatly complicates things.

estebank•6m ago
One of my recurring language design hot takes is that it's easier to design for speed and then make it easy to use than it is to make it easy to use and then try to speed it up.
anextio•13m ago
>[1] https://github.com/swiftlang/swift-evolution/blob/main/propo... -- apologies to the authors, but even as a previous C++ guy, my brain twisted at that. Inside Swift is a slim language waiting to get out... and that slim language is just a safer Objective C.

These kinds of features are not intended for use in daily application development. They're systems-language features designed for building high performance, safe, very-low-level code. It will be entirely optional for the average Swift developer to learn how to use these features, just in the same way that it's optional for someone to learn Rust.

waynecochran•1h ago
I still find Objective-C++ useful for writing MacOS apps that make heavy use of C++ libraries (e.g.; Eigen, OpenCV). The caveat is I have done a lot of Objective-C programming and Swift is still not as seamless as I would like bridging with modern C++ and the the STL.
iainmerrick•1h ago
Yeah, Objective-C++ is surprisingly great. It sounds like a terrible idea, but the bridging works pretty much seamlessly, and Obj-C and C++ don't actually overlap all that much so they don't step on each other's toes. Each language has strengths that shore up the weak spots in the other.
delta_p_delta_x•1h ago
+1 to Objective-C++. It makes for some surprisingly clean, compact code, best of both worlds, really. And the bridging between ARC and CF types is really quite magical, more languages should have that ability to be expressed in an older language without stripping everything out.

I just wish there were Objective-C bindings for more CF classes without having to mess with C.

billti•36m ago
I've been playing around with low-level Metal a bunch lately, any many of their docs and samples seem still be mostly in Objective-C/C++ and not Swift, so have been forcing myself to get into it.

At first I had the usual revulsion to the syntax, but after a few days getting used to it, I actually don't mind it at all now. (I still wouldn't say it's "elegant", but I can live with it).

Being Metal shader code is basically C++ anyway, and C++ is a language I'm familiar with, having a couple of .mm files to hold the Objective-C++ for API bridging and working in regular .cpp (and .h) files for the rest is pretty straight forward compared to having to learn Swift. (Especially with all the complaints I've heard about its complexity, including from Chris Lattner himself lately, which aligns with some of the other comments here).

Though to be fair, "Swift seems overly complex so use C++ instead" seems like a tough argument to make with a straight face ;-p

frou_dh•19m ago
Obj-C++ was used for some hall-of-fame OS X apps, e.g. TextMate
9rx•1h ago
> [[those squareBrackets] lookInsane:YES].

Nah, they are perfectly sane. They look like little ASCII envelopes because that's exactly the metaphor. Square brackets send messages.

nmeofthestate•1h ago
They're function calls right? I can't square the "message passing" conceit (implying putting message objects on queues, dequeuing etc) with the claim that Obj-C is just C with some extra stuff.
pavlov•1h ago
They're not direct function calls, but sugar for objc_msgSend():

https://developer.apple.com/documentation/ObjectiveC/objc_ms...

9rx•1h ago
Absolutely not. It only sends a message. The receiver doesn't have to have a corresponding method and can do with that message what it will. Objective-C is a 'true' object-oriented language, like Smalltalk.
chuckadams•1h ago
> a 'true' OOP language, like Smalltalk.

I guess Simula, which is older than Smalltalk, doesn't get a say.

9rx•1h ago
What would it have to say about it? When "object-oriented" was first told, it was said that what defines it is message passing. Simula does not have message passing. It uses function calling. Simula does have objects, but having objects does not imply orientation.
flohofwoe•43m ago
In the end though most of those 'sending a message' actions are just fancy virtual method calls (e.g. an indirect jump), everything else would be much too slow:

https://www.mikeash.com/pyblog/friday-qa-2017-06-30-dissecti...

IMHO the whole 'message' and 'sending' lingo should be abandondend, the job of objc_msgSend is to look up a function pointer by certain rules. There are no 'messages' involved, and nothing is 'sent'.

9rx•38m ago
> There are no 'messages' involved, and nothing is 'sent'.

The conceptual difference is significant as an object can respond to messages that it doesn't have a method for. You are, conceptually, just sending a message and leave it up to the object what it wants to do with it (e.g. forwardInvocation:). That is, after all, what sets "object-oriented" apart from having objects alone. Optimizations that can be made under the hood don't really affect the language itself.

flohofwoe•34m ago
> can respond to messages that it doesn't have a method for.

Clang produces a warning in that case though (something along the lines of "object might not respond to ..."), I don't think that feature is particularly useful in practice (also because it kills any sort of type safety) :)

9rx•31m ago
It was incredibly useful in the olden days. The NeXT/Apple ecosystem leaned on it heavily.

We have new ways to approach problems nowadays, so it may be fair to say that object-oriented programming is a relic of the past. I mean, it is telling that Smalltalk, Objective-C, and Ruby are the only languages to ever go down that road. Still, if you are using an OO language, then it makes sense to lean into OO features. Otherwise, why not use a language better suited to your problem?

seanalltogether•1h ago
At this point in my career, I can't go back to a language that doesn't have support for Optionals or compiler validation of nullable types. I can sacrifice async or fancy stream apis, but I will never go back to chasing null pointer exceptions on a daily basis.
iainmerrick•1h ago
Obj-C does have a "nonnull" annotation now (apparently added to assist Swift interop). One of the final jigsaw pieces turning it into a really pleasant language.
tarentel•1h ago
I don't think objc has the equivalent of a null pointer exception. You can freely send messages to a deallocated object. Since ARC, it is rare, at least in my experience, running into any memory related issues with objc.
Me1000•57m ago
You can send messages to null, sendings messages to a deallocated pointer is going to be a bad time.
e28eta•9m ago
It’s nice not to crash, but unexpected null can still cause bugs in ObjC when the developer isn’t paying attention.

Having done both ObjC with nonnull annotations, and Swift, I agree that it’d be hard to forgo the having first-class support for Optionals

netbioserror•1h ago
I bounced off of Objective-C not because of its message-passing OO. That was the actual cool part. I bounced off because of the insane amount of boilerplate prototyping and headers required to use it.

I think every OO language should be using Smalltalk's message-passing style rather than holding hard references, and Objective-C is a great model. But discard the rest.

socialdemocrat•1h ago
Apple should have made a modern Smalltalk on top of the Objective-C object model as a replacement for Objective-C instead of Swift.

I want to love Swift, but the funny thing is that as they solve more problem with Swift they also add so much complexity that you wonder if all the problems they solved just added new problems.

Naman-Dixit•1h ago
> you’ll realize how small a language it is, how easy to hold in your palm and turn around and understand all sides of it

I have never programmed in ObjC but was curious to learn how it works, and so I decided to write a ObjC runtime [0]. It took less than 2000 lines, and a large number of them are comments. Now I wonder how easy would it be to do dome lispy symbolic computing in it. Maybe something like a Prolog.

[0] https://gist.github.com/namandixit/76cd084676acdf16cfd014cbb...

LoganDark•1h ago
I recently started writing for macOS in Swift and, holy hell, the debuggability of the windowing toolkits is actually unparalleled. I've never seen something that is this introspectable at runtime, easy to decompile and analyze, intercept and modify, etc. Everything is so modular, with subclassing and delegation patterns everywhere. It seems all because of the Objective-C runtime, as without it you'd end up needing something similar anyway.

You can reach into built-in components and precisely modify just what you want while keeping everything else platform-native and without having to reimplement everything. I've never seen anything like this before, anywhere. Maybe OLE on Windows wanted to be this (I've seen similar capabilities in REALLY OLD software written around OLE!) but the entirety of Windows' interface and shell and user experience was never unified on OLE so its use was always limited to something akin to a plugin layer. (In WordPad, for example)

The only thing that even seems reminiscent is maybe Android Studio, and maybe some "cross-platform" toolkits that are comparatively incredibly immature in other areas. But Android Studio is so largely intolerable that I was never able to dig very far into its debugging capabilities.

I feel like I must be in some sort of honeymoon phase but I 100% completely understand now why many Mac-native apps are Mac-native. I tried to write a WinUI3 app a year or two ago and it was a terrible experience. I tried to get into Android app development some years ago and it was a terrible experience. Writing GUIs for the Linux desktop is also a terrible experience. But macOS? I feel like I want to sleep with it, and I weep for what they've done with liquid glass. I want the perfection that led to Cocoa and all its abstractions. Reading all the really, super old documentation that explains entire subsystems in amazingly technical depth makes me want to SCREAM at how undocumented, unpolished and buggy some of the newer features have gotten.

I've never seen documentation anything like that before, except for Linux, on Raymond Chen's blog, and some reverse-engineering writeups. I do love Linux but its userspace ecosystem just is not for me.

Maybe this is also why Smalltalk fiends are such fans. I should really get into that sometime. Maybe Lisp too.

sgt•57m ago
That's it, I'm pivoting my startup technically and rewriting everything in ObjC! /s
mghackerlady•49m ago
I've always liked Objective-C. Despite me not really liking object-oriented programming, I appreciate that its one of a handful of languages to do actual smalltalk-esque oop
danielvaughn•42m ago
I really enjoyed Obj-C when I did some iOS work back in 2015/2016. It was my first non-JS language, and it taught me so much that I didn't understand since I started out doing web dev.
zarzavat•41m ago
Smalltalk is like pizza. Even when it's bad, it's still pretty good.
flohofwoe•37m ago
IMHO the one great feature of Objective-C (compared to C++) is that it doesn't interfere with any C language features. In C++ the C 'subset' is stuck in the mid-1990s, while Objective-C "just works" with any recent C standard.
mikehall314•28m ago
Every so often I get weirdly obsessed with Objective-J, which "has the same relationship to JavaScript as Objective-C has to C". It is (was?) an absolutely bonkers project. I think it has more or less died since 280 North was acquired.

https://www.cappuccino.dev/learn/objective-j.html

ihumanable•24m ago
Same. I remember when this first came up and I was like "this is so weirdly interesting."

Sad that they got acquired because it was just fascinating what they were doing, even if I was never going to use it.

zffr•21m ago
Holy shit, it’s still being actively developed and maintained https://github.com/cappuccino/cappuccino
sgt•17m ago
Weren't they acquired by Motorola?
millerm•19m ago
Wow, I haven't written any Objective-C since around 2012. I just went back and looked at some code I had written back then and that really brought back some memories. I was much happier then. I'm perpetually sad and unemployed now.

That's all. Enjoy yourselves.

gwbas1c•12m ago
One of the things I miss about Objective C is just how easy it is to call into a C API, or otherwise include a C function if that's the easiest way to call into a C API.

I shipped a cross-platform C# project, and once I realized I could expose "ordinary C" from the Objective C part, it was very easy to integrate the two without using a framework. (It helped that the UI was 100% Objective C, so there wasn't much surface area between the C# and Objective C parts. We initially used MonobjC, but first I had to work around a shortcoming, and then we needed to remove MonobjC due to licensing and some of the newer C# integration layers were not available.)

rixtox•9m ago
The most difficult part of Objective-C is its ARC rules, and mixing ARC and non-ARC code in the same project.
zerr•5m ago
Any popular cross-platform GUI toolkits? How do you find GNUstep?