![]() |
|
![]() |
| I wouldn't say it was a failure. They had a good run in a very quickly evolving time. That they got a slice of business for years during that period isn't bad! |
![]() |
| When did they fail? They acquired Time Warner, creating a company that after continued consolidation is now ranked #13 on the Fortune 500 list. |
![]() |
| For me, the most eye-opening codebase of my career was Cocotron, around 2007:
https://github.com/cjwl/cocotron I was looking for a way to port my native Mac Cocoa apps to Windows. I had been already disappointed by the aimless sprawl of GNUstep. This one-person project implemented all the essential APIs for both Foundation and AppKit. Reading the code was a revelation: can it really be this simple and at the same time this effortlessly modular for cross-platform support? I contributed a few missing classes, and successfully used Cocotron for some complex custom GUI apps that needed the dual-platform support. Cocotron showed me that one person with a vision can build something that will rival or even outgun large teams at the big tech companies. But focus is essential. Architecture astronauts usually never get down from their high orbits to ship something. |
![]() |
| Let me guess, it was very well funded and there were no fake deadlines and cross-team dependencies, am I correct or am I very correct? |
![]() |
| Postgres. I don't code in C if I can avoid it, since it often feels like an awful lot of extra typing while still having to worry about memory safety. But the Postgres codebase is extraordinarily well organized and respects the humans that work with it with its intelligent handling of memory and judicious use of macros.
I consider the core Postgres codebase to be the gold standard in development even though it's in a language I do not prefer to write in if given the choice. Shout out to the pgrx folks. You're awesome! https://github.com/pgcentralfoundation/pgrx |
![]() |
| That is nice to hear, albeit unsurprising. Their public documentation is some of the best that I have worked with. Postgres is such an impressive project overall. |
![]() |
| I think what you're saying is true for www, but not fbcode, and the later starts to look a lot like google3. I agree though, Meta's www codebase has the best developer experience in the industry. |
![]() |
| Within the monorepo there is the notion of "silos" where access to directories can be restricted to groups of people/bots. Though I believe that's exceedingly rare, I've never come across one. |
![]() |
| > Google's code, tooling and accompanying practices are developing a reputation for being largely useless outside Google ...
Not that I don’t believe you, but where do you see this? |
![]() |
| Though credit where it’s due, some of their tools really have been years ahead of anything outside of google, e.g. the closure compiler that made javascript development scalable. |
![]() |
| I had a bunch of very tenured teammates that didn’t really know how to use git, so there were only a few of us comfortable enough integrating and interacting with an open source dependency repo. |
![]() |
| I love this take. What language(s) do you typically use to write CLI programs? I'm also interested in learning about what types of internal TUI tools you have created. |
![]() |
| I’m firmly convinced that any codebase written by any 4 people in the same room is better than any written by any higher number or distributed. |
![]() |
| It took my company a team of 8 fully-remote devs to fix the clusterfuck of a codebase that the "4 guys in a room" (the CTO and early devs) built up with spit and tree bark,. |
![]() |
| > We called this swapping out the airplane parts mid-flight...
I work fairly heavily with Facebook's Graph API, and I think they may have employed too many Boeing engineers for the part swaps lately. |
![]() |
| I really wish more people believed in continuous improvement and the malleability of software. Giant heroic refactors or redos are so annoying, but so are ten year old compiler or kernels. |
![]() |
| The best codebases I worked on were from startups that failed due to lack of product market fit. Oh man, their code was so beautiful and optimized… |
![]() |
| My own, lol. Which just means I need to work on more codebases.
I’m making a tool to convert data schemas to SQL via a UI for lay-users. Just like https://react-querybuilder.js.org/ which is basically a UI based SQL generator. For work. Except my version extends the idea much further, blending Excel like functionality with functions that can act on Fields and Rules. What makes it good? For one, it’s a from scratch project with almost no third party libraries. For two, I fortunately chose a recursive data structure to represent the data schema, and that has really worked out well. Early on I tried 4 other approaches to represent the data, but went back to recursive feeling it was the best choice. Furthermore I’m using React, but it’s heavily leveraging reducers. Specifically Groups have a reduced, Rules have a reducer, and Fields have a reducer. The reducers are linked in a chain top to bottom, where changes on a Field change a Rule, and changes on a Rule change a Group. It’s been extremely clean to work with. Because the base data schema is recursive (Groups contain groups contain groups), most of the functions that manipulate the schema are recursive. There is a real elegance to the code, each recursive function has a very obvious base case, and a very obvious recursive path. And for the final outcome, walking the query data structure and spitting out the equivalent SQL is also recursive, and feels elegant, coming in at under 40 lines. Literally as I’ve been writing this codebase, everything somehow perfectly fell into place. I was marvelling near the end that it felt like I chose all the best possible logic paths to build this somehow. I’m hoping to get the okay from work to open source it (fully open source). The only cruft of the project is the types I’m using, the interface of the code could be improved with generics |
![]() |
| google3, all the devex tooling was taken care of by other teams. Tons of useful library functions available to import, accumulated over decades. |
![]() |
| It's refreshing to read the replies here as I am currently working in the worst codebase I've ever seen in my life. It's just unimaginably bad. |
E.g, "we need to come up with a way to implement X". Person A gives their idea, person B gives another idea and so on until everybody shared their thoughts. Then someone would say "I think what person C said makes the most sense" and everybody would agree and that was it. 30 minutes to hear everybody out, 3 minutes to discuss who will do it and when and the meeting was over.
I think the biggest testament to this code base was that when junior members joined the team, they were able to follow the existing code for adding new features. It was that easy to navigate and understand the big picture of.