frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Qwen 3.6 27B is the sweet spot for local development

https://quesma.com/blog/qwen-36-is-awesome/
117•stared•57m ago•70 comments

Rocketlab acquires Iridium

https://investors.rocketlabcorp.com/news-releases/news-release-details/rocket-lab-acquire-iridium...
198•everfrustrated•3h ago•112 comments

A native graphical shell for SSH

https://probablymarcus.com/blocks/2026/06/28/native-graphical-shell-for-SSH.html
82•mrcslws•2h ago•41 comments

WATaBoy: JIT-Ing Game Boy Instructions to WASM Beats a Native Interpreter

https://humphri.es/blog/WATaBoy/
96•energeticbark•3h ago•11 comments

US Supreme Court rules geofence warrants require constitutional protections

https://www.theguardian.com/us-news/2026/jun/29/supreme-court-geofence-warrants-case-decision
149•cdrnsf•2h ago•57 comments

What happens when you run a CUDA kernel?

https://fergusfinn.com/blog/what-happens-when-you-run-a-gpu-kernel/
127•mezark•4h ago•10 comments

European ISPs Want Rightsholders Held Accountable for Overblocking Damage

https://torrentfreak.com/european-isps-want-rightsholders-held-accountable-for-overblocking-damage/
127•Brajeshwar•1h ago•18 comments

HackerRank open sourced its ATS. My resume scored 90/100. Oh wait 74. No – 88

https://danunparsed.com/p/hackerrank-open-source-ats
859•sambellll•16h ago•370 comments

Sandia National Labs SA3000 8085 CPU

https://www.cpushack.com/2026/06/03/sandia-national-labs-sa3000-8085-cpu/
118•rbanffy•7h ago•34 comments

Venetian Bridge Brawls in 17th and 18th Century Art

https://publicdomainreview.org/collection/venice-bridge-fights/
27•pepys•3d ago•12 comments

Wallace the 6 inch f/2.8 telescope, building it, and hiking with it

https://lucassifoni.info/blog/hiking-with-wallace/
6•chantepierre•3d ago•0 comments

Tidal AI Policy

https://tidal.com/ai-policy
230•hn8726•4h ago•259 comments

The Return of Aspect Oriented Programming

https://thomaswc.com/blog/the_return_of_aop.html
24•thomaswc•3d ago•16 comments

Mag 7 starting to underperform [pdf]

https://www.apollo.com/content/dam/apolloaem/pdf/daily-spark/2026/jun/28/062826-Mag7.pdf
150•mooreds•3h ago•118 comments

Instagram is incorporating users' photos in ads for Meta Glasses

https://twitter.com/i/status/2071277885646868536
212•notRobot•4h ago•91 comments

You Don't Know Jack About Formal Verification

https://queue.acm.org/detail.cfm?id=3819084
21•eatonphil•3h ago•1 comments

CachyOS June 2026 Release

https://cachyos.org/blog/2606-june-release/
88•simonpure•4h ago•47 comments

The CEO of Mullvad is the main financer of the Swedish Örebro party

https://det.social/@lostgen/116820546568940358
247•Risse•7h ago•617 comments

Ornith-1.0: self-improving open-source models for agentic coding

https://github.com/deepreinforce-ai/Ornith-1
3•danboarder•46m ago•0 comments

Halvar's Guide to Entrepreneurship

https://thomasdullien.github.io/guides/entrepreneurship/
138•nekitamo•4d ago•38 comments

Decker Fantasy Camp 2026

https://itch.io/jam/decker-fantasy-camp-2026
22•RodgerTheGreat•2d ago•3 comments

Samsung, SK Hynix, Micron Sued in US over Memory Price Fixing

https://en.sedaily.com/international/2026/06/29/samsung-sk-hynix-micron-sued-in-us-over-memory-pr...
201•donohoe•6h ago•94 comments

Pollen tried to remove my article and Google is assisting with it

https://blog.pragmaticengineer.com/pollen-tried-to-remove-my-article-about-callum-negus-fancey-an...
740•taubek•8h ago•101 comments

The Radiation Exposure Lie

https://worksinprogress.co/issue/how-to-lie-about-radiation/
6•duffydotsvg•1h ago•0 comments

Building Principia for Windows XP

https://voxelmanip.se/2026/06/28/building-principia-for-windows-xp/
85•LorenDB•4h ago•21 comments

Studio Canal Movies purchased on PlayStation Store removed without refund

https://www.playstation.com/en-gb/legal/psvideocontent/
146•kugelblitz•4h ago•90 comments

NUMA: Cores, memory, and the distance between them

https://edera.dev/stories/numa-part-1-cores-memory-and-the-distance-between-them
105•sys_call•5d ago•19 comments

Rebuilding the Computer Room

https://alexwlchan.net/2026/computer-room/
60•ingve•6h ago•30 comments

Type-checked non-empty strings

https://exploring-better-ways.bellroy.com/haskell-koan-type-checked-non-empty-strings.html
44•surprisetalk•3d ago•25 comments

Dissecting Apple's Sparse Image Format (ASIF)

https://schamper.dev/dissecting-apples-sparse-image-format-asif/
142•supermatou•1d ago•21 comments
Open in hackernews

The Return of Aspect Oriented Programming

https://thomaswc.com/blog/the_return_of_aop.html
24•thomaswc•3d ago

Comments

nmehner•3d ago
My problem with AOP has always been that it makes the simple case trivial and the hard case much harder.

Looking at transactions: The 99% solution is trivial: Every service call is a transaction. AOP can save me a few lines for every method and things look much cleaner.

But then comes the huge excel upload that is performance critical. Batch more service calls to fetch additional information in the background, commit every so-and-so records in a loop depending on the data size, do a custom roll-back if things fail.

And suddenly this whole separation of concerns breaks down and creates a huge mess.

The simple case saves a few minutes, the complicated case causes weeks of depression. Not a good tradeoff from my experience.

An LLM adding to the confusion by only sometimes getting things right and explaining that the separate documents are always valid, except when they are not, well, sounds like a fun experience.

HelloNurse•3d ago
Is this a joke? Instead of using a formal aspect specification that people (and bots) can get wrong, like any other programming language, trust a bot to do the right thing spontaneously and implement an aspect oriented architecture without tools?
mrhottakes•1h ago
A few weeks ago we were calling this "vibe coding"; I guess someone is trying out some new terminology.
wseqyrku•36m ago
This is not vibe coding though, it's just vibing.
kstenerud•51m ago
> And the "weaver", to use the AOP term, is simply the LLM that generates the program from the documents.

Oh HELL NO.

The LAST thing you want is a non-deterministic process monkey patching your code.

fatbird•44m ago
That's where I got an immediate migraine.
12_throw_away•37m ago
This is, indeed, the next generation of AOP: they've managed to evolve it from "extremely complex and hard to understand runtime behavior" into "completely undefined runtime behavior". UB as a service. True innovation!
AlpacaJones•35m ago
At the end of the day aren't we all just non-deterministic process monkeys patching code?
bigstrat2003•33m ago
Humans might be non-deterministic, but we can reason, we can learn, and we can have incentives to be careful and not just YOLO things, all of which mitigate that risk. None of those is true of LLMs.
lmeyerov•46m ago
AOP is a big influence for how we are designing hooks, including custom ones, for louie.ai's agent harness. More principled structure to what is already expected.

I'm unclear on AOP in general, esp as proposed here. That's a bigger leap...

nh23423fefe•45m ago
Has anyone done AOP outside of Spring Framework? That's my only exposure and it feels very library level. Nothing I would use as a the primary way to structure the code.
rjbwork•41m ago
Yeah. I've done w/ Fody, PostSharp, HTTP Handlers, ASP.NET Middleware, Castle DynamicProxy/Interceptors, Temporal Interceptors, and various custom framework interceptors.
jdw64•32m ago
After reading this post, I got curious and went back to read the original AOP paper. What the OP argued feels like just top-down design. These days, the term 'SPEC-driven' is trending, but it seems like just another word for top-down. They're probably just rebranding it because top-down has a negative image.

Originally, AOP was about separating cross-cutting concerns by centralizing them in one place. It used weaving to separate infrastructure code, and implicitness was inherent in that approach. But the books I read back then said this led to 'ghost code.' It inevitably introduced unpredictability because the behavior wasn't visible in the code. And from a programmer's perspective, that becomes a problem when things break.

On top of that, while the cross-cutting concerns are centralized, they still end up being tied to the framework's syntax, like Spring AOP's Join Point syntax, so they become dependent on the framework itself.

That's why DDD became popular as another way to address OOP's limitations. DDD keeps the business logic pure and framework-agnostic, and that's where things like POJO emerged. At least that's what I read in books, just different approaches to the same problem.

AOP was first presented at ECOOP in 1997, and DDD is usually associated with Evans' book. Both are ways of handling OOP's complexity, but the article here doesn't seem to talk about problems with cross-cutting concerns, which is the core of AOP at all. And this is something AI doesn't handle well. AI makes the most mistakes with implicit knowledge.

Or maybe I'm wrong because I've been studying programming history through older books and have outdated knowledge. Maybe AOP has evolved since then.

What makes it difficult to talk about specific 'oriented' paradigms in programming is that as history moves on and certain problems get solved, if you bring up an older version, you'll get pushback from people who really know their stuff.

'That's a problem that was solved 5 to 10 years ago.' 'That issue has evolved and been covered in other books.'

So it's hard to talk about any 'oriented' approach because you have to specify which era's version you're referring to. For example, even with OOP, which everyone knows, there's a big difference between Smalltalk, C++, and the modern emphasis on composition over inheritance. Someone might say, 'Modern OOP is centered around composition and value objects — you're behind the times.'

AOP might have also evolved and introduced different solutions since then.

So while the perspective on a given 'oriented' paradigm does shift over time, it's really hard to have a conversation about programming because it all depends on which era the programmer is from and how far their knowledge goes.

That's why lately I've been thinking about problems and the approaches used to solve them, rather than focusing on the 'oriented' labels. I wish someone would write a history book about these paradigms. They'd get a lot of criticism, but for programmers like me, it would be much easier to understand.

Sometimes I think it's about time someone wrote a history book on programming

jerf•28m ago
I think there's a core of a good idea here, but as others have pointed out, letting the LLM be your "weaver" is going to be very tricky.

It's possible that what you have here is an idea for what I consider to be eventually very likely, which is a computer languages still built for humans to be able to understand and debug it, but more primarily for LLMs to write it. Write a language designed to be an aspect-oriented language from the beginning. Equip it with the ability to run something like a language server and point it at a system and get all the "aspects" running and you might have something.

But I'm skeptical of bodging this on to an existing language.

One of the reasons I suggest making it a new language is that AOP was hampered by being able to use only what languages already supported. The need for a "weaver" is a smell anyhow. Something where the aspect code is the native representation and the "weaving" simply dissolves into the compilation process would not only make the whole thing more appealing in general, I think it would also allow for some things that even code generation might have found a challenge, like aspects that can maintain guarantees because the whole process is more aspect-aware and not broken by the embedded "payload" code written by a human.

w10-1•3m ago
re: dissolving into compilation, I think the machine/human separation has been at work for some time. Modern languages (e.g., rust, swift) are already pioneering tracking aspects like effects, lifetimes, regions, etc. and then using whole-program optimization at compile- and link-time, largely based on intermediate languages like LLM IR/SIL, which are surfaced as user-visible features when they compose well with other user-visible language features. LLM training on these languages makes them suitable for generative AI; I doubt LLM's could pick up some new language, particularly if it weren't analogous to existing ones.
w10-1•14m ago
The idea of this post - to write separate requirements for each concern and let LLM's integrate them - is much closer to the Leo version of literate programming, which allowed documents to be composed (roughly via scatter/gather operations mediated by sentinels).

But the post entirely lacks the motivation for the AspectJ/AOP join point model: to have principled time/place for concern integration that was statically determined, type-safe, understandable to users -- and suitable for integration.

> I've also always hated the specific mechanism that AOP chose to implement it with – something called the "join point model" which basically amounts to runtime pattern matching on a program's call stack and running some code every time a pattern matches.

AspectJ's join point model is only dynamic where Java as a reference-based language could not support the static analysis. At compile-time, the "static shadow" of the pointcuts was calculated and implemented where staticly determinable; only the dynamic residue is deferred to runtime (e.g., is the caller to this method of type X?).

Many of AspectJ's join points and type extensions - method call or execution, exception throwing, field access - largely have been adopted in many languages (python context managers, swift getter/setters/extensions), and the residue are a bit hard to use.

But nothing really matches the power of pointcuts: to combine these predicates and the type-safe state-management - e.g., "when throwing an exception after a transaction, capture the span id along with the user id into a log message"

AOP was great for the 7% of code that it was intended for, but was largely displaced as too complicated. Now with LLM's it's a decent hypothesis that with proper training LLM's could actually handle the more complicated but ultimately cleaner programming model - cleaner because it avoids the scattering of similar code which makes it hard to change.

The key insight is that dominant concerns establish the basic structure of the application, leaving some important but residual aspects to fit themselves to the structure. That means the dominant structure must be suitable for the AOP integration (i.e., support the right pointcuts and type extensions); solve that and you've solved most integration issues. It's especially helpful for feature architectures, where you offer code in open-source to gain API adoption, paid for by closed-source library integrations with additional features.