Hacker News new | past | comments | ask | show | jobs | submit login

When I had to integrate a system at a customer site there was one service which was so slow and crappy that we joked it had been written in Excel.

Later we found out this was actually the case. At first somebody manually tracked stuff in a sheet. Then somebody added scripts for business logic. Another layer of scripts for policy enforcement. Then some other department requested automation, so it got a SOAP API hacked on top of this (COM underneath? I think that's how you access Excel from other apps?).

I wonder how many other Excel sheets are secretly workhorses for big services.




In the earlier days of my career, I was tasked with automating a large daily accounting task. Essentially, a team of accountants was copying and pasting values outputted by the company ERP system into a spreadsheet. The ERP used an in-house database, and without intense reverse engineering it was only accessible via the internal programming language. Whilst the language did allow for File IO there was no real way to access the ERP without opening the GUI, so I wrote a dreadful little VBA script which invoked a logon for a dedicated user as a background session on a company server. When this user logged on, another little batch file opened the ERP GUI, opening the GUI triggered an action in the internal ERP language which checked to see if the username matched the special user. If so, the ERP began a vast series of complex calculations, spitting out the results to a series of files which were then read back by the VBA and populated the spreadsheet. The batch file on the background session would automatically log the session off after a pre-set time. Whilst this was all going on, the user in the spreadsheet was presented with a progress bar. If memory serves, I even had some primitive locking mechanism to prevent multiple people running this process at the same time.

I think it ranks as the most hilarious (from a technical perspective) piece of work I've ever done. To my surprise, the solution was quite robust, and was being used on a daily basis by the CFO and other accountants. Even more surprising is that it carried on working for years, even long after I'd departed the company. Thinking back to that still makes me smile :)


Something like this is how I got my start programming. I was gobsmacked at how fragile it was, started looking for ways to harden/improve it, and went down the rabbit hole.


In my naive junior days I've reimplemented some excel sheets in php/mysql/javascript (plain js, without any frameworks) but it essentially worked and behaved exactly like those sheets. It took about 10min to recalculate all of the data (essentially summarizing all sheets from 600 car dealerships through 4 sheet levels plus some light analytics, should take max 5s with proper programming) and used 8gb of memory (biggest server for a webdev) but it worked. So if someone joked that it was excel underneath - it was half of excel implemented in php because we could not get actual excel to work properly with php COM.


> COM underneath? I think that's how you access Excel from other apps?

I've seen it manually implemented, but the easiest way IS typically via the COM interfaces.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: