Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

    I mean, we are running Access in Wine in X11 on Linux in an isolated
    user account on our server slice that revision controls your Access
    database in git, and we're displaying it using VNC in your web browser
    in flash.
If you asked me to describe the glue-code hackery project I would want to work on least in the whole world, I would have come up with something like that. There are probably uglier projects around, but I don't have the creative masochism to think of them.


This is actually great. They had a bunch of problems to solve with limited interface options. They picked the simplest combination of options, found the solution worked and stuck with it. All too often I find myself looking at something and saying "ewww!" and writing my own code without exploring the other, less glamorous options.

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.


I love the continuation even more.

    People can't possibly want that. But they need it.


Necessity is the mother of invention, indeed. But, the invention can be heinous.

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.


You tell me. I work for an insurance company that bet the farm on Forté's 4GL technology (then bought by SUN and renamed Unified Development Server, and then killed).

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.


An even worse project would involve automating a GUI-only application by moving the mouse in recorded patterns, for sure.


Fun fact: back in the day, Bingo Card Creator's "CMS" was a script which drove a mouse around the BCC swing applet, printed the card to a software PDF driver, opened it in Acrobat Reader, hit "Print Screen" on the keyboard, opened MS Paint, used dragging the mouse to hardcoded screen coordinates to crop the card, saved it as a GIF, and then put the GIF and PDF in subversion to be uploaded to the website later.

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.


How much time did you lost over figuring out the recipe and scripting it?

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.


$150 for the script from somebody who did that thing for a living (apparently banks do this sort of hinge with regularity) and probably five hours lost to babysitting it and manually restarting when it hiccuped.


One of my daily tasks is to ssh into a remote Windows server, port forward the RDP port, connect to the local forward using remote desktop, close any dialogs about crashed drivers, open a java application that displays a KVM terminal connected to a serial port, and through the KVM control two separate devices with a series of magic key-presses to log into two accounts at the start of each day.

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).


How about doing just that, to automate entering a password in Outlook so that emails can be collected from Exchange (which would require the mail user's password to be entered if Exchange was restarted) with Outlook running in a Windows VM on a Linux box, and a custom app processing the emails and POSTing them to an API on the Linux host, where they were processed to extract structured data out of attachments?

That wasn't a fragile system AT ALL.


That's a funny coincidence. I worked at one of the author's earlier startups and wound up working on a project doing exactly this.


When looking at silent install files for ANSYS, I discovered that the install file simply records the keystrokes the user makes when a setup is recorded. That means that it also records any typos and backspaces. I must have really had trouble typing that license server name!


Like recording a macro in Excel? It is, I admit, uncomfortable.



Nah, there are tools to script that!


Okay, but isn't the actual opportunity to write a compiler that would transform Access apps into web apps (Rails or whatever)?

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).


Yeah, but by definition these customers don't know anything about Rails. And the way apenwarr describes it, these little Access projects are often done without anybody's approval, so getting an outside vendor involved will never happen.

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.


Yes, yes, it would.

But it would take a lot of developers a lot of time to build a reliable product. And nobody can afford that.


Am I the only one who was surprised that of all the pieces in that sentence, the author italicized "web browser" and "flash?" Those actually seem like the least hacky pieces to me, but I guess he highlighted those because they're at the end?


It was just a "rising emphasis" sort of thing. I hate all technology about equally.




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

Search: