Readit News logoReadit News
tony · 6 years ago
Favorites:

- SQLAlchemy by Michael Bayer: https://www.aosabook.org/en/sqlalchemy.html (nice observation of core language on top of SQL, then the separate declarative/orm system)

- LLVM by Chris Lattner: https://www.aosabook.org/en/llvm.html

- Audacity by James Crook: https://www.aosabook.org/en/audacity.html (interesting mentionings of wxwigets)

Note that pretty much everything in volume 1 and 2 is interesting, though!

What would be nice to see, non-exhaustive:

- Blender: Especially 2.80, an analysis of its GUI/widgets, integrated python scripting, and everything else (wiring into graphics cards, rendering, shapes). There's a lot of stuff that could be covered

- Gimp / Inkscape / Krita

- Saltstack / Ansible / Fabric or PyInvoke : These have nice abstractions on top of system functionality / programs and delivery magic that'd be fun to go into

- GTK, QT

- Tiling window managers, e.g. i3, swaywm, awesome

- Wayland, Xorg

- Kdevelop, VSCode, Atom, Electron

- React, Vue, Angular (it'd be nce to see more js)

- Android SDK

- Unity3D SDK, Unreal SDK

- .NET Core

- black (python formatter), clang-format, prettier

- docutils, sphinx, pandoc

- systemd, mesa, cairo, pulseaudio

- implementations of python (cpython), typescript, lua, luajit, haskell ghc, swift

persistent · 6 years ago
Really curious why you'd want to study these unless you already had strong fundamentals in application architecture and are not afraid to expose yourself to antipatterns. GIMP/GTK in particular are a cornucopia of terrible ideas stemming from ignorance and prejudice.
slovenlyrobot · 6 years ago
This wasn't necessarily the most constructive thing to say, but it unintentionally invites a silver lining: studying failure is the most effective route to success. This is as true in software as it is in operations, economics, finance or pretty much any other discipline.
Dreami · 6 years ago
Could you elaborate a bit? I don't know much of their code base (but I've used it as a user) and I'm curious as to what is done wrong.
ngold · 6 years ago
What's wrong with gimp? Been using it for a decade with no trouble.
lanstin · 6 years ago
Loved the bash one. Loved the time aspect to all the stories - early decisions and then the way they played out over time. Hard to sim various architectural decisions so a super informative read for both good and bad outcomes.
heyoni · 6 years ago
This book is such a gem. I really liked the one about async by Guido
Avamander · 6 years ago
- PostgreSQL
rosser · 6 years ago
It's not the same format, but here's a few slide decks from Bruce Momjian's site, describing PostgreSQL's internals:

https://momjian.us/main/presentations/internals.html

vicarrion · 6 years ago
Redis would also be nice
leeoniya · 6 years ago
missing SQLite
monocasa · 6 years ago
The SQLite guys have unsurprisingly already done a really great job on that topic.

https://www.sqlite.org/arch.html

sytringy05 · 6 years ago
This is interesting, however I'd say most of the software on this list not relevant for 99% of software architects / engineers ( ie all of us working on web / server side applications for BigCorp).

It's not the fault of the authors of course, in my experience there's not many organisations interested in explaining stuff like this out in the open.

It would be great to see the architecture of: - a large scale distributed system - a typical web app with UI, web tier, data tier maybe thrown in some eventing for good measure. - maybe anything else that needs to talk across a network all the time.

Nick Craver from Stackoverflow does a great job of explaining this for how SO do it, any other good examples would be great.

kostarelo · 6 years ago
I have found StackShare to be excellent to get a birds' eye view of the stack of all the big companies. They also write on their blog in more details usually in coordination with the companies.

https://stackshare.io/

https://stackshare.io/uber-technologies/uber

https://stackshare.io/stack-history-timeline-unicorns-ipos-o...

https://stackshare.io/circleci/how-circleci-processes-4-5-mi...

therealdrag0 · 6 years ago
I would particularly like examples of Archs that are not 1000 reads per 1 write. A lot of business software is interaction heavy. So designing to support loads that can't be waved away with caching would be good to observe.
melenaboija · 6 years ago
Implementing QuantLib is also an interesting read on how the open source C++ library was built.

Although is a library for a small niche is interesting how Luigi Ballabio explains the process with some comments of why some decisions have been taken and some corrections/modifications that happened in the library.

https://www.implementingquantlib.com/posts/implementing-quan...

shrthnd · 6 years ago
Great article on Continuous Integration: http://www.aosabook.org/en/integration.html
hosteur · 6 years ago
I’m confused. Is this an ad?
runningmike · 6 years ago
Imho a bit. Its a Cc by licensed book. But part of the revenue is for the Oss projects who participated. You can get a download without costs.
nerdponx · 6 years ago
It's a book.
cryptozeus · 6 years ago
You can click on links and view the data. If u want pdf or book then buy it. This is really interesting find.
kbumsik · 6 years ago
Even if it's an ad, what's the issue?