This weekend I nearly slammed my head into the wall after spending half the day implementing and testing shared caching for my high volume distributed web scraper according to part 6 of the HTTP RFC (aside: I cannot believe how something so simple has been made so complicated)... only to remember I'd totally forgotten I could just stick a caching proxy server (e.g. nginx) in front of the scraper and have it do all the hard work. Later I remembered why I wanted to control caching, primarily to do with some future plans, but right now I could have gotten along just fine with a caching proxy server.
When I'm tired and not thinking straight I often dive straight into the next task without asking the right questions. I've been trying to get into the habit by creating tasks in PivotalTracker and looking over other stuff to remind myself of how much else there is to do so I'm forced to ask myself "is this really what I should be working on next?", but I still slip up even after YEARS of relearning this lesson. The annoying thing is I'm very good at planning and allocating tasks to a team, then managing their progress, but very inconsistent when I'm both the manager and developer.
People can't possibly want that. But they need it.My favorite encounter with such hacky tech was at an insurance broker's office. It was 3 years ago, and this company first of all still used 15" CRT screens (with burned-in images because they ran no screensavers). They opened up a remote Citrix session (which I only know because it took over a minute for the splash screen to disappear) which connected to a Windows 2000 server that displayed a vt100 terminal window that then connected to their insurance company mainframe. They couldn't use the mouse to navigate the interface, of course, only tab/alt-tab.
Somewhere there is disruption, but, really, where does one even begin? It's the technology equivalent of a court-appointed cleanout of a hoarders home.
http://en.wikipedia.org/wiki/Forte_4GL
so I'm stuck maintaining a few hundred applications which are hacks and workarounds on top of the obsolete enterprise software.
The pay is very good for my country but I'm looking for my way out.
That would be very high level and should interest many (very) talented hackers; and you could either licence it -- or sell each transformation for a very hefty price (the price of writing it again).
What the customer needs is exactly what apenwarr provided: they continue to update their Access db as they always have, but, BAM, it's also on the web now.
But it would take a lot of developers a lot of time to build a reliable product. And nobody can afford that.
It worked well enough to justify learning Rails and Prawn to rewrite the whole thing server side, after which point I rm -rf'ed the directory that script was in and deleted the backup so that its vengeful shade would never trouble humanity again.
Before I heard about configuration management, I had bash scripts to configure my server from clean state. I tried it locally hundreds of times to get every command right.
I automated this with Sikuli (http://sikuli.org/); the ninja feeling while watching it run was awesome (now it runs before I come into the office).
Sikuli made the job perversely fun, and the entire script is less than 100 lines of python. Highly recommended for any sort of GUI automation (though watch the dependency on Java 1.6; 1.7 doesn't work).
That wasn't a fragile system AT ALL.