hacker news with inline top comments    .. more ..    19 May 2016 Ask
home   ask   best   2 years ago   
Ask HN: Do you spend more time coding or debugging?
66 points by WillKirkby  6 hours ago   71 comments top 44
vbtemp 6 hours ago 4 replies      
I used to spend the vast amount of my time debugging.

Fast forward a few years - Experience, good programming habits, and the gratuitous use of assertions. Now I spend a negligible amount of time debugging, and it never ceases to amaze me how frequently things just work the first time.

Edit: I guess I want to say that there is one, and only one, bottom line: the relentless, ruthless pursuit of quality. It takes time to develop the good habits and watch for the pitfalls, but once you're there you develop your software products in a quarter as much time, with one tenth the stress, and everyone on your team feels proud of themselves and each other. Then with your free time you can focus on what's really important - your business and your life

ChrisBland 5 hours ago 2 replies      
Neither, I spend more time writing or thinking about tests. When I was earlier in my career I used to insert debug comments, run code, look at output to figure out what was going on. Now, I try to write my tests that will eliminate the need to debug. If I'm trying to fix a bug, the first thing I do is write tests for what should happen if the tests don't already exist and work backwards from there. If you get in a good habit of this, it just becomes natural and with today's toolchains you can re-run tests with a watcher to achieve a real time feedback loop, which is better than a debugger IMO. The plus side is going forward you always know that the code works vs just seeing it work that one time. As your application grows, something may change what the value of the debug statement output and you'll never catch it, but your test will. /old man rant
wyc 5 hours ago 1 reply      
From The Mythical Man-Month by Fred Brooks:

No parts of the schedule are so thoroughly affected by sequential constraints as component debugging and system test. Furthermore, the time required depends on the number and subtlety of the errors encountered. Theoretically this number should be zero. Because of optimism, we usually expect the number of bugs to be smaller than it turns out to be. Therefore testing is usually the most mis-scheduled part of programming. For some years I have been successfully using the following rule of thumb for scheduling a software task:

 1/3 planning 1/6 coding 1/4 component test and early system test 1/4 system test, all components in hand. This differs from conventional scheduling in several important ways:
1. The fraction devoted to planning is larger than normal. Even so, it is barely enough to produce a detailed and solid specification, and not enough to include research or exploration of totally new techniques.

2. The half of the schedule devoted to debugging of completed code is much larger than normal.

3. The part that is easy to estimate, i.e., coding, is given only one-sixth of the schedule.


heartsucker 5 hours ago 0 replies      
It seems a lot of people here are talking about debugging in the context of automated tests and manually stepping through debugger loops.

For me debugging usually means "figuring out why we had an outage." This means looking at: 1) application logs, 2) server metrics, and 3) source code associated with the failed applications.

I recently had to ssh and run ngrep on 8(!) servers to see how groups of messages passed around and then look at timestamps to correlate what happened. It was very tedious. This could have been saved by better debug logging; we could have switched that on for 2 minutes, run the tests, and and the looked at everything in Logstash.

When this happens, I end up spending a ton of time tracking down errors. On a bad week, this can be half my time.

So to me, debugging is as much thinking about how you'll have to solve errors in the future and planning for it as it is writing unit tests and tweaking code.

svec 1 hour ago 0 replies      
There are two phases to programming: bugging and debugging.
MaulingMonkey 1 hour ago 0 replies      

I've sunk a lot of time into trying to change this. Among other changes, I've:

- Improved crash dump collection, to spend less time reproducing bugs and be more thorough in addressing them.

- Improved code debuggability - for example, writing scripts to inject call stack information into actionscript and java via disassembly, which I can then display on assert, especially on platforms where I have unreliable or incomplete debuggers.

- Learn and use defensive coding techniques to make bugs fewer in number, shallow, and caught more quickly and with more context.

- Write thorough tests to catch said bugs before I even run my main application, and more edge cases to input

- Learned more tools to catch bugs I might not even know exist - valgrind, address sanitizer, static analyzers, fuzz testers, ...

I spend much less time debugging my own code now. If I'm lucky, I'll work on projects where I don't have to debug my coworker's code all that much either. That still leaves debugging 3rd party libraries and tools - which I may lack the source to entirely - that I suddenly have more free time to really properly investigate and get to the root cause of.

hibikir 4 hours ago 0 replies      
Definitely not debugging.

I am working on an existing distributed system with many moving pieces, which is rather prone to outages. This is fintech, so outages mean a lot of money for a lot of people. So my job involves overhauling the existing system, as I upgrade bits of the system slowly: A full rewrite at once would be madness, but I suspect nothing in the current system will remain in two years.

The biggest time sinks are stress testing any of the newer pieces that I try to bring in, followed by incident remediation. There's an incident that requires a human hand to fix it every couple of weeks or so, and I end up spending about three days each time writing better error handling code, adding observability and alerts, and if something is really recurring, writing automation to make the problem fix itself.

This is a fact of life in any distributed system that was written fast: People are start happy because it works most of the time, but as you want the 4th and 5th nine, you need people hardening the system. This is something that is very hard to do as you build anyway: While unit tests are good, there are entire layers of behavior nobody will be able to spec properly by looking one piece at a time, so stress testing, gamedays and such are the only ways to make sure not that the system works to a spec, but that we can even come up with a spec that behaves the way we want in practice.

There's value in evaluating scenarios in your head, but I've also seen what happens when mathematicians use that as their only weapon in a distributed system: Months are spent making sure the system is correct, but then lots of effort is spent on scenarios that are more theoretical than practical, and other scenarios are ignored, even though they occur a lot in practice.

In this respect, it's not very different from entrepreneurship: Getting an MVP out the door and doing things by hand instead of using automation is going to beat spending a lot of time making a product without having any idea of what the market really wants.

rufius 2 hours ago 0 replies      
Preface: I work with C/C++ the majority of my time. C#, F#, and PowerShell are the bulk of my remaining professional time. Go & OCaml/F# at home.

When I started, the bulk of my time was debugging my own code. I am gifted with the ability to write vast swathes of code in a short amount of time and when I was younger, it was vast swathes of shit code.

A little later into my career years 3.5-5, I spent more time coding and less time debugging. I designed my code better, used better patterns, and generally was just an all around better engineer.

I've come into the third stage of my career now where I spend a good portion of my time debugging junior engineers' code in a complex system I work on. In particular, my focus is usually in reliability and performance. I don't tend to debug the junior engineer one-off issues but rather the subtle regressions introduced by seemingly harmless changes.

In this third stage, I still write a lot of code, but much more of it is investigative and refinement over existing ideas with occasional injection of something wholly new.

khedoros 2 hours ago 0 replies      
A bunch of time planning the change and reading through the current version of the code, so that I can add things without breaking everything else (and/or understand the current behavior and the desired behavior, so I can repair the bug). About half as long actually writing new code, and then debugging iterations until the tests work again. Some time writing new tests for the feature. Some time fixing integration issues (occasionally). A fair amount of time dealing with customer escalations (usually tiny edge cases really messing stuff up at a customer's site).

So, they're all bugs, and in a sense, all coding is debugging. New-feature, regression, existing (from previous release), and escalation bugs. They're all basically the same thing: Identify the deficit, write a fix (includes what you might have meant by "debugging"), write tests to cover the changed behavior, check it in, deploy/release.

serg_chernata 6 hours ago 1 reply      
Sometimes I feel like I'm not writing code at all, just debugging till it works. :)
CM30 1 hour ago 0 replies      
Well, it's a fairly even split of both. But a lot of time is spent fixing projects that started as something really simple and immediately ballooned into some sort of bloated megaproject that ended up with no cohesive plan in regards to how anything would be tested.

Bonus points if the project started as one thing and pivoted to something completely different midway through development, and about 50% of the code is completely unused.

edw519 5 hours ago 1 reply      

 Analysis Programming Debugging Overhead ------------ -------- ----------- --------- -------- My Own Stuff 30% 60% 10% 0% Others' Code 50% 10% 30% 10% Enterprise 10% 10% 10% 70%

phamilton 5 hours ago 0 replies      
Debugging tests. It's the worst because the feTure took an hour to add with ita own tests, but a day and a half of debugging how the changes broke other tests.
lost_name 1 hour ago 0 replies      
Lately, it's mostly debugging. I rarely find debugging difficult (tedious at worst), and I like fixing real problems (vs building a new feature or component I don't see the reason behind) so that suits me just fine.

Honestly, I'm probably better at it than building new features anyway.

koolba 5 hours ago 2 replies      
Neither. I spend most of my time procrastinating and/or day dreaming.
hodwik 6 hours ago 0 replies      
I think a lot of debugging activities end up laying the framework for new features, so it's unclear how to separate the two.
zhte415 5 hours ago 0 replies      
Implementation (existing code) - 30%

 Maintaining - if this means soft feature creep, then 10% Maintaining - if this means bug fixes and other things, put in implementation, 5%
Creating nice PPTs and control documents about stuff - 30%

 I genuinely like this New functionality 20%, including sitting with users for new functionality requests, seeing their workflow
My main job. Having whittled this down to 20% of my day, I need to start ramping it up again. It is nice to have 10% time, and I loved 50% time, but 80& time may get discovered (though all time is dedicated to the company)

Other stuff. Like filling in timesheets, which assume hours can accurately be attributed to discrete tasks for discrete people any and all of the time.*

* Just set goals for staff. Do staff achieve their goals? If so, why timesheet? Or just timesheet roughly, my hour-by-hour 7 day per week sheet is a pain.

pbnjay 6 hours ago 0 replies      
I think it will really depend on the role.

- One project is in active development, and I probably spend about 70-80% of keyboard time coding with 20% debugging.

- A separate project is in maintenance mode, and obviously most of my time on it is debugging as bugs come in. So probably opposite, 70-80% debugging there.

- Sometimes feature extension requests come in, in which case it's probably closer to 50/50 on that project.

jlg23 5 hours ago 0 replies      
50% design, 25% coding, 20% documenting, 5% debugging

But I have the luxury to work in a result-oriented environment with people too experienced to fall for "agile". So I can spend half of my week in a cafe with pen & paper as long as the project is done by Friday night.

y1426i 2 hours ago 0 replies      
If you consider that the life of a software product is 5 years, it would typically take the first 3 months to build v1. So coding vs debugging would pretty much be in the same proportion. 3:60 in this case.
werber 3 hours ago 0 replies      
My work is 50/50 fixing other's people code and writing new code and personally about 10/90, it's so much easier to debug things for me when I get that memory spark from writing it the first time
VOYD 2 hours ago 0 replies      
Mostly coding & unit testing, but sometimes I hit an case where debugging becomes the focus for a while.

cough.NET Parallelismcough

twunde 5 hours ago 0 replies      
I spend most of my time debugging or extending old code, but then again I'm personally responsible for about 600,000 lines of undocumented code without any tests (but there are a lot of daily reports which act as monitoring checks). I will say that I rarely need to debug my own code, it's usually old code that needs to be updated due to a data change or business logic change
tombh 5 hours ago 1 reply      
I'm not sure there's much than can be concluded by someone's ratio. I definitely wouldn't assume that someone who spent more time debugging was a "worse" programmer.

There are certainly practices that reduce the amount of debugging, but it's all relative. Personally, the question for me is nearer something like;

> When is the right time to let go of my current approach?

govindpatel 5 hours ago 1 reply      
debugging. because coding is the easiest part.when I am asked to build any feature. I take some time thinking on what and how should I do (around 10%-20% of my time). Once I feel like I have a good idea I continue to code (But sometime when I start to code I spend more time on thinking on designing code, like best practises etc.) so I think like 30%-40% of my time go to coding and thinking about best code practises. But then comes the part where I really struggle DEBUGGING. Rest of my time go in debugging stuff,

But I am not sure how can I improve myself. I am not sure whether anyone faced this but I feel like the starters really feel the same way.

All fun lies in debugging I sometime love it. I find funny bugs in my code. But it is so time consuming and I really want to reduce that. Not sure how. Any help will be thankful.

sitkack 5 hours ago 0 replies      
I am currently integrating a handful of open source big data systems and frameworks, the breakdown of my time is

 60% debugging 15% stack overflow 25% email archives 15% commit logs 10% navigating code, spelunking 12% jira 5% writing tests to confirm config/state/feature availability 3% coding

aaronbrethorst 2 hours ago 0 replies      
Neither, reading and understanding occupies the bulk of my time programming, even when I'm reading and understanding code I wrote.
Krakulf 6 hours ago 0 replies      
Roughly equal, probably debugging takes more time (or at least it feels that way!).

Usually can get through a chunk of code no problems but when that 1 inevitable bug arises it will take up a lot of time through trial and error, stack overflow and just generally googling to find a solution.

id122015 6 hours ago 0 replies      
Not employed. As a hobby programmer I spend more time debugging. The larger the project the more debugging.
return0 6 hours ago 0 replies      
I wonder if there is a study about the percentage of time spent debugging as you become more experienced.
busterarm 6 hours ago 0 replies      
Between developing, extending and maintaining code, I'd say about 20%, 60%, 20%.

That said, I'd say only about one-third of my time is spent on code. I spend significantly more of my time doing operations work and having meetings.

lossolo 5 hours ago 0 replies      
Coding is only the tool, i don't spent much time coding, i spent a lot of time designing/analyzing then i spent time debugging/testing which takes more time than coding.
Ace17 2 hours ago 0 replies      
50% coding, 40% testing, 10% debugging.
LarryMade2 6 hours ago 0 replies      
Lot of planning then Coding and Debugging - theres a lot of refinement going on during the debugging process. So I cant call it just debugging.
democracy 5 hours ago 0 replies      
40% - coding50% - unit testing10% - debugging
lisivka 5 hours ago 0 replies      
I am spending most of the time on coding. Debugging is "waste".
edoceo 3 hours ago 0 replies      
80% implementation

80% maintenance

sickbeard 5 hours ago 0 replies      
Depends on whether I'm coding or debugging.
kyriakos 6 hours ago 0 replies      
debugging the platform so i can get 10 lines of my code to run
cindy68 5 hours ago 1 reply      
Am spend more time on debugging.
Nadya 2 hours ago 0 replies      
I spent more time in the planning stages, followed by debugging, followed by writing code.

I work in an environment where tests are unheard of. Most of the Javascript written is erring towards the "simple" side with many edge cases as it is all written for front-end web development. Things like calculating the size of the header, adding/removing classes based on certain user actions, managing Google Maps or having logic for complex forms.

Most things are several small (<10 line) functions.

The most complex thing I've built is a pre-qualification form. Thank god for moment.js, because I never thought it would be so difficult to calculate if someone is between the ages of 40 and 82 (or will be 40 by October 15th of next year).

known 3 hours ago 0 replies      
Before 40 Coding;After 40 Debugging;
rurban 6 hours ago 0 replies      
debugging. esp. not my code.
devnonymous 4 hours ago 0 replies      
Of all the answers here that provide stats, I wonder what percentage of those have actually measured the time versus just giving numbers that 'feel about right'. If there is one thing I've learned about stats it is that 96.60% of people's gut feel is usually wrong ;-)

That said, about the question asked. I can attest to the fact that in general thinking and writing good tests greatly reduces time spent debugging. Also, adding judicious and useful logging for the critical / edge cases helps a whole lot.

Ask HN: Should I be concerned about this job offer?
10 points by tossoutaccount  1 hour ago   9 comments top 8
gizmoguy 1 minute ago 0 replies      
In terms of the complexity of the app, I'd say to start looking into the kinds of technologies you'll need to fulfil the requirements. Sounds like you will need a server somewhere with an API, and of course the app itself on whatever platform is appropriate. I have not done much mobile app development myself, but I would not underestimate the impact on the project of, for example, learning how to develop an Android app. Each ecosystem has its own vocabulary and conventions you will have to understand in order to develop the app well.

That, of course, is not to say that you can't get something out in two or three months that is functional, if rough around the edges (at least in terms of the code).

If you're really worried about the possibility of not being able to deliver, I would advise you to pay close attention to the terms of the contract if they offer you the gig -- how much freedom do you have on the project, are you accountable for its success (particularly in a financial sense).

You can recommend that the company bring on another developer, perhaps before you sign stuff. Treat it less as a negotiation with an employer and more like a consultation with a client: you want the app to be successful, and another developer would help to ensure that.

joezydeco 35 minutes ago 0 replies      
The deadline for the app is the end of summer...

If the company has made a promise like this to the customer without even having a development team in place, you can be guaranteed this won't be the only dishonest piece of the puzzle.

Bail and don't look back.

partisan 45 minutes ago 0 replies      
I once turned down an accepted offer because I realized I was not qualified to perform the task. They wanted me to analyze and estimate the time required for a rewrite on technology I was totally unfamiliar with. The greenfield development was extremely attractive to me, but I was able to temper it by coming to terms with the fact that the stress of achieving their goals with my time and skills would be really irresponsible. There are other opportunities. Don't sacrifice your sanity.
green_lunch 54 minutes ago 0 replies      
Chances are, if they went to a University to get an app developed, they want it cheap. I've been in on more than one meeting where this was suggested.

Just be honest about the whole project. Let them know what they are getting into and set a plan from the start. If they decide to keep adding on requirements or changing things around, let them know how much time it will add onto the project.

You may never get the project done and it may be really complicated, but it will be great experience. I have many projects like these that I worked on after college.

asfarley 22 minutes ago 0 replies      
1. You're correct, those requirements aren't trivial. They're also not impossible, it's just a considerable amount of work.

Phone libraries won't magically solve any of your issues.

2. I would attempt to drastically reduce the scope. Emphasize the worst-case development time to your client. The client's reaction to this is often very informative. My best clients react by accepting my concerns and scaling back the requirements to the bare minimum. My worst clients have refused to acknowledge serious issues and insisted on charging ahead without changes to the plan.

3. You avoid being taken advantage of by having a better offer. Since you can't do this immediately, accept that you will be taken advantage of until you can clearly signal your value. Put effort into personal projects and other visible demonstrations.

kremdela 51 minutes ago 0 replies      
There are a lot of red flags in your description. This doesn't sound like an ideal first development job for a few reasons. Most importantly, focus on finding a position where you can learn more software engineering practices from great mentors.

Questions to ask yourself: What are your personal career goals? How would taking this job serve them?

Raed667 10 minutes ago 0 replies      
This smells bad, I say walk away it looks more trouble than its worth.
distantfog 53 minutes ago 1 reply      
If they are willing to hire a student, they are willing to get student grade results.
Ask HN: Longest you've spent debugging a single issue?
4 points by davismwfl  1 hour ago   1 comment top
WalterSear 49 minutes ago 0 replies      
Almost two years of my free time, trying to get node-gyp to install an npm package properly. I've been working on the same side-project for 5+ years now. One alpha, no release yet :(
Ask HN: Oldest code you have written that is still in use?
224 points by _mc  1 day ago   332 comments top 160
byuu 1 day ago 5 replies      
There's an entire community of video game hackers (smwcentral.net) using a cross-assembler I wrote in 2001 named xkas. I added a few minor patches and by early 2004 I had released the final version, v06.

I never really intended for anyone to use it seriously. I made it for myself, but went ahead and posted it online anyway. It is a 1500-line single-file, nearly-commentless, nearly-spaceless abomination of code with no documentation, and an endless list of critical bugs that every user keeps encountering. They have elaborate workarounds for many of these bugs.

It became a negative feedback loop: "Why do we use xkas? Because everything else is written in xkas", and so now even more code was created and written in xkas. And so even though I've since written a proper assembler that's dozens of times nicer, no one can/will use it.

Lately, people have been writing their own versions (in addition to countless forks) that try to offer backward compatibility with all the crazy parsing errors and (mis)features of xkas, like left-to-right evaluation of math expressions, and the most convoluted macro evaluation system you've ever seen (one user proved it was Turing complete and wrote a Brainfuck parser in it.)

It's surreal. I feel terrible that so many people are stuck with this mess, but even I can't stop it anymore :/

anotherevan 1 day ago 5 replies      
I am the original author of LatexMk[1], a Perl script that runs Latex the correct number of times to ensure all cross-references and such were resolved. It can also run continuously with a previewer and several other goodies.

I wrote it around 1993 to scratch my own itch, adapting it from a little script called Go by David J. Musliner. At the time I was using a literate programming tool that generated Latex from C code. When I moved on from that job a couple of years later, I released a final version two, which documented that I was no longer planning to maintain it. Since then John Collins took up the cause and been doing a wonderful job from what I can tell from occasional ego searches through google and stackexchange.

Two amusing things: 1) It is the only piece of Perl code I have written, ever, and 2) I had reason to use Latex a few years later, and decided I really dislike the sheer complexity of it all. Despite that, it is surely the most enduring and widely used piece of code that I can claim credit to having a hand in.

[1] https://www.ctan.org/pkg/latexmk/?lang=en

fu86 1 day ago 2 replies      
I wrote a hacky bash script back in 2000 to manage HalfLife dedicated servers (start, stop, edit basic config stuff) for a friend. This script (I initially called "hl.sh") is later renamed into "hl-monster.sh", and finally to "hl-monster-extended.sh" with ~15000 LOC, supporting 120+ different Games and is running on ~2000 really big servers around the world. This script is the core of a big international company now. I joined this company 3 years ago and since then, we try to replace this script, but it is so deeply merged into all systems.

What have I done?

haberman 1 day ago 4 replies      
MP3 importing code for the Audacity audio editor. I wrote this in 2002. https://github.com/audacity/audacity/blob/master/src/import/...

Amusingly, a TODO I put is still there:

 /* TODO: get rid of this by adding fixed-point support to SampleFormat. * For now, we allocate temporary float buffers to convert the fixed * point samples into something we can feed to the WaveTrack. Allocating * big blocks of data like this isn't a great idea, but it's temporary. */
"temporary" indeed. :)

buro9 1 day ago 0 replies      
I have the horrific horror (honour?) of knowing that a lot of my code is still live.

The oldest is the internal system for a record label written in 1997 and I still occasionally get emails asking how such and such works (and I have little idea, it was in PERL).

Through to code that processes video and audio snippets for most of the UK Football League premium content sites. Authored in 2000 (mostly VBScripts that slice, encode, and distribute media files and the metadata).

Parts of btinternet.com still appear to use my horrible CMS... written in 1999... though gladly it's now very few parts and I suspect these are just cached outputs rather than the CMS still being in production.

Most worryingly would be the UK Home Office, and most UK banks and some heavy manufacturing companies that I wrote project management reporting software for over a decade ago, and as they manage 20 year projects I believe that stuff has at least another decade in production. At least all of these systems are not internet connected (then again, they'll never be updated either).

My code isn't terrible clever or pretty, those requirements got dropped a long time ago. But I have learned to make code that is simple to read, easy to maintain and tweak, and that can sprintf debug with the best of them (debug tools of choice have come and gone in the time my code has been live).

user_rob 1 day ago 1 reply      
I designed some of the electronics and wrote some firmware code for the Bell AH-1S Cobra in 1978 1979. The system is still flying as I see the external parts of the system in news clips. Does that count? Beat that!

Mean looking image of a parked up one - the red bag covers part of the system:http://www.vaq136.com/misawa/cobra73418-017b.jpg

feelix 1 day ago 2 replies      
I wrote a data recovery POSIX compliant command line app in C in 2003 that runs under OS X, Windows, and linux. It's still selling well, and has been all these years. Over time it's generated millions in revenue as it's been used by several different competing apps, and I have only recompiled it about twice in the last 15 years, each time only making a (very) minor change. It went a good decade without a recompile and continued selling well and being widely used.

The reason I'm happy to say this publicly is because

a) it took years to write, full time. Data recovery is a hell of a lot more complex then I'd ever imagined.

b) data recovery is no longer possible on SSD's (if they have TRIM enabled, as they do in all major OS's) so it's a declining market. Anyone would be nuts to be trying to enter it at this point.

fdavison 1 day ago 2 replies      
Late 70's. I wrote the operating system for the Control Pak EM system sold as the Barber Colman Network Supervisor building automation system. Thousands of systems were installed and many are still in use. By cracky. Er, what was the question again?


ewindisch 1 day ago 0 replies      
In 1999, I created the r_waterripple variable in Quakeforge which has propagated to most subsequent Quake ports. The implementation may or may not vary, but all projects seem to have carried the variable name. I also contributed pk3 unpacking and resurrected the Solaris port, either of which may have code circulating.

Also between 1999 and 2001, I was involved in the LiViD project where I worked on a port to PowerPC. I don't recall any patches actually landing into LiViD because it turned out that the bug was in GCC itself, a bug I was told must have existed since the mid-eighties. I didn't directly write the GCC patch, but did debug the compiler error and worked with the GCC team on the fix. This directly resulted in a port of Xine to PowerPC. (LiViD and Xine are early projects for multimedia and DVD playback on Linux) Xine exists today, but it's unlikely any of my code is in it. While the GCC fix is not my code, the fix itself still endures and exists because of my interaction with the project.

It's a newer example, but code I wrote simply as a demo for the Cairo graphics project back in 2004 became integrated into Tuxpaint and is still used today for rasterizing SVG graphics into stamps.

Udo 1 day ago 1 reply      
I posit if you want to make sure your code survives you, write video game code.

Nevertheless, my own examples are all non-games. In the early nineties I wrote a program in Turbo Pascal to manage grades and print report cards, I heard one elementary school in my home town was using this until 2012.

On one of my first web programming jobs, I made a cold fusion-like template interpreter and ecommerce engine in C, that was about 1998. One completely online-based company that we launched with this software kept on running on it until it was sold two years ago.

In the early 2000s, my startup produced a web content management system that I wrote most of the code for, and sometimes I still get usage questions about it even today (to be honest, knowing that code is still used in production is not a good feeling).

Oh, I just remembered: around that time I wrote some microcontroller code that went into a certain brand of PA systems for TV studios, I'm pretty sure that's still in use...

My oldest personal project is a chat place where RPG players can meet up and roll dice, I think that launched around 2003 in some incarnation and though it's getting updates and extensions from time to time, the core code is almost unchanged: https://rolz.org

clamprecht 1 day ago 4 replies      
ToneLoc (a war dialer), written in 1991, last version released 1994 before going to prison:


People still have modems???

zer00eyz 1 day ago 2 replies      
I was but a teen age boy in 1992.

I built a file maker database, for a school system.

They have tried to retire it twice. Both projects failed miserably.

For the last 10 years it has been maintained by the same office admin. She still calls me every now and again to ask questions.

wscott 1 day ago 1 reply      
In 1990, during a summer internship at GE, I wrote a program that scheduled electric motor production at like 7 factories around the country. You would download the next weeks worth of orders from their timeshare system, which seemed ancient then. Someone had done a time-motion study of each motor model and determined how much time each motor needed in different stations. They wanted each day's schedule to use roughly the same amount of time in each station.

This was after my first year of college and I really knew nothing about algorithms. I wrote a horrific program in BASIC on a PC that did what I know now is a greedy bin packing solution. It created a least squares metric and tried moving and swapping orders until nothing improved the metric.

I was shocked to hear that 20 years later they were still using that same program.

sdfjkl 1 day ago 0 replies      
This door: http://lslwiki.net/lslwiki/wakka.php?wakka=LibraryDoor apparently I first published it there in 2004).

No, not a BBS door, but an actual door, written in Second Life's LSL (Linden Scripting Language). You'd think making a door should be pretty simple, but as the engine had no 3D primitive (prim) that had an axis on one of its edges, doors were often pretty awkward workarounds, either involving linking the door to a cylinder or worse, rotating and then moving when the door was opened or closed.

This script when dropped into a basic cube prim shapes it into a door, applies a texture and most importantly, cuts the prim in half so that the Z-axis ends up on the side and it can rotate around and act like a door in only one prim (the prim allowance was limited, so this mattered).

The script also has several workarounds for engine funkyness, including one where it automatically moves back into position after every cycle to counteract "drift" - otherwise, due to accumulated floating point error, the doors would slowly drift out of position when opened and closed many times.

I know it is still in use, because Second Life still forwards messages to my account to email, so occasionally I get gems such as this:

> [16:04] distresseddamsel: hi there, i just purchased your wooden slave kennels and i can't get into it. I tried to follow your istructions on how to change the group, but when i edit the door, the option for group is greyed out.

Apparently my doors have been used in all sorts of items...

Det_Jacobian 1 day ago 1 reply      
I have the luck of having written GPU code on the base pixel shader on a title (Halo 4) that sold on the order of 10 million copies, first game I ever worked on. A back of the envelope calculation for how many times this code has been executed since 2012:

1e7 copies * 10 hours * 60 minutes * 60 seconds * 30fps * 1280 * 720 ~~ 300 quadrillion

aaronbrethorst 1 day ago 2 replies      
Occasionally, users of a piece of $10 shareware I haven't updated since 2005 email me demanding a refund because this software they bought 10+ years ago has stopped working on El Capitan. I refund their money because it's not even worth my time to argue with them.


nostrademons 1 day ago 2 replies      
The smaller the userbase, the more likely the code is to remain in service forever. The oldest code I've written is http://www3.amherst.edu/~scrutiny/about.php, which has gotten a facelift since I wrote it in 2004, but otherwise seems to have the same functionality and code backing it.

Pretty much everything professional is gone...hell, the only employer of mine that is still in business is Google. When I left them in 2014, about 3% of the code I'd written for them was still in production, and following the rule above, it's silly stuff that nobody ever sees, like https://www.google.com/search?q=deubogpiegpj&tbs=qdr:h that's the no-results page when a tool is selected).

Tossrock 1 day ago 5 replies      
People still play the Warcraft III map I made in 2006, mostly in Russia. It relied heavily on an extension of the scripting language called vJass created by a genius eastern european hacker named Vexorian and was one of the most advanced of its type for a while.

It was also ported to the DotA 2 engine, where it has millions (!) of subscribers.

lhl 1 day ago 1 reply      
In 2001, I wrote a tag balancer (for HTML input, it also did some rudimentary XSS filtering) in PHP and then translated it to Cold Fusion (I was applying for a CF job and figured it might be useful to actually learn it).

I believe that both variations are still running, the CF version on Metafilter, and the PHP version was used in B2, which became WordPress. A few years ago, I was asked by the WP team to relicense the code from GPLv2 to GPLv2+ and sure enough, it lives on with relatively few modifications in WordPress: https://github.com/WordPress/WordPress/blob/b1804afeaf07eb97...

Perhaps most notable, is that I wrote it w/o having taken a compilers class or having much (any) understanding of stack-based parsing, but it still lives on, so I guess it was good enough to get the job done.

mb_72 1 day ago 1 reply      
From 1994-2001 I worked (in a small team) on a C++/Paradox school administration system; it's still in use today in hundreds of public schools in South Australia. I think they've tried to replace it via tender at least once, but haven't found an affordable / suitable replacement.

It was quite amusing to get invoices from my daughter's (born in 1996) school produced by this program on a format I had laid out.

There's still, AFAIK, an easter egg that displays the name of the people that worked on it back in the day, one just needs to open the right form and double-click in the right place.....

jibsen 56 minutes ago 0 replies      
Back in 1997-1998 I wrote a compressor for DOS 16-bit executables called aPACK (and a library, aPLib, with the compression code). I still occasionally get an email from someone trying to get them to work, so they must still be in use :-).
sverige 1 day ago 1 reply      
In 2008 I wrote some VBA scripts and built an Access database as part of a dashboard used by suits at an insurance company to track sales stats. Pretty sure it's still in use.

The suits also made a decision to open a third call center based on some staffing and cost analysis done by me and my boss. We used two totally different models (and argued a lot about which model was right). The director said, "The conclusions you guys came to were within 1% of each other, so it must be right. We're going to move ahead with the new center." That center is still up and running.

The thing that gave me chills was that no one told me the analysis would be used to make a $25M decision. I thought it was just skylarking and hacked it out with some formulas in a 3-page Excel spreadsheet in about three hours.

lostdiaspora 1 day ago 1 reply      
A section of macro assembler written in 1983/84 that I wrote that validated the MICR encoding on the bottom of a cheque ran as far as I know every day without error until at least 2007 processing 30-40% of the daily cheques in a European country It may still be running but all the guys I knew are gone! I'm the reason banks have technical debt. They'd track me down every 10 years or so when a major change was required. I also have a C++ system I architected and built in 1992 still running round the world. The codebase has been refactored to some extent as it was originally designed for Investment Banking but it now runs on line gambling, who'd have thought it?
ajuc 1 day ago 0 replies      
I was a teenager and around 1998 I wrote a Delphi program as a mother's day gift for my mother that works as accountant in a big public institution. The program automated counting banknotes (they still have some people that want to receive their monthly salary in cash, and they have to count the total amount and the number of each banknote kinds separately to catch errors). It was just a loop with modal dialogboxes for entering each person's salary in 2 ways. The program also generated a text-file report and allowed to print it.

I was a noob, and the code is horrible, I even used floating points (doubles) for money :/ so there's accuracy bug that happens for big enough numbers. They apparently still use that program (at least a few years ago they did), and they divide the numbers before they become big enough as a workaround for the bug (but then the reports have to be fixed by hand).

dboreham 1 day ago 0 replies      
This reminds me of the Monty Python competitive nostalgia sketch "Four Yorkshiremen", except re-done for coding:

"Compiler, we used to dream of having a compiler""I did me coding on punched cards w'a big rubber band around 'em""Punched cards, you don't know y'er born, all we 'ad when I were a lad were an abacus"."And it were a 5-channel Baudot abacus an all."

laxk 1 day ago 1 reply      
1985, a printer driver for c.itoh matrix printer (assembler), still working.

p.s. I was a 10 years old boy. (:

tootie 1 day ago 0 replies      
Just perusing all my projects big and small over the past 20 years going back to college and they're all gone up until less than 2 years ago. Every single one. I always say you need to treat these projects like a Tibetan sand painting. Once it's done and perfect, just wipe the slate clean and start over. It's the journey, not the destination.
cottonseed 1 day ago 3 replies      
I wrote the Oracle driver for the AOLserver web server in 1997. Last year I met a guy who worked at Zipcar who said they were still using it.
rbanffy 1 day ago 0 replies      
Some municipalities in So Paulo state in Brazil are controlling their budget using a Dataflex 2 application I helped write in 1990 and 1991. I realized that the application still runs because of a presentation about the ongoing effort to migrate it to Python.

Sadly, the educational applications for Apple IIs I wrote in the mid 80's are no longer in use.

sdrothrock 1 day ago 2 replies      
I wrote an in-MUD game for a Wheel of Time-themed MUD around 2005; I stopped in last year to see how things were going and was pleasantly surprised to see that not only were my game and helpfile still in the MUD, but that there was an ongoing game as I logged in. Satisfying to know that something I made over ten years ago is still being enjoyed.
recurser 1 day ago 1 reply      
The web UI for the Transmission bittorrent client, around 2006-ish. I wrote it in prototype.js and then discovered jQuery, and ended up rewriting the whole thing.


spdustin 1 day ago 0 replies      
I wrote an expansion to the original SharePoint Team Services (STS) back in 2002. I was told recently by a student that their former employer (small mom-and-pop biz) still used STS and my software was why.

It was called the SharePoint PowerPak; it added a few features that "inspired" built-in functionally in later versions. Was primarily written by hacking apart the insides of STS and sending a few emails to some MS folks to get clarification on some undocumented thing that I was interfacing with. Color-coded calendars, categorized content in document libraries, tasks with an "email assignee" workflow, a Windows XP theme for STS, and a few other features. Was actually really proud of that one!

I then worked with another dev on a search add-in for STS called SharePoint PowerSearch. It was clever in that it used the little-known "_search" target for <a> elements that, basically, opened the link into a sidebar frame that IE had back in the day. The mom-and-pop business had that installed too.

Those tools, along with a community site I ran, blossomed into the SharePoint training and consulting company I own today.

So that's two 14-year old products still in use at a small business in the Philadelphia area. Made me smile to hear about it.

xeno42 1 day ago 3 replies      
I wrote a fax->email gateway in 2002 that's still in very active use.. wouldn't be that remarkable, except most of the servers are still running original equipment with original hard drives!

Anyone have servers running 24x7 with hard drives older that that?

davidwihl 1 day ago 1 reply      
SA-FileUp, one of the first ASP components, originally written by me in 1997 to receive web based uploads. Still sells enough licenses every year to put my kids through college.


rys 1 day ago 1 reply      
A system information app I originally wrote for Windows 98, but subsequently added support for NT-class Windows client, still runs and works almost perfectly today (with graceful feature degredation) on Windows 10. I do a tiny amount of work for every new Windows that's released, to support it. Sometimes no work at all. The codebase was originally written in 1998.

Nobody uses it now apart from me, but I still maintain it.

ssijak 1 day ago 5 replies      
My "personal" website that I made when I was a kid at 2001. I think that I uploaded it to the Geocities free hosting and soon forgot about it. Then a few years back when I googled my name I stumbled upon it haha It is still up after more than 15 years on god know which free hosting and server, it was so funny. And of course it is used as a joke now by my friends :) And of course I have forgot my credentials long long ago (even if I knew where to login in the first place).

http://dzigi.itgo.comhttp://dzigi.itgo.com/o_autoru.htm <--about me page with my pic as a kid haha

coldcode 1 day ago 2 replies      
I started a Mac app in 1988; the same code base (with tons of people touching it since I last saw it in 1994) is still a real product for sale today. No idea why.
frik 1 day ago 2 replies      
Several VB6 based tools from 1999 are still in use. They still work just fine in Win 7 64-bit. (VB6 was the best RAD tool from Microsoft, great integration with Windows and was part of the "information at your fingertip" vision. Then Java happend and Microsoft frantically tried to create something similar. 15 lost years, nowadays compiled languages and on the otherside dynamic languages like Javascript succeeded. And also the web succeeded over AOL, Microsoft Network and other pay-to-use-closed-attempts. And now with Win10 the whole platform is on a crossroad, the trust is gone with all spying, tracking and as-a-service idea - "users aren't slaves" and want to decide for themself after all
smoyer 1 day ago 1 reply      
The embedded systems code that I wrote for an Opthalmic Ultrasound in 1989 is still running. Once code becomes FDA approved, you don't change it.
stevenalowe 1 hour ago 0 replies      
I wrote a distributor/manufacturing system in 1988 that is still in use in 2 companies; domain model still valid 28 years later, though the programming language used is way out of style now
mgkimsal 1 day ago 1 reply      
A few things that I wrote as far back as 2000 and 2001 are still in use. Just checked one right now and the login screen is still the same - no doubt passwords have changed, and it says it's running on php 5.5.9 on ubuntu - they've done some upgrades, and I can't imagine the backend is 100% the same. however, the url structure was built to do something funky, and that is still in place, meaning they very likely didn't throw it all out and start over (and the login screen is the same too).

Had another call from someone last year saying "x is broke" and... piecing stuff together, I realized they were still using something built in 2002, and using it 13 years later (now 14 years). Trawling through old code was weird - a mix of pride - much of it was pretty readable and understandable - and regret - many 'cut corners' I wish'd I'd not cut now, as it made the fixes take longer.

That said, I think there's something very useful about having to deal with your own code 5-10 years after the fact. You'll have a greater appreciation for why 'the right way' is what it is, and ime, I've found that code tends to be more maintainable and understandable by others when it's been written by someone who's had to maintain old code themselves (usually their own).

Doesn't mean newer/younger folks can't write good maintainable code, but it's a skill that seems to come with age more than anything else.

gotrythis 1 day ago 2 replies      
I bet I have most people beat here, especially with web software.

I released the first content management system for websites back in about 1995. It was a fully database driven system with different post types, much like WordPress in design, and editable page content.

About 15 years ago, I wrote an entire web-based system for managing an online grocery delivery company. The whole site runs off of version 2 of that content management system, which had lots of the version 1 code in it, which is now 21 years old.

And yes, they are still running their whole business off of that unmodified system today! I should have put them onto a monthly maintenance plan. ;-)

Sadly, I hear that they will be finally replacing it soon, putting an end to that legacy code.

dsiegel2275 1 day ago 0 replies      
From 1997 thru 1999 I worked on a data management system that is still used in the nuclear industry. Initially VB5 (maybe even VB4, I think) and then moved into VB6. About 150,000 lines of VB code over 2.5 years with two developers working on it - myself and a project manager. One of the first applications that I wrote as part of this system was a 2D, steam generator tube sheet mapping application. Link to the system is here:


Screen shots of the tube sheet mapping application are in that PDF. The system was eventually featured in Visual Basic Programmer's Journal in September of 1999. I was 24 at the time and I felt like I had really accomplished something!

VOYD 2 hours ago 0 replies      
https://msdn.microsoft.com/ UX/DB/Webservices ;
mrweasel 1 day ago 0 replies      
I'm not actually sure it's still in use, I hope not. I wrote a small Python script for synchronizing student address for a student organisation at the local university.

The students would forget to tell the student organisation when they moved or got a new phone number, but they'd always remembered to inform the university.

Importing data meant getting an email, containing a CSV file, parse the data and lookup the students in our own database and update their information. Because I'd just setup the qmail mail server, and learning about .qmail files and mail queues in general, I just hooked the script into the .qmail file. I figured it would save me the type of dealing with the IMAP server.

I think it was six years later, maybe a little more, when I got a call from someone that the student organisation, asking if I could explain how the student address information was kept up to date. They knew that the data came from the university administration, but it just sort of disappeared into the belly of the mail server.

ScottBurson 1 day ago 2 replies      
I'm still using a couple of Lisp macros I wrote in 1980 [0]. I think a few other people are using them too. I've improved them a little since then, but the basic concept is unchanged.

[0] https://github.com/slburson/misc-extensions -- specifically 'gmap' and 'new-let'

0xmohit 1 day ago 0 replies      
I wrote a bash script for generating manuals for GNU software in different formats a decade and a half back. The script made it's way into GNU texinfo, and has undergone several revisions since. It is still used in order to generate manuals for different software on https://www.gnu.org/software/
pbreit 1 day ago 0 replies      
I wrote these PayPal IPN code samples (ducks!!) in 2000 which I suspect still exist substantially the same in 10s of thousands of installations.


I'm still amazed at how lousy http client libraries are in so many environments.

davimack 1 day ago 0 replies      
A Microsoft Access 97 database (written in 1997) is still the "system of record" for all instrument wiring diagrams within the biotech plant. I was recently asked to review it (19 years after I wrote it) and to develop a step-by-step for how to add reports to it. To put this in perspective, this biotech is the largest in the SF Bay Area, and the plant represents roughly 1/2 of the world manufacturing capacity of this type. And its single source of truth for how things are put together is a Microsoft Access 97 database.
lamontcg 1 day ago 1 reply      
Last I checked the nmap autoconf script still had code that I wrote back in 1996 when I ported what Fyodor wrote up in Phrack to Solaris, NetBSD, Digital Unix, SunOS and possibly HP-UX and/or IRIX. It probably still has support for doing "RST" scanning (and i think determining if the port is open backed on the windows size in the packet that comes back, which worked on several TCP stacks back then...).
mindcrime 1 day ago 0 replies      
Back in 2000 I went to work for a company named Voice Data Solutions in Raleigh NC. We got on the e-payments bandwagon and created a site called ccpaymentservice.com that allowed you to pay things like water bills, utility inspection fees, etc. online (a lot of our existing customers were municipal governments and the like). I've been gone a long time, but looking at the site, not much seems to have changed, and I suspect that at least a few lines of code that I wrote between 2000-2004 are still in use there.

One bit that I hope is gone is the ONC RPC stuff I wrote for talking to the credit card processing engine we were using back then. That was pretty ugly. It was my first programming job, I'd never done RPC before, and I hacked up something pretty kludgy to make it all work. Not my proudest moment. :-(


lukego 1 day ago 0 replies      
I wrote a clone of Erlang in Emacs Lisp back in 2002 called Distel: http://ftp.stu.edu.tw/FreeBSD/distfiles/erlang/distel-euc.pd...

Amazed and impressed that clever people are using and maintaining this at https://github.com/massemanet/distel.

(I had hoped the answer would be the Java arcade game I wrote in ~1997, Araknoid, but that seems to have disappeared from the internets.)

adamconroy 1 day ago 1 reply      
2000. VB6. Manufacturing workflow / management system, BOM..... I did some consulting work at the same company a year ago and that system was still chugging along. They had pretty much rewritten / replaced everything else around the place but apparently didn't see a need to change my module. I was amused to have a couple of guys come and ask me questions/advice, and all I could do was sympathize.
koz1000 1 day ago 0 replies      
1995. Pinball game code for Williams Electronics "Jack*Bot".

I also don't count it as code, but the Pinball Expo 1994 website I put together before that (in Notepad, natch) is apparently still up and running at Linkping University in Sweden:


akg_67 1 day ago 0 replies      
The FORTRAN code that I wrote in 1996-1997 for Distributed process control systems is still in operation controlling several multi-billion dollar manufacturing facilities.
unwind 1 day ago 0 replies      
Not sure, but a reasonable guess is at least 1998, the "gentoo" GTK+ file manager.

I still have the conversation (from 2000) with Daniel Robbins, founder of the Gentoo Linux distribution, where we discussed the name collision. There was no issue, we just both agreed to peacefully co-exist. :)

Very cool, since I learned that he, like me, came from an Amiga background. Although he out-cooled me by a laaarge margin, having worked at semi-legendary game company Psygnosis.

damienkatz 1 day ago 2 replies      
1998. Lotus Formula Language Runtime engine. Completely rewrote the original written by Ray Ozzie. GA released in 1999 in Lotus Notes/Domino R5.
jedisct1 1 day ago 1 reply      
Maybe pure-ftpd.

The first version was released in 2001.

15 years later I still work on it and release new versions. Because people still use FTP.

geophile 1 day ago 1 reply      
I was at a company from 2000-2003, and wrote a lot of its software. That company is still around, and they also licensed their software to a spinoff. I was brought in for some consulting to the spinoff and was equal parts pleased and horrified to see that some of my software was still in use and pretty much untouched. Horrified because back in 2002 I was already agitating that it was time for a rewrite for one part of it.
tyho 1 day ago 1 reply      
Many of these examples are older than me, but I wrote a userscript which writes a bash script which rips lossless audio from a music streaming service which is no longer with us when I was 14. It tags the files appropriately, and makes a release suitable for upload to a well known private music tracker.

I released it to a private group of people, it has been kept a secret within that group mostly and has since been extended to include support for many different services and integrated into complex automated systems which automatically rip, package and release new music as it is released and also old music as it is added to the request feature of the site. I released a much better pure bash version when I was 15ish I think, but many people still use the abomination of a userscript which writes a bash script as far as I am aware.

nickpsecurity 1 day ago 0 replies      
A website demo using XML and XForms before they were standardized scripted into HTML that's still running at a site per an old friend. Well, at least a few years ago. It was one of about 30 examples in a set. What they couldn't figure out is my site was blank on every browser despite everything organized by a INDEX.HTML file they loaded. The trick: one of the letters in either the file's name or name a preprocessor gives it isn't the English letter it appears to be. ;)

And apparently they didn't delete the shit because (a) they're lazy and (b) people just skip over it assuming it's a browser error instead of typing "INDEX" in their address bar. So, they left it in there as a successful example in a demo set. I got a glowing recommendation, too, since I showed the original ("bleeding-edge, web tech!") to the person in charge who also thought the demo glitched. Funny all around lol.

Note: This was a bullshit project rather than paid or important work. Not what I'd do if someone paid me for quality work haha.

fyngyrz 1 day ago 0 replies      
I have 6809 code running under FLEX09, in my 6809 emulator, running under my XP VM, on my OS X machine. Games, diary software, editor I use to read my (really) old snail-mail records. Still works fine. This stuff is circa the late 1970's, early 1980s. I have paper tape and punch cards carrying my software from previous systems, but it's not actually in use, so... :) Lots of people are using my Flex/6809 emulator, REFLEX, which was first released in 1985 (for the Amiga) and later ported to Windows. It's still getting downloads today, and it still works fine.
andyjohnson0 1 day ago 0 replies      
Back in the late nineties I was working for a small ISV and was a dev lead on a project to develop a C++-based visual programming environment and runtime for monitoring SCADAs and PLCs. It got used by a few customers, but ultimately wasn't successful and was discontinued when the company did what we'd now call a pivot.

I moved on to a company in the financial sector and my employer acquired the rights to use this software (a decision I had nothing to do with). We ended-up using it as a way to embed customer-specific customisation scripts into a cloud-based product - something that it had never been designed to do, but which ultimately worked quite well.

A couple of weeks ago I finally replaced it with a much smaller and more focussed body of C# code, 16+ years after it was initially developed.

aavotins 1 day ago 0 replies      
Oldest surviving code dates back to 2006. It's a simple PHP script, that generates an Excel file(without the help of any libraries. I was really into not-invented-here then) containing information about banners shown for a week. If it works, don't touch it, right?

Second one dates back to 2008. It's a webapp written in Django for real estate agents. Full of bugs, requiring careful input of data in order not to mess up the listing. I went on a 3 day hackaton somewhere back in 2011 to fix all the bugs for free and got some very angry calls, because things weren't working like they used to before. Turns out people were aware of these bugs and made their own workarounds. I was forced to roll back all my changes and backport just a single change - the ability to reorder images by using drag and drop.

dwwoelfel 1 day ago 0 replies      
I wrote a "single-use bookmarking" app, http://app.reminderbear.com/, during spring break of 2011 and haven't touched it since.

It was the first thing I wrote and I'm still insanely proud of it.

It's chugging along sending 5-6 reminder emails every day and I use it once a month or so.

nurettin 1 day ago 0 replies      
I was the author of a 2002 quality assurance software written to receive images from a microscopic camera attached to a robotic arm and turn them into 3D models as part of a friend's doctorate thesis that was later sold to mercedes as a prototype.

One German engineer later noticed that it contained my copyright, located my address and subsidized me every time the system was commercially sold up until 2008. Not sure if it is still in use, but I am thankful for his sense of justice.

rietta 23 hours ago 0 replies      
The oldest code that I wrote that I suspect is still in use is RoboGen, an editor for robots.txt files, that I wrote in Visual C++ 6 with MFC. I remember working on it while not paying enough attention in my high school physics class. We were allowed to have laptops in class at the time. You can see it at https://rietta.com/robogen/.

The oldest code that I distributed - it was written by a friend of mine - is Whois Web Professional which was a whois client written in VB6. I know it's still in use because I have to maintain the version file on my website and even keep my server running Apache because its update checking was written by a 12 year old in WinSock and doesn't handle the protocol very well. If I change anything, the VB6 program crashes on startup and I get emails about it. You can see it at https://rietta.com/whoisweb/.

bigiain 1 day ago 0 replies      
I still occasionally see this on shop shelves:


I wrote most of the code for that (in MacroMind Director) in 1995 (I remember that because we needed to change the way we did a bunch of Audio when Windows 95 came out in about September that year - in Win3.3 we could do multi channel audio - but in Win95 we on;y had the two stereo channels so we had to mix a bunch of multi channel sound - we came so close to blowing the size of a CD ROM after that!)

analog31 1 day ago 1 reply      
Roughly a decade. The VB6 program that I wrote to test a prototype of a measurement instrument, is still used in the factory, supporting manufacturing of the released product.

It's a couple thousand lines, and nobody wants to touch it with a ten foot pole, but it also has no known bugs, and will live for the remaining lifetime of the product.

erikb 1 day ago 0 replies      
In a mostly proprietary environment that's really hard to say. In the world I live in (Germany software business world) few things get really deleted once they made it into the daily life of a company. Nearly all companies have code that was written like 5 years before their foundation by one of the glorious first 3 guys and that is still used in most of their major software products. The tricky part is getting even awesome software into these daily routines.

Hell, I'm quite sure that some of the first software I wrote is still used in SAP despite me never having worked for them.

baudehlo 1 day ago 0 replies      
The core of MessageLabs (now Symantec's) cloud anti-spam system. 2001. Still processing around a billion emails a day. That Perl code stood up amazingly well.
crmccreary 1 day ago 1 reply      
1988. A specialized finite element analysis program. Fortran.
kevrone 1 day ago 1 reply      
In 2009-ish I wrote a Java-based templating system for Autosys' Job Information Language. If you don't know it, Autosys is a horrible, horrible, job management and scheduling system. You define these little files (.jil extension) that specify not only the job definition (command, user, cron-like schedule, etc.), but also its dependencies (which job must run before this one, what runs after...). Nothing wrong with that approach, per se, but there's essentially no way to validate the correctness of a job and its dependencies until it's running live in production. Often jobs would fail to run when you expected, or become quietly orphaned by some change to another upstream job.

So I wrote a disgusting (yet fluent!) enum-based monster called JILT (Job Information Language Template), that required that every existing .jil file be rewritten as a statically-typed java enum which could then be used to spit out the entire tree of validated .jil files. The nice thing was that your job dependencies were now enforced by the compiler and could be included in CI. But the actual inner workings were a hot mess. And of course, now the support teams have two systems to maintain and ensure they remain in sync.

This was at Goldman Sachs and I hear it's still under active development by the support teams...

riprowan 1 day ago 0 replies      
Extranet for Very Large Company, circa 1999. X0,000s of users, X0,000,000s of docs.

Platform: Lotus Notes / Domino.

wslh 1 day ago 0 replies      
My oldest running code is from 1998 and is present in every printed and electronic invoice in Argentina.

It is an algorithm to produce non predictable numeric codes of variable length. A much improved version was used for marketing campaigns.

The algorithm uses a Feistel Network[1] operating over an arbitrary block size. It is basically a simmetric encription function of variable length.

[1] https://simple.m.wikipedia.org/wiki/Feistel_cipher

FigBug 1 day ago 0 replies      
I haven't dug around in the Miranda IM code in years, but I hope there is some of my code left, even if it's just 1 line, would have been written in 2000.

I do know there are plugins I wrote for ACDSee as a coop student in 2000. I can still see some of the icons I drew.

johop 1 day ago 0 replies      
I still sell about two copies/month of PostMe, a (german) desktop email client. The core is 16-bit code written in VB3 that dates back to 1996. It runs fine under WinXP and Win7/32.
inDigiNeous 1 day ago 0 replies      
Umix, a program for adjusting soundcard volumes and other features in soundcard mixers. Wrote during 2000 - 2003.

Surprised to see it's still being downloaded actively, supposedly by Linux distributions that include it still for some reason.

Was tired of Aumix back then being buggy, so I wrote my own replacement. I think my biggest wtf moment was this being included in the FreeBSD project (at least 4.0), and many Linux distributions also, so it's now out there forever.


jonnathanson 1 day ago 0 replies      
I doubt this will impress, so much as amuse. But I'm pretty sure the oldest thing I've written that's still in use is a series of popular scripts used in various Warcraft 3 maps and mods. Written circa 2003 if memory serves. Mostly they focused on adding RPG-like elements to gameplay: camera lock on individual PC units, unit swaps to "upgrade" character classes, and so forth.

At the time, JASS (Blizzard's scripting syntax) was largely procedural, so this was some brute-force work that was a real bear to make usable across different mods.

Still playable, though, and still enjoyable.

LfLxfxxLxfxx 1 day ago 0 replies      
Geoff Streeter, one of the developers at dyalog.com says:

"I suspect that the oldest untouched code (of mine) in the interpreter is the code for balancing a symbol table. This is going to be early 1982 and is untouched since it was written. It implements a technique from Colin Day and published in the Computer Journal in 1976."

Dyalog's APL interpreter is still profitable and actively developed. Many of the source files begin with:

 /*Copyright (c) 1982 Dyadic Systems Limited*/

jeffreygoesto 1 day ago 1 reply      
Around 1989 I wrote a PC program that replaced an Epson HX20 storing injection molding machine programs on small cassettes. 2000 I got a call the molding machines had been sold and the old IBM PS/2 ditched. The new owner asked me if I still had the program. I re-mounted my old QIC streamer sleeping in a box, installed Borland Turbo Pascal in a DOS box in OS/2 and could recompile it from source. Got the same price as I originally sold it for again ;-). Still in use. The Epson HX20 is gone though...
gumby 1 day ago 0 replies      
I designed and wrote a lot of BFD in 1989-1991, and then the binutils that use it like nm, objdump (which was actually written as a way to debug BFD, but turned out to valuable in it own way), strip etc as well as some changes to the crt0 emitted by gcc. I started working on BFD before we hired anyone at Cygnus.
vollmond 1 day ago 0 replies      
I haven't stayed at a job for longer than 3 years, and all of them have been internal projects with no external visibility, so I can't really know for sure. I do have a 21-line python script that I still use which I initially committed to github in 2008, so that's certainly a contender (first internship started in fall 2004).

The script is an expansion on the web server one-liner: https://github.com/imnotpete/odds-and-ends/blob/master/pytho...

edit: the one liner: http://www.garyrobinson.net/2004/03/one_line_python.html

And of course, reading that, I see my script is hugely overkill since all it does is alter the default port and allow you to pass one in -- something the one-liner can apparently do. Oh well.

c17r 1 day ago 0 replies      
My first fulltime job as a developer was back in 1997 for a state university. The wheels of change are slow at that kind of place so it's possible some of my code is still running.

The oldest that I know is still in use is code for an ecommerce outsourcing company I worked for in 2003-2005. ASP/Javascript. Pre-jQuery Javascript too. Fun times.

The oldest that I'm still supporting is VB6/ASP code written in 2006, though the entire software is older than that. It's for "contingent workforce management" (temp labor) and handles the 3-way relationship between client, the supplier, and the worker. In it's heyday we were processing over $2B in payroll annually. It's now down to one client using it. The relationship is very weird too: it's me->hosting company->business company->end client. But I only have to do 1-2 days of support a month and have a pretty good contract for it.

dleslie 1 day ago 1 reply      
I wrote the netcode, among other things, for Army of Two: 40th day. I suppose so long as the matchmaking servers are up then the code is available to be run. Last I checked for active games was well over five years ago, but there were several thousand players at the time.

All of the code I wrote earlier has long since been abandoned, I hope. There is the CBT application I worked on for BP that was for safety training operations for oil extraction in the Gulf of Mexico; and I -really- hope that it's no longer in use.

gdiocarez 1 day ago 0 replies      
I wrote a school system using ruby on rails 2 due to the upgrade on rails 3 syntax change. It was not able to migrate database and change code since I was 1 man team on the company. I asked the company for another to help me out with the migration or change because there are parts of the system that is memory hog. It was my first project and don't know much about memory consumption of the app. Until, we are consuming more cloud resource cause I don't know the bottle neck is.

All the employees are more on PHP than ruby. It was sold to 3 school and 6 years after. It's still in use. I'm out of the company and suggested to move it to PHP for the developers to easily manipulate and maintain the app.

I went out of the company due to increase in task/ duties that I can't handle them all (customer service/ programming/ server maintenance/ explaining to my boss that I need another ruby programmer to help me out)

david_p 1 day ago 0 replies      
The French epidemic surveillance system I worked on as an intern in 2006.

We basically rewrote the whole system is PHP+MySQL (front end and back office). It was my first time writing PHP professionally and it still seems to be working :)


pknerd 1 day ago 0 replies      
Back in 2006 when JSON was new and there was no native support of JSON to convert MySQL resulset to JSON, I wrote this class which won 3rd prize. I see people still download and use it.


arenaninja 1 day ago 0 replies      
I wrote the code for http://lab.mrl.ucsb.edu/ circa 2011-2012 during for a work-study job. It's used for scheduling facility equipment. The original site was written in PHP4, and I scrapped it using PHP5, MySQL and jQuery. I had 0 experience at the time, AFAIK the code lives on unchanged.

Earlier than that, I wrote an Access database to manage claims for a small insurance company circa 2009. Except I wrote it in Access 98 and the last time I saw it the file was corrupted. I offered to help fix it but I was kicked out of the building for flirting with the claims department manager (actually a close friend of mine). This one may actually no longer be in use because I never split the UI and DB and it's not supposed to handle multiple users at the same time if you don't, IIRC.

bhouston 1 day ago 0 replies      
FFT library for .NET written in 2001, still seems to be fairly popular (and it got included in quite a few other larger scope libraries as well): http://www.exocortex.org/dsp/

Quite a few hits on Github: https://github.com/search?q=exocortex+dsp&ref=searchresults&...

jasonpeacock 1 day ago 1 reply      
Written ~2004, still used by over ~5k ppl. Even had an intern steal the idea and create a startup.
karmajunkie 1 day ago 0 replies      
I've got at least one major project I know is still in use that's pretty close to ten years old now. I have reason to believe that an Access application I wrote in 1997 is still in use (though I hope for the sake of its users its been long since retired!) I've got bits and pieces of code I'd be willing to bet a beer are still in use, but nothing I'd call a major project.
ndesaulniers 12 hours ago 0 replies      
The first website I got paid to make is still up. Not exactly responsive, but this some of the first code I ever got paid to write.


Fradow 1 day ago 0 replies      
When doing a school project, in 2009 or so, we had to record a lot of sounds, each linked to an image. The usual process of recording, cutting the ends of the sounds and saving with proprer file name was too cumbersome (we had multiple languages and some variants to record, bringing the total sounds to over 100).

Instead, I coded a small utility hidden within the program to show the image, and allow to record with a single keypress. It is precise enough that you don't have to cut it afterwards, and it auto-saves to the right file name.

To this day, I didn't find a better way to record lots of small sounds, and since it was written in C# and XNA (which has been killed since then), I keep a Windows computer around just to run it, when I need it, about one or two times a year.

There is little incentive to rewrite it until it stops working altogether, since the use is so infrequent, but each time it saves me several hours of boring work.

brightball 1 day ago 0 replies      
Worked for a telecom company right out of school in 2004-2006 on a small team doing PHP fronted sites for backend Java web services. We launched 7 sites in that 2 years and if I recall, the customer VoIP site and a site that mapped installation records from about 6 different databases into something usable by support and installers are still in use today.

The VoIP site I'm particularly proud of because it was a cross-browser fully AJAX'd (Single Page App for the kids) site built before we'd ever heard of jQuery or Prototype...and it's continued working without a single update for 12 years. PHP 4, WSDL Java services and hand written Javascript that worked in IE6, Safari and Firefox (Chrome didn't exist yet but it works there too).

justinhj 1 day ago 0 replies      
In the mid 90s I wrote some A* path finding code for a game and in the process wrote a programming tutorial about it. The page got a lot of traffic and requests for code, so around 98 I wrote a version of it using a simple api but spent a lot of time making it solid and fast. It was used by several major game companies including Activision and Relic Entertainment as well as indie games and student projects.

A few times I've started a game programming job and found my code there already.

Recently someone ported it to C# where it can live on in Unity games.


BobRun 1 day ago 0 replies      
Wrote an accounting package in 1986-90 mix of C and dbase and Clipper. It is still in use, went through y2k, no problem. I tried to let it die. But could not. The thing is still alive and I am porting it to C. Wasted a lot of time looking at other languages but C is still the best for me.
cesarbs 22 hours ago 0 replies      
QuickSynergy: https://github.com/cesarbs/quicksynergy-gtk

A simple and straighforward UI to use synergy on Linux for the most common use cases.

I haven't properly updated it in years (made some small changes last year though) but I know it's still in use e.g. my wife was surprised to learn it's quite popular at her company.

cannam 1 day ago 0 replies      
Autumn 1992, in an undergraduate industrial placement, a module for approximating special functions (Zeta function, Bessel functions etc) in the REDUCE computer algebra system: https://sourceforge.net/p/reduce-algebra/code/HEAD/tree/trun...

I kept a copy of Abramowitz and Stegun open on the desk for months... I don't think REDUCE is all that widely used nowadays, but it does still work, very well in some respects. It was closed-source at the time and was open sourced relatively recently.

I'll echo the sentiment that most of the commercial stuff I've worked on has either died or never launched at all.

darrelld 17 hours ago 0 replies      
My first "big" application I wrote and got paid for was a MS Access SQL VB hack I wrote for a company I worked for.

I fully expected the thing to crash in a few weeks after I left and they would move on to something else, but no 8 years later and I'm told it is still running strong.

calcsam 1 day ago 1 reply      
Client-side or server-side? My Angelfire website circa 1999 is still up and running :)
cpncrunch 1 day ago 0 replies      
My socket library from 1997 is still handling thousands of sessions a day. I just checked the CVS log, and it has only had 2 minor changes since 2005.
khedoros 1 day ago 0 replies      
I've got some code in part of a corporate-scale backup system that I wrote in 2008 (right out of college). The product is being put into kind of a permanent maintenance mode, so I imagine that the same code will be there for as long as anyone's using the product.

I had a hand-coded Geocities page (actually, 2 of them) in about 1995 and 1996. Should still be accessible in the Archive, or something.

tluyben2 1 day ago 0 replies      
80s software written in Turbo Pascal largely by me for which I wrote a library in Delphi in the 90s which would run the software without changes in a Windows window while looking modern and not like a terminal. It is still used a sold in and to a lot of Dutch schools.
susam 1 day ago 0 replies      
In 2007, I wrote some code to make Apache Nutch capable of crawling web pages protected with NTLM, Diget or Basic authentication schemes as well as crawling web pages via a proxy server that requires NTLM, Digest or Basic authentication ( https://issues.apache.org/jira/browse/NUTCH-559 ).

This became first available with Apache Nutch 1.0. Although it was my second contribution to an existing open source project, it was my first contribution that added a new feature. As far as I know, this feature is still in use for crawling intranet web pages.

datenwolf 1 day ago 0 replies      
A quick'n'dirty OpenGL texture mapped font drawing class that loads gylphs though the Win32 GDI, I wrote some 17 or 18 years ago. There are much better OpenGL text renderers, that produce better quality output, use far less texture memory and can do Unicode. Yet because I submitted that thing to FlipCode on occasion still ends up in production code.

But I wouldn't even mind that if I wouldn't consider the code quality of that thing to be horrible. When I wrote that I had enough programming knowledge to tackle big projects but I still lacked the years in which I experienced how and where (my) legacy code will end up. I also didn't put too much care into things like keeping the namespace clean.

akerro 1 day ago 0 replies      
IRC bot in Ruby 1.6. I wrote a complete "framework" that supported plugins and hot-patching.

Some functionality: inter-channel-communication, inter-server-channel communication, offline messaging, reading RSS, working as ChanServ by commands (you can send him priv msg or message on a channel to promote you or someone else, kick or ban someone). Collecting messages are creating graphs about activity, per hour, per user or channel (so could easily see who abuses the most after 3AM), per day of week... I stopped writing in Ruby for a few years, when I get back it was Ruby1.9 and a lot of syntax changed. I know one person is still using it.

It was also my first ever application (other than scripts from tutorials), I wrote it when I was 15.

LarryMade2 1 day ago 0 replies      
technically... A few games I wrote in High School (79-83) on the Commodore PET are out there on sites to download and play...http://www.mobygames.com/game/tosshttp://www.mobygames.com/game/pet/tic-tac-toe_http://www.mobygames.com/game/pet/tron-light-cycle-gamehttp://www.mobygames.com/game/pet/tron-journey-to-the-mcp

My VIC-20 and Commodore 64 versions were better, but those came later

danieltrembath 18 hours ago 0 replies      
2002. Intranet for a major auto maker. Still going strong. Large percentage of the original management and accounting code intact. Still in development.

1999. DynamicIP tracking script from the dial-up days. Tiny but it's been telling me where my home internet is for 17 years.

jventura 1 day ago 0 replies      
Not my oldest code but probably my currently most used code is this patch on Android Cyanogenmod (http://review.cyanogenmod.org/#/c/26167/) to download automatically MMS without switching the mobile data on. I made it to ICS, ported to 2.3 and it has been ported at least to Jellybean.

I had to do it because my mobile operator used to send unsolicited mms that kept my old android phone (ZTE Blade) in a wake lock, draining battery. I still don't have mobile data connection to this day!

sulam 1 day ago 0 replies      
1992, some MUD code I wrote seems to still be around. Kinda cool and at the same time sad. :)
hacksoncode 21 hours ago 0 replies      
Hmmm... back in around 1997 I rewrote the Synaptics TouchPad driver for Windows NT, and most of that code is still in the drivers today...

So I bet I win the number of copies still being used by nearly 20 year old code among the comments here... probably something between a quarter to half a billion of those laptops still in use...

apercu 1 day ago 0 replies      
I did a trivia game for a Mattel subsidiary in 1998 that was still running in 2008 on the website. It's not there any longer but I don't know when it was taken down. A lot of the games we developed were in shockwave/lingo and flash, so I imagine most of those came down with the arrival of the iPhone. The trivia game was just a Perl/CGI/MySQL thing so who knows how long it would have run. Was probably a security risk after a few years though, as it was my first RDBMS app.
Flemlord 1 day ago 0 replies      
1994. VB6/SQL, although it started as FoxPro and VB6/SQL was introduced in 1995 or 1996. WRAP accounting software for a financial company that was sold around 2003. Not much in use now, but I hear they still have a few clients and a small 2-3 person support team.
paulmooreparks 1 day ago 0 replies      
The core user interface code in a point of sale system. I got a contract in 1994 at NCR to write an interface between the flagship grocery point of sale system and a new UI device called DynaKey. I was told not to polish it too much because they needed to get it out the door, and they'd go back and clean it up later. By 1995 I was writing the second version, which made the UI configurable. In 2008 I was back writing the third version, still in production today, but still built around the code I wrote in 1994.
cm2187 1 day ago 1 reply      
Many bank payment and loan systems are written in COBOL. Banks are so afraid to change them that there are often not even plans to upgrade them. When a change absolutely has to be made, they need to call the developers back from retirement...
ratboy666 1 day ago 1 reply      
My text editor (Assembler, then C), 1982.Some F18 Hornet software (C, ground station support), also 1982.Humphrey Utrasound Biometer (updates, Z-80 assembler), 1992.Kodak Spark-based picture kiosk (Solaris 8 upgrade, Solaris patches for FAT, USB, PCMCIA), 1999.

But why?

pegas1 1 day ago 0 replies      
1976 MUFSYS flood forecasting and irrigation management for Indus river
20years 1 day ago 0 replies      
2006 for me. It is a SaaS service. The front-end has been re-done a couple of times since then but some of the original back-end code is still in place. I cringe every time I have to look at it but it works well so there hasn't been a need to re-write it.
bulte-rs 1 day ago 0 replies      
Back in '97 (I was 13 then) I wrote a small BASIC program to generate a part list and assembly "manual" for industrial garage doors. It was actually developed in a TDD way (comparing their regular output files to my generated files). Actually handed over the source files which they actually maintained throughout the years.

It has been running in various incarnations on salvaged old machines and for the past 3 years in DOSBox untill january this year.

Still proud of that one.

Although I made "only" 1000 guilders (that's about $750 in 2016 dollars) on that, it seemed like a huge amount of money back then. :')

rootw0rm 1 day ago 0 replies      
A virus I wrote in the 90s. Hopefully.
sanj 1 day ago 0 replies      
Code to analyze results from the Slowpoke nuclear reactor at the university of Toronto: 1994.
technologia 1 day ago 1 reply      
Written in 1997, still in use at a few banks that haven't upgraded, well, since the 90s
zck 1 day ago 0 replies      
The code I wrote in my first job is probably still used, but I don't remember any features I worked on.

The code I wrote that will be running the longest is code I've contribute to Emacs. User-facing features are unlikely to be removed anytime soon.

piyush_soni 1 day ago 0 replies      
(Apologies,) I have nothing to contribute, but I'm amazed to read the comments from so many awesome people here! It can happen only on HN where you find such a group.
gaius 1 day ago 1 reply      
I am still using a Makefile from the early 90s, just altered for new projects, infact it is probably a direct descendant of the original Makefile.
iisbum 17 hours ago 0 replies      
I recently got a call from the CEO of a company that I worked for from 2000-2003, asking if I could help upgrade some code I wrote that was still in production.
mvgoogler 1 day ago 0 replies      
In the early '90s I wrote the embedded software for the first versions of these hand-held color measurement instruments: https://www.byk.com/en/instruments/products/color-measuremen...

From what I can see of the screen shots it looks like at least the core of that software is still in use.

edem 1 day ago 0 replies      
When I started to learn PHP in 2007 I've written a little accounting program for the guys at the company I was working for. I know they are still using it because I get a call every year: I need to manually switch the current year. They don't want me to implement this feature for some reason but they still keep calling me once a year. At least there are no other bugs I know of!
xxxxxxxx 1 day ago 1 reply      
I still have an excel sheet that I wrote to perform mortgage calculations. The timestamp on the file is 10 March 1994. The latest version of excel can still open it and it works.Although it exists, it's not in use.

I suspect all the stuff I wrote back in the late 80's and early 90's has long been switched off at some point, which is kinda sad. It would be hard to run today: EBCDIC mainframe stuff and 16 bit PC stuff.

dreamaddict 22 hours ago 0 replies      
Oh wow...


I got my wisdom teeth taken out when I was in high school, and coded this in a weekend while eating Percocet and tapioca pudding. I had no idea it was even still for download. It actually works very well for what it is (an interactive sheet of paper for use with a book)...still in use? Probably not, but I am amazed that it is still there.

ZacharyPitts 1 day ago 0 replies      
Got into mudding back in 92. After playing the game for a while, 'ascended' to becoming a coder on the backend. I created realms, and did some of the conversion work when the mud went through its first huge shift from a base LP Mud. The mud is amazingly still running: https://www.bat.org
lifthrasiir 1 day ago 0 replies      
Transdate [1], a Python library for handling Korean lunisolar calendar, is probably the oldest (released on 2005-03) code I have ever written that is still in use.

[1] https://pypi.python.org/pypi/transdate/1.1.1 (the initial version was released in the other form)

payne92 1 day ago 0 replies      
~1995-1996, FastCGI implementations
andywood 1 day ago 0 replies      
A game I finished in '96. Still playable thanks to DOSBox.
xioxox 1 day ago 0 replies      
From around 1992, a 16 bit Windows Borland (Turbo) Pascal GUI database for my parents' business. This was the 2rd rewrite of some DOS and then Amstrad CP/M software I wrote in Modula-2! It still runs (in a Windows 32 bit VM) and I do change minor features.

I have a Python/PyQt replacement, but it requires some more testing and development.

airfoil 1 day ago 0 replies      
A pro wrestling simulator in 2003. It's terrible. The code is absolutely horrible. There is a small community of folks that still play it.
WalterBright 1 day ago 0 replies      
The dmd D compiler has some pieces of code in it going back to the early 80s. Some of my Empire game code, written in the 70s, still gets used.
busterarm 1 day ago 0 replies      
I've thrown up several quick sites for friends and family using very simple markup over the years.

Both my brother's site (1999) and an ex-gf's art portfolio (2002?) are for the most part unchanged in all this time.

They don't look amazing but they're still...decent.

Some sites I made for a school I went to are still up since 1997, but I don't think they're directly linkable from the main page anymore, just hosted and indexed by google...

armamut 1 day ago 0 replies      
I wrote a Microsoft Excel macro (yes, it's VBA) when I started my current Job at 2008. It only converts badly formatted txt output of mainframe to an Excel file. Just does it only, but does it well.

I'm very amused that even today people use my macro and thank me for writing it.

jonathankoren 1 day ago 0 replies      
My .tcshrc dates from 1994 or 1995. Ironically, the reason why I run tcsh as my primary shell went out of style about 1997, yet, here I am.

As far as actual programs, I have a perl script I use almost daily that I wrote from 1999. It's basically an easier to use `xargs` called `map`.

keefe 1 day ago 0 replies      
Linear mathematics calculator doing pivot tables for solving systems if linear equations 1999. I have only vague rumors of it still being used in class but it's still available http://www.nku.edu/~mat111/offline.htm
malyk 1 day ago 0 replies      
Pretty sure code I wrote in 2001 right out of college is still used in production for mission critical systems for a national association.
shakycode 1 day ago 0 replies      
I've only been programming for 5 years and some of the original code I first wrote 5+ years ago has survived and somehow is still running. I'm tempted to go back and refactor it to make it more performant though.
occsceo 1 day ago 0 replies      
I worked at a local paper in `00 and wrote a classic asp over access "news desk" for them. I just ran into one of my coworkers and he mentioned certain key parts of the app is STILL in use.
seehafer 1 day ago 0 replies      
2002. Part of a weather forecast tool to determine where to best place salting trucks during winter storms http://inws.wrh.noaa.gov/page/tou
fibo 1 day ago 1 reply      
I knew an old man who is now retired who wrote something in COBOL For a bank, it is still running cause it calls itself and nobody understand ita eval tricks. It is still working and everybody is afraid of removing it. True story.
beamatronic 1 day ago 0 replies      
I am not sure if they are still running, but some time ago I wrote a large number of Oracle PL/SQL procedures activated by cron jobs. The source database schema did not change very much ( JIRA ) and those procedures ran for at least four years without needing any attention or maintenance.
tmaly 1 day ago 0 replies      
I have a number of compliance reports that have been running without fail since 2005. I have a task management system that has been in constant use since 2006.
Joeri 1 day ago 0 replies      
A flash-based CAD floorplan viewer I wrote in 2005 is still being used. There's been talk for the past half decade of porting it to javascript, but as long as browsers keep supporting flash I doubt it will happen.
jstaffans 1 day ago 0 replies      
In 1998, while I was in high school, I got involved in MUD development using LPC (an obscure object-oriented version of C).

To this day, new players are greeted by an NPC that I wrote when first logging into the game.

OliverJones 1 day ago 0 replies      
xlogo 1989
rowantrollope 1 day ago 1 reply      
1995 windows print software
dreamaddict 22 hours ago 0 replies      
oh damn oh damn it's still up!


I got my wisdom teeth taken out when I was in high school, and coded this in a weekend while eating Percocet and tapioca pudding. I had no idea it was even still for download! It doesn't matter now, because I believe the Magnamund books are being re-released in a more modern, integrated package...but there it is!

dakami 9 hours ago 0 replies      
-D flag in OpenSSH.
MaysonL 1 day ago 0 replies      
I wonder if any Triple-I (Information International Inc.) machines are still alive and running any of the code I wrote back in the late '70s?
krapp 1 day ago 0 replies      
Apparently people are (or at least were) using this perceptual hasher[0] I wrote in PHP a few years ago. I'm embarassed by it because I know I will never update it, and it's probably badly written. Luckily there are lots of forks.

I also have a lot of old javascript hacks that are running on various Adobe Business Catalyst sites for people. Sometimes I get reacquainted with code I wrote months ago and forgot about entirely. I have actually asked myself "who wrote this" only to realize... it was me.


nslindtner 1 day ago 0 replies      
1996, Concorde XAL (Danish ERP-system).
kijin 1 day ago 1 reply      
Wrote a music library organizer and MP3 player in 2003 because none of the existing options worked the way I wanted. The initial implementation was in VB6, later ported to VB.NET. I don't use it anymore, but at least one of my family members still does. It's really fast on modern hardware and Windows 10.

Unimaginatively named "Music Player", it remains the only music library organizer that I've used so far that completely ignores all the ID3 tags and respects the way I manually organized the files into folders (artists) and subfolders (albums). That's supposed to be a feature, not a limitation. Back then I had a lot of pirated MP3s with horribly inconsistent ID3 tags ;)

gborland 1 day ago 0 replies      
In 1996 I started work on a 2D rendering engine in ARM assembler which did alpha-blending and vector antialiasing. Substantial parts of it were later rewritten in C, but the core pixel-blitting loops are still there in ARM as far as I know. It shipped hundreds of millions of units and was at one point present on the majority of mobile phones manufactured in Japan, Korea and Taiwan in the mid 2000s. It is still going, and some software products are still being shipped today which contain that code.
Ask HN: What are some rite-of-passage style projects for programmers?
86 points by linuss  2 days ago   95 comments top 28
jasonkester 2 days ago 5 replies      
Odd list. You can have a very successful developer career without ever needing to write any of those ever. I'm a little over 20 years in now, and have never needed to do any of that.

Maybe in the 90s, I might have actually built a linked list in C for whatever reason, and I guess you could define graph traversal to include walking a tree pulled out of a database. But the rest are things that The Universe Provides For You(tm), which one would only ever reproduce in School, a Job Interview, or a Poorly Chosen Hobby.

As to actual rites of passage? Ship Something that real people actually use. Build an entire thing, be it a piece of desktop software, video game, web application, mobile app, etc. from bottom to top and send it out in to the world fully formed. That, in my mind, is what we're here for.

mynameisjody 2 days ago 7 replies      
Some real world rites of passage...* have your project cancelled* get outsourced* build the same thing twice (billing system, e-commerce, etc)* underestimate a project* get promoted to management....realize you hate it* hire a net-negative* implement a cms

We could totally make career bingo outnof this...

sheraz 2 days ago 5 replies      
My rights of passage:

1. your own MVC framework You should do this to appreciate why developers of other frameworks make the decisions they do. I gained so much wisdom from this.

2. Parsing HTML with regex (see here - http://blog.codinghorror.com/regular-expressions-now-you-hav...)

Seriously, just DONT DO IT(tm) -- but if you do, you will eventually learn why you don't want to do it this way, and you might get pretty good at regex expressions

3. Your first mobile app published to the app storePublishing apps to the Apple app store has given me a deeper appreciation for paying attention to the little details. Also, making native apps is a completely different paradigm than web apps because shipping code with logic errors has such a high cost and delay to fixing them.

4. Port an existing library to a new languageI long time ago I ported a recipe parsers from Ruby to Python for a paid gig. It was such a good learning experience because I had a perfectly functioning reference implementation, which allowed me to go deep on getting the details right.

I had to replicate test cases, documentation, scaffolding, and the code itself while being aware of the gotchas of Python.

hga 2 days ago 0 replies      
Dive into someone else's imperfect at best code and make it work. After finishing the final project for my 2nd programming class, I helped someone else make their's work. In the context of what could run on a PDP-11/70 running Version 6 UNIX with 24x80 CRT terminals, it was rather neat, a semi-real time air traffic control simulator game, with planes coming from the upper corners and crossing paths as they went down to the catercornered runway.

Great idea, better than mine, but the code was awful, had three global state variables X, XX, and XXX ... plus U, UU, and UUU for the UFOs he'd added to make the game more fun ^_^.

I helped him reduce the complexity by removing the UFOs (it was still quite challenging enough), and getting it to work in general. This prepared me for the many future jobs I took working on the code bases of others (one of which, for example, taught me red-black trees for real), and which soon enough led to the extremes of software archaeology when you can't even ask anyone about the code.

Not that you necessarily want to seek out such work, it's hard and often thankless, but at its best it's also what paying down technical debt is about. And code you've written long ago can also be rather foreign when you come back to it....

fitzwatermellow 2 days ago 0 replies      
Snake. Can pretty much pack all of CS 101 into that one little game ;)

My "hello world" for learning new languages and platforms. Integer based or floating point. 2d or 3d. Sound effects, sprite animation, physics, procedural particle systems, global leaderboards, digital skins and so on ad infinitum. Allows you to experience nuances in packaging and deploying WebGL vs Android vs Steam. Continue polishing it, and you may end up with something fun that others will love!

Can also be refactored into a full Tron Light Cycle style simulation. Which is a great way to learn AI. Good luck!

madmax96 2 days ago 1 reply      
For me, it was writing my own Lisp. I'd strongly recommend giving it a try -- you'll learn about tokenization, parsing, garbage collection, and a bunch of little software development lessons.
paulmooreparks 2 days ago 1 reply      
For me, it was implementing a large bit of the C standard library. I had just blown an interview at Microsoft in 2001, where I stumbled over a whiteboard implementation of strtol, and I thought that I needed a serious upgrade of my understanding of library implementations and the algorithms that are used in them.

Every developer should also implement all the basic data structures and algorithms -- and then never write their own again! The process, however, definitely improves your chops, helps you understand the trade-offs inherent in choosing among data structures and algorithms, and gives you an appreciation for what's going on "under the hood."

borplk 2 days ago 0 replies      
Maybe compiler-related stuff. Create a small dummy language that compiles down to JVM bytecode and things like that (learn about tokenizing, parser, abstract syntax tree, type checking, operator precedence, code generation, etc...).
broodbucket 2 days ago 0 replies      
The classic one I always heard of was a shell. You learn about input parsing, fork/exec, and usually some syscalls. Lots of features can be added on, like running processes in the background, autocompletions etc.

Writing a shell in C (you can use Readline if you don't care to learn much about parsing) teaches you lots of stuff about the operating system you're working on.

bbcbasic 20 hours ago 0 replies      
Looking for a job as a fresh graduate. With no work history it is all bullshit multi-day interviews, giving presentations, showing you have 'people skills', rediculously high applciation to interview and interview to offer ratio.

My favourite was a small company that told me they 'like to get girls in for interviews' on the phone and then I stupidly still went to a face to face (I was desperate) and I got rejected - the reason was I used a loop to implement something but didn't suggest I could copy and paste the loop innards 10 times, and therefore was 'holding things back'.

aappleby 1 day ago 0 replies      
Common ones from when I started writing video games in C in the 90's -

* Write malloc() and free().

* Write a gzip decompressor.

* Write a triangle rasterizer and use it to draw a spinning cube on the screen.

Each of those is a decent but manageable amount of work for a new dev and will teach you a variety of useful low-level skills.

FLGMwt 2 days ago 4 replies      
This may be colored by me being self-taught, but aside from interviews, why algorithms?

Seems to me that the best way to test your well-rounded skills as a programmer is to build and launch a product. Even if you don't aim to be an entrepreneur, the holes you find while taking an idea from inception to launch are much bigger holes than you'd find building this tree vs that tree.

askyourmother 2 days ago 0 replies      
Find a personal itch and scratch it. In my case, I knew little about reverse engineering closed source bins and drivers but had some hardware I was not yet ready to toss out. I learnt a lot about writing new device drivers based on the specs I managed to gtok from poking and peeking and analysing the original ones.
contingencies 2 days ago 2 replies      
The phrase 'rite-of-passage', to me, carries negative connotations - something you have to do, something tedious, something necessary. In truth, there are no such projects.

However, in terms of projects popularly considered to be commonly implemented by newer programmers that do hold benefit, in network programming, I would say a traceroute implementation. Server-side, I'd say any multi-node cluster system, preferably diskless. Any embedded system. An RDBMS system. A NoSQL system. An open source intelligence system. Any computational linguistic system. Any i18n/l10n heavy project.

d--b 2 days ago 0 replies      
1. Backtracking algorithm2. Any kind of NP hard problem really3. A recursive decent parser4. An expression evaluation library5. A plugin mechanism6. Fixing memory leaks7. Speed optimization
wayn3 1 day ago 0 replies      
* Projects - Ray tracer - Parser/Interpreter - Compiler - Virtual Machine - Small kernel - Neural Network - Web server

Among these, do the ray tracer and neural network seem way easier than the competition to me due to my math background or are they just weirdly chosen?Those two are essentially algorithms, not "projects".

spacemanmatt 2 days ago 2 replies      
Learn enough sql to write an application entirely in the db, except presentation layer, of course. Use OO concepts to hide data, provide accessors, etc. Write a wrapper library for accessors in your front end language of choice (CLI, Web, GUI, whatever).

You won't often see a big project structured this way, but it is very effective for a first hand experience of data driven design.

brightball 2 days ago 0 replies      
On the web:

1. Build your own CMS

2. Build your own framework

3. Performance tune SOMETHING intensely so that you can observe the bottlenecks and their causes across the stack

Just off the cuff there.

Aeolun 2 days ago 0 replies      
1. Anything involving two different forms of encoding, one of which should preferably be something obscure like ShiftJIS.
gorbachev 2 days ago 0 replies      
Go to an interview and get asked an algorithm question after another realizing you've never had to implement a meaningful algorithm from scratch since you graduated College, because there's a library for (almost) everything.
reacweb 2 days ago 0 replies      
To learn web security and encryption, Strip CTF2 (https://stripe.com/blog/capture-the-flag-wrap-up) is fabulous.
Zekio 2 days ago 3 replies      
Encryption, so you learn something about how it works.

Some kind of game.

Edit: Something that uses an API.

erroneousboat 2 days ago 1 reply      
not really an answer to your question, but it could give some guidelines: http://matt.might.net/articles/what-cs-majors-should-know/
adav 2 days ago 0 replies      
Code something in an afternoon that makes your friends go "wow" the next day!
fishnchips 2 days ago 0 replies      
Project management application.
jrochkind1 2 days ago 1 reply      
anything involving concurrency.
CptMauli 2 days ago 0 replies      
A timesheet application
LinkedIn just sent me this
5 points by endymi0n  8 hours ago   6 comments top 2
jeffmould 7 hours ago 0 replies      
Not sure if it is related or not, but yesterday there was an article about credentials that were stolen in 2012 being sold now.


twotavol 8 hours ago 2 replies      
Account breaches are so god damn annoying. That coupled with the stupid rules for coming up with passwords (only 6-8 characters, a-z,A-Z,0-9 allowed!) makes it really frustrating to keep track of and manage passwords for sites like this.

Hurry up and solve the user identification problem, HN.

Ask HN: What's the 'Hello World' program of neural networks?
12 points by essofluffy  1 day ago   11 comments top 9
wayn3 7 hours ago 0 replies      
Tensorflow has a whole bunch of tutorials, but those are the "Hello World"s of tensorflow, not of neural networks.

In order to get started with neural networks, begin with drawing simple neural nets for basic operations like addition, multiplication, XOR. Just represent boolean tables as neural networks.

Once you can do that, move on to implementing the algorithm yourself. A simple 3 layer network is enough to understand how the concept works. 4/2/2 nodes is plenty. Just understand how the calculations work.

Then move on to a framework - only after you understood the math. The machine learning course on coursera by Andrew Ng(?) explains the algorithms.

mimo777 1 day ago 0 replies      
MNIST data, which is the hand written number data. Download Tensorflow and do the examples. You will find it there.
billconan 1 hour ago 0 replies      
1. using a simple nn to do xor bit operation

2. mnist hand written digit recognition

argonaut 12 hours ago 1 reply      
Make sure to implement backprop yourself: don't use Tensorflow, just use numpy and write out the matrix multiplications yourself.
max_ 48 minutes ago 0 replies      
Wonnk13 8 hours ago 1 reply      
Not trying to be a smartass, if "Hello, World" is the most basic program, why would a single layer perceptron model not be what OP is looking for?
abee1331 23 hours ago 0 replies      
XOR for fully connected networks, and mnist for convolutional networks
malux85 23 hours ago 0 replies      
Probably the XOR dataset.
imakesnowflakes 7 hours ago 0 replies      
I once implemented a simple back propagation algorithm in Haskell (without any libraries) that could identify the pattern (one amoung 'A', 'B', 'C' or 'D') represented on an 8x8 matrix...

Here is the code..


Ask HN: Best First Steps for a Startup?
9 points by alistproducer2  1 day ago   8 comments top 6
Kinnard 1 day ago 1 reply      
Probably to find your first user. Get feedback from them on your prototype.Startups aren't fungible so more info on your startup would help.Additionally there is a wealth of resources on the Internet: some of my favorites:

How to Start a Startup: startupclass.samaltman.com Watch the whole series, or you might regret it

Lean Startup:http://theleanstartup.com/ Get this book. If you're not a reader become one. Don't skim it; read it.

Founder's Dillemma:http://www.amazon.com/Founders-Dilemmas-Anticipating-Foundat... Read the whole book before you go get married to a cofounder

id122015 5 hours ago 0 replies      
the basic idea of startups is making more than enough money and you do that by seeking funding first. But once you do that you have to answer to somebody... to shareholders. Also as things can grow, you'll have to manage employees.

ask yourself if that is what you really want. YCombinator is close.

thakobyan 19 hours ago 0 replies      
I personally feel that following your own intuition in the first days can be more helpful.
asimuvPR 18 hours ago 0 replies      
Who did you build it for? Who is the customer? If you don't know find a rough definition. Then you know who to sell to and that is the important step :)
testing15 11 hours ago 0 replies      
The whole thing depends on what your product is, what problems are you solving and what touch points have you identified for reaching out to your target market.
Airspectral 1 day ago 0 replies      
The best way is to share your idea or prototype. In what it consists in?
Making a proper encrypted SMS app (Android)
5 points by spokespinner  23 hours ago   7 comments top 2
lawl 22 hours ago 1 reply      
> I currently know very little about how to properly handle encrypted data.

Then don't roll your own crypto.

Textsecure had SMS support and there are forks adding websocket support.

My suggestion would be to work on untangling TextSecure from Google.

I also don't see why you shouldn't be allowed to share where you cross posted this to.

welder 22 hours ago 1 reply      
> I'm hoping that by using a plugin system, users are free to choose which algorithm to use...

This will just confuse the user and limit adoption in my opinion.

Not sure about the quality of security, but it's distributed:

https://ring.cx/en - Ring is a secure and distributed voice, video and chat communication platform that requires no centralized server and leaves the power of privacy in the hands of the user.

Ask HN: How to ask to work with a prof at a local uni as a high school student?
4 points by essofluffy  1 day ago   12 comments top 8
umbs 3 hours ago 1 reply      
As some comments suggests, it's not clear what you want from the professor. If there's no clarity from your end, it's very unlikely the professor can help you (even if you get a chance to meet them). I recall my thesis adviser saying something like, "I receive >100 emails/day from various students requesting to work with me". This was in 2001-2002.

I "hustled" few professors and got some face time around 2001 time frame. But I was out of undergrad (not high school as you requested). These are the things I recommend.

0) Have clear goals on what you want from the professor (and what you can offer too). I showed interest and competence in doing research and I wanted funding from them.

1) I worked extensively in couple of areas (Genetic Algorithms, Simulated Annealing, Finite Element Methods, Optimization of Manufacturing Processes) and published conference and journal papers before requesting a meeting. I am not suggesting you do this. But you need to show you have done some work to warrant face time with professors.

2) After you have done 0 and 1, email them, call them and somehow "stalk" them "respectfully". To meet the professor I did Master's thesis, I wrote to him few times and called him. But finally, I waited in front of his office few hours every day and finally got a chance to meet him. I eventually got funding and completed my degree with him.

3) Alternately, if you can attend some conference (figure out a way not to pay but attend the conference) and meet them there. That's a big plus, IMO.

4) Write to the professor's PhD students and start communicating with them. Learn from them and do your research and build some projects/ideas and use it to meet the professor. This is a "back door" entry in to professor's lab. But PhD students are quite helpful and can guide you in to building a "portfolio" of projects.


Raed667 1 day ago 0 replies      
I know someone who has done this when they were in high-school. Your first option is to have someone you know in common to introduce you.

If that is not possible, just write an email and suggest you can talk further on the phone or in person. Just ask and if they say no, go to the next.

acomjean 1 day ago 0 replies      
You can ask. The worse they say is no.

Not clear what you are looking for.

Any method of reaching out is good, but if class is in session profs usually have posted office hours (hours where you can visit them and talk about the class). In my experience (long ago) they tend not to get a lot of visitors, so if you can, doing it in person might not be a bad idea. Of course being in high-school limits the time available to do this..

sgnelson 15 hours ago 0 replies      
Just email them and introduce yourself. Professors are people too. But just like people, they may be too busy or might not get back to you, or they may be very happy to hear from someone young who is interested in their work. You have nothing to lose but a few minutes of your time writing an email and maybe a little disappointment. Good Luck,
cweagans 1 day ago 1 reply      
"Work with" how? You mean you want to learn from that professor in a non-classroom setting? Or you want to just get to know the professor before you start classes there? Or...?

Kind of hard to say unless you're more specific with what you want to be doing.

Generally, try to find someone to make an introduction on your behalf. That will go over a lot better, IMO.

auganov 21 hours ago 0 replies      
How about you find an experimental OSS project being developed by a local university, contribute a bit online first and then try to meet up?
codeonfire 15 hours ago 0 replies      
Just start college early. Then you can work with profs all you want.
brudgers 1 day ago 0 replies      
Just walk up to the person and ask. Be prepared to talk, even if it might not happen.

Good luck.

Ask HN: How are you feeling about your future as a senior developer?
10 points by hoodoof  15 hours ago   7 comments top 5
runjake 4 hours ago 0 replies      
Early 40s here. No problems.

I get a sense that senior devs who complain about age discrimination are the ones who haven't kept on learning, and haven't been keeping their skills up to date.

I could be wrong, but I have no problems finding opportunities. I see others my age or even much older who exhibit enthusiasm and a youthful wonder and they seem to be swimming in opportunities.

codeonfire 14 hours ago 0 replies      
Nope. Not at all. Feels awesome. The whole world is trying to exploit and be the boss of developers and that is power. Power for the developers. Even when I an 75 and about to die someone will be trying to hire me, lol. I already make more money than all my professors and almost everyone I ever went to school with. All I have to do to stay employable is study a few hours a week to stay up to date. Sure, I won't be able to work at established companies that have the luxury of age discrimination, but those are the boring companies with the shittiest managers. Barring a head injury and death there is nothing that can stop me.
mindcrime 11 hours ago 0 replies      
I'm 42, and I'm not particularly nervous. But I've made it a point to continue learning aggressively throughout my whole career and to this day I still spend a lot of time on Coursera and EdX taking classes, and I keep subscriptions on Safari, Lynda.com, Pluralsight, Egghead.io, etc. so I can constantly keep updating on new stuff. Lately I've been working pretty hard to expand from my core base as a Java developer, to pick up some skills on the "data science" side of things... R, Octave, (more) Python, machine learning and the like. And for the past 4 years or so my dayjob had me focusing on pretty trendy / sexy stuff like Hadoop, Spark, Neo4J, cloud APIs, etc. So unless something really crazy happens (AI comes along and eliminates all development jobs) I expect I'll be able to stay employed in this field for the forseeable future. And I'm working on a startup of my own on the side anyway.

As to whether or not age discrimination is an issue... if it is, I haven't really noticed it as such.

idealboy 13 hours ago 0 replies      
I feel great! For me, age doesn't really factor into it. I'll probably push my last code from my deathbed - hopefully in the form of committing my conciousness (kidding, not kidding).

My career just keeps getting better. It's not hard to stay up to date if you stay interested and engaged. And if you're interested and engaged, you find yourself not really aging in the way a lot of people do.

Another nice benefit of aging that's helped my career is wisdom earned from experience. I started at AOL in '98 when I was 16 (it was cool then) and have worked in the industry since. There's not much in the way of team dynamics or project mishaps I haven't seen, and that gives me clarity and calm during crisis, which tends to make people want to put me in charge.

I've also learned a lot about interpersonal relationships, confidence and finding mutual benefit. While those aren't typically skills most people associate with staying relevant as an engineer, they are skills that put you in positions to succeed in any walk of life.

I'd say the problem for some veteran developers isn't aging itself, it's getting into a mentality of aging. As long as you embrace the new in technology instead of clinging to old methodologies, you'll be fine. I know developers much younger than me that gripe about new frameworks and libraries like it's a chore to learn. It's still as exciting to me today as the 2400 baud modem I got from my parents in '92.

samfisher83 14 hours ago 1 reply      
I don't feel good at all. I don't see that many old developers working around me.
Ask HN: Submitting to ProductHunt
15 points by mirap  1 day ago   3 comments top 3
edoceo 1 day ago 0 replies      
There have been previous conversation on HN about how to get in.

IIRC the opinion was that you had to be in the "in crowd" to both post and to get promotion.

ahamha 1 day ago 0 replies      
I'm curious. How difficult it is to be promoted on ProductHunt?
Ask HN: Where VC money comes from?
5 points by nametakenobv  1 day ago   6 comments top 2
id122015 5 hours ago 0 replies      
I'd like to know what happens when the governments prints money out of this air and buy shares in private companies with the help of VCs? Is theft a science?
tinkerrr 1 day ago 2 replies      
It obviously won't have 'no effect' on grandma, but generally speaking, grandma's pension fund, if managed competently, will only invest a small percentage of portfolio in venture firms. The effect is therefore limited to a small amount of the portfolio.
Why are we still using Mainframes?
6 points by parialegend  1 day ago   14 comments top 6
lucozade 1 day ago 1 reply      
In my experience, mainframes tend to be used where functional requirements are very slow moving and reliability trumps flexibility.

I don't know of any case where a mainframe couldn't, in principle, be replaced by a server farm. However, maintaining a sufficiently reliable and secure server farm is a specialist job too so the benefits aren't always clear cut.

Ease of migration is really down to what the mainframe is doing and for how long. In practice, they tend to be in place for a number of years in hub-type roles e.g. general ledgers, payment systems. That sort of thing. The effect is that extricating them is extremely complex and expensive.

However, these issues aren't really limited to mainframes. We have the same problems with trying to extricate Sparc Solaris applications. We generally want to replace them with Lintel as we use them in most applications. But doing so is horribly complicated as they're embedded in byzantine flows that few understand and the systems often assume a level of hardware reliability that commodity boxes don't have.

YeGoblynQueenne 1 day ago 1 reply      
>> Do we have any alternatives? How easy is it to migrate?

Oh god, no, don't even think about it. It's hard enough migrating away from a code base in Java, written 10 years ago and that runs on pretty much anything. Imagine how hard it is to migrate from a code base written in languages known best by engineers in retirement, that only runs on extremely expensive supercomputers made by almost a single company (IBM).

But the worse thing is that you can't just pull the guts out of the software that runs all the transactions of huge financial organisations. You can't just throw a switch and stop all financial activity in a big bank, while you swap a new system in place, because every second of downtime costs millions. Millions! Who is going to take the responsibility for that?

So change never happens because nobody dares make it. One day mainframes will outlive the last people who can program them competently and then we'll all be in trouble.

DrScump 1 day ago 1 reply      
Legacy code bases.

I wonder how much of my 1986 code is still in use.

executesorder66 1 day ago 0 replies      
I think it is because it is the easiest/cheapest way to reliably handle a fuckton of transactions. So it's great for a bank. I can't think of any other use cases though.
Zelmor 10 hours ago 0 replies      
Vendor and code lock-in, mainly.
gadders 9 hours ago 0 replies      
Why? Because they work.
Ask HN: Autism?
12 points by mkra  1 day ago   2 comments top
sharemywin 1 day ago 1 reply      
Not that you need fixing, but I remember watching an interesting TV episode of this:


I remember at one point he was in a meeting with a bunch of people and the CEO had made a suggestion and he told the guy it was the stupidest idea he had ever heard.

Ask HN: Simple tool to record file history and revert at any time
3 points by billconan  1 day ago   7 comments top 3
eicnix 1 day ago 1 reply      
JetBrains IDEs have a "Local History" feature which does basically what you want.

- Saves files automatically and saves revisions

- Allows diffs between version

- Allows rollback or patches

- Include event information like unit test results or git actions at each version

I don't think this is available as a CLI tool but when you are using an IDE anyway this might me a solution for you.

atmosx 1 day ago 2 replies      
Git and Hg do exactly what you want. I'm not sure I understand what heavy means in this context, how exactly is git heavy? It's a 2MB binary.

 $ du -sch `which git` 2,0M/opt/local/bin/git 2,0Mtotal
You don't have to push the code to a remote repository just because everybody does. An older alternative which was created to do exactly what you described is rcs[1].

[1] http://www.gnu.org/software/rcs/

samfisher83 18 hours ago 0 replies      
Git doesn't need a server and isn't heavy. You can just commit on a local repo.
Stanza: A New Optionally-Typed General Purpose Language from UC Berkeley
14 points by patricksli  1 day ago   7 comments top 4
borplk 7 hours ago 1 reply      
Well done, looking into it now.

Edit: holy mother of god the philosophy page is so scarily close to my thoughts, very happy to see this happen, I kept them in my head you have implemented it!

macmac 1 day ago 0 replies      
HoopleHead 1 day ago 1 reply      
Does it do word-wrap?
macmac 1 day ago 1 reply      
A link would have been nice.
Please collapse HN comments
25 points by amiune  17 hours ago   12 comments top 10
c17r 17 hours ago 0 replies      
Hackernews Enhancement Suitehttps://chrome.google.com/webstore/detail/hacker-news-enhanc...

Does collapse comments as well as other nifty features.

UniZero 6 hours ago 0 replies      
Is there any evidence that Hacker News is even trying to improve?

i.e. - How long can an organization avoid improving itself on the basis of reducing overall risk?

pdkl95 16 hours ago 0 replies      

I wrote a userscript that is simple and works well.

dsaw 17 hours ago 0 replies      
dang 17 hours ago 1 reply      
It's coming.
z1mm32m4n 17 hours ago 0 replies      
I use this extension; works well enough.


One thing is that it obviously don't help on mobile.

bbcbasic 15 hours ago 1 reply      
The road to Discourse is paved with well intended incremental improvements.
eridal 17 hours ago 0 replies      
On one hand, yes please.

On the other, the experience is way better lately.

Do you remember the "expired link"?

sidcool 8 hours ago 0 replies      
Yes please do this.
reverend 17 hours ago 0 replies      
Until they implement it, there's some Chrome addons that'll do what you want.

If you have GreaseMonkey you there's a userscript that also works the same way; http://userscripts-mirror.org/scripts/review/288192

Ask HN: Your favorite open-source JavaScript Library for charts?
6 points by realtarget  1 day ago   7 comments top 6
andymurd 14 hours ago 0 replies      
NVD3's pie chart[1] is quite straightforward, some of the other charts in the library need work though.

[1] - http://nvd3.org/examples/pie.html

antman 1 day ago 0 replies      
Try the Github showcases that lists all the major ones https://github.com/showcases/data-visualization
superflit 1 day ago 1 reply      
The one I use is HighCharts [1]

Very clean and very good.

[1] - http://www.highcharts.com/

dagw 1 day ago 0 replies      
http://plot.ly does everything I've ever wanted and more with pretty good API. The fact that I can use the same API first for doing data exploration in python or R and then when publishing the results to the web is a nice added bonus.
midgetjones 1 day ago 0 replies      
I like http://c3js.org/ - it's built on top of D3.
Ask HN: What are the best books for learning information security?
15 points by hwhatwhatwhat  2 days ago   2 comments top
dsacco 2 days ago 1 reply      
Glad you asked. This is a list I like to call, "how to become an extremely effective and formidable security engineer."

1. The Web Application Hacker's Handbook

Probably the first book you want to read; this will teach you the core mindset you need for finding security flaws in web applications as well as give a very strong foundation for the different classes of vulnerabilities.

2. The Mobile Application Hacker's Handbook

Good supplement to #1 for application security, obviously focused on mobile apps.

3. The Art of Software Security Assessment

The bible of the security industry. Especially instructive for source code review.

4. Security Engineering (Ron Anderson)

Supplements #3. Very instructive for injecting security into the overall SDLC and designing secure software.

5. The Tangled Web

Excellent historical background and good high level overview of many information security topics. Every engineer should read this, even if they don't work in security.

6. Gray Hat Python

Very hands on, good introduction to aspects of reverse engineering and the typical work an e.g. security consultant will do at a top firm.

7. Practical Malware Analysis

Very good introduction to malware analysis.

8. Practical Reverse Engineering

This book, along with #9 will teach you everything you need to know to effectively reverse engineer software for security-focused analysis.

9. Reversing: Secrets of Reverse Engineering

10. The IDA Pro Book

You'll want this if you have any plan to work with IDA Pro at all, which is the gold standard for decompiling and reversing software.

11. The Shellcoder's Handbook

If you'd like to write exploits after you're done reversing software to find an exploitable bug, this is a good book to pick up.

12. Cryptography Engineering

Very solid and broad introduction to cryptography. Every engineer should read this, even if they don't work in security.

13. Introduction to Modern Cryptography

This book, along with #14 is what you want to read if you're going to work as a cryptographer or cryptanalyst professionally.

14. Handbook of Applied Cryptography


Theoretically, these books should resolve your known-unknowns and your unknown-unknowns. Anyone who reads and works through the list should be capable of designing secure software, finding errors in white and black box source code reviews and finding errors in white and black box penetration tests.

If you're looking to get into this professionally, feel free to contact me if you have any questions and I'll do my best to help.

Ask HN: How much do you make from Google AdSense per day?
19 points by taAdSense  1 day ago   20 comments top 8
Guest98123 22 hours ago 2 replies      
OP, we're close, I'm averaging 130 USD/day for 2016. It jumps all over though, and I might see 200 USD days, and 90 USD days, even though traffic and clicks remain level. It's from a single site. About 60% of my users run ad block (young, male, tech audience, mostly on desktop).

Ad revenues drop year after year. I think it's a dying business in its current form.

I think an API should be available for advertising. The API would provide the name of the advertisement, the description, colour scheme, image, and more. Then, developers can use that information to work the advertisement into their site in an attractive and seamless manner.


An example is above. Instead of having a leaderboard advertisement for Chrome, HN could get the advertisement details, and insert it into the site to resemble a post. Every site could then style the advertisement their own way.

I think it's less annoying to users, fast to load, users are more likely to read and click it in comparison to a banner they're blind towards, advertisers would get more for their money, and publishers don't need to destroy their site with gaudy flashing boxes that everyone ignores. It's a win-win-win situation, and my vision for the future of advertising.

Personally, I'm looking to drop AdSense in the near future and try alternative revenue streams. I worked hard to develop my community. I don't like pushing some ugly, irrelevant, tracking filled ads on my users, in exchange for a few cents on every thousand impressions. It's a business that needs fixing, because advertisers are getting ripped off, users are bending over or forced to install ad blockers, and publishers need to keep pushing more and more advertisements to make the same revenue they earned last year. I'm surprised Google hasn't been more innovative in this space considering it's their bread and butter.

faet 1 day ago 1 reply      
~25$/day. I have 10 wordpress websites on various niche topics that get a range of traffic. I'm not worried about ad blocking. Most of my sites are on topics for non-technical people who generally don't run them.
bbcbasic 14 hours ago 0 replies      
$0.25 for a simple childrens app
nicholas73 1 day ago 1 reply      
0.01 per day, with a lucky hit of a buck or two now that then. Usually ad-blocked under 1%, unless a blocker repeatedly clicked around my site.
fratlas 16 hours ago 0 replies      
About $3 a day, with only 700 views a day. I'm happy with that ratio.
someotheridiot 21 hours ago 1 reply      
About $10-$20/day on 1.5M pageviews/month. My cpm/ctr sucks.
msurocks 1 day ago 1 reply      
how do you make 125 dollars per day? I am interested to know
avail 1 day ago 1 reply      
Per day I get around 0.25, on a forum with ~500 members
Ask HN: Would you be interested in an open-source Amazon Echo?
15 points by throwawayvoice  3 days ago   7 comments top 5
runjake 2 days ago 0 replies      
If you actually got so far as to implement half of what you mentioned, you'd be crazy not to commercialize it.

At some point, you'll need to develop commercial agreements with other corporations. At that point, you'll probably need to have been commercialized.

Also, Amazon already has open source activity around Alexa: https://github.com/amzn/alexa-avs-raspberry-pi

tl;dr: Just decide and get started.

drdaeman 2 days ago 1 reply      
If the idea's a complete autonomous, self-hosted system, then, of course it's interesting.

Especially, if it won't be English-only or, even better, could be taught other languages by a skilled end-user.

taprun 3 days ago 1 reply      
No. I don't want to have a device listening to everything I say or do.
askldfhjkasfhd 2 days ago 0 replies      
You may be interested in this -- Amazon open sources an RPi ALexa system. https://github.com/amzn/alexa-avs-raspberry-pi
essofluffy 3 days ago 0 replies      
Ask HN: Has technology benefited the classroom?
7 points by Snackchez  2 days ago   9 comments top 7
runjake 2 days ago 0 replies      
> Is there any research out there that shows the benefits of technology being incorporated in the classroom?


> Does the opposite exist?


> If research does exist, are these studies independently funded or are they funded by the companies of these techonologies?


I think that educational technology is still at a point of "throw it at the wall and see if it sticks". I also think a lot of technology is being deployed without adequate professional development for teachers.

They have the technology, but haven't been gotten the proper level of training nor had the proper resources to develop effective curriculum using technology.

Thus far, effective programs always seem to have a "rock star" teacher/instructor at the center, going the many extra miles needed to establish gravitas.

cwt 2 days ago 1 reply      
Not sure if you are looking for specific data about "brick and mortar" classrooms or if you are open to digital and blended classrooms, too. You can see videos and papers about new educational technology here: https://www.imsglobal.org/2016-learning-impact-awards-public...

I haven't looked at all of them, but you should be able to see some data/research by the participants supporting their educational technology.

Also, voting is open to the public until 2016-05-24 @ Noon.

testing15 11 hours ago 0 replies      
http://rer.sagepub.com/content/68/3/322.short. You can go through this research paper. I feel before implementing the technology we really need to check all the pros and cons and then we should decide.
jabv 1 day ago 0 replies      
My company is of the mind that many ed tech products are not impactful because they don't take a rigorous approach to curriculum (notwithstanding the absolute buzzword status of "rigor" in K12 education). Our approach is to use tech as a lever to transplant a successful curriculum into areas that otherwise wouldn't have this curriculum.[0]

SRI reviewed the research on our impact with fairly positive findings.[1]

[0] - detail on the approach in the International Journal of Artificial Intelligence in Education: http://ijaied.org/pub/1368/

[1] - https://www.sri.com/work/publications/strength-research-reas...

bobbylox 2 days ago 0 replies      
Here's a relevant article that just came up in my twitter feed: http://www.eschoolnews.com/2016/02/15/what-does-research-rea...
wayn3 1 day ago 1 reply      
My mother is an elementary school teacher. She recently bought a set of ipads to use in the classroom. She cant get them to work because the internet at the place is set up improperly and they wont let me fix it for her either.

Schools suffer from bureaucracy, not a lack of tech.

brudgers 1 day ago 0 replies      
To me, it seems that an academic literature search is closer to the daily activities of one than to a random population of tech nerds particularly in regard to questions of professional educational practice.

Good luck.

Ask HN: Conversion of Signups to a pre-launch page?
2 points by teapot01  1 day ago   3 comments top 3
brudgers 1 day ago 0 replies      
The conventional wisdom in the orbit of YC/HN has become acquire the first users one at a time by building something that they love and use. Worry about techniques that scale later.

However, the question seems to contain an ambiguity. Is your project ultimately focused on the needs of businesses or individual users?

My random internet person's advice, forget about sign ups. Forget about pre-launch. Build something basic and launch it to one person. Talk to that person. Launch the next iteration to two people. Iterate and launch to four. Keep going until you know it works or it doesn't.

Good luck.

exolymph 1 day ago 0 replies      
Are you asking about how many conversions you should expect, or whether this is a good way to validate an idea? Do you plan to ask for emails or an actual purchase?
AznHisoka 1 day ago 0 replies      
There is no conventional wisdom. It depends on your market, friction of signup and where you got your sign ups from.
Ask HN: 9+ hours too long for interview process?
14 points by victorhugo31337  2 days ago   10 comments top 6
Spoom 2 days ago 2 replies      
Cynical alternative: The job is meant exclusively for H1B candidates, and the posting is just so they can say they had no qualified locals.
WorldMaker 2 days ago 1 reply      
It certainly ignores a lot of human productivity studies that indicate people rarely work at full manual labor productivity past 8 hours and full creative work productivity (including problem solving and often socialization skills) past 4 hours.

It certainly may be the case that they actually are interested in seeing interviewees past such points in a somewhat controlled environment.

Such "gauntlet" interviews seem common among large technology companies and while I think some of it is a semi-intentional attempt to push interviewers to limits to see how they react, I think it's also just as much "everybody else does it" and that continual momentum of existing interview processes. Which is precisely how such hazing processes in organizations get normalized and their problems ignored over the long term. (Yes, pushing someone to the limits of their productivity is strenuous activity and the very definition of hazing.)

sharemywin 2 days ago 0 replies      
I wouldn't worry about the BS interview. I would imagine at some point they'll talk about thing things you've accomplished and it's important to show confidence and get through the parts of interview you know don't matter that much. If they hire some kid out of college versus someone with experience who tells them they can get up to speed quickly and do the job. Good luck too them. If someone does well on both more power to them, but unlikely. I kept pointing out I could look it up on the internet in 2 seconds.
fao_ 1 day ago 0 replies      
This seems like they're selecting for candidiates that will tolerate a job that is perpetual crunch-time.
testing15 11 hours ago 0 replies      
It seems they are looking for candidates who can work for long hours and under pressure.
rgovind 2 days ago 0 replies      
May be ask them to split interview into two days. I have done it before and I don't think it negatively impacted anything.
Ask HN: Why does a pizza app know my location and 911 doesn't?
45 points by ponderatul  3 days ago   41 comments top 14
Someone1234 2 days ago 4 replies      
I understand the technical limitations.

But here's what I don't understand at all...

Has anyone ever been sailing? On yachts we have radios, but these radios are designed assuming the person operating it might be completely ignorant.

So we have this literal red button, you lift a flap, hold down the button and the radio sends an SOS with complete GPS coordinates and boat name on Channel 16. Then it leaves it on channel 16 so you can describe the emergency.

So back to smartphones, on smartphones we have dialer apps, these apps know when you dial 911. Why in holy heck don't they have a big red button on-screen which when pushed sends your current GPS coordinates USING VOICE over the open line?

Here's what we need to do that:

- Dialer app. CHECK.


- Some kind of UI. CHECK.

- Text to voice system. CHECK.

We have all of the components to roll out a system TODAY which tells 911 via voice where you are calling from. It would almost be free, but we haven't, and nobody is suggesting it.

Everyone is talking about these crazy complicated standards that will, best case, be available in 2021 and cost ungodly amounts. I am talking about using voice which the operator themselves can type in.

Am I mad here? Why isn't this a thing? Why doesn't the dialer even DISPLAY GPS coordinates when you dial 911?

Seriously I bet if someone made this a big deal we could get Apple and Google to sign on almost immediately and this would be available within a year. All smartphones already have all of the prerequisites to do this!

johnhess 2 days ago 0 replies      
You'd be really surprised how well the humans in a 911 center cope with antiquated technology. Visiting the center in Cambridge, Mass, I watched a dispatcher -- calm enough to almost seem disinterested -- do everything perfectly by being the "human layer" on top of the old system.

She entered scattershot information from a frantic caller, and using a combination of keyboard shortcuts, foot pedals (yes, foot pedals), and stand-up-and-hand-signal-to-a-colleague-while-keying-a-mic, dispatched an ambulance within seconds. Way faster than the caller would ever realize.

You're not just replacing software/hardware, you've also got to make allowances for the humans in the system. Little things make huge differences in those situations, so throwing the old system out is painful. Evolving the current one (as davismwfl pointed out) is challenging for its own reasons.

Doesn't mean it isn't important. Just hard to do.

davismwfl 2 days ago 1 reply      
So having done a lot of work in the 911 systems for years, I have some first hand experience here.

First, most pizza apps are just that, an app. That app has access to your phones location data through GPS and some even use WiFi location services. Hence it can send a nearly exact position to where you are standing.

Contrast that to the standard phone network and systems ANI/ALI solution, which still does not (completely) support GPS coordinates at this point. In addition, while there were phases (phase I and phase II) of cell phone location compliance put into place by the federal government, most networks and phone companies lagged far behind in implementation of those standards. On top of that, city and county 911 dispatch centers (PSAP and secondary centers) also have to upgrade their phone and CAD integrations to support better location services.

As for why it isn't being disrupted. Simple, looooooooong sales cycles for an extremely limited market that is vigorously defended by the incumbents. Seriously, it isn't rare for a 2-3 year sales cycle for a lot of 911 components and systems. 18 months is about the normal when it involves critical systems with 12 months being probably the fastest you see anything change. Not to mention, the partners you need involved to make a solution work and be palatable to the 911 centers are the exact same companies who want to keep you out of their market, so it isn't easy. Not impossible, just not very probable without seriously deep pockets to support what would likely be a 3-5 year development to first sale. It makes selling to enterprises look like a fast process and cake walk.

db48x 2 days ago 0 replies      
Because 911 was designed for ordinary landline telephones, before GPS existed, before computers existed. It's just a telephone call, not an app running on your phone.

Granted, it could rely on the software running on your phone to add information for the dispatcher, but not everyone has one, and not everyone who does has the same kind. And that's a good thing!

So it takes standardization, and government regulation. Standardization can work pretty well when there's a nice tight feedback loop with customers who are interested in the results (web browsers, for instance). How many telephone customers would switch phones based on the details of how well the phone supports 911-related features? It's not like we can test them without actually calling 911.

Government regulation can also work, provided you're willing to pay the costs: time and money. Lots of time, and lots of money. In fact, it costs so much for the government to regulate things like this that we end up in this exact situation. Phones have completely changed since the last 911 regulations were updated, requiring telcos to provide location information to 911 when the caller is using a mobile phone. It took years after that regulation was introduced before the telcos were compliant, and before all the local dispatch operations could use the information.

The same would happen today if new regulations were introduced requiring the phone itself to send this information; it would take years for anything to happen. (Though I bet Google and Apple could move faster than the telcos, they've certainly proved to be capable of that.)

And that's all ignoring the inaccuracy of GPS when inside of buildings, the time it takes for the phone to determine the location, etc.

Still, in spite of all of that, now is probably a decent time to start making those changes. It's been long enough since the last updates to the regulations, and new phones are capable enough now, that you'd have a decent chance of getting it done eventually.

Jeremy1026 3 days ago 0 replies      
Because pizza apps use the GPS chip in your phone to get the Lat/Long of your location, and sends it via HTTP(S) to the pizza shop. Currently, cell phones/cell networks aren't able to access the GPS chip on your device and send that data to the receiving party.
underyx 2 days ago 0 replies      
Maybe a possible solution (and startup idea) would be to have an app for initiating emergency calls, which puts the user into a conference call with an assistant operator at the app's developer company and a 911 dispatcher.

- If the user doesn't know the location, and they have given the app permission to read GPS data the assistant operator could check the phone's location data and chime in with the correct address in the conversation.

- If the user is unable to speak, they could send text messages to the assistant operator, who would relay them to the 911 dispatcher.

- If the user is unable to do anything more than pressing a button, and if they've given the app permission for this, the assistant operator could check the messages or other data on the user's phone to try and find out what the issue is (e.g. domestic violence.)

- The user could initiate a video call with the assistant operator who could theoretically be able to more accurately describe certain issues (assuming they are better trained medically) than the user themselves could.

crivabene 2 days ago 0 replies      
I live in Milan, Italy. A few months ago I had to call 112 (our 911 equivalent) after witnessing a bad car accident while looking outside of the window. The dispatcher on the other side of the phone gave me my location (which was 100% correct, both street name and number) and asked me to confirm.I suppose this was possible thanks to E112 [0], but I am not 100% sure.

[0] https://en.m.wikipedia.org/wiki/112_(emergency_telephone_num...

classicteddy 2 days ago 0 replies      
Actually, in Finland the local 911 equivalent (112 Suomi) knows your location: https://play.google.com/store/apps/details?id=fi.digia.suomi...

"The 112 Suomi application enables the automatic delivery of the caller's location information to the emergency service dispatcher (in Finland).Continued use of GPS running in the background can dramatically decrease battery life.

By using this application you agree to the following terms and conditions: http://www.digia.com/PageFiles/112 20Suomi/112-Suomi-app-user's-licence-agreement.pdfRegistry extract according to the Personal Information Act: http://www.digia.com/PageFiles/112 Suomi/112-Suomi-app-registry-extract.pdf"

ubertaco 2 days ago 0 replies      
I don't know many details about the problem, but I might suspect there's also a "perfect is the enemy of good" issue here; there are serious consequences for getting a 911 call precisely wrong, so it's better to be approximately correct and let humans do the work of narrowing-down. With a pizza delivery, if they drive up to 1234 Somewhere Lane and knock on the door asking for 1236 Somewhere Lane, someone's going to point out the problem (and if not, the cost is relatively low), so it's okay to be precisely incorrect.
Broken_Hippo 2 days ago 0 replies      
It isn't just 911 in the states :: It is similar here in Norway and gives me a bit of worry... if I ever need emergency services, that is. I guess they can look it up, but it takes longer.

Here there is an app that will send that information to 911, without worrying about giving special permissions at the time of the call. I'm not sure why that isn't standard on cell phones everywhere, especially since phones generally come pre-loaded with apps. I know that landlines in the states send the information to 911, so I would think some people much smarter than I would be able to make an interface to go between the two. I suppose that would take some time, given how well the government seems to work together to get important things done these days.

YesThatTom2 2 days ago 1 reply      
Yet another example of capitalism run amuck letting people die in the name of profits.

The phone companies COULD upgrade to newer technology right now, but that would cost money.


They could wait until it is a crisis and then DEMAND that municipal governments pay for the upgrade.

Which would you do?

aaron695 2 days ago 0 replies      
Sounds like a privacy nightmare. Phone can override all settings and send my location.

Not to say you cant make money off it.

Focalise 1 day ago 0 replies      
Government vs private enterprise.
Mz 2 days ago 3 replies      
Because human society values selling pizza more than saving lives. If we really cared, we would have a 911 app as well and it would know exactly where you are if you use it to dial 911. But, nope, we don't actually care that much.

(This is not snark, in case you are wondering.)

Ask HN: Lots of non-traditional work exp Pimp my CV?
4 points by wayn3  1 day ago   6 comments top 4
pepyn 12 hours ago 1 reply      
What brotchie and petervandijck said, also:

* Put some effort into the design. Writing plain HTML while also indicating you have run a website and have front-end experience might seem contradictory to a potential employer. A nice font, simple layout and basic responsiveness would go a long way.

* A startup exit, even if small, is a considerable achievement. Consider adding "Acquired by $COMPANY", or if not at liberty to disclose the company name, something like "Acquired by large German corporation".

* Add contact information. If I were to stumble upon your CV online and be interested in hiring you, I should not have to spend time Googling for some way to contact you. Listing your email in the footer is sufficient.

* I assume not getting your degree yet is because of a few pending courses - no need to mention this here. You did the majority of the work and actually completed a thesis project. When you are invited to an interview, disclose it there.

* Some of the stuff you list (machine learning libraries, contributions to poker theory) sound really interesting. Is there anything you could link to here? Blog post, Github, etc.

edit: typo

brotchie 14 hours ago 0 replies      
When listing experience, it's best to follow the pattern:

I accomplished X, relative to Y, by doing Z.

For example for SocialInsight.io:

- Instead of "Instagram Analytics": Helped X customers increase their Instagram revenue / engagement / etc by Y% by building an Instagram analytics Software-as-a-Service.

- Instead of "Big Data on a small server": Enabled fast in-memory Instagram stream processing by develping an optimized in-memory storage format that brought the per-post in-memory size from 300kb to 30kb. (I have no idea what you did, but actually frame the technical achievement that made it possible.)

What'd I'd like to know if I were assessing your CV as a potential hire:

SocialInsight.io: Is it just you, or a team? How many customers? How much revenue? Did you individually do all the design, coding, marketing? or did you have co-founders / other employees.

Freelance Data Mining: What was the most impressive job that you worked on? How many jobs have you done? I'd drop the $80/hr, and don't mention Upwork. Could get away with replacing Freelance Data Mining with "Data Mining Consultant."

Affiliate Marketing, need things like:

- Built a successful direct response affiliate marketing business that funnelled insurance leads to brokerages.

- Developed a custom analytics suite which allowed me to increase conversion rates from x% to x% and decrease traffic acquisition costs by x%.

Professional Online Poker: This is super interesting.

- Funded my university study through playing Limit Hold'Em poker online.

- Contributed "blah" to modern poker theory.

- Ran analytics on opponent data to gain an edge, etc.

Things to remove:

- Note about girlfriend's death

- "Machine Learning before it was cool" makes you sound like somebody I wouldn't want to work with. Better to say "Pioneered the application of machine learning to blah aspect of online poker. Built out custom machine learning libraries to implement methods blah."

- "I believe that inbound communication should come to me. I should not have to hunt for it" Wording of this is a red flag for me. Also, no real idea of what Zophoz is.

Echoing petervandijck: Definitely create a LinkedIn profile and create (or list) your Github account.

Zelmor 10 hours ago 1 reply      
If it's not on LinkedIn, you might even consider this site as your own personal hobby html page. No one will find it, no one will read it. Such is life, make use of professional CV sites to find employment. Put in that one day of effort it takes to make it real good, then relax and watch the interview requests flow like spice.
petervandijck 1 day ago 0 replies      
At the top, remove the large photo (or make it smaller).

Then write: "10 years of software development experience ranging from low level C all the way to front-end web dev. 7 years of data science experience. Startup founder."

Then write a sentence of the type of work you're looking for. (startup? freelance?)

Then list your experience, with dates, going back those 10 years of experience. Remove rates. (the 80$)

Also, you should put this on LinkedIn (regardless of how much you hate it.)

Ask HN: What are the best practices for opening a single outbound connection?
4 points by millisecond  2 days ago   2 comments top 2
ahazred8ta 1 day ago 0 replies      
There are tcp-tunnel solutions that use redundant sessions, sometimes even replicated proxies. This is one of them but YMMV. http://blog.ine.com/2008/11/06/ipsec-vpn-high-availability-w...
mrits 2 days ago 0 replies      
To be highly available the services certainly need to be aware of the status of the connection. It seems like a normal election leader algorithm would handle this just find.
6 points by leonardopriori  2 days ago   8 comments top 3
wayn3 1 day ago 1 reply      
PgElevator should be the name of a chatbot that gives personalized Paul Graham-esque advice in exchange for your elevator pitch.
bigato 2 days ago 0 replies      
Playing devil's advocate here, but why should I waste my time on it if the source code is not even available yet? Please make a 0.1 minimal release with clear and easy installation instructions and show me the code, and I'll be interested. But yeah, looks nice and usable. Hope it succeeds, since pgAdmin4 is taking too long to have any kind of public release.
herbst 2 days ago 4 replies      
Looks nice. A honest question tho, why? What is the use case for such tools? I usually don't want to have non-techs messing around in the DB and for me personally i don't see a benefit to the command line (i actually assume to be able to do way less than on the command line)
Ask HN: Building an automated headless YouTube upload server with v3 API
3 points by ilmiont  2 days ago   4 comments top
kgtm 2 days ago 2 replies      
First of all, is a web interface absolutely required? It adds a lot of complexity to something that is no more than a couple of lines of Bash glue. For monitoring, you can just keep an SSH session to the Pi.

How i would do it, requiring no user input:

* Designate a hot folder on the NAS, where i put all the videos to be uploaded.

* Establish a list of what has been transferred (nothing initially).

* From the Pi, poll the NAS folder for files that haven't been transferred yet.

* If a file is found, cat file | curl --data-binary @- POST it to YT.

* On success, record the transferred filename.

* Continue polling.

Of course, you can quite easily bolt-on a web interface to this, by exposing some of the steps as API endpoints.

       cached 19 May 2016 20:05:02 GMT