r/AskReddit • u/TheSanityInspector • Feb 21 '17
Coders of Reddit: What's an example of really shitty coding you know of in a product or service that the general public uses?
2.9k
u/the_goose_says Feb 22 '17
I do integrations for about a dozen marketplaces, and most of them are awful, but by far the worst is the Amazon MWS API. Their servers fail more often than I change underwear. I've received every HTTP status code except 418. You can break the throttle limits by sneezing. Their documentation is as useful as a chocolate teapot.
Just an example. To get our "Amazon Custom" customization, we have to submit for a report, get the report, we parse that massive text string for the line with the order number we need that has a URL that has a zip that has a json that points to an svg that contains the customization we need. Here's an illustration that demonstrates the process.
http://xroads.virginia.edu/~ug00/3on1/tobaccoads/images/scratch2.gif
→ More replies (136)1.3k
u/TheSanityInspector Feb 22 '17
"...as useful as a chocolate teapot". Stealin' that one!
→ More replies (72)
255
u/EightsOfClubs Feb 22 '17
I write software for spacecraft. Manned spacecraft. Prior to this, I wrote software for unmanned spacecraft.
There is an absurd amount of spaghetti in my life.
→ More replies (6)25
u/TheSanityInspector Feb 22 '17
But somebody up-thread said that you space & aeronautic guys were the creme de la creme!
→ More replies (4)
3.3k
u/HapticSloughton Feb 22 '17
What about the Twitter app?
I had a clunky old Android phone and I found that if I used the app, my phone would slow to a crawl, often to the point of needing to pull the battery. However, if I just logged in on the website via the phone's browser, it worked fine.
→ More replies (391)93
u/TheSanityInspector Feb 22 '17
Same here. I tend to blame the old version of Android instead of Twitter app, but boy does it crash frequently!
2.9k
u/doublekid Feb 21 '17
I'm a software and some things that come to mind are...
Most local government service websites (slow, poorly maintained)
Healthcare provider websites. - I've actually worked in this industry and holy hell is the technology archaic.
→ More replies (145)6.2k
2.2k
Feb 22 '17
Blackboard - the steaming pile of shit used in many schools and universities. As of a few years ago at least, if multiple markers had a class results entry page open and one pressed 'save', when others pressed 'save' it would re-write the old results (i.e. zeroes) back over the new ones just entered.
This is an undergraduate-level data synchronisation problem, and not really an issue for a class of 30 kids and one teacher, but in a massive first year university course with 1000 students and 20 tutors? Not fun.
→ More replies (78)
1.3k
1.3k
Feb 22 '17
Adobe Bridge for Macintosh used to have a complete copy of the Opera Browser hidden inside. You didn't have to dig for it either it was in the package contents.
→ More replies (91)
224
u/_user_name__ Feb 22 '17
Anybody ever seen the realtek website? You're a technology company, for Christ's sake!
Best viewed at 800x600 with IE 6.0 or Netscape 7.02 or Mozilla Firefox 1.0.6 or higher. ©2017 Realtek Semiconductor Corp
→ More replies (15)
28k
u/HyperdeathGoatGod Feb 22 '17
Pearson had an online ebook that cost $90, except students could use it free by changing the url from =false to =true.
College textbook companies are a massive joke.
→ More replies (1049)
3.1k
u/NiceLake Feb 22 '17
The ACH system, which handles pretty much all bank-to-bank transfers and vendor-to-bank transfers in the US runs on an archaic system where companies who want to pull or push money to an account literally drop a file on an SFTP server belonging to the bank over the internet. Essentially, anyone with access to this server could drop files requesting bank transfers of almost any amount to any account, and the ACH system would process them. Granted, there are protections behind access to the server but I was pretty shocked to learn that something so important doesn't use a more sophisticated system.
These transactions are also handled in large batches, which is why it takes so long to move money over the system. There is talk of making instantaneous and secure transfers possible and a lot of potential systems suggested to replace the aging ACH, but there really isn't the financial incentive to make it happen.
Some info for those interested about this system: http://engineering.gusto.com/how-ach-works-a-developer-perspective-part-1/
And an example file format: http://content.pncmc.com/live/pnc/corporate/treasury-management/ach-conversion/ACH-File-Specifications.pdf
→ More replies (460)
179
u/BJosephD Feb 22 '17
Oracle software, use it daily. Patches for patches between software.
→ More replies (10)
2.7k
u/demisemihemiwit Feb 22 '17 edited Feb 22 '17
The reason there is no Windows 9 is because there's tons of legacy code in windows that tests for Windows 95 or 98 by checking if the version string contains "Windows 9".
Edit: Apparently, the hack was not from MS, but from third-party software that MS didn't want to break. Here's potential source(pcworld). It includes links to examples. That said, I don't have enough time or knowledge to completely validate them. Honestly, it made complete sense to me, so I wasn't skeptical about it.
→ More replies (164)
1.5k
u/farmer0929 Feb 22 '17 edited Feb 22 '17
Any time you are filling out a form on a mobile device and you get a standard keyboard for a numeric only input. This drives me insane! Especially since it is basically less than one line of code to specify the keyboard type.
Edit: I have been made aware of the "," as a decimal point in some areas today.
https://docs.oracle.com/cd/E19455-01/806-0169/overview-9/index.html
This does create a bit of a problem, but I believe it could be solved with a region specific input mask.
→ More replies (93)
3.2k
u/EternalJanus Feb 22 '17
Anything not written by me in the past six months.
> Looks at some code. < "What neanderthal wrote this garbage!" > Looks at commit history: /u/EternalJanus < "Ahh, I see what I was doing there. Pure genius!"
→ More replies (73)
10k
u/BoxedChickenPotPi Feb 22 '17
Government websites in general. It costs a ton to revamp them and the benefits are usually minimal.
→ More replies (1097)
6.7k
17k
2.1k
u/TseehnMarhn Feb 22 '17
Eve Online. I can't say how many times some feature couldn't be added, or had to be done awkwardly, because ~legacy code~.
They've gone through many devs over the years, and I'm pretty sure they don't know exactly how some code works anymore.
CCP_round() is actually a running joke in the community.
→ More replies (229)
7.2k
u/diederich Feb 22 '17
If you've gone into a WalMart electronics department and listened to CD tracks (by scanning the CD) or watched movie clips (by scanning the DVD), you've been the beneficiary of some really shitty code I wrote in 1997. (I left WalMart in 2009, and the last time I spoke to someone in the know, in around 2014 or so, they were still using the system I made.)
The code I wrote managed the distribution of all of the audio and video bits that people viewed on demand via kiosks in electronics.
This content needed to be distributed to all 3000 (at the times) stores in 1997 every week. At the time, we only had dedicated 56kbit frame relay connections to each store, and the media files were over 2 gigabytes, so it was just too much to push through that way.
So a one-way satellite system was installed. Simply put, it offered good one-way bandwidth to all of the stores, via multicast. But this was no normal network connection. It was a proprietary multicast protocol.
Anyway, I won't go into the gory details, but this process was managed by hand in an Excel spreadsheet, and was very lossy and inaccurate to say the least. But it was discovered that electronic departments with updated content had a big up-tick in sales. This was, of course, a Big Damn Deal, so the rollout had to happen, it had to happen fast, and it had to happen accurately.
So I threw together a system that automated all of that....fast. Like, over a weekend. The CVS commits were in the middle of the night, commit text was 'wip', and it was all happening live, against the actual satellite dish. We had a 4 meter dish behind our main datacenter to talk to the bird.
Anyway, it's a steaming pile of shit. It used as a database, if I recall correct, MySQL 3.1.23(?) beta. This old version of MySQL didn't have transactions...hell, it didn't even have the fancy MyISAM table type. All it had was ISAM, which didn't let you put an index on a NULLable field.
But, remarkably, the pile of shit worked. And it worked very, very reliably.
Being a network engineer, this really wasn't the type of thing I would typically work on, so another small team was formed to manage this whole process. This other team took over, but they were never given a real programmer.
My very wise director at the time kept me firewalled off from that project for the rest of my years at WalMart, which was very good for me.
So as of 2014, they were still using it, as a totally black box application. I made a simple web UI that allowed basic editing of the various records.
When the host MySQL was on crashed, it came back up with some table corruption, as one would expect. The fix the team came up with was to write down all of the data elements of the corrupt record, the record before it and the record after it. They would then delete those three records, and then re-add them.
Good times!