Another Theory to Explain 10X Programmers - <AUTHOR> http://beza1e1.tuxen.de/articles/skill_matching.html <comment><USER4> I fell into a role once that was unquely tailored to my experience. To paraphrase, I spent years studying and playing with parsing technologies, and parsing legacy languages for static analysis (these were my side projects). I took a job that required a lot of screen scraping (not really but close) at which I excelled. Blew everyone away when I turned around a project in two weeks. The same type of project took their devs three months on average. To them I imagine I seemed like a 10x'er. They didn't know I'd been writing parsers for fun, for years before that.

An example similar to this would be Brendan Eich writing Javascript in 10 days, when he'd been doing language implementations for fun.

<comment><USER5> Yep, I've had that happen in a past. And the only reason I was able to tackle that "one problem no other developer could fix" was because I had already tackled it numerous times freelancing. In that case, I was almost a 100x developer.

</comment></comment><comment><USER6> I think a mix of things are coming into play here.

There is some innate talent involved in having the personality and mindset to easily think logically, and analytically. Likewise, the ability to jump to higher/lower levels of abstraction.

However, these are areas that people with different personalities can develop. Maybe the guy who comes to it naturally will pick it up quicker, but 5, 10, 20 years into a career, I suspect many people have balanced the playing field.

The mini-skillsets referred to in the article do come into play, as does the experience of what problems, industries, etc, one has worked on in their career.

At the end of the day, I think the overall idea that one person may be 10X in one situation, but 1X in another is 100% accurate.

Using myself as an example, I excel when working on old IBM legacy platforms to manage document-based applications, and modernize them to today's web UI expectations. That has been my specialty for about 10 years now, and I really am quite good at it.

But aside from HTML, CSS, JS, I don't know squat about the tools used by the startups who are writing thigns from scratch these days.

So at the end of the day, I am at least a 10X programmer in my little niche, but would not even pass a phone screen for a YC company.

The flip side is also true. The "rock stars" in SV would crash and burn if they had to do some of the things I do, as they would have to learn old legacy platforms that would be archaic and depressing to them.

And yes, this situation is problematic for my long-term career, but seems to be a great example of how different skill sets perform vastly differently depending on the project.

</comment><comment><USER7> There are 10X programmers. I'll give an example. If you take an average programmer and "the best of the best" and ask them to build a relatively complex iOS app, of which neither has previous iOS experience, the best programmers WILL finish the task up to 10x faster than the average. This is because the average programmer gets stuck on bugs, solving problems, complexity, and is slower at learning new things. The better programmer has a combination of skills that allows him/her to do the correct research and solve the problem at a much faster space. The rate of which grows as the complexity of the task increases. Thus reaching 10X.

<comment><USER8> Actually I believe almost everyone who is reading hacker news is a 10x programmer. It's really quite simple, the average IT person, especially in "enterprise" has very limited knowledge, but they do know some programming. Either in Cobol, Basic, ASP or Excel. Their job is to solve problems, but they're not really interested in their work. A job is a job, not a hobby. They have never heard about system automation, still thinks Linux is evil and a bedroom project and believes VMWare is a coming revolution for system administration, which they're gonna start to use soon.

<comment> FLUX-YOU I don't agree, if only because I'm the anecdote. I'm trying to pick up Rust and mess around with app/net security, but at my job, I feel like I'm in the middle of the pack. There are instances when I quickly fix stuff but also take forever to find a simple problem. To be fair, we do have a very extensive app with 15 years of code rot and only 2 members of the original team to guide/teach. But a guy that started a month after me is already 2x what I am in LOC/fix time. (I know, I know, LOC is a poor metric)

This and "if you read books, you're already way ahead of the pack" or similar statements are just feel-good statements. It's very clear that the other guy and the two original team members are way more productive than I am despite me trying to hit all of the recommended reading books and reading HN/subreddits/blogs/etc.

You can read HN/books/stack overflow and be really good as long as you take advantage of the information and actually practice it in the real world. But until you go and actually measure real things like LOC/fix time/projects completed, the signals "reading HN/books/whatever" are just cultural signals.

<comment><USER9> The attitude you have is the one that eventually drives you to be a 10x. If you think you are awesome at what you do, that is when you probably are not.

<comment><USER10> > If you think you are awesome at what you do, that is when you probably are > not.

Nailed it.

</comment></comment></comment></comment></comment><comment><USER11> I don't really agree. Consistent 10x programmers learn the skillset required for the job. Often that requires learning about topics that have little relevance in other jobs. Because of that there is little incentive to be a 10x developer. They are paid maybe 1.25x-1.5x average and have to put in 3-4x the effort.

For example I am a 10x developer but much of my knowledge is company specific. This means I simply don't have much leverage; I am already paid 1.5x market rates. I could only change to a better job with a company that was willing to take a 3-5 year "gamble" on me. Unfortunately the average dev only sticks around for 1-2 years so companies don't usually make these long term hires.

For example I recently spent 50 odd hours of my own time learning the ins and outs of our companies internal serialisation format. In other words I invested about 8 weeks worth of my learning time for no personal gain. The knowledge is not worth anything to any other company. It's not a rational investment.

<comment><USER12> Partially. Doing so has made you more valuable to the company involved, and so marked you as more valuable to other companies (something about women finding men attractive that are already with another women - the first woman's rational investment is a signal that the man is worth investing in)

You just need to find ways to signal that investment - perhaps doing talks under the brand of the first company ?

</comment></comment><comment><USER13> I like this theory, seems to fit my experience and intuition much more than the "innate ability" kinds.

But then again, I'm a weird kind of programmer. I'm a 10X+ programmer when working on my own stuff, or some challenge, basically for fun. Start paying me or expecting me to deliver, and my productivity drops to 0.1X. I've been unsuccessfully trying to figure that out for years and fix my work productivity, with little result. I feel like I'm wired to be obligation- averse. The moment I _have_ to do something instead of just wanting to, I lose all my skills.

<comment><USER14> I agree. I'm assuming there are many 10X programmers; unfortunately, there are not many 10X problems (or at least, not commercially viable ones - <USER2> example, I'm developing a programming language, but I don't see any chance of it being a commercial success, so I only do it in my free time).

<comment><USER13> In my case I doubt it's just about the type of a problem. I feel it's as much about the context. I apologize for the vagueness, those are all results of years of introspection of my work performance.

Let's bring up recent web projects I've been doing. I'm working on an API- first system in PHP. Quite a chore, and most of the time I feel like running on 0.1X. Recently I had an opportunity to do a similar, smaller project in anything I liked - so I went with Common Lisp for like 5X productivity. Compare it with 10X I get when working on silly stuff of similar complexity (say, IRC bot that pretends to be a human).

I'm not sure how this works. Sometimes I deeply care (like in that 5X project, I cared because I want to carve out a space at my work where I can do Lisp instead of PHP). Sometimes I don't. The more of an obligation something is, the less I can get myself to care about doing it.

There are times when I write more code for that IRC bot in an hour on a bus than in 5 days of work.

<comment><USER15> When I've been in this situation in the past it's because I've been in the wrong job. When you stop improving (your product, work environment, skill set, whatever), you stop caring.

Have you changed jobs much, is this a recurring problem?

I've worked with a lot of devs who haven't been able to settle because they're never satisfied with the status quo of the environment they land in. 6 months and they're onto the next thing. A lot of devs find their way into contracting that way.

I don't think this is an uncommon problem. A lot of (most?) devs suffer from the problem of not being challenged enough, and come up with elaborate ways to complicate projects by many orders of magnitude in order to get some excitement back.

For example, when you here a programmer say We need to rewrite this app because it's crap.

He means, I want to have a go at writing an app from scratch because the first 20% is always way more fun and creative than the last 80%.

        We'll do it in node and angular. It will be isomorphic and restful and awesome.

I'm bored of PHP and jQuery. I want to play with a new toy.

        We need to use Riak and EC2

I want to feel like I'm doing big data.

<comment><USER13> > _Have you changed jobs much, is this a recurring problem?_

It's my third job so far, and it always is the same story. I quickly lose productivity and get frustrated by it, in a self-perpetuating cycle.

I also subcontracted once at another company, four weeks of fixing spaghetti PHP and JavaScript for a company that bought their system for cheap - and this was a very productive (5X+) and refreshing moment. I'm not sure what to attribute it to - the only thing that comes to my mind is clearly-defined and short (few hours tops) tickets to close, and zero personal responsibility for the project (i.e. of course I felt responsible, but it was my personal decision to care).

I shouldn't have trouble in changing jobs (I'm an experienced programmer after all), I usually worry only if I won't get fired in the first two weeks after the 0.1X mode kicks in. Anyway, while employed, low output keeps me in not good enough financial position to risk jumping (family to care about).

I agree with your sentiment about inventing challenges; I often feel that myself, and whenever I can I use the opportunity to learn something new while doing work tasks.

</comment></comment></comment></comment></comment><comment><USER16> A sports analogy appeared in yesterday's HN thread on this topic: the difference between an average runner and the fastest man alive is less than 50%. The counter argument here is that the measurable variable here isn't really the skill of the programmer but the success of the company (or equivalent). You only have to be best by a small margin to win. If you count wins between me and Usain Bolt he would be more than 10x as successful. Now you could argue that a lot of programming is just factory work; you can complete it in 20% longer time and your salary is lower by some factor. The truth is somewhere in between: a company with developers and other staff that are better than their competition by some factor, will go on to be a successful company a lot more often than others. The measurable business result could be thousands of times better. So what is being measured? We can't measure "skill" separate from experience, but even as a compound the interesting measure is the success of what you produce. If your product or service is earlier on the market or slightly better, you might have 10x the return of the "average".

<comment><USER17> >> the difference between an average runner and the fastest man alive is less than 50%.

So that means the average man can run the 100m in 15 seconds?

It's a much better comparison to stretch that distance out. How fast (slow?) does your average human take to complete a marathon?

<comment><USER18> For track runners, 12-13 seems to be regarded as slowish, so 15 might not be too far off. [http://training.fitness.com/interval-training/what- average-1...](http://training.fitness.com/interval-training/what- average-100m-sprint-time-21720.html)

Also note that the parent said "average runner" but you replied with "average man", most men are not "runners", so that is shifting the goals quite a bit.

<comment><USER16> Yes, the definition of "runner" is somewhat blurry but you could argue that you need at least some training to qualify, just like the 10x programmer is compared to an average _programmer_ , not the entire population.

</comment></comment></comment></comment><comment><USER19> My theory is that most programmers are really bad at it. The 10x guys are the few who actually know what they are doing.

<comment><USER20> Yeah but nobody wants to hear or believe that to be true.

</comment></comment><comment><USER21> I have worked with a lot of people in a number of different companies (including a few startups) and I can think of a couple of engineers who really stood out.

When discussing engineering problems with these individuals, I never had to explain twice - Often, I didn't even need to finish my explanation and they already knew the optimal solution for that problem.

These people are impressive to work with but I think it often comes down to experience more than intelligence (but they are usually very intelligent too). When an engineer has mastered a particular set of tools/languages/frameworks, they can come up with more optimal solutions and they can do it faster.

A deep understanding of tools and techniques allows developers to look beyond the most obvious 'naive' solution to find the one which is the most suitable (using existing tools to do as much of the heavy lifting as possible).

Also, when a developer cares deeply about a particular project, they will invest more time reading about relevant technologies in their own time.

When it comes to learning new tools, most engineers are content to 'learn as they go' \- That's OK, but it means that they are not as well equipped when it comes to finding that optimal solution.

I think engineers should take time to familiarize themselves with tools REALLY WELL before they start using them, especially if such a tool/framework/technology will impact the project for many years in the future.

<comment><USER21> Also, I think it takes a long time before you can judge if an engineer is really good - Many months, sometimes it takes years before you see any payoffs!

Also some engineers might not be great, but they are good at picking the right tools for the right job and as a result the whole company ends up doing well. I don't believe in 10x developers because sometimes small engineering decisions can have a disproportionally big impact on company success.

</comment></comment><comment><USER22> 100x -> 10x "working memory" \+ 10x skill

\---

"Programming Skill, Knowledge and Working Memory Among Software Developers from an Investment Theory Perspective"

Journal of Individual Differences 32(4), 201-209. doi: 10.1027/1614-0001/a000052.

PDF: [http://folk.uio.no/gunnab/publications/BergersenGustafsson20...](http://folk.uio.no/gunnab/publications/BergersenGustafsson2011\(preprint\).pdf)

\---

And more research from Gwern: "DUAL N-BACK FAQ" : [http://www.gwern.net/DNB%20FAQ](http://www.gwern.net/DNB%20FAQ)

 _" Working memory is important stuff for learning and also just general intelligence. It's not too hard to see why working memory could be so important. Working memory boils down to 'how much stuff you can think about at the same time'. I magine a poor programmer who has suffered brain damage and has only enough working memory for 1 definition at a time. How could he write anything? To write a correct program, he needs to know simultaneously 2 things - what a variable, say, contains, and what is valid input for a program. But unfortunately, our programmer can know that the variable foo contains a string with the input, or he can know that the function processInput uses a string, but he can't remember these 2 things simultaneously! He will deadlock forever, unsure either what to do with this foo, or unsure what exactly processInput was supposed to work on. .... "_

</comment><comment><USER23> Why are we debating whether some programmers are better than others? Of course some are. What we should be asking is whether hiring 10X programmers is worth it.

Today it seems every open position requires a "rockstar" developer, even for simple work. The demand for "rockstars" is so great, CEOs of tech companies complain of talent shortages, and companies resort to talent sniping. I suspect most programming jobs could be done well by an average programmer, thus ending the so-called shortage of good programmers and giving inexperienced developers the chance to further their skills on the job.

</comment><comment><USER24> The whole 10X thing (which sounds like some superhero myth or whatever) is much simpler then we sometimes want to believe.

The work we do is not that unique. While often it will not be identical, but will share a lot in common. We learn what worked in the past in similar situation, and apply it successfully in the future.

That's it. Bottom line, experience matters a lot.

<comment><USER25> If experience is all that matters than the industry could be a lot better if we would not let the 40+ software developers disappear to management. Instead they should get payed better to keep them?

<comment><USER26> I've found some companies who recruit from the trenches are led from the front, meaning the management promotes people who are skilled to management positions.

Others promote the weak developers.

</comment></comment></comment><comment><USER27> 10X programmers are what they are simply because they've already seen a similar problem before. The longer you're at the game, the more exposure you've had the bigger the chance that you'll be 10X as good at something as somebody else.

Personally I don't think the 10X moniker is very useful. Imagine we'd be calling the marathon runners of the world 10X people. They may be a bit better at task 'X' (running a marathon) but they may suck at a variety of other tasks.

In the end it's all the 0.5 to 9.5 programmers that get the bulk of all the work done, and yet, everybody wants to hire only the 10X guys/girls and the not-yet-10X guys/girls are left to feel miserable because they're somehow inadequate.

If you want to go to the opera: practice, practice, practice. And then you too will be a '10X programmer' at some point in your life, the real question is whether or not you'll still enjoy it as much as when you did when everything was new and you were learning all the time.

One thing that I have noticed that makes a huge difference in your abilities: try to not be a single-technology programmer. If you branch out into at least two or three other sub-fields of programming (languages, theory) then you'll become a _much_ better programmer in a hurry.

<comment><USER20> That's why all the best programmers are the oldest guys in the room, they've been at the game longest...

<comment><USER28> That's not even close to true. I've worked in more than one shop where the 19-23yo kid fresh out of high school/college is 10x better than most of the 40-50s. Or, in a few cases, infinitely better than the guys in their 50s who are -100x (it required weeks/months to undo the damage when they finally left).

There's something to be said for experience, but keep in mind the old adage about "10 years of experience versus 1 year of experience repeated 10 times".

<comment><USER29> I see some programmers that work at it, but after 5 years their level is just as it was when they started out.

At the same time, there are others who grow their skill at an amazing rate, going from almost clueless to great over like 2 years.

(Assuming same workplace, similar tasks)

</comment></comment></comment></comment><comment><USER30> My belief is that a 10x programmer is one that codes for fun and because of that, has tackled a lot of different problems.

Problems solved for "fun" are very different from day job problems, but they often provide knowledge that can be applied.

It the extra knowledge what makes them great.

<comment><USER31> That is not incompatible with the point made in the article.

It is also a much stronger claim. Your claim is that the ONLY way to acquire the wide range skills is to program for fun. Such a strong claim generally requires greater justification, which you haven't provided.

</comment></comment><comment><USER32> There's a story on the front page right now about writing a Haskell compiler from scratch.

I don't mean to be an ass, but I will: there are a lot of programmers that would effectively _never_ be able to do this. We're asking about if 10X programmers exist? I'm saying even infinity X programmers exist.

I think a lot of this depends on the task at hand--some tasks are straightforward, others require a lot of, for lack of a better word, "invention", and that's where the difference lies.

If the task is "web front end to a database", that task is understood and executed on a level that there probably aren't many optimizations an individual can do. It's difficult to imagine someone implementing ten web front ends to databases in the time it takes an average programmer to do one.

On the other hand, if the task is "create a competitive AI to play the game of go", well, I think that there's a ton of invention required there, and an individual could in fact make a 10x difference.

</comment><comment><USER33> Its basically a form of the fundamental attribution error. Instead of looking at the properties of the person, we would often be better to identify the tasks themselves as having the potential range 1x-10x. Some tasks admit a narrow band but others (with many bear traps and possible shortcuts) have a broad range. The actual productivity is the fitness of the developer to the task and not a property of the developer.

This "fitness" is how well their skills, their set of learned intuitions, personal characteristics e.g. courage vs. caution etc. fit the given problem which can be sheer luck. This lets us realise that a great developer can have experience that has trained intuitions that actually work against them for a given task and avoid the nasty labelling of them as "they are not a 10x developer".

That said, intelligence and focus are common attributes that undeniably elevate the baseline significantly but by how much? If only we had a way to quantify productivity to test this stuff.

</comment><comment><USER34> My theory is that the best programmers are not spitting out too much code fast. They are the ones who thought of how to build the best app.

The best "building builder" is not the person who can lay bricks the fastest, but the one who can produce an awesome looking and very functional building.

I wonder what the "10x" ratio is for people like Paul Alen, or Marc Andreessen, or Dan Bricklin, or Dave Cutler, or Andries Brouwer, or Miguel de Icaza, or Bill Gates, or Tom Lane, or Markus Persson, or Linus Torvalds, or Bjarne Stroustrop, or Matsumoto, or (a personal hero) Grady Booch.

Maybe someone who has actually worked with some of these giants can tell us whether my theory holds any water at all.

<comment><USER10> Heh, that was an odd mix of names. I'd love to work with Cutler above everyone else. Also fun would be debugging a kernel page fault or something with Linus.

I don't know what I'd do with Booch. Do some UML diagrams then check in to ClearCase?

</comment></comment><comment><USER35> It's not only about knowing how to build (the lots of tiny specific skills this article mentions). It's also about choosing what to build.

If you study what novelists say, they are extremely uncomfortable when they start new work. It's the same for 10x programmers. There is an initial torment and courage involved in that choice that deters the average programmer. That there will be skills one doesn't have for the new creation is a given.

</comment><comment><USER36> There was a topic on rude programmers the other day and it got me thinking about all this labeling being the cause. VCs want to manipulate programmers, make them rate each other on artificial meaningless scale, call each other names, they even find new ways for programmers to offend each other, like that blob programmer thingy PG thought of. There is clearly an agenda.

Any programmer is capable of mastering anything in the field and be just as good as the best of the best. And it is very obvious that many tasks can be done much faster by someone with the specific skills these tasks require. It is also obvious that some people have a CS/CE degree and a broad spectrum of skills that are useful for many tasks and some acquired special skills on how to approach new unfamiliar problems more quickly by having and expecting to deal with a lot of different ones. And those things do not make a programmer into a 10x programmer or a blob programmer or whatever, just more or less adapted to some specific tasks.

</comment><comment><USER12> I am dubious about the 10x theory as a whole.

It's really 10 times of what? Productivity? Value delivered to company?

A developer who convinces the CEO that the million dollar project to put in <crazy consultant lead idea>is a bit silly and you could just use a simple web framework on the cloud is worth 10x in value to the company all the other developers who would have happily built crazy idea for them.

Even if the consultants are all "rockstars" and the in house does php.

So I think that being always context specific (ie in this case I need memcheck, in the other case I don't use C at all so it is a useless skill) is too deep.

There are a set of skills called professionalism that mark a 10x developer

\- the ethics of selling profitable services that are not in the best interests of the client

\- the investment and training to remain upto date with the common best practises

\- contribution back to the global corpus of knowledge on common best practises

I think that as a profession we need to work on building and encouraging all members to reach such standards.

</comment><comment><USER37> Do we really know what the average programmer actually produces? We are all biased when deciding what is average as we use those around us to decide what is average - if we are surrounded by great programmers then our average is much higher than if we are surrounded by poor programmers.

The other complication is the intellectual energy hurdle that each problem brings. Some problems can only be solved by a small percentage of programmers, while others can be solved by anyone who can fog a mirror. How do we measure difference between programmers when the complexity of problems vary so much?

<comment><USER38> > Do we really know what the average programmer actually produces?

Industry average is 2,000 lines of code per programmer per year.

I've regularly produced 10x to 40x that amount. Others I've talked to have done the same.

The difference between "low volume" and "high volume" programmers is usually pretty stark. My experience is that it's not so much experience as problem solving skills.

If you have a good understanding of the problem, you can come up with the correct solution, and move on to another problem. If you don't understand the problem, you'll work for weeks and get nowhere.

There's also a methodical approach. As an anecdote, I once had to use a script from another developer in the same company. It just didn't work. Paths hard- coded to his home directory (for a script supposedly used in the test suite), etc. I spent 3 days fixing it, and told him it had problems because it had no error checking.

His response? "I don't have time to write error checks."

My response was "WTF? I don't have time to _not_ write error checks."

The 10x programmer has a fundamentally different approach to programming than the bad programmer.

<comment><USER37> Wow 2000 lines of code per year - that is around 8 lines a day! I consider myself a very average developer and I would write 20x this. Maybe I am not so average after all :)

<comment><USER39> I could delete more than that in a week :)

</comment></comment></comment></comment><comment><USER40> There's an old knowledge management idea called the "knowledge nugget," a definable chunk of knowledge, skill, and/or ability that can be captured, learned, stored, found, and shared. This chunking plays a big role in disciplines where the body of knowledge is vast, changes rapidly, and where just-in-time skill acquisition is likely. Aircraft maintenance calls for more info about more parts about different aircraft than any one technician could know; so they wind up doing lots of look-ups and following procedures and limiting studying to the most commonly encountered problems and to understanding classes of problems/solutions.

The first books on algorithms, like Knuth's, tried to chunk computer science. Software patterns tried this with newer ideas later. We've seen similar projects in functional programming, cloud architecture, and machine learning. The catalog of ideas/hacks is vast and, unlike with aircraft documentation/training, isn't centralized or organized.

Aircraft techs have a deterministic advantage over programmers: they have well-defined triggers and search parameters to find the relevant nuggets. The light that's blinking red has a part code and a serial number and docs can explain the the light's various states. Systems guide techs through decision trees to identify the right procedures for this problem. Programmers experience miserably vague and inconclusive cues.

Aircraft techs benefit from large but finite and known problem sets: just so many parts and so many interactions among them. Programming keeps coming back to ways to simplify and constrain the number of things that interact in ways that produce unexpected results. How much of OOP and FP aspires to help coders avoid complexity?

Aircraft systems are evolving rapidly, from one aircraft model to the next generation. But these have, for the most part, been incremental changes. Contrast that to the six-months to a year it takes to mature in your switch to function programming. Or new architectures, programming languages, and operating systems that require rethinking everything you know. The cognitive burden is high and the duty to relearn is weighty.

So your theory about nugget/task fitness producing moments of 10Xness and sum(nuggets)/sum(projects) producing days/weeks/months/years of 10Xness maps well to the knowledge management world.

</comment><comment><USER41> Where are people getting this "10x" figure from and what is the significance?

</comment><comment><USER42> Kind of makes sense. How do you rename a type that is used in 1000 places?

\- someone will search and replace manually (hours);

\- someone will search and replace with a regular expression (minutes);

\- someone will use a modern automated refactoring tool (seconds).

</comment><comment><USER43> in my opinion, it's all about time and motivation. I have neither, therefore i'm not a 10x programmer. but if i did, i could churn stuff out no worries.

but instead of that i spend a lot of time procrastinating and working like a 1x programmer in 1/10th of the time.

</comment><comment><USER44> "He is..."

</comment><comment><USER45> Completely agree on this. I don't believe in innate talent. I believe we are all born with the same willpower to acquire knowledge. Some people will be ok with not mastering any specific skill as long as it does the job. Others who are "passionate" about certain fields or skills will try to learn as much as possible. So "passion" is a better word to define people's skills.

I'm in the latter category, many people ask me sometimes how do I know so much about so different skills: from networking, security and system programming to web development UIs and design. The truth is I just spend so much time reading and practicing stuff that would seem boring to most developers around me. I spend nights trying to learn this new framework which seemed interesting enough to dig into it, and once I learn to use it, I want to know "HOW". How does it work, which problem does it solve ... and I think only passionate people can do this.

<comment><USER46> > I don't believe in innate talent.

I totally believe in innate talent. There are standard breakpoints in math teaching where people _simply don 't get it._ No matter how much time you spend explaining it to them, their brains aren't wired up to handle certain levels of abstraction. At best they remember it briefly, but it never sticks.

(The breakpoints are roughly at basic 'manipulate equations to find x' algebra, basic calculus, and calculus in many dimensions.)

Being good at software and math requires an innate ability for symbolic abstraction and reasoning. It also needs a good memory, so you can keep a lot of details in your brain at the same time.

If you don't have those, you're not going to be able to do the job - <USER3> not well, and possibly at all.

Hard work will make the most of natural aptitude, but there has to be some natural aptitude to start with.

If this isn't obvious, I'd suggest learning some completely new skill, like painting or music. If you don't have natural ability you'll spend a lot of time flailing around wondering how the hell anyone can do it at all.

That's how most of the population feels about coding. The HN population is a self-selecting group that feels otherwise - but that doesn't make it typical.

<comment><USER47> Issac Asimov famously hit a "breakpoint" at integral calculus.

I myself remember "sweating blood" to get definite integration; unfortunately never got a chance to do multiple dimensions.

Or take organic chemistry. I have a particular type of memory inherited from my paternal grandmother, anything I can fit into an organization of related things I retain well. And I have really really good 3D visualization. First term organic chemistry was _easy_ , and I didn't have to use physical models more complicated than my fingers and knuckles. It's well known that at minimum this is a lot harder for a lot of people. Heck, it's an appropriate weed out class for premeds, appropriate in that it tests both of those capabilities which will later be needed to learn medicine.</comment></comment></comment>


Tagsistant: A Semantic Filesystem for Linux - <AUTHOR> https://www.tagsistant.net/ <comment><USER2> Very nice project. I'm delighted to see new ideas for organizing files and personal data.

I feel that most people gave up on organizing data and just went with concept of searching. This is a shame because searching wastes everyone's time to filter false positives, while small effort of tagging new content goes long way to enable discoverability. Web sites that allow you to filter content based on desired and undesired tags give you optimal way to recover information.

A very interesting feature in Tagsistant is tag relations. It enables tree hierarchies for tags ("anything starwars-related is also scifi-related"). Kind of ironic how they wanted to get away from tree structure of files, and then they implemented tree structure for tags. Perhaps a tagging system for organizing your tags would be better? :)

This meta-structure of data is fascinating. Is there a good resource that systematizes the area, with best practices and implementation tips?

<comment><USER3> Tree hierarchies for tags is starting to sound a lot like categories. It's probably essential not to overdo it because then you start to lose the power of tags and gain the detriments of categories. That said, I do think that introducing some limited relations between tags can be beneficial.

</comment></comment><comment><USER4> I was worried, because I'm currently working on a tagging system and they beat me to the release, punchy website included.

Then I realised that they built it on top of FUSE, and SQL, and took a sigh of relief.

((EDIT: Perhaps this is a little harsh? I didn't mean to be harsh, just precise, but perhaps I went a little over the top -- I apologize to the authors if I did.))

I investigated the FUSE/db option earlier a year or two ago, and personally I don't see this as an interesting or compelling solution to the file<->tag problem. Because users move and rename files, pathnames are potentially semantically meaningless to the tag system. The contents of files change often, and arbitrarily (given things like MS Word's formats which are literal memory dumps of what word is doing, not to factor in encrypted files, etc.), because of this, file hashes are potentially semantically meaningless to the tag system.

In other words, basic file operations (reading/writing/renaming) will cause this system to break your tags without significant work to keep the file<->tag relation consistent. You can attempt to mitigate this problem through systems that keep track of files (inotify, etc.) but that introduces a runtime cost and has technical difficulties as well. It's 'designed' (albeit unintentionally) to break from the start, and the developer has to exert a large amount of effort to stop the system from breaking. To me it didn't seem like the effort was worth it, that the innate flaws were not worth surmounting. Unfortunately to avoid this from being a 'debbie downer' post, I'd have to talk about the alternative approach, which I don't really have space (or the time, right now) to do here.

<comment><USER5> It sounds like this is a pretty easy problem to solve if files aren't identified by their names. If a file just _has_ a name (and a parent, and a bunch of tags...) then tags are trivially stable when moves/renames/writes happen. No need to hash anything, ids are a fine way to track identity, and perfectly amenable to storing an a SQL database.

If you want to support hard links you can decide whether to associate tags with files or inodes, depending on whether you want all linked files to have the same set of tags.

<comment><USER4> > It sounds like this is a pretty easy problem to solve if files aren't > identified by their names.

That would make things slightly better, but it's really not how things are supposed to look from userspace. You still have the problem of tags not being preserved across file copies, and not across filesystem boundaries (Which, the latter is almost a universal problem in this space, I guess).

</comment></comment></comment><comment><USER6> This is an interesting concept. But why to do this on a file system level? Web and desktop based applications like Google Photos and iTunes offers some cataloging and search capabilities that should cover most of the use cases.

Would this later be connected to something like Spotlight on OSX?

<comment> yjftsjthsd-h One advantage to a FS over a program is that it gets to be really interoperable for free; pretty much everything can work on raw files, and the unix ecosystem is very good at inter-operating with filesystems as an "API".

</comment></comment><comment><USER7> Interesting timing. I came across TMSU [0] the other day, which seems to have similar objectives.

[0]: [https://tmsu.org/](https://tmsu.org/)

<comment><USER8> Yayy! Thank you for the reference, tag my shit up seems more straightforward to me after reading tmsu and Tagsistant. and both use sqlite!

</comment></comment><comment><USER9> Would also like to point out TMSU [0] which also presents a filesystem-y interface, alongside a quite powerful CLI.

[0]: [https://tmsu.org/](https://tmsu.org/)

<comment><USER10> Can it import from current file magic? ID3? CDDB? IMDB?

You see, it is a big effort to manually input all this data.

What is useful is reliable, public source entries.

You also want a documented data format for future compatibility. So you can migrate to the next format.

This furthermore gives the advantage that applications can use the metadata. Although I suppose the file system abstraction achieves the same?

</comment></comment><comment><USER11> Isn't stuff like this what the ext4 "user_xattr" mount option is for?

<comment><USER12> Not quite. xattrs are not indexed, so if you want efficient retrieval by xattr tags you have to build/maintain your own inverted index. xattrs are good if you have a file that you want to store metadata about, but not so good if you want to use that metadata for discovery (at least in my experience, maybe I'm missing something, but I've implemented a remote file syncing system using xattrs and I never came across a tool in the unix arsenal beyond find + getfattr which is painfully slow).

<comment><USER13> I made heavy use of OpenMeta (that was a community effort on OSX, before Apple introduced something very similar), that placed tags in xattrs. It is great! Retrieving never caused any issues or slowdowns.

</comment></comment></comment><comment><USER14> This is really cool, I've been thinking about making something like this myself for a while! Design seems to be relatively well thought out.

I might be a bit too paranoid of file loss to install it though...

<comment><USER15> Then just use it with symbolic links?

</comment></comment><comment><USER16> If you find this interesting, check out Bear with its nested tags, which are executed brilliantly.

</comment><comment><USER13> Why not just make a macOS compatible system, based on xattrs?

</comment><comment><USER17> I think tags are a dead end because few users will make the effort to tag their files properly, at all times. Better use the Google approach, and let ML/NLP do the job.

<comment><USER18> Users will not give their files proper names or put them into folders or tidy their desks or do the laundry either.

That is _some_ users won't do that, but by adapting everything to these users we are making everything worse for everyone including them.

<comment><USER17> The problem is that everyone is one of these users at some point. E.g. when about to leave the office and receiving an attachment. Or at 3am when solving a tough problem.

Instead of requiring every file to be properly tagged, why not take the Google-approach altogether?

<comment><USER18> Perfect example. However:

I'm not trying to argue against search, I'm arguing against _everyone having to rely on search_ because ux designers decided to remove every other way of finding files because _someone_ might _someday_ forget to tag the file or whatever the procedure is.

</comment></comment></comment></comment><comment><USER19> and of course there's the requisite tag cloud</comment>


Schumpeter on Strategy - <AUTHOR> http://reactionwheel.net/2019/01/schumpeter-on-strategy.html <comment><USER2> The most interesting question addressed in the article, for me, is why so many people create "me too" businesses that clearly have no significant expansion prospects.

It's also fun to contemplate that Schumpeter figured this business strategy stuff out more than 100 years ago.

</comment><comment><USER3> The book "The Master Switch" by Tim Wu which covers the history of telecommunications as a vehicle for looking at what might happen to the internet was my introduction to Schumpeter.

Highly recommended. Wu makes the point that Schumpeter gets it mostly right but did miss a few things, namely regulatory capture.

<comment><USER4> The author of article actually mentions this.

The problem with regulatory capture is that it is generally inefficient and given big enough opposition can get cracked.

The other important profit but not mentioned is externalities. Unethical but common. Damage the environment, damage society by exploiting the poor and others with little choice. Some externalities can be exploited for a very long time...

And also exploiting information asymmetry, by marketing or otherwise profiting as a middleman.

<comment><USER3> I was worried my comment would make it appear that I had not read the article - I did, I just didn't think that the author gave regulatory capture sufficient weight and/or made it appear that Schumpeter had written about or accounted for its importance.

As for its general inefficiency: the examples of Bell Labs & the Hollywood studios are good counterexamples, both were unstoppable and required direct government intervention.

One of Wu's points is of the different nature of telecommunications (and common carriers in general).

I am in 100% agreement with you on the last two points.</comment></comment></comment>


The post-Google+ world: A Facebook Developer's Perspective  - <AUTHOR> http://momentusmedia.com/blog/?p=817

<comment><USER2> I'd be very happy if this developer, and all the others like him that are interested in "viral distribution" (read: spamming heck out of everyone's streams) were to stay right where they are, on Facebook.

If G+ never supports a single app, and everyone who thinks Facebook is the Internet stays there, I'll be very happy on Google Plus.

</comment><comment><USER3> _I will switch to the social platform that offers the greatest viral distribution_

This is definitely one of those times where the needs of Developers and the needs of Users are at odds.

<comment><USER4> I want to get your input as to where distributed social networks like your appleseed (and the now completely off the radar diaspora) stand now. Google has been really wonderful about letting us use our data any way we like, such as to the point that I would not describe them as a silo or walled garden.

Do you think Google's entry into social networking helps or hurts the case for and adoption of decentralized systems? What's your take on all of this, and where do you go from here?

<comment><USER3> Although I believe that Google+ is still a walled garden (there is no comprehensive protocol I can implement in Appleseed to let Appleseed users connect with Google+ users), I do agree that it isn't a silo (since you can move your data in and out).

I'm very optimistic for three reasons:

1\. Google has a much better track record in the open web than Facebook. I don't think Google, due to it's market position, is nearly as threatened by the idea of being the one of the biggest fishes in a distributed pond than Facebook, whose bread and butter is social networking dominance. I don't see Google fighting an established social networking protocol, whereas I think Facebook would til the bitter end.

2\. The world still needs a solid open source social networking package, and decentralization is icing on the cake. The current options are pretty awful, and software that can be used to start a niche social networking site is going to be a big deal, no matter how popular Google+ gets.

3\. If Google+ pulls a plurality of users away from Facebook, it proves an important point that I've been fighting against for years: That nobody is ever #1 forever. Ever since Facebook got big, nobody could fathom that anyone could knock them down, even Google. And that's something that, as a free software developer, I have to push against. No hegemony is eternal, every empire falls.

Personally, I think this also releases some pressure on open source projects. Now, instead of an adversary in the form of Facebook, we have a potential ally. We may need to clang some pots and pans in the street for a while to get their attention, but that's a much better situation to be in than dealing with an entity like Facebook, whose relationship with the open web has been cynical and superficial at best.

In that regard, I'm _more_ optimistic now than I was 6 months ago.

</comment></comment></comment><comment><USER5> Well if Google+ becomes just another platform for stupid apps it will fail, at least with me and my circle of friends. I'm not a huge fan of 'social' media. I don't really use twitter and was dragged into FB by my friends.

But so far I actually do like Google+, it makes it easy to organize my different circles of friends and _very_ easy to tell who can see what. I even went so far as to fill out the profile, something I have left blank on Facebook.

But apps will kill it for me if they are able to spam me (or my circles) with posts.

<comment><USER6> It's weird that you claim to make predictions about what will succeed and what will not while simultaneously deriding an industry segment you claim to avoid.

What makes you an expert, and can you share this insight with us? I, one for, would benefit greatly as I would no longer have to spend hours dissecting UI's, measuring user behavior, satisfaction, engagement level and repetition fatigue; not to mention actually doing the work of designing, building, deploying and maintaining applications that enable people to share and communicate without, you know, being dragged into it by their friends.

With your methodology I could perhaps save myself a lot of trouble and just focus on my hobbies. Like drinking.

<comment><USER7> He didn't say it would fail overall. He said it would fail for him and his friends. That is a judgement he is totally qualified to make; a demographic whose desires he is very much in touch with.

I think it's very legitimate to say "I don't normally like social media; so far I like Google Plus; if Google Plus becomes more like Facebook I will like it less".

<comment><USER6> I read it to say "I don't use anything unless my friends think it's cool and I'll rapidly abandon something if they don't because I don't want to be an outlier."

That's a very narrow view of the world and it's my opinion as both a vim user and a software developer that one actually needs to use and tinker with applications before developing an informed opinion with research data that validates. Otherwise you're just bloviating.

<comment><USER7> I think that social applications like Facebook or Google Plus are a fantastic example of a case where "my friends all use it" is the primary draw, though.

They exist so that you and your friends can interact (and view ads, of course). So if your social circle refuses to use Social Platform X you have very few reasons to use it yourself. Regardless of how silly you may think the reason you friends have for avoiding it, the fact of their avoidance is enough to make it not particularly useful to you.

Sure, you should still understand the reason that other people want to use these platforms. But, having understood that, there's no reason to use them if they aren't actually of use to you.

</comment></comment></comment></comment></comment><comment><USER8> Basically everything this guy wants is at odds with my own desires for a social network. Facebook's previously countless virality loopholes were what almost turned it into some bizarro version of MySpace, with polluted News Feeds and endless wall requests to send people coins and sheep. If G+ goes down this path, I will certainly not follow.

</comment><comment><USER9> There's a lot of wishful thinking in these G+ posts of late. People hope that G+ won't have to make the painful compromises FB has, though without much justification. The two are so very similar, if G+ catches on most everything people hate about FB is going to reappear in some form.

Regarding the post, I expect Google to be even more restrictive than FB with 3rd parties. They'll refuse to have their name tarnished by crappy apps. iTunes app store style review wouldn't be surprising to me. Spam free feeds are a selling point for G+, after all.

<comment><USER6> Yeah, Google wants no part of those sketchy, third-part crap apps in their ecosystem.

[http://techcrunch.com/2010/07/10/google-secretly- invested-10...](http://techcrunch.com/2010/07/10/google-secretly- invested-100-million-in-zynga-preparing-to-launch-google-games/)

<comment><USER9> Current Zynga games aren't _that_ bad. The production values and gameplay are a lot better than the werewolves/vampires style games that they started with. Given a few more years, their games might even be comparable to traditional, non-social games.

I think the HN set is unfairly hard on companies like Zynga. The entrepreneurial of mind should know that a start-up can't always afford to act nobly or to invest in quality. Sometimes the right strategic decision is to make cheap crap and spam now, and reform later once you're out of mortal danger.

<comment><USER10> Unfairly hard huh? Have a look at this and be sure to watch the video: [http://techcrunch.com/2009/11/06/zynga-scamville-mark- pinkus...](http://techcrunch.com/2009/11/06/zynga-scamville-mark-pinkus- faceboo/)

<comment><USER9> I know they did shady things in the beginning. A lot of businesses have to do that, and many don't stop. That's just how the game works.

As a user, of course you don't have to take it. Just don't buy what they're selling. There's no reason for outrage. Let them scam people dumber than you, and with that money maybe they'll develop something you like.

<comment><USER10> A lot of businesses don't HAVE to do anything. Why try and justify this? Ethics be damned, I guess.

<comment><USER6> > can't always afford to act nobly

No, they cannot in all cases. But they can afford to not steal from their customers or direct them into a trap where they'll be stolen from on a recurring basis. It's not about the quality of the apps as the majority will be shite anyways, it's about the ethics of the people involved.

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> Google+ compares to facebook as facebook once did to myspace. Fb feels like a cluttered mess of ads and years of design add-ons. Whether all my people will get on G+ is another story, but its got the functionality to allow for a much cleaner, easier experience.

</comment><comment><USER12> Besides just circles having different interest targets, they also vary greatly in character depending on size. After adding in the HN circle^[1], I see it streaming fast with diverse posts. If I click on my family circle it acts more like live journal did, slow but personal. I imagine that apps will need to be diverse in these ways as well.

[1] - Hacker News Circle: <http://news.ycombinator.com/item?id=2717503></comment>


Yahoo Instant (with I'm Feeling Lucky Instant) – Unofficial - <AUTHOR> http://hungrygeek.com.au/2010/09/12/yahoo-instant/

<comment><USER2> Good work!!

I actually think this is more useful than Google Instant since search engines are much better built nowadays and a lot of time the first search result is the one we want (unless it's something really specific). The fact that we don't need to click on any link after the search reduces another "not instant" annoyance, which could become huge time saving over time!

Only issue being Yahoo search isn't as relevant as Google, I assume you didn't do it on Google because they have blocked access? Still, very impressive take on the "instant" element.

Just wait for the tweet/call from Yahoo :)

<comment><AUTHOR> Yeh, google stopped their free XML feeds service- I'm not too disappointed by the yahoo results though.

</comment></comment><comment><AUTHOR> My little experiment - would be much better with access to a google results feed.</comment>


All hail the absurd joy of Eurovision - <AUTHOR> https://edition.cnn.com/2018/05/11/opinions/eurovision-what-europe-needs-james-ball-intl/index.html <comment><USER2> Yes. Tens of thousands of people getting together in the spirit of competition, national unity, and music. How absurd.

What most Americans don't realize is that some major music comes out of Eurovision. Celene Dion, ABBA, Olivia Newton-John, among others.

CNN should explain Eurovision to Americans, rather than ridicule it. No wonder CNN can't figure out why its ratings and credibility are in the toilet.

<comment><USER3> In the UK we have embraced Eurovision and Europe by importing Ireland's finest to sarcastically comment on it and ridicule it since 1971.

Terry Wogan was made for Eurovision: [https://youtu.be/_Ll- _cPNRAk](https://youtu.be/_Ll-_cPNRAk)

If you like People of Earth check out Don the White choking on camera at 3:03 in that clip.

Once Terry stepped down someone had the bright idea to keep it Irish with Graham Norton. Combine him + Brits getting drunk whilst watching and commenting on Twitter = Comedy Gold.

[https://youtu.be/Xl-lXcQS__8](https://youtu.be/Xl-lXcQS__8) and [https://www.youtube.com/watch?v=NA6i9YXjGTQ](https://www.youtube.com/watch?v=NA6i9YXjGTQ)

Game of Thrones fans can check out host Euron Greyjoy at 0:51.</comment></comment>


How to be more productive - <AUTHOR> http://www.aaronsw.com/weblog/productivity <comment><USER2> great thoughts.

loved this part:

But if you're trying to do something worthwhile and creative, then shutting down your brain is entirely the wrong way to go. The real secret to productivity is the reverse: to listen to your body. To eat when you're hungry, to sleep when you're tired, to take a break when you're bored, to work on projects that seem fun and interesting.

<comment><USER3> It reminds me of a saying they have in show business: You need to go away before you can make a comeback.

<comment><USER4> I have never heard that before but it is a very truthful proverb.

</comment></comment></comment><comment><USER5>
      | Life is short (or so I'm told)

Truer words...

<comment><USER6> Not only is life short, it's shorter than you think.

<comment><USER7> jamesbritt's law: life is shorter than you think even when you consider jamesbritt's law

</comment></comment></comment><comment><USER8> "So the secret to getting yourself to do something is not to convince yourself you have to do it, but to convince yourself that it's fun. And if it isn't, then you need to make it fun."

This one woke me up.

</comment><comment><USER9> Funny he mentioned TV? These days my problem is Twitter and Facebook. I even wrote a tool to reduce my Twitter intake (essenceapp.com)

<comment><USER4> I try to convince myself Twitter is for wasting time and that getting work completed is 10x more fun.

</comment></comment><comment><USER10> Ok, It's just plain scary how much I identify with this article.

</comment><comment><USER11> Speaking of 'lists of things to go back to read', I really need to go and read every essay he's written. Every time somebody links one on HN, I'm blown away.

<comment><USER12> If you have a reader, download the ebook from <https://github.com/joshleitzel/rawthought>. I read it not long ago, and it's one of the most interesting books I've ever read.

</comment></comment><comment><USER13> RIP Aaron.

<comment><USER14> It's interesting how technology leads to immortality, no?

He's dead, yet we still read his words, listen to his thoughts, think of him as a person.

<comment><USER15> The written word leads to immortality. Although one could argue that writing and preserving writings are products of technology, I think you mean internet and such 21st century stuff, not the printing press or ink.

I don't mean to find fault - only replied because it never ceases to amaze me that people can talk to me across centuries.

<comment><USER16> The written word is immortal, but websites are not. Eventually your domain name and hosting will expire, your server will die. Presumably someone is keeping Aaron's site alive, but by default, things you write on your own website will go away when you're gone.

Maybe someone should do a kickstarter for large buildings where printed websites can be stored for posterity.

<comment><USER17> The Internet Archive[0] is an organization that is working to preserve websites and online content, albeit not in printed form. In fact, they have an archive of Aaron's website[1] and a collection of other digital artifacts from his life[2].

[0]: <http://archive.org/>

[1]: [http://wayback.archive- it.org/3492/20130113003702/http://www...](http://wayback.archive- it.org/3492/20130113003702/http://www.aaronsw.com/weblog/)

[2]: <http://archive.org/details/aaronsw>

</comment></comment></comment></comment></comment><comment><USER18> How to be more productive: don't intentionally and permanently stop producing things forever. :(

I have little tolerance for people that are hypocritical on that scale.

<comment><USER19> > I have little tolerance for people that are hypocritical on that scale.

What are you going to do, write him a nasty letter? It's not even necessarily hypocritical. He didn't make the claim that one should value productivity over all other things. As can be said of all suicides, he lived his life as well as he knew how and then he ended it when he didn't know how to live it anymore. Let's enjoy what there is to enjoy about his legacy and let his mistakes, minor as they are, fade.

<comment><USER18> I do not subscribe to the common belief that it is better to minimize the shortcomings of people to a greater degree after they have died.

I'm not sure why dying confers greater respect upon people. Perhaps it's the fear of death in the minds of the living?

[https://mobile.twitter.com/sneakatdatavibe/status/2901109457...](https://mobile.twitter.com/sneakatdatavibe/status/290110945760534528)

<comment><USER20> I don't necessarily believe that respect is due unconditionally after death, e.g Hitler and Stalin are definitely not deserving.

I don't agree that Aaron was hypocritical at all though. He has been far more productive in his tragically short life than most. I know that he has done more combined than myself and all that I know in person.

The fact he has achieved what he has with severe depression makes him far less of a hypocrite. It's very hard to get yourself to do anything with depression. I couldn't and it wasn't half as bad as Aaron's.

Fact is Aaron died because he lost a battle to an illness, much like all those who have died from physical diseases. Depression is a mental illness and a suicide due to that is not the resposibility of the victim, much like when someone with severe schizophrenia wouldn't be responsible if they had killed someone based on their delusions.

He is not a hypocrite. It actually makes this advice far more powerful.

</comment></comment></comment></comment><comment><USER21> His point about a dissertation is interesting, having just finished one myself, I had never thought that it could have been inspired as a task to focus (not distract) our attention on studying.

</comment><comment><USER22> It's a shame that his site is not updated more often nowadays. :(

<comment><USER23> He died...

<comment><USER22> That is why the frown :(

</comment></comment></comment><comment><USER24> (2005)</comment>


Ask HN: What is the most important publicly unknown fact in your industry? - <AUTHOR> <comment><USER2> Spreadsheets are widely used in financial institutions, and not just for little things but also for critical tasks too. I've seen spreadsheets sophisticated enough to make database calls to book-of-record systems.

These spreadsheets are often put together by an intern or associate who "knows a little VBA" and automates or tracks a task that the business was doing manually. Nobody on the desk really knows how the spreadsheet works.

Changes to the spreadsheets are not controlled in any manner, are not tracked in source control, but are often (thankfully) backed up by virtue of being saved on a network drive.

The business prefers spreadsheets over "real software" because they have complete control of it whereas their internal IT department are slow and expensive, and the resulting custom-coded products are often substandard (see zubairq's comment about paying market rate).

<comment><USER3> A spreadsheet can mostly be maintained by the next person to come along. More complex systems often die when the person who knew them leaves. Plus all that stuff about crappy IT departments who don't act as if they exist to serve the actual purpose of the business.

<comment><USER4> I have seen enough legacy applications, applications so old no one understand how they work or dares to touch them, or for which we need to pull developers from retirement, software running only on old mainframes, to take the key man risk with business-developed software too seriously.

Same thing with reliability. So many of these IT supported applications that are supposed to survive a nuclear strike are down a day a week, while the basic access database pretty much hasn't seen a downtime during business hours since inception.

<comment><USER5> I think to this point, the organizations that will really succeed in the future are the ones who aggressively hire people with a strong cross of building simple, usable and understandable technical tools who also understand business logic and can communicate. I think soon people will be able get further with some basic R/Python and the ability to write a good email than many of the more technically skilled workers without those abilities.

<comment><USER6> To tease out a little more from yours and parent's comments, I think a few things are drastically undervalued by traditional programmers.

Tactical initiative: not just for Marines. The closer software is being built to a person who actually posseses the domain knowledge, the less risk of misunderstood requirements / behavior there is.

Readability: a language that requires six months to learn to read but expresses programs in half the length is often times _not_ the right choice. If a good enough language can be read by someone with a week of training, and 90% of the domain knowledge is possessed by people who don't know the better knowledge, then use the good-enough language.

Reasons like these are why Excel / VBA is used. And moreover, why it (paradoxically to us) _works_.

</comment></comment></comment></comment></comment><comment><USER7> In tech most managers and recruiters think there is a skills shortage. This is untrue. The truth is that companies do not want to pay market rates for people with the right skills

<comment><USER8> What are those people (with the right skills) currently doing instead of working in tech?

<comment><USER9> I assume he thinks the prices should rise until demand drops off, and at that equilibrium price we shouldn't say there's a shortage. Lots of people would like a rolex and don't have one, but nobody would say there's a rolex shortage.

<comment><USER8> If rolexes could only be bought from other consumers who actually want to keep them unless they can sell well above their purchase price, people might say there's a shortage.

</comment></comment></comment></comment><comment><USER10> 1\. SWIFT was founded as a 'Belgian Cooperative' in the 1970s by an ex American Express executive and grew at a rate unprecedented for its era, its first 'international center of operations' was located in Virginia, co-opened by the then-governor, and nearly co-located with CIA HQ. EU authorities have confirmed that, despite political backlash and a 'SWIFT 2' nominally designed to resolve the problem, every single SWIFT transaction since _at least_ 2001 (read: forever) has been provided in full to the US.

2\. The Israeli business AMDOCS with alleged Mossad links is an outsourced and hosted billing provider for telecommunication carriers, whose client list includes large portions of the developed world.

Just sayin'.

</comment><comment><USER11> ● The two most successful and widely used to solve everyday problems paradigms/environments: spreadsheets and shell scripting (with pipes, etc.) are the ones that have the least attention from "industrial" and academic programmers. Lessons and strong points from those systems are being ignored.

● There are "clusters of bugs", i.e., finding a bug in a certain module increases a chance to find a subsequent bug in the same module. This is understood intuitively by most people yet very few act on it, discarding modules that have too many bugs (and rewriting them from scratch) instead of continuing to sink resources into maintenance.

● While professionals in other industries use professional tools, programmers use commodity hardware and software (the kind a homemaker would use to google a guacamole recipe). :(

● Managers and programmers think that personality traits and team members' individualities do not matter and there's no role "human factor" plays in development. Ditto for self-organization vs constantly "organizing"/policing employees.

● There were pretty cool systems back in the day (with orthogonal persistence, ability to inspect and modify any object on-the-fly, etc.). The modern ones are not "bad" either but some lessons could still be learned.

● Sometimes there are notions that bad software is created due to sales people/economic pressure but analysis of, say, build tools shows that it is not the case. ;)

<comment><USER12> >While professionals in other industries use professional tools, programmers use commodity hardware and software (the kind a homemaker would use to google a guacamole recipe). :(

i have to disagree with you here. most of the tools we use as programmers are so precise, adaptable and refined for the job that would make your average industry professional cry.

having those tools run on a guacamole-recipe machine is only a testimony to their power.

it's not just the software either; through services like AWS we have access to some of the most sophisticated and optimized computation and storage hardware on the planet.

<comment><USER11> So how many programmers you know use a professional keyboard, say? I don't want to provide free advertisement here so I won't mention any brands. But the ones that have hands separated and keys placed in recessions for comfortable wrist position and modifier keys under thumbs? And those that are fully programmable, the ones that cost from 300 euro and up? I don't know about you but I have (on my mechanical 100+ euro keyboard) 'Ctrl(Caps Lock)-Command(Alt)-Enter' remapped to 'Alt-Backspace' (in parentheses — the original key) using a Lua-scripted software. If it's your idea of "refined" and "precise" then that's fine :) Moreover most of programmers I know (hundreds and hundreds) use a "minimalist slick" keyboard from a Californian company. It's a good keyboard for googling a guacamole recipe and a nice example of a "good-looking" industrial design. But it's not a professional tool by any means.

I don't really want to get started about those slow laptops (that have "Pro" labels on them). I don't know about you but for me their performance is disappointing. (By the way, I use a 2010 Macbook Air as my home machine so no need to call me "picky"). Yet those "Pro" machines seem to be "default" ones in so many organizations I know. They are a good trade-off indeed between looks, portability, versatility and price. But they are nowhere near "pay whatever it takes to scrape every last drop of performance and reliability from your tools" approach that to me seems to designate the choice of tools by professionals.

About software. There's the brilliant, inspirational and slightly sad article: [https://www.fastcompany.com/28121/they-write-right- stuff](https://www.fastcompany.com/28121/they-write-right-stuff) . Where, I remember, was a comment with a person asking, "do you want to pay hundreds of dollars for a text processor written with the level of quality described?" And my reaction was, "Hell, yes! If it's a professional tool and I earn tens of thousands using it, I should be able to pay accordingly for my main equipment". In web development industry there's an apparent trend now to switch to "hipster" (I mostly like things hipster) text editors. Won't specify the names here but they are usually written in Javascript and HTML and are "highly customizable" but I rarely see them made to perform functions my IDE does out of the box. In the meantime, IDEs for web development are a few (are there any besides the Prague-made ones?) and are not very customizable by my needs (compared even to aforementioned lightweight editors).

Anyway, thank you for your answer and I am glad, that you do focus on the positive side of things!

<comment><USER12> >In the meantime, IDEs for web development are a few and are not very customizable by my needs

i'm a full stack web dev myself, whatever that means nowadays. i consider languages, the os, dbms, version control, virtualization, browsers, webservers, automation servers etc etc, to be my tools. not merely the the IDE or text editor. personally i hardly need anything beside emacs and zsh terminal on my 7y/o thinkpad t410. that said i do understand that different people need different tools. hope you find what you need.

</comment></comment></comment></comment><comment><USER13> I work with (among other things) batteries. As I've gotten a bunch of emails about it, I suppose I am "the battery guy" here.

Li-ion battery energy density grows in spurts. Realistically, there have been a few major improvements, with very small incremental improvements in between. For example, in 2001 we were at 180 Wh/kg. In just a handful of months we jumped to 260 Wh/kg, then to 280 Wh/kg as manufacturing processes improved. In the last 11 years, however, improvements have been maybe a few Wh/kg per year, and there have been literally zero improvements whatsoever in the past four years, by anyone.

Eleven years is a very long time, especially for something that everybody just assumes is constantly silently improving. And it's not like the battery industry stopped investing in growth: there are absolutely insane amounts of money invested in battery R&D, since whoever figures out how to make a cheap, energy-dense battery will become absolutely infathomably rich and make Madoff- level growth look like US savings bonds.

Bonus fact: nobody really understands lithium-ion batteries. One production run might have substantially higher or lower capacity. Some batteries might explode. Some batteries are high discharge and some are low discharge. The "explanation" for all of these things is 'heat'.

Imagine that happening to any other industry (for example the auto industry.)

\- "Why did my car just explode!?" "Heat"

\- "Why does this car last a tenth the lifetime of this car?" "Heat"

\- "Why does this car go a thousand times faster than any others?" "Heat"

\- "Why is this entire production run of cars not working?" "Heat"

People say "heat" for two reasons: 1) because nobody understands li-ion batteries and 2) because yes, the real answer does have something to do with heat.

Batteries are one of the most important industries and critical to every company on HN. But the state of the art of batteries is putting together random metals with a bunch of random chemicals and watching which ones don't explode.

Imagine talking to the CEO of Boeing: "We just did our millionth test, engines made of cheese and wings made of coconut shells. It crashed during takeoff, of course. We haven't had any improvements in over a decade, but we're sure we'll get there eventually - we've spent billions on research so far."

<comment><USER14> Could you speak to the reasons why successful startups are not really being founded to develop more advanced batteries? Is the issue primarily 1) widespread lack of knowledge across the entire battery "stack", even within the industry, 2) widespread mismanagement and inefficiency of processes within manufacturing or R&D or 3) the fundamental R&D for battery improvements is just outrageously hard?

I get that it's probably all 3, but I feel as if the main problem being 1) or 2) would lend itself well to startups with extremely knowledgable battery industry veterans.

<comment><USER13> A lot of it is because the battery world isn't very startup-y. You can hack together a prototype for an app or a website with a handful of developers, sleepless nights and some caffeine, and push that out to the real world, and show that to VCs and raise money. The battery world doesn't work like that. The scientists and engineers you hire will want to work stable 9-5 jobs with decent salaries, you won't have anything to show for years, and success is binary. 99.99% of hypothetical battery startups would have nothing to show for their research except a handful of useless patents for design processes that will never be practical. One would have the breakthrough that brings them to unlimited riches.

Another problem is that there are two categories of success: you find a simple way to make amazing batteries, or you find a massively complicated way. If you find a simple way, that's great, but it can be copied by anyone who wants money, and you'll end up like the Hoverboard - a very successful _idea_ but the company only captured a fraction of the market. If you find a complex way, it's very likely to require an expensive material or process. For example, say you need a rare metal or something that's not currently produced in large quantities. The capital you'd need to raise in order to extract or create this material could be absolutely massive. For example, let's say you got a 10,000 Wh/kg battery but it needed a substantial quantity of rhenium. Well, worldwide production of rhenium is about 40 tons/year. You'd have create a worldwide industry for extracting rhenium, perhaps rivaling the oil industry in size. Imagine that conversation with VCs. "You want to raise $1.5 trillion? With a T?" "Yep, and we want to do it to create a battery that could either enable our world to look like Star Trek. Oh yeah, and it might become obsolete in months if someone has a better idea."

Another thing is that there's not much to "disrupt". If someone gave me $XXX million for a battery startup, it'd basically be set up in a very similar way to the research arm of Panasonic or Samsung SDI. If some genius comes up with a way to improve the efficiency of the core research - sure, that's obviously worth funding. But the problem is that everybody is trying to get to the breakthrough directly, not invent tools to get to the breakthrough faster.

Imagine if you were in a room with 1000 people, and an authoritative source announced that there's a pot of gold buried in the hill behind the room, and it'll probably be found in a few hours. Do you spend two hours driving home, getting your shovel, and driving back? Or do you run out there and rabidly start digging? Sure, you might answer "get a shovel" now, but in the real world 999 of those 1000 people will be digging with their hands.

The last problem is that the risk, and the return, is absolutely ridiculous. With startups, say 1 in 1000 makes you a billion dollars, 600 return your money and 399 go bankrupt. Great, that's acceptable. Even worst-case scenario, you take a big loss but you don't lose _everything_.

With moonshot battery research startups, every single one will lose all your money except for one - and that one will make you fabulously wealthy beyond your wildest dreams. If the breakthrough is big enough, it would revolutionize literally every field from space exploration to aerospace to power generation to electronics to vehicles. There are so many variables you can't even start to calculate the odds.

</comment></comment></comment><comment><USER15> I live in China and run startups in e-commerce and food.

China subsidizes up to 70% of postage fee, so Aliexpress sellers can sell cheap stuff for $2 with "free shipping" worldwide.

There is no such thing as "free shipping" in e-commerce, it's just included in the price. An astonishing amount of people actually thinks it's free for the seller.

When you apply for a website license in China, you have to give root access to the Ministry of Information. Most of the time it's handled by your hoster "transparently" in the form of "license application tokens". (Yes, you can trick them if you colocate your own bare metal.)

25% is an average ingredient cost for restaurant meals.

<comment><USER10> Shipping: It's generally pricey as hell to send anything out of the US. It's cheap to send things from developing countries. This is merely economic reality (shipping costs include cost of packaging, labor salary/health/pension, rent at all trans-shipment points, distance-to-port, economies of scale, tax on private company earnings, legal and insurance overheads, etc.) Since half the world's products come from China, its government-run mail system has no taxes and it has huge ports and rail networks, it's very cheap. I doubt there is a gov.cn conspiracy to undermine foreign e-tailers (ready to be proven wrong!), it's just a highly efficient and centralized socialist bureaucratic mail system. (Note that it's currently being supplanted both domestically and internationally for many purposes by more trackable courier companies, of which there are many dozens already, the best of which is [http://sf-express.com/](http://sf-express.com/) )

Root: If you do business in mainland China the government reserves the right to strongly suggest you comply with everything they want, which is usually "if anti-government stuff appears on your site, you are done, and otherwise if we give you a phone call, jump high now". This is in some ways no different to other countries in model, but perhaps stronger in presumed responsibility and penalty than some. As for root-by-VPS, yeah maybe, but citation-needed, and there's arguably not a huge difference versus seizure as performed by other countries.

(Source: ~16 years ... not claiming total accuracy, the above is just my experience/impression)

</comment></comment><comment><USER16> The majority of commercial software writers are banging out poorly designed, fragile, inadequately tested and often borderline-unmaintainable code.

I feel that people have a kind of double-think about this; they suspect this is the case, but they still expect software to work properly.

<comment><USER17> Amen.

I work at one of the most well-reputed software product companies in the world. We pride ourselves in hiring the very best, and try to do so through an interviewing program that simulates real life coding instead of an academic whiteboard situation.

Even amongst smart people, the bar for software quality is shockingly low. You will find ostensibly senior people again and again who given half a chance with espouse all day long the importance of high quality code, well-designed abstraction, separation of concerns, and good testing.

You can then let these people operate for a few hours by themselves and examine the result. In all but a few situations, it'll be a pile of mud that's designed counter to every one of the values they talk about. Often they're not aware of this, but it's also very common that they know it's sloppy, and don't really care. People don't do what's right, they do what's easy.

In a corporate environment, there is never a structure to identify the developers who are most likely to write good and maintainable code (it's too subjective) so that they can be put into a review capacity, and even if there were, there just isn't the bandwidth to review new additions to the depth that's required. In an ideal situation, many patches would be returned to author essentially asking for a complete rewrite, but that's difficult to justify given that building strong relationships inside the team needs to be considered.

The result is that all software developed in industry trends towards bad over time, and it appears to be as absolute of a universal constant as entropy. You can find localized exceptions, but they're often only temporarily good as eventually more people contribute more features.

</comment></comment><comment> alok-g Publicly known but not commonly known: (I get asked about these frequently.)

Electronic Displays Industry: LED TVs are also LCD TVs. When I explain this to people, some even retaliate! The picture is formed in both by LCD only, just that the backlight is built out of LEDs in what is called an LED TV.

Specifications given for power output in music systems, contrast ratio in TVs, frequency response for earbuds, etc. are mostly fake.

<comment><USER18> That's a result of having the marketing department as the ones who interact with the public. Pretty much every industry has this problem.

To get at the truth you have to find some enthusiast website and find someone there who has done enough digging to find the real technical information and specs.

Speaking of LED TVs, the next one is QDLED TVs where again it is still an LCD TV but the backlight is now improved with Quantum Dots. Confused the heck out of the public who are looking/waiting for a true Quantum Dot display.

</comment></comment><comment><USER19> I do marketing and AdWords for a company that specializes in local contractors. Modern online marketing is a race to the bottom that only Google wins. Fundamentally, regardles of industry, marketing is a simple logistics problem -- connect clients to service providers. But the distribution of attention is incredibly imbalanced -- the top 3 search results get nearly 50% of clicks with the top ten results getting 90%. So what I am seeing happen for many local industries and problems is that even though there are probably dozens or hundreds of local service providers that can provide adequate service for a problem, the ones that show up on the first page get a disproportionate, overwhelming amount of business, and the rest of the providers end up fighting over scraps. Unless they too want to start shelling out 10 grand a month or more to show up at the very top for every search and get more business than they can handle. There's got to be a better way.

<comment><USER20> Isn't this the problem that Angies List/Amazon Home Services/etc is attempting to solve and monetize? For a goof I submitted a plumbing work order to Amazon and received at least three competitive bids, all from businesses I had never heard of before that are vouched for to some degree by Amazon. It seems to be either the above or Yelp/word of mouth are the only ways that contractors can be seen by prospective clients, at least until they grow large enough to have more marketing funds and return business.

</comment></comment><comment><USER21> Not my industry any more, but a PhD isn't about pushing the frontiers of knowledge so much as being a training program for working in academia.

<comment><USER22> I agree to a degree, but this is dependent on field. Some fields it's about networking, some its about getting a foot into a door into a lab.

</comment></comment><comment><USER23> Every piece of commercial software ships with large numbers of known problems, limitations, and deficiencies. For old, broadly distributed software, the bug databases can easily have millions of issues, some of which have never even been investigated.

</comment><comment><USER24> The mining industry relies on a single guess as to what an orebodies looks like when they plan their multi million/billion dollar mines. These guess orebodies are usually made by inferring local information based on their neighbours within a specified range, weighted proportionally to their distances. The method is still widely used even though it was made to deal with the fact that back in the day these calculations were done by hand. We have more correct methods but they're require computers and people don't like computers.

</comment><comment><USER25> The telecom side of media is really boring, but on the production side almost all mass market media comes from about five corporations plus or minus a couple.

</comment><comment><USER6> Commercially available desktop automation systems are pretty terrible in terms of modern software design. Specifically lifecycle management, code versioning, third party tooling integration, and readability.

Unfortunately, they're aided by a compatibility moat built up of custom control support. Basically everything that doesn't support Microsoft UI Automation requires memory hijinks. And you'd be surprised by how much legacy software used weird third party libraries.

If you want more impressions or to chat, feel free to flip a mail at ethbro.co a g mail. Happy to talk, as god knows automation software could be improved.

</comment><comment><USER26> In online learning for higher education: if you don't make mobile learning your first priority you will struggle to stay relevant in the market.

<comment><USER27> Can you elaborate on what you mean by "mobile learning"?

Do you mean development for mobile as a platform?

Do you mean the ability to learn on the move?

Something else entirely?

<comment><USER26> It's M-Learning. You can check it in Wikipedia for starters. It is the combination of processes and technologies to allow people to engage into formal learning programs using mobile devices. It is different from traditional desktop based e-Learning.

</comment></comment></comment><comment><USER28> In the US, how hard it is even for your insurance company to figure out if a doctor/hospital/etc. is in or out of their contracted network.

You'd think "how hard can it be, you either signed a contract with them and have it on file, or not". Well...

When the insurer signs a contract with, say, a doctor, what is happening is _not_ "anything this doctor does for someone on one of our plans is covered by this contract". Instead, whether something falls under the contract or not depends on a whole bunch of factors, including but not limited to:

* The doctor's NPI (provider identification number, issued by US Medicare/Medicaid).

* The particular medical specialties and credentials of the doctor.

* The location(s) where the doctor renders services and the type(s) of services rendered.

* The federal tax identification number and billing entity the doctor bills as.

* The address the doctor submits on the bill.

So suppose Dr. Jane Doe signs on to your insurer's network. She's contracted as a primary-care physician, rendering services in her office at 123 Main Street Suite B, under NPI 1111111111, and will bill as Jane Doe Medical, tax ID 222-22-2222, payment to be sent to her billing office at 234 Second Street.

And you go to Dr. Jane Doe and have no trouble, until one day you get a notice back from your insurance company that suddenly she's no longer in network. She swears up and down that she's still in network with them, so it must be the insurance company's fault, right?

Well, the thing is that she merged operations with Dr. John Roe in the next office suite over, and now is billing as Doe & Roe Medical, tax ID 333-33-3333, payment to be sent to 345 Elm Avenue. And there's no contract for that!

Or she outsourced all her medical billing to MedBillCo, which again changes information the contract is keyed to. Or she also holds credentials for other types of medical practice and was rendering service of that type, maybe at a local hospital. Or she kept her tax ID and billing the same but moved her office from 123 Main Street Suite B to 123 Main Street Suite C. Or the post office realigned the boundaries of her zip code, and she "moved" from zip 11111 to zip code 11112 as a result.

This sort of thing happens _all the time_.

I'm told that LexisNexis once came to an (I think optimistic) estimate that the half-life of medical provider data is 18 months. So gather up all the information on your network of doctors and hospitals, carefully vet and double-check it, make sure everything is full and correct and up-to-date... and 18 months later half of it will be wrong, just due to the background rate of changes to office locations, credentials, billing entities, etc.

So after working for a little over a year at a company that has to deal with this, I am not surprised at all when I hear someone complain that "it's the same doctor I went to last time, nothing changed, they're still in network, so why can't the insurance figure that out?" Nothing _visible to the person complaining_ has changed, sure. But that tells you nothing. I am more often surprised that anyone is ever able to correctly determine in- or out-of- network status; being able to do it even a fraction of the time is frankly a minor miracle, and requires a whole lot of people toiling away behind the scenes.

For the record: I work for a company in the Medicare space, and we're required to revalidate all our provider information at least once every 90 days, precisely for this reason. Also, you don't want to know what the industry average is for correctness of printed provider-directory booklets. Even if it's sent off to the printers the day the up-to-date data has been validated, some not-insignificant proportion of it will already be wrong by the time it arrives in someone's mailbox, just because of how often and how quickly the information changes.

</comment><comment><USER29> Education is an expensive burden on the society that have not proven to worth its value in terms of Return Over Investment.

Funnily, the only persons asserting the value of diploma ... are PhD in ivy league business schools... selling expensive diplomas...

Education is probably a large scale scam in its actual form: too long, too expensive, counter-productive and overrated.

Cf Henri Mintzberg essay on why MBA for instance are a poor choice for being innovative.

"M.B.A. programs train the wrong people in the wrong ways with the wrong consequences," said Henry Mintzberg, a management professor at McGill University in Montreal. "You can't create a manager in a classroom. If you give people who aren't managers the impression that you turned them into one, you've created hubris."

<comment><USER30> > Education is an expensive burden on the society that have not proven to > worth its value in terms of Return Over Investment.

As a person from a region of the world with a high level of illiteracy an having witnessed firsthand the ROI of an uneducated citizenry, I would question this assertion

<comment><USER31> I believe he is referring to postsecondary education specifically. In North America, K-12 exists to make one a functioning member of society. For what flaws it may have, it has overall shown to be beneficial.

With that measured success, we got the idea that once you were a functioning member of society, you could become a functioning member of the workforce simply by continuing in even more years of schooling. But it's not clear if it has really worked out. In 1970, approximately 10% of the US population had a bachelors degree or higher. In 2017, that number is closer to 30%, yet incomes have remained stagnant throughout that entire period and job quality has declined. Not what you'd expect from the promised higher incomes and better jobs that people were willing to spend large amounts of money for.

<comment><USER29> I was indeed referring to post secondary education.

If I was no troll, I would admit a soft tooth for Finland focus on early education and the amazing results they have doing so.

[https://www.theguardian.com/education/2016/sep/20/grammar- sc...](https://www.theguardian.com/education/2016/sep/20/grammar-schools-play- europe-top-education-system-finland-daycare)

</comment></comment></comment></comment><comment><USER32> This one: [https://medium.com/message/everything-is- broken-81e5f33a24e1](https://medium.com/message/everything-is- broken-81e5f33a24e1)

</comment><comment><USER33> That we are actually quite close to the development of a panoply of working rejuvenation therapies capable of significantly extending human life spans, were the right lines of research and development just more aggressively funded than is the case at present.

<comment><USER34> Head transplants are actually considered feasible today. [http://www.bbc.co.uk/newsbeat/article/37420905/the- surgeon-w...](http://www.bbc.co.uk/newsbeat/article/37420905/the-surgeon-who- wants-to-perform-a-head-transplant-by-2017)

</comment></comment><comment><USER35> ACH transactions (bank to bank) cost 1/10000th of a dollar. PayPal charges 3% plus 29 cents for branded ACH.

<comment><USER36> I'm not sure if you're being sarcastic, but aren't ACH transactions just an SFTP upload?</comment></comment>


Packaging HipHop - <AUTHOR> http://hexmode.com/2011/09/hiphop-packaging/

<comment><USER2> "while we realize we might need to do the initial work of packaging HipHop, we don't want to be the ones responsible for keeping the package up-to-date."

Clearly the sentiment of someone who truly understands the spirit of open source software.</comment>