Live data from Hacker News

"We ran out of columns"

jimmyhmiller.github.io

171–180 of 588 posts

Re: "We ran out of columns"

#171
post #139

Earlier quoted context omitted.

I think a lot of people who've only learned programming in the last 10 years or so don't realize that Git, and even more so the large-scale popularity of Git, is actually pretty new. A lot of programming happened before Git was created, and before it became mature and popular enough to be the default for everyone. Many of these earlier systems sound terrible and hacky to us, but they were the best that was available…

I use CVS, RCS and Subversion on my personal projects for several years before I learned git. I don’t remember any of them being a pain to setup for small projects and Sourceforge provided free CVS hosting for small projects.

I started with Rational Clearcase, which I interacted with via Eclipse, and I remember that you did have to lock a file to make changes to it... pretty sure there was no merge capability (but maybe I was just too junior to know stuff like that, it was definitely not something you would do as a matter of routine, like we do now with git). Someone leaving for vacation and forgetting to unlock a file could be a huge pain in the ass.

After that I used Subversion via TortoiseSVN for Windows, which was quite nice to use, though I don't really remember much of the details... I do remember asking myself why everyone was moving to git when "perfectly good" source control already existed, but after 10+ years on Git, I think I was wrong and we did need it, we just didn't know it yet.

Re: "We ran out of columns"

#172
I built a system as horrible as this. One of my many terrible inventions was as follows:

Originally our company only did business in one marketplace (the UK). When we started doing business in multiple marketplaces, it came time to modify the system to cope with more than one. Our system assumed, _everywhere_, that there was only ever one marketplace. I had a plan: I would copy-paste the system, make an "international" version that supported many marketplaces, then transition over our original marketplace to the international version and shut down the old system. This way, everyone could keep working on the original marketplace like normal, they'd get the new marketplaces on the new system, and we'd do a clean cutover once ready.

It started out quite well. I got the international version working and onboarded our first new marketplace. The business was very happy, there was lots of opportunity in the new marketplaces. They asked that I delay the cutover from the old system and focus on developing things for these new marketplaces. After all, the old system still works for our original marketplace, we can move it over once our work is done on the new marketplaces. I said yes, of course!

It's now 5 years later, it turns out there's a lot to do in those other marketplaces. To say that the system is split-brained is an understatement. When training new hires, we teach them the difference between a "product" and an "international product". When either system does something, it double checks and cross-references with the other system via a colourful assortment of HTTP APIs. There are a variety of database tables that we "froze" in the old system and continued in the new system, so you could tell that an ID referred to something in the new system or the old system if it was above or below the magic number we froze it at. We have overarching BI dashboards that query both systems to produce results, and they have to heavily manipulate the old system's data to fit with the new multi-marketplace model, and any other changes we made. Both systems are extremely tightly coupled, the old one is a ball and chain to the new one, but the new one is so tightly integrated into it that there's no hope of separating them now.

I've learned to say no since then.

Re: "We ran out of columns"

#173
post #162
post #69

Earlier quoted context omitted.

We still use VSS for a couple codebases. We’re a small enough team that conflicts are rare, but the occasional Teams message “hey, let me know when you’re done with module.cpp” is not unheard of.

I’m impressed VSS still works. I used it as part of my first professional software engineering job in 2008 and it felt old then.

It surprisingly works well. We do use a front end to it called VssConnect, but to be honest, I really don’t have any complaints.

Re: "We ran out of columns"

#174

When I started at my first company, they had a very complex VB application running on dozens of customers around the country, each having some particular needs of course. There was a LOT of global variables (seemingly random 4 uppercase letters) controlling everything. At some point, the application had some bugs which were not appearing when the application was run in debug mode in Visual Studio. The solution was ob…

This is amazing. I can so well imagine a bright young hire joining that team, helpfully offering to "setup this thing called git" only to be laughed out of the meeting by all the "senior" staff.

I did this at my first, learned quick oldheads would get flustered and feel challenged if not eased into things a certain way.

Ultimately by the time I left I tried to introduce redbeanphp (orm), git for source control, and CakePHP for some structure. Nothing stuck. When I left it was still raw sql string queries, .zip files when they remembered for backups, and 400,000 line php files with everything caked on there.

Re: "We ran out of columns"

#175

Earlier quoted context omitted.

I've been that person a few times. 1. The only developer on the team with Github and put forward the idea of the company not hosting their own source code with TFS. 2. The only developer using branches with git when the co-founder asked (demanded) everyone to only use master. The list goes on!

Here’s a few of my horror stories where I was a consultant at various companies: 1. Previous consultants left no documentation or anything, and a running Hadoop cluster handling (live!) 300 credit card transactions a second. Management hired 8 junior sysadmins - who were all windows sysadmins, had never used Linux before, and were expected to take over running this Linux cluster immediately. They all looked at me whi…

"Senior" holds no weight with me. I've had plenty dumb founding conversations with "seniors".

My favorite was at the company that was self hosting their code. The senior team lead wanted me to help him find a memory leak that plagued the product for months. Customers were told to restart the application every few weeks (this was a C++ application).

I sat down with the senior and looked at the code. I spotted the error.

I was like, "You know when you do new[] you need to use delete[]?" as all of his deletions were without [].

The look on his face was the best.

Re: "We ran out of columns"

#176
post #77

Probably some of the worst code I ever worked on was a 12k+ line single file Perl script for dealing with Human Genome Project data, at Bristol-Myers Squibb, in the late 1990s. The primary author of it didn't know about arrays. I'm not sure if he didn't know about them being something that had already been invented, or whether he just didn't know Perl supported them, but either way, he reimplemented them himself on t…

You were very lucky there were tests.

Re: "We ran out of columns"

#177
post #157

Earlier quoted context omitted.

Then they probably fired the guy who deleted 2MM lines of tabs for not meeting LoC metrics.

Many years later there was a scene in Silicon Valley where their VC set a tequila bottle on the delete key and caused havoc. That's when I figured out what happened in 1998.

And what's the less opaque reference to 1998?

Re: "We ran out of columns"

#178

Earlier quoted context omitted.

Here’s a few of my horror stories where I was a consultant at various companies: 1. Previous consultants left no documentation or anything, and a running Hadoop cluster handling (live!) 300 credit card transactions a second. Management hired 8 junior sysadmins - who were all windows sysadmins, had never used Linux before, and were expected to take over running this Linux cluster immediately. They all looked at me whi…

"Senior" holds no weight with me. I've had plenty dumb founding conversations with "seniors". My favorite was at the company that was self hosting their code. The senior team lead wanted me to help him find a memory leak that plagued the product for months. Customers were told to restart the application every few weeks (this was a C++ application). I sat down with the senior and looked at the code. I spotted the erro…

Yeah it reminds me of that old saying “Some developers have 20 years experience and some have 1 year experience 20 times” haha

Re: "We ran out of columns"

#179

Oh man, this article reminds me of an article that was a parody of some horrid business logic. Something like this: a "genius" programmer was somehow, for some reason using svn commits as a method dispatcher. Commit ids were sprinkled throughout the codebase. A new hire broke the entire system by adding comments, and comments weren't compatible the bespoke svn method dispatcher. Does anybody remember this article? I…

The Inner JSON Effect. Most recent HN discussion of it: https://news.ycombinator.com/item?id=40923258

Thanks! Also:

The Inner JSON Effect (2016) - https://news.ycombinator.com/item?id=35964931 - May 2023 (11 comments)

The Inner Json Effect - https://news.ycombinator.com/item?id=12185727 - July 2016 (142 comments)

Re: "We ran out of columns"

#180

A couple of weeks ago I had a flat on the way to the airport. It was a total blowout, and my car doesn't include a spare. We were already over budget on our trip, so I had the car towed to the closest tire shop and had them put on the cheapest tire that could get me to the airport. I know I'll need to replace other tires, as it's an AWD, and I know it's not a tire I really want. I made a calculated choice to make tha…

Aside - the fact that cars dont include spares these days is infuriating.

IMO its a classic example of real world enshittification

Post reply on HN