It actually frustrates me that Siri doesn't give a hoot whether you thank her.
I want to thank her a) because it feels natural and b) to tell her that she's actually got something right. She's usually less use than an ice kettle so I want us both to get a kick out of it when she's not.
Perhaps they'll add a thanks-awareness feature that will eavesdrop on your online conversations and thank you next time yyou're using it - "oh BTW, thanks for mentioning me to your friends on your blog" ... or y'know, maybe not.
It could actually have function value as it could trigger some positiveness in a bayesian filter, subsequently increasing results accuracy. I let you be creative about the negative sentences.
I got into college on an essay addressing essentially that topic. It was a while ago and discussed what emotions are appropriate when a talking ATM thanks you for banking. In a British accent.
The key for the everyday user probably won't be better AI, but rather the achievement of more natural interaction rhythms. People cajole, beg and bargain with their cars, computers, baseball teams; with no response expected, the rhythms are conversational (if wry).
The one second press-and-hold, then the three second wait for response, are obstacles that keep Siri removed. Once those limitations are inevitably gone, and one can immediately say "thanks" and hear a naturalistic response in less than half a second (like Malkovich in the commercial where "time sequences are shortened"), the illusion will be a strong one. Statefulness, ubiquity, and responsiveness will be a powerful UX combination. To the degree Siri interaction becomes naturalistic, we'll probably say "please" and "thanks" much as we do in everyday speech.
Seems like those changes will just cause us to enter a stage where we'll hit the uncanny valley. What Siri seems to overcome is some of the social awkwardness around voice interaction, but the last mile, so to speak, will be much more expensive to overcome.
Where the (freezing) hell? Not even in the Uruguayan Antarctic base does it get to -55C (my personal worst has been -17C, and I've been to Canada and the Austrian Alps).
Gives me a bit of a "ghost in the machine" feeling here. You created something interesting on a whim, gave it life, and sent it off into the world. Unbeknownst to you, it chugged on, somehow successfully urging people to use it. It did this mostly on its own.
I'm sure there's a white paper or talk on the life developers give their software...
What keeps hitting me over and over is I created something very basic, very quickly for myself and now years later people actually rely on it to run their business. I felt so guilty getting that call...I felt as if I had let this women down even though I had never met her. The site was probably down for a couple of days...how many other people did I let down? How many people lost money or sleep because I failed them?
I can sympathize, I feel this way whenever something I've built for a large audience doesn't work. I feel as if I let them down.
With that being said, perhaps you could make it easy for these users to let you know when it doesn't work. Set up multiple easy lines of communication (twitter, sms through google voice, email, etc..). Find a good, free, monitoring service.
Based on what you told us in the article, this service has been cruising without issue for quite some time. That's better uptime than most projects ;-)
You might want to consider setting up some basic monitoring. If you don't have much time to put into this, you get one free watcher with Pingdom (no affiliation other than that they watch my website for me), and you'll get an email if the site goes down again.
There is a lesson in this for many programmers. Cool features and complexity are not what's important. What is really important is that the user can do their job.
What's trivial for a software developer can be life changing for a non-technical user.
Even though I've been programming for 20 years and it seems very mundane now, I am still regularly sometimes struck by the amazement when I'm reminded about how much code I still have out there running, and how much actual work it continues to get done despite the world changing around it and the now-obvious-to-me engineering deficiencies. Digital computers and software are truly an amazing achievement that transcend humanity's inherent ability to create systems.
The nice takeaway from it is that the code you wrote works perfectly well for a large number of people and is obviously stable and bug-free enough for them to use it for their businesses. Code isn't about hammering out new features or moving fast and breaking things.
And if it's written in Perl looking at the source code again might break it so I wouldn't do that.
I don't remember all details. My co-workers searched to understand the bug and he discovered that changing the creation date for just some second made the bug disappear. I then discovered he called the function with a bad argument. Strangely using an integer instead of a time object (I am not sure about that but you get the idea) will render the exact same result most of the time. I corrected the bug by using the right function call. I then tried a brute force search to discover for how many time the bug occurs. And if remember well there were two close period of a few second each during wich the function bad called render a different result. It was something like 17 second and 3 minutes later another 10 second. I believe I simply tried for the current year. I might have tweeted about it some years ago.
Maybe you should keep it, not touch the code, and consider a new mission to do some marketing experiments with your 2 hours on the train every day... who knows what might happen
you will definitely want to cache the post, my HN posts that have staying in the top 10 spots for a few hours easily get 600 simultaneous so you can probably expect the same. good luck!
If there is one thing that you do need to do, its turn off the support forum. Its full to the brim with spam, and is (probably) the only part of the site that actually does need continuous attention. Otherwise, congrats!
I don't think a new feature has been added in about 5 years and it barely seems maintained, there have been a few day-longish episodes of downtime but other than that it works great.
It has all the features I need and am used to, and I don't have to worry about the product constantly changing. In a way it's almost better to use a neglected product.
Good article and a good reminder of how what is just a side project to the creator can be so important to its users.
It looks as if he's updated his forum software about as regularly as the site's main code because it's full of spam (http://forum.invoicejournal.com/). Might be worth fixing that as the consistent number of sign-ups and invoices suggests there is a community of users there to be fostered.
The first contract program I wrote was when I was 17 years old. I was working at a service station changing oil. Some guy comes through who wants to stand around while I do the work (it happens) so we struck up a conversation.
Turns out he was a bookkeeper and had just purchased an Apple IIe and wanted to use it for his clients. I knew nothing about accounting, he knew nothing about computers, so it seemed like a good match :)
Four weeks of spending free afternoons at his shop, and it was ready to go. He was happy and I had 200 bucks in my pocket. Life was good.
Almost 20 years later, I get a call from him. He says the program isn't working so well and he wants to upgrade. I'm like WTF? Does anybody in the universe still even have a working Apple II anymore? Why would he keep using something like that for 20 years?
He told me that as computers modernized, it became a bit of a status symbol to have an older-looking system spewing out reams of reports. His customers, who were mostly small construction companies and such, got the feeling of stability and security from something that was unchanged.
It is a very strange feeling to get a call about code you wrote a long, long time ago. If I would have had any sense, I would have realized from the experience that programming is normally an extremely tiny part of actually making a business work. But it took me many more years to figure that one out.
My uncle works at helicopter factory nearby as technician, part of his job is to maintain old database that keep temperature readings from meters inside some oven for making plastic parts (hull, etc).
The system works on old PC with MS-DOS, and database is in clipper. I think the system works for at least 15 years already.
I have a similar story. Fresh out of college (in a non-computing related discipline) I went to work as a temp for a gas pipelining company. Their data entry system was obscenely awful- an Access database that was used like an Excel spreadsheet- entering in the same data over and over again in different forms. So, I optimised it. Added some forms. Made report templates that printed out automatically. Eventually I stretched the limits of Access and turned it into a full VB.NET (shudder) application. I tried to get the IT department involved but they refused to have anything to do with it- I couldn't even install Visual Studio Express because I didn't have admin rights on my machine- I had to use SharpDevelop.
All this happened while I was still an "administrative assistant" on a temp wage. After a time, I left- it was time, and in any case they'd said that my work was going to be replaced by an integrated SAP solution that would span the entire company's workflow. I moved on, got a much better job and have been programming off the back of that original job ever since.
This was in 2006. I spoke to a former co-worker for the first time in years about six months ago, who told me to my jaw dropping surprise that they were still running my application. Aside from anything else, I was blown away that the thing still worked. There's a certain morbid curiosity that makes me want to look at the code I wrote back then, I'm sure I would cringe. But hey, it's still going.
This is one of the biggest things I'm grateful my mentor drilled into me: Never make a quick and dirty solution that anyone else (especially management!) sees -- it will become the final solution.
You know, the great thing about learning is that everything you learn turns out wrong. And after that the next thing will be that you learn that it's wrong that it's wrong. And so on.
So guess what, you will probably learn next that quick and dirty is an amazing thing. Sometimes the morbid, buggy stuff is exactly what's needed and a well designed solution wouldn't scale to it's task or wouldn't be used because it's so clean.
Stewart Brand's book How Buildings Learn: What Happens After They're Built has a great chapter on MIT's Building 20.
> Building 20 was a temporary wooden structure hastily erected during World War II on the central campus of the Massachusetts Institute of Technology. Radiation Laboratory member said, "At one time, more than 20 percent of the physicists in the United States (including nine Nobel Prize winners) had worked in that building".
> Due to Building 20's origins as a temporary structure, researchers and other occupants felt free to modify their environment at will. As described by MIT professor Paul Penfield, "Its 'temporary nature' permitted its occupants to abuse it in ways that would not be tolerated in a permanent building. If you wanted to run a wire from one lab to another, you didn't ask anybody's permission — you just got out a screwdriver and poked a hole through the wall".
this building gets mentioned in a lot of management books and "where good ideas come from" to illustrate a good collaborative environment. it has been replicated by quite a few places with various degrees of success. its main function is that there are no permanent work places so that people are forced to collaborate. This has not always worked out well.
could it be that MIT happened to have a lot of smart people and they created good things while working in building 2.0, and they would have created just as many great things if they worked in another building?
maybe im just extra skeptical because im currently reading "Fooled by Randomness" :)
Good point. It can be easy to conflate cause, effect, and coincidence.
The lesson I take from the story is that the smart people had extreme freedom to pursue their research. I don't think a university can just create a dumpy building and hope to produce some Nobel prizes. <:)
It's quite possible that the building was special and did have an effect that was lost when people tried to replicate it. Trying to replicate things is usually a losing game.
For example, I bet they didn't replicate its temporariness or the fact that you could make holes in it.
Ha, well it was written in VB.NET, so that alone ought to make me cringe. And I was building on my existing knowledge of VBA, so...
Apparently a few years ago they had a minor panic because they realised they had no idea where the database was actually stored. I'd gotten some MSSQL space from the (outsourced) DB guys- the guy who gave me the space had also, of course, left. Fun times...
i've seen some great software built in vb.net including a real time trading platforms capable of near high frequency execution speeds connected to 10 exchanges simultaneously.
i personally don't care for vb.net because of its notation, but i don't think it's THAT bad. you're making it sound like it was written in vb6
I wrote a manufacturing pull system in VB 6.0 + Access for the application database. That was all they had to work with there ( or more correctly all they wanted to work with.. ) It handled a stupid number of queries per month and was very reliable.
It's important to have good tools, but a robust design beats all imho.
This story (and others on this page) should drive home the point about how little most businesses really care about technology. If it solves a problem, they do not care about the hardware, programming language, database, user interface, etc. Look how many business applications still use character-mode interfaces (most banking, insurance, stock/inventory systems, etc). Why? They work.
This is exactly how I got my start in software. I was hired to walk a warehouse at a furniture retailer and take inventory with pencil and paper. At this time I had 0 computer experience.
Soon I was voluntarily transferring the paper to spreadsheets and printing them out. Next was a starbase db with a simple form on a laptop.
A year later I had built a custom system with a mysql database, barcode scanners at the arrival and departure gates and automatic email reports to the owner.
It is because of this that I was able to get to move on to another company to be hired as a software developer without a college degree.
Ditto. I did some temp work for a Big Dumb Company that was trying to manage compensation on a gigantic Borland Quattro Pro spreadsheet. I sold them on converting it to Paradox, bought a book on programming in Paradox and haven't looked back since.
Actually the lesson to learn is charge monthly subscriptions.
Actually that's a little unfair. The thing is these are businesses where (presumably) vital parts are left to fester. I presume because the management 'dont get it', but every business has these corner cases, and odd parts. I think the foolishness of ERP was ever daring to dream it could be solved monolithically.
THe future surely is a form of SOA where some guy in accounting can write a crappy service, authenticate it globally and plug it into the enterprise directory system.
But this really assumes everyone working will be able to program. Just like we assume everyone at work can read.
I know someone who went to work for a small company in the early 70s and among other things wrote a cron job in PL/1.
She came back to the same company 30 years later in a much more senior position. And out of curiosity checked to see if any of her old code was still there. She found that cron job she had written in a language that she no longer knew and found that it had never been touched. She asked why not, and was told it never broke.
Unfortunately that company imploded in the mortgage crisis, so her code is probably no longer running.
Loved your story. And because it's what we do here, I'll mention my best similar war story. I created a bowling alley scoring system in, I think, 1990. It was basically an embedded system, using commodity PCs (one PC per two lanes) networked together with a master PC running another one of my programs as a check-in and control console.
I used Turbo C V2 I think it was, with my own home rolled DOS windowing library of the kind that was ubiquitous at the time. Basically it was a smell-of-an-oily-rag development for a friend of mine who had taken over a near derelict 20 lane bowling alley and was upgrading it from "manual" scoring to "computer" scoring but couldn't afford a 100K "automatic" scoring system from Brunswick or the other big player (can't remember their name).
Anyway, it was a successful and fun project, but after 8 years or so the bowling alley was gutted by fire. Years later I was travelling through a small provincial town and saw a 10 pin bowling alley. Something told me to stop the car and go in. What do you know, there was my whole system, lanes plus controller, running a small 8 lane setup. Talking to the guy (potentially a mistake, what if he wanted after sales service :- ) it transpired he'd bought the equipment in the (literal) fire sale and figured out how to hook up the network and get it all going. He'd even split it in two and got it running another system in another nearby town. I was seriously impressed that he'd managed that actually.
I am a rationalist and have no truck in telepathy, crystals, or other such related craziness. Coincidence and the law of large numbers explains everything.
...but once in a blue moon I hear a story like this and do have a niggling thought: maybe the universe is much deeper and weirder than we think. And/or the grad students who are running the simulation we all exist in like to play tricks on us from time to time. ;-)
I don't disagree with you, but I would note that I don't really like bowling as such (I rolled a few games when I was working on the system, but never really got any good or enjoyed it that much). So no, I don't make a habit of going into bowling alleys.
I am also a rationalist and similarly have no truck etc. But this was a rather weird experience, in the sense that I clearly remember some inkling that I should check out this bowling alley, for some unexplained reason. And no, I have no particular interest in bowling and would not normally go near a bowling alley.
Whilst on a university placement doing some web coding and databases work, the guy in the office next to me was having real problems with his website.
Being curious, I asked for the URL and took a look. A classic ASP and Access database powered website that was probably held together by bubblegum. He had outsourced the work to a Chinese company because they were cheaper than UK based companies (important point for later).
The site was full of every web security hole known. Mainly lots and lots of SQL injection holes.
He asked if I could fix the pile of garbage and I honestly couldn't, I don't like rewriting but when its an old (this was 3 years ago) tech with no English comments and their code quality zero, copy pasting everything.
So in the evenings and weekends for a month I rewrote it to ASP.NET MVC (1.0, latest at the time) and SQL Server. I got him to select a template off Themeforest for $15 that I reworked slightly (and badly, I'm not a designer).
He is happy, I am happy with £500 for my work. I finish my placement and go back to university but came back to my placement for another year to do a startup idea. He had moved offices and we have very little contact.
After finishing university and 2 years later, I join a "Soul Destroying Corp" (not the one you are thinking of) and decide that isn't what I want to do with my life, so I setup my business and tell him that I'm now doing my own thing and looking for clients.
Turns out my weekend/evening £500 website generated him around £500,000+ in revenue (not profit) and his business grew from just him to 5 people. All his sales leads came through the website.
From September last year till now, I have rewritten it and we are automating more of his "manual" (lots of Word, Excel and paper) to be totally automated or a few mouse clicks.
Wow, when I think back, that website was terrible but it worked well for 2 years and grew his business. Huge ROI for him but now he is paying me back by hiring me to rewrite/automate more of his business.
Agile software development must be a conspiracy theory. When a corporate IT manager keeps hearing "embrace change..." whisper all around him, he starts thinking that there must be something wrong with their piece of software that's been running just fine for years. I guess it's good for economy though.
Business needs change. New suppliers with new requirements come in, it has to be adjusted to this accounting change, that personnel change, and Maggie retired, and she knew all the ins and outs of the system better than the current programmers.
That said, if we all went back to keyboard interfaces, green on black screens, and people who used the same software for 10 years and got used to its "quirks", software development would be a lot easier. ;)
Look at the PCs in your bank or an airline, most of them are jut screen scraping a mainframe app that thinks it's talking to a bunch of IBM3270 terminals
>mainframe app that thinks it's talking to a bunch of IBM3270 terminals...
...and runs in the simulator.
My bank upgraded from the mainframe though about 5 years ago. This was a painful experiences for everyone, including customers. And now they generate account numbers longer than 6 digits, and customers have to remember longer numbers, appalling.
I can personally* confirm that that is exactly how sites like Orbitz and Cheaptickets worked 4+ years ago. Lots of Java and Linux up front. But deep in the back a bunch of 3270 terminal scrapers to mainframes. But that was then. Hopefully they've upgraded those things by now. Despite the principle of "if it ain't broke, don't fix it" there's also the issue of decreasing compatibility and decreasing availability of folks who know how those things work and can maintain them.
(* If you've bought air tickets or made car rentals on either of those sites, at least back during that era, it's almost guaranteed my code touched your transaction at various points in the search and booking lifecycle.)
What I was saying is that we could build software more quickly if we kept to 3270 interfaces and relied on extensive user training. I know that many moving companies are probably still using software developed for an AS400, and manufacturing still has old software lying around.
We just wouldn't start a new project like that. Software is taking the same amount of time because we keep expecting more from our software.
I went into a Whole Foods near my house that was built a few years ago. In the checkout line I looked over and could see their 'terminals' in the customer service section. There were 2 and they we're both running some text window app on XP.
Naturally I thought, that OS came out 10 years ago, has been end-of-lifed, this is a fairly new store, and the eol software is connecting to some text-based something somewhere - who knows how old that part is?
I have a friend that worked for an auto supply-something company that would remote into their customers computers. He would tell me (this was about 3 years ago) that he couldn't believe some of the ancient stuff he would come across on those systems. Tons were Windows95, lots of them had malware running on them, and the business owners somehow kept their business going.
I'm not talking so much about old programs that just run, but more about how businesses can keep old stuff hanging around. Even with malware and such on it. It's obviously just another tool to keep the cash flow coming in. Can't blame them, but such a huge contrast to my day to day which is usually working on/with the latest of everything.
I have 2 products in a similar-ish situation, both of which I don't even remember where the source repo is to make a bugfix even if I had to....
But after a few outages that I had no clue about until days had passed, I did learn to sign up for Pingdom so I can at least reboot apache within an hour of the site going down
10 years ago I wrote a sales system in Perl with a couple of friends. We charged something like US$750 (it was really simple: uses a hash instead of a database). It is still going strong (no bugs reported) and about US$500.000 has been sold with it. That's what I call ROI and stability!
Totally off topic, but I really dislike how ruby (and I guess others?) has popularized the word hash to mean a hash table. I stare at that sentence for a good two minutes thinking "how does someone use md5/sha etc instead of a database???" before I realized what was meant. There are plenty of good (and well known) unambiguous names for this data structure that I really don't understand why it needs to be given a name that's in common use to refer to something different (and only kind-of related really). Some alternative names that have been in common use since the dawn of time are hash table, hash map, map, dictionary or associative array.
This is the living proof that the "web app market" is really stratified and the value perception within each customer group varies immensely. Who would tell that a 4 year old scope of features could keep a product alive? Who could possible agree that a system that supports thousands of accounts could survive without "hygienical" processes like OS/DB maintenance, bug fixing etc.? Who could imagine a product with a growing adoption/acceptance not having paid options included as plans to leverage revenue in the long run? Uff, this is all mind bogging to me. Congrats to the author though, this is an incredible story!
Zombie projects are fun. I created this in 2006 and haven't changed any of the code since, other than the copyright date (in 2010 - I guess I should update that).
I know, and you don't have to. (Actually, you don't even need the copyright notice at all -- copyrights are valid without it -- but it's a good idea anyway.)
In fact, you shouldn't update it. If you write something in 2002, someone steals the code in 2005, and in 2007 you change the copyright to read "copyright 2007", then later it becomes an issue, the person who stole it can claim "Look, my version is earlier!" and you'll have to go through the explanation of what happened and perhaps provide proof of it, which is an argument you wouldn't have had to make if you'd just left the copyright notice alone.
Theoretically, the copyright date tells you when the copyright will expire: a work Copyright 2000 will become public domain ten years sooner than one Copyright 2010. However, since neither of those seem likely to ever expire in the first place, this mostly only matters with very old works (around the start of last century).
Thanks for post! I found this very inspiring including some of the comments, since it shows that solving a real need almost builds a business itself with grateful consumers. It also does not require the latest and flashiest software tools. I wish there was a blog that reported these little small projects that are basic and solve a real need without facebook logins flying around and asking me to import my address book.
136 comments
[ 3.9 ms ] story [ 74.3 ms ] threadThank you, alarm clock! Thank you, spoon! Thank you, hammer!
In any case, thank you for the post, and thank you even more for keeping this kind of service running for so long :)
I want to thank her a) because it feels natural and b) to tell her that she's actually got something right. She's usually less use than an ice kettle so I want us both to get a kick out of it when she's not.
The one second press-and-hold, then the three second wait for response, are obstacles that keep Siri removed. Once those limitations are inevitably gone, and one can immediately say "thanks" and hear a naturalistic response in less than half a second (like Malkovich in the commercial where "time sequences are shortened"), the illusion will be a strong one. Statefulness, ubiquity, and responsiveness will be a powerful UX combination. To the degree Siri interaction becomes naturalistic, we'll probably say "please" and "thanks" much as we do in everyday speech.
Hope I'm wrong though.
(Starting your car at -55C is not a good idea, even when it has >300W of heaters keeping it warm.)
Id be very interested in taking this over and looking after it properly. Please shoot me an email and maybe we can talk about it.
Thanks Tam Denholm contact@tamdenholm.com
It isn't clear though- is this a paid service?
I'm sure there's a white paper or talk on the life developers give their software...
With that being said, perhaps you could make it easy for these users to let you know when it doesn't work. Set up multiple easy lines of communication (twitter, sms through google voice, email, etc..). Find a good, free, monitoring service.
Based on what you told us in the article, this service has been cruising without issue for quite some time. That's better uptime than most projects ;-)
What's trivial for a software developer can be life changing for a non-technical user.
And if it's written in Perl looking at the source code again might break it so I wouldn't do that.
It occurred only 27 second by year! Just to think about the probability to detect it knowing the code is used only about twice a week.
Java: Write once, run anywhere
Perl: Write once, run away
http://blog.historio.us/how-we-got-100000-visitors-without-n...
Oddly, I think that's a great definition of "systems software."
https://encrypted.google.com/search?q=site:news.ycombinator....
I don't think a new feature has been added in about 5 years and it barely seems maintained, there have been a few day-longish episodes of downtime but other than that it works great.
It has all the features I need and am used to, and I don't have to worry about the product constantly changing. In a way it's almost better to use a neglected product.
It looks as if he's updated his forum software about as regularly as the site's main code because it's full of spam (http://forum.invoicejournal.com/). Might be worth fixing that as the consistent number of sign-ups and invoices suggests there is a community of users there to be fostered.
Turns out he was a bookkeeper and had just purchased an Apple IIe and wanted to use it for his clients. I knew nothing about accounting, he knew nothing about computers, so it seemed like a good match :)
Four weeks of spending free afternoons at his shop, and it was ready to go. He was happy and I had 200 bucks in my pocket. Life was good.
Almost 20 years later, I get a call from him. He says the program isn't working so well and he wants to upgrade. I'm like WTF? Does anybody in the universe still even have a working Apple II anymore? Why would he keep using something like that for 20 years?
He told me that as computers modernized, it became a bit of a status symbol to have an older-looking system spewing out reams of reports. His customers, who were mostly small construction companies and such, got the feeling of stability and security from something that was unchanged.
It is a very strange feeling to get a call about code you wrote a long, long time ago. If I would have had any sense, I would have realized from the experience that programming is normally an extremely tiny part of actually making a business work. But it took me many more years to figure that one out.
Thanks for sharing
The system works on old PC with MS-DOS, and database is in clipper. I think the system works for at least 15 years already.
All this happened while I was still an "administrative assistant" on a temp wage. After a time, I left- it was time, and in any case they'd said that my work was going to be replaced by an integrated SAP solution that would span the entire company's workflow. I moved on, got a much better job and have been programming off the back of that original job ever since.
This was in 2006. I spoke to a former co-worker for the first time in years about six months ago, who told me to my jaw dropping surprise that they were still running my application. Aside from anything else, I was blown away that the thing still worked. There's a certain morbid curiosity that makes me want to look at the code I wrote back then, I'm sure I would cringe. But hey, it's still going.
So guess what, you will probably learn next that quick and dirty is an amazing thing. Sometimes the morbid, buggy stuff is exactly what's needed and a well designed solution wouldn't scale to it's task or wouldn't be used because it's so clean.
> Building 20 was a temporary wooden structure hastily erected during World War II on the central campus of the Massachusetts Institute of Technology. Radiation Laboratory member said, "At one time, more than 20 percent of the physicists in the United States (including nine Nobel Prize winners) had worked in that building".
> Due to Building 20's origins as a temporary structure, researchers and other occupants felt free to modify their environment at will. As described by MIT professor Paul Penfield, "Its 'temporary nature' permitted its occupants to abuse it in ways that would not be tolerated in a permanent building. If you wanted to run a wire from one lab to another, you didn't ask anybody's permission — you just got out a screwdriver and poked a hole through the wall".
http://www.usablebuildings.co.uk/Pages/Unprotected/MITBldg20...
https://en.wikipedia.org/wiki/Building_20
could it be that MIT happened to have a lot of smart people and they created good things while working in building 2.0, and they would have created just as many great things if they worked in another building?
maybe im just extra skeptical because im currently reading "Fooled by Randomness" :)
The lesson I take from the story is that the smart people had extreme freedom to pursue their research. I don't think a university can just create a dumpy building and hope to produce some Nobel prizes. <:)
For example, I bet they didn't replicate its temporariness or the fact that you could make holes in it.
Apparently a few years ago they had a minor panic because they realised they had no idea where the database was actually stored. I'd gotten some MSSQL space from the (outsourced) DB guys- the guy who gave me the space had also, of course, left. Fun times...
i personally don't care for vb.net because of its notation, but i don't think it's THAT bad. you're making it sound like it was written in vb6
It's important to have good tools, but a robust design beats all imho.
Soon I was voluntarily transferring the paper to spreadsheets and printing them out. Next was a starbase db with a simple form on a laptop.
A year later I had built a custom system with a mysql database, barcode scanners at the arrival and departure gates and automatic email reports to the owner.
It is because of this that I was able to get to move on to another company to be hired as a software developer without a college degree.
Actually that's a little unfair. The thing is these are businesses where (presumably) vital parts are left to fester. I presume because the management 'dont get it', but every business has these corner cases, and odd parts. I think the foolishness of ERP was ever daring to dream it could be solved monolithically.
THe future surely is a form of SOA where some guy in accounting can write a crappy service, authenticate it globally and plug it into the enterprise directory system.
But this really assumes everyone working will be able to program. Just like we assume everyone at work can read.
She came back to the same company 30 years later in a much more senior position. And out of curiosity checked to see if any of her old code was still there. She found that cron job she had written in a language that she no longer knew and found that it had never been touched. She asked why not, and was told it never broke.
Unfortunately that company imploded in the mortgage crisis, so her code is probably no longer running.
I used Turbo C V2 I think it was, with my own home rolled DOS windowing library of the kind that was ubiquitous at the time. Basically it was a smell-of-an-oily-rag development for a friend of mine who had taken over a near derelict 20 lane bowling alley and was upgrading it from "manual" scoring to "computer" scoring but couldn't afford a 100K "automatic" scoring system from Brunswick or the other big player (can't remember their name).
Anyway, it was a successful and fun project, but after 8 years or so the bowling alley was gutted by fire. Years later I was travelling through a small provincial town and saw a 10 pin bowling alley. Something told me to stop the car and go in. What do you know, there was my whole system, lanes plus controller, running a small 8 lane setup. Talking to the guy (potentially a mistake, what if he wanted after sales service :- ) it transpired he'd bought the equipment in the (literal) fire sale and figured out how to hook up the network and get it all going. He'd even split it in two and got it running another system in another nearby town. I was seriously impressed that he'd managed that actually.
I am a rationalist and have no truck in telepathy, crystals, or other such related craziness. Coincidence and the law of large numbers explains everything.
...but once in a blue moon I hear a story like this and do have a niggling thought: maybe the universe is much deeper and weirder than we think. And/or the grad students who are running the simulation we all exist in like to play tricks on us from time to time. ;-)
We also don't know how many other bowling alleys he's gone into - he presumably likes bowling.
Whilst on a university placement doing some web coding and databases work, the guy in the office next to me was having real problems with his website.
Being curious, I asked for the URL and took a look. A classic ASP and Access database powered website that was probably held together by bubblegum. He had outsourced the work to a Chinese company because they were cheaper than UK based companies (important point for later). The site was full of every web security hole known. Mainly lots and lots of SQL injection holes. He asked if I could fix the pile of garbage and I honestly couldn't, I don't like rewriting but when its an old (this was 3 years ago) tech with no English comments and their code quality zero, copy pasting everything.
So in the evenings and weekends for a month I rewrote it to ASP.NET MVC (1.0, latest at the time) and SQL Server. I got him to select a template off Themeforest for $15 that I reworked slightly (and badly, I'm not a designer).
He is happy, I am happy with £500 for my work. I finish my placement and go back to university but came back to my placement for another year to do a startup idea. He had moved offices and we have very little contact.
After finishing university and 2 years later, I join a "Soul Destroying Corp" (not the one you are thinking of) and decide that isn't what I want to do with my life, so I setup my business and tell him that I'm now doing my own thing and looking for clients.
Turns out my weekend/evening £500 website generated him around £500,000+ in revenue (not profit) and his business grew from just him to 5 people. All his sales leads came through the website.
From September last year till now, I have rewritten it and we are automating more of his "manual" (lots of Word, Excel and paper) to be totally automated or a few mouse clicks.
Wow, when I think back, that website was terrible but it worked well for 2 years and grew his business. Huge ROI for him but now he is paying me back by hiring me to rewrite/automate more of his business.
That said, if we all went back to keyboard interfaces, green on black screens, and people who used the same software for 10 years and got used to its "quirks", software development would be a lot easier. ;)
...and runs in the simulator.
My bank upgraded from the mainframe though about 5 years ago. This was a painful experiences for everyone, including customers. And now they generate account numbers longer than 6 digits, and customers have to remember longer numbers, appalling.
(* If you've bought air tickets or made car rentals on either of those sites, at least back during that era, it's almost guaranteed my code touched your transaction at various points in the search and booking lifecycle.)
We just wouldn't start a new project like that. Software is taking the same amount of time because we keep expecting more from our software.
Naturally I thought, that OS came out 10 years ago, has been end-of-lifed, this is a fairly new store, and the eol software is connecting to some text-based something somewhere - who knows how old that part is?
I have a friend that worked for an auto supply-something company that would remote into their customers computers. He would tell me (this was about 3 years ago) that he couldn't believe some of the ancient stuff he would come across on those systems. Tons were Windows95, lots of them had malware running on them, and the business owners somehow kept their business going.
I'm not talking so much about old programs that just run, but more about how businesses can keep old stuff hanging around. Even with malware and such on it. It's obviously just another tool to keep the cash flow coming in. Can't blame them, but such a huge contrast to my day to day which is usually working on/with the latest of everything.
But after a few outages that I had no clue about until days had passed, I did learn to sign up for Pingdom so I can at least reboot apache within an hour of the site going down
If you haven't committed to a decision with it, give me an email (it's in my HN profile).
regards, Paul
http://passwordchart.com/
I didn't add Google Analytics until 2008 but here are the stats since then:
I get one or two thank yous a year from people that get my email from my whois entry.In fact, you shouldn't update it. If you write something in 2002, someone steals the code in 2005, and in 2007 you change the copyright to read "copyright 2007", then later it becomes an issue, the person who stole it can claim "Look, my version is earlier!" and you'll have to go through the explanation of what happened and perhaps provide proof of it, which is an argument you wouldn't have had to make if you'd just left the copyright notice alone.
© Copright 2006-2010
Probably dumb but I do find myself looking in the footer of sites to see how active it is.
It's actually not a bad template. To the point.