I'm tired of the opportunists and their hackathons - <AUTHOR> http://ryanleecarson.tumblr.com/post/23432270643/im-tired-of-the-opportunists-and-their-hackathons <comment><USER2> I'm not entirely sure what hackathons Ryan Carson has been to, but this post is seriously misguided.

Developers don't go to hackathons to be "code monkeys", rather they go to build something cool in a fun environment. It's often a great break outside of the day job to build something they would otherwise not have the motivation to. No one is stealing their concept or forcing them to take it further, it's just fun.

As for hacker mansions, people like to live with like-minded folk and code. What's wrong with that? I fail to see how people are being exploited here. Perhaps some examples would help.

<comment><AUTHOR> I agree with you on the reason Developers go to hackathons. That's why they're so likely to be taken advantage of. I'm simply saying that the young developer community needs to be wary.

Regarding "hacker mansions" a cursory read of this job posting should reveal what I'm referring to: <http://news.ycombinator.com/item?id=3961037>

It's clearly written by someone who thinks they can throw material things at a Developer and then get them to work 20-hour days for three months straight.

<comment><USER2> I'm just not entirely sure how someone can be taken advantage of at a hackathon. Are you implying that someone will steal their product? Or that they'll somehow be convinced to give up a large % stake in their project by someone who can't code? Again, an example of a hackathon where this has happened would be great. Besmirching the name of hackathons in general is wrong.

As for hacker mansions, the post you linked to opens with "Like the idea of living/working in a Palo Alto hacker mansion?". If the answer to that question is no, then the likelihood is you wouldn't apply to this job.

I disagree with your assessment that this ad is "clearly written by someone who thinks they can throw material things at a Developer and then get them to work 20-hour days for three months straight". From my perspective, they're offering an amazing summer experience for the right candidate who wants to work with them. This ad is clearly not aimed for experienced developers, but rather young folk who are looking to get experience in the startup community.

Let's not forget that employment is at will, so if someone is not enjoying working at such a place, they can leave at any time. I, for one, know a bunch of people who love and thrive in such environments. As for "20-hour days", that's just a number you've thrown out. Who's to say you couldn't have a great work/life balance at a hacker mansion?

<comment><AUTHOR> You can be taken advantage of simply by participating. Hackathons that are tacked on to events are a great example: they're simply a way to sell more tickets. I've been guilty of this in the past on shows we've done (Twitter's Chirp conf, etc).

Can good things happen at these hackathons? You bet. That doesn't mean Developers shouldn't be careful though.

 _As for "20-hour days", that's just a number you've thrown out. Who's to say you couldn't have a great work/life balance at a hacker mansion?_

The whole point of a "hacker mansion" is to work 7 days a week for three months straight.

<comment><USER2> Have you ever lived in a hacker house? I haven't, and if you haven't, then I don't think either of us are in the position to say the whole point of living in a hacker house is to work non-stop. You simply don't know that.

Of course lots of work is going to get done at such a place, but who said that the experience and fun wouldn't also be incredibly beneficial to a young developer?

<comment><USER3> I lived in the Palo Alto hacker house for a time. It wasn't "rah-rah entrepeneurs!!!" - though it had some - it was just a comfortable place to talk with people on similar wavelengths.

</comment></comment></comment></comment></comment></comment><comment><USER4> > It's a joke and I'm tired of it. Developers aren't monkeys in a cage who > can't wait to do the next "hackathon". They've got families, bills to pay > and every other pressure that normal people do. They don't want to drink Red > Bull all night and sleep under their desks.

Except I do want to do those things, and many others do as well. Not all developers have families or lots of bills to pay. Even those with lots of responsibilities enjoy the occasional hackathon.

If they don't appeal to you, don't go to them, but don't pass it off as a joke because there are many people that really do enjoy hackathons and get some value out of them.

<comment><USER5> >>If they don't appeal to you, don't go to them

By the same logic if we don't like OP's opinion, we should stop reading and may be stop questioning him instead?

People will and should question any new practice.

<comment><USER6> How are hackathons a new practice? We've been doing them since the 1960s if not longer.

</comment></comment></comment><comment><USER7> Heard at ISOJ 2012: "Making software is easy. It's the journalism that's hard" (13th International Symposium on Online Journalism)

I can only speak of the Buenos Aires startup scene. It's even worse than OP states. For example, this weekend an organization called "Palermo Valley" (claims to be non-profit but runs on a .com) organized a "Geeks on a Plane" meetup. If you see the about us pages and speakers it's full of marketroids, SEO "experts", journalists and douchy business types. A hacker friend was there and reports: "I just went to a palermovalley meetup and it was crawling with nontechnical people and too loud to talk".

There was another conference-meetup oriented to startups recently, but not for programmers. One of the talks was about how to handle the "monkeys". It was basically how to manipulate and find ways to make junior programmers work overtime for free, and pay them less by giving away token gifts. And of course never hire people over 24 or "too experienced".

Make sure you get paid fairly for every hour of your work. They need us more than we need them.

<comment><USER6> I'm the hacker friend in question (thanks!) and I seem to recall that you've come to and enjoyed a couple of hackathons at my place :)

I've also been disappointed with other nominally hacker-oriented events. I keep going to Argentine Bar Camps and keep being depressed at the lack of technical content other than infosec. (Argentina has a fantastic infosec community, which I have no interest in.)

However, I've been positively impressed with RubyAr and PyAr events. JSConf this weekend was apparently good too. Any other recommendations?

I think there are substantial realms of human endeavor where it's really true that "making software is easy," because they need software that's so easy that nonhackers can make it. I think that's a huge credit to all the hackers who have worked on software for making this stuff easy over the years. Unfortunately, it does result in some people thinking that that's all there is...

</comment></comment><comment><USER8> I appreciate the sentiment greatly, and I'm only in the valley about once a month or so (and not in the startup circles) so I can't speak to how intentional the exploitation is, but from the other side:

At 34, I can hardly be considered the youthful optimist he casts us at. I have a life, and a family, but I really enjoy the occasional hackathon. In fact, I'd suspect that a lot of my best code is done without the distractions of the house and family -- without worrying about whether or not the lawn is getting too high, or needs watering, or if the dogs need feeding, or whether my kid needs help with her homework, or if there's a spider that my wife needs me to kill.

Lock me up in a room for a few days and give me root on a server and I'll bang something out, and I'm happy to do so. Working at home is rife with distraction, but working at the office is even worse, but while there are certainly hackathon environments that aren't conducive to productivity, most of them at least free the developers of any responsibility that isn't 'code production'.

In short, they're enjoyable if they're done correctly, and they're horrible if they aren't... but I've never felt exploited by them, so either it's unique to the valley or I've just done a good job of avoiding that sort of thon.

<comment><AUTHOR> Agreed - focused time without distraction is golden. But having experienced a lot of hackathons, they're just thinly veiled attempts at pushing ticket sales at events or ways for companies to get more work out of their staff.

</comment></comment><comment><USER9> _They don't want to drink Red Bull all night and sleep under their desks._

Some of us do from time to time. It's fun. I've got a family, etc, but I like geeky extra curricular activities in the same way other people like gardening, hiking, or whatever.

All that said, I've seen the sort of hackathons Ryan's describing and they're a kind of stereotype in the same way "brogrammers" are a programmer stereotype. They're not the majority, they're just the cases people seem to be gossiping about. (Scoble has been to and written about quite a few good ones over the years, I think, and here in the UK, they're certainly more down to earth generally.)

So I think Ryan has a point for the _opportunists' hackathons_ but not hackathons generally, and it's easy to misinterpret it that way.

</comment><comment><USER10> > _They're probably just trying to cash in on your youth and optimism._

It is the nature of optimistic youth that they rarely notice. And when they do, they quickly become old codgers (like the person typing this comment.)

<comment><USER11> I don't think you're giving enough credit to the optimistic youth! They notice all right, most of them just don't care enough because all they really want to do is _programming, motherfucker._ After X years in the industry their passion might fade (and possibly their skill if they stop coding altogether), but it's not naïvety that gives rise to the occasional optimistic youth who gets screwed.

<comment><USER12> I think you're giving more credit than youth deserved. Almost all youth are exactly like that: naive.

<comment><USER13> Conclusion: the only thing in life worth doing is telling kids to get off your lawn.

</comment></comment></comment></comment><comment><USER14> I've been to two hackathon type events. I would have gone to more, but I was living in an area without much of a startup/hacker scene.

The first was SuperHappyDevHouse, following Startup School in 2006. It was mostly hackers working on their own projects and occasionally collaborating. I saw no evidence of anybody attempting to exploit anybody else, especially not non-hackers trying to get free work from hackers.

This was the second: <http://hackd.it/>. I've gone a couple times now, and didn't feel like there was any exploitation going on there. The ratio of hackers to non-hackers was good and people seemed to mostly be working on things they had a stake in.

A similar event run by non-technical people looking to get their ideas built cheap/free wouldn't be enjoyable for hackers, I expect. If you know an event is like that, don't go.

</comment><comment><USER15> Developers go to hackathons because they like to build things. What could be simpler to understand?

<comment><USER16> Kinda like this...

 _Dear Hackers,

Here is the challenge:

Please create the next killer app, and give all the rights to me so I can take all of your work and make a bundle of cash. I know you like building things, and I like making money. Seems like a good arrangement to me. I might even throw in a free T-shirt._

<comment><USER4> You've been going to the wrong hackathons then. If you look hard enough you'll find some where you don't need to sign anything, and if you can't find any, start planning one.

<comment><USER17> And that is what this post is about. Looking __hard __enough.

<comment><USER18> In my experience it's the other way around. None of the hackathons I've been to in the UK have asked for rights. I'm sure if you looked you could find one, but clearly most aren't stupid enough to try.

</comment></comment></comment></comment></comment><comment><USER19> I feel that Ryan's conflating hackathons - 1-2 day coding events - with 2+ week residence situations where you would probably be trying to actually build a business.

Some developers do enjoy drinking redbull and sleeping under a desk because evidently they do it voluntarily. I don't see the problem with that.

What's missing from the arguments in the article? I'm generally a supporter of hackathons, but if I was to play devil's advocate and advise caution among developers, I'd say:

* Although the entry price is usually free/nominal, there's still the opportunity cost of your time. And hackathons can leave you pretty drained for the next day, so a weekend hackathon needs to be justifiably worth it in terms of the learning, fun, and/or social connections you'll make from it.

* Most hackathons nowadays are sponsored by companies wanting to promote their platforms among developers. If the focus or requirement is to use those platforms, you need to think hard about whether they're worth your effort.

* You will be subjected to pitches of varying lengths. I've witnessed "one day hackathons" which were half a day of preamble. So your hacking efforts may be minimal.

* Wifi access is critical and if the organisers haven't got their act together, you would have been more productive at home.

* You can learn a technology at a hackathon or you can build something cool. You will be disappointed if you expect to do both at the same event.

* If you're trying to start a business at a weekend, coding is probably not the way to do it. So if you're going to a pure coding hackathon with the aim of starting a business, you will probably be disappointed. (Startup Weekend etc make more sense for that.)

</comment><comment><USER20> I wish we had more hackathons. Working intensely together is the best way for both sides to gauge each other. I consider myself a crusty old codger, and I'm tired of shotgun hirings where you are expected to work together like gangbusters after just an interview together.

</comment><comment><USER21> A lot of bitterness on behalf of the author against, essentially, people who don't have kids and choose to spend more of their time coding. Sure we don't want to drive people over the edge by encouraging everyone everywhere to work all the time, but this post makes it seem like anyone who makes different life choices than the author (not having a family) is somehow just getting swindled.

<comment><AUTHOR> I wasn't damning all hackathons. I coded through the night many times before I had a family.

I simply said "Think twice. They're probably just trying to cash in on your youth and optimism."

</comment></comment><comment><USER7> Another related issue are the startup accelerators claiming to be based on the Y Combinator model. Full of MBAs and no hackers in sight. They only offer office space, marketing advice, template spreadsheets, and a very tiny bit of money (none of it for paying workers).

</comment><comment><USER22> I disagree with this - I've been to several hackathons/API hack days, and like anything I guess you could be exploited, but I don't really see it.

What's nice is not only did I get to focus on building one thing straight out from start to finish in the alloted time, but it's mine - I get to commercialize it, market it, etc.

I definitely wasn't exploited - for all three of the ones where I've won a prize, I was the driving force/sole developer/whatever, so there wasn't some evil "business guy" getting me to work for free :) For Startup Weekend, I pitched, no one wanted to build what I wanted to build, so I joined another team. No big deal.

One of the best ones I went to was simply a "you hack all night on your own thing, no distractions, we're just keeping the lights on and ordering pizza." I think it might have cost $10 for the space.

</comment><comment><USER23> Agree with Ryan. And besides, what good can possibly come from say 48 hours of caffeine-fueled chasing of shiny dangling objects. That's not how you make software

<comment><USER18> That's not how you make finished, polished, robust software, it's true.

Is it how you try out an idea, play with something new, experiment with a really rough prototype and get instant feedback? Yes.

</comment></comment><comment><USER24> The problem for me is not so much the hackathon, but the commodified entrepreneur in general. The whole ecosystem of accelerators, incubators, and mansions generate innovation culture not innovation. Kind of like going to jazz school. A total oxymoron.

</comment><comment><USER25> Sometimes it's not about opportunism. I live in a 4 bedroom hacker house with 11 entrepreneurs/programmers. It's cramped, we have bunk beds and sleeping bags. I've personally never been happier.

Despite many of us being (second time) founders of companies, contractors, or having jobs, we hack together several times a week, work 14+ hour days (including weekends), manage CodeSF events monthly, find time to attend hackathons together, and learn + share knowledge together at our local hackerspace, Noisebridge.

Yes, there are opportunists in the world who want to make a quick buck.

There are also a lot of people who are genuinely enthused (obsessed) with computer science and who devote their lives to knowledge... Who learn how to implement JK flip flops on a breadboard, build languages entirely from lambda calculus, and study convex optimization in their free time. More importantly, they do so because they love hacking, not because they love being a hacker (though I admit hacker culture and community is something I value).

At this stage in my life, getting married and having a family would rob me of my youth more-so than any weekend hackathon -- but I'm sure this mindset will change sooner or later.

There are plenty of great hacker meetups and hackathons (Super Happy Dev House SHDH, for instance) and SF hackerspaces (Noisebridge, Hacker Dojo) which provide non-opportunistic methods for furthering your hacker-foo.

Ryan, I am not sure how many hackathons you've attended or possibly even hosted at "Treehouse Mansion", but it seems like you, especially, would understand the importance of hacker meetups and how to host one effectively. It's also possible you hire great engineers and not hackers, which is fine too.

Here is the _real_ problem: More people want to be hackers than are hackers. Many people only want the stigmas that comes along with being a 'hacker', a term whose meaning has been diluted and whose definition perpetually misrepresented and obfuscated by media.

In San Francisco, for instance, the terms entrepreneur and hacker have been squished uncomfortably close for my liking, partly as a result of media like Hacker News (who I'd argue contributes to the conflation of the term 'hacker' by catering primarily to a general technical startup audience).

I enjoy hacker news, admire Paul Graham and the rest of YC, and believe that anyone can launch a successful startup, with enough hard work and dedication. One problem is, great hackers are not always great entrepreneurs. Great entrepreneurs understand where there's demand for a hack, where many hackers simply want to work on the most exciting and technically challenging problems. Sometimes these two overlap beautifully (I think Stripe is a good example).

The bottom line is, movies like, "Social Network", and media like TechCrunch have spotlighted mergers and acquisitions, high valuations, and a party life style as hacker/entrepreneurial culture. From my experience, this has impacted hackathons in that judges favor high impact web 2.0 viable products over "righteous hacks".

<comment><USER26> _There are also a lot of people who are genuinely enthused (obsessed) with computer science and who devote their lives to knowledge... Who learn how to implement JK flip flops on a breadboard, build languages entirely from lambda calculus, and study convex optimization in their free time. More importantly, they do so because they love hacking, not because they love being a hacker (though I admit hacker culture and community is something I value)._

Somehow I don't think graduate students are in on this Valley subculture stuff.

<comment><USER25> I appreciate your perspective. I can only speak from personal experience. I am a PhD dropout passionate about entrepreneurship and computer science (I must admit I gravitate more to hacker culture than valley subculture).

I think graduate school is actually a pretty good selector since many people attend graduate school because they are passionate about academia. I think Stanford is a good example of a source where graduate students have gone on to lead successful ventures in the valley.

<comment><USER26> I think we've accidentally conflated two things here.

Graduate school is certainly a good selector for invention: PhD school is _all about_ research, and therefore invention, by definition. These folks in academia and in certain companies did found the hacker culture.

However, that hacker culture has now become strongly dissociated from Silicon Valley "hacker culture", which has by now become more about "innovation" and entrepreneurship than about actually building new, awesome stuff.

EDIT: It appears we're violently agreeing.

</comment></comment></comment></comment><comment><USER27> Isn't pushing perks like 4-day work week,etc you do at your company the same thing you are talking about regarding trying to cash in on someones youth and optimism?

<comment><AUTHOR> Theoretically, the people that benefit the most from 4-day weeks are Dads and Mom as they can spend 50% more time with their kids.

</comment></comment><comment><USER28> A friend of mine used to work as a lawyer, and many of them used to get involved in mock trials, where they could test themselves on a complicated case and see how the other half does things.

Although this isn't much different and an argument against this post I do agree with Ryan Carson in that a lot of developers are judged on things they do outside of work, as if not going to hackathons or working on open-source projects makes you a worse coder than someone who does.

I work on my own projects from time to time, but I know many developers who treat it as a 9-6 job and a good number of them are far better than me. Carson is right in that there are a LOT of opportunists out there who are more than happy to take advantage of developers. I know people in my own area that use hackathons as a way to promote their own company, and while they're not "selling" this code they're definitely using it as a way to promote their business.

Should developers care? Probably not, but given the attitude towards developers in general more of them would do good to be more cynical.

</comment><comment><USER29> I just went to my first hackathon this weekend, and I quite enjoyed it. Doing a week-end project is much more fun in groups, and there is a final presentation to enjoy and aim for. For this particular hackathon, we had sponsors who offered us free food and five prizes of 2000 pounds each. Considering they were only twenty teams, that's really not bad.

</comment><comment><USER30> Normally, the majority of comments disagree with the OP. That's the nature of commenting. But in this case, the disagreement is almost complete: I see only one comment slightly in agreement.

I have no idea where this post came from. I can only assume ryancarson is going to different hackathons and hacker houses than everyone else.

</comment><comment> why-el I have never been to a hackathon, but I do find the conditions of some of them a little strange. Why not provide normal work (call them fun if you want) hours for participants, say 8 hours distributed over three to four days? If your concern is people using the spare hours to work more on their products, well then great, make that part of the rules. In this case they will get three 8 hours shifts with all the support you can provide as an organizer, and the rest of the day they are on their own (StackOverflowing, real life feedback..). I can't help but notice that one of the reasons the author is complaining can be traced back to this let's-code-all-night type of deal. If only they can make that optional.

<comment><USER31> Reality intrudes. If you have a day job, or even if you're a student, it's hard to allocate 3-4 days to something that is not either paying the bills or contributing to your studies.

</comment></comment><comment><USER32> I think the point was: Do whatever makes you happy any way you want it, but don't project any particular model as the best or only way to reach the ultimate goal.

I can write great code alone, in my man cave, with a glass of wine or a bottle of beer. It works for me. Coding in more public places also works for me. Coding in the backyard is great as well. Doing pair programming with a friend is also awesome.

But, I would never impose these various ways to code as being better or worse than any other.

Because Facebook got so rich so fast, there is definitely a crowd of people out there, who believe in silver bullets and who now claim that a hacker that won't join hackathons can't be good. That's nonsense.

</comment><comment><USER33> I've never been to a hackathon but as a coder it sounds fun to me.

Not everything's about the money.

<comment><AUTHOR> Philip, you were at the Chirp Hackathon. Bam! :)

<comment><USER34> Congrats at your comment id! Maybe you'll get a prize from pg :)

<comment><AUTHOR> Ha ha - didn't notice. Well spotted :)

</comment></comment></comment></comment><comment><USER35> Its a way for up and coming devs to get known; else we are left at at mercy of YOUR contact network which may not know about us.

Its also expedient in terms of time we have to invest pursuing that position.

</comment><comment><USER36> One role of hackathons that I haven't seen mentioned here is they provide a way for developers and API makers to interact. For developers, it can helps them learn about different APIs in person by interacting with technical people from the offering companies. For companies with APIs, it helps them get developer mindshare, first-hand experience with how developers use their APIs, and offers the possibilities of having demos they can show future customers.

</comment><comment><USER37> I don't think you can tar and feather all hackathons. Some of the events I support are where groups unite to help charities or civic hacking that supports communities.

<comment><AUTHOR> Building things for charities is an entirely different thing. I should've clarified that in the article. I'm referring to for-profit ventures

</comment></comment><comment><USER38> >> _"I have a Computer Science degree, but it's been five years since I've written a line of commercial code, so now I employ very talented Developers to build product."_

Where did you find these talented developers? Was it a hackathon?

While there may be some opportunists out there looking to exploit young coders, the vast majority are seeking to legitimately employ bright young/old talent. Well at least I thought so?

Has anyone had experiences of being exploited? Please share.

<comment><AUTHOR> I found our Chief Product Officer by tweeting. Then he's recruited our entire Product Team through friend's recommendations.

</comment></comment><comment><USER39> I'm surprised this article is on the front page of HN. If developers are not X but are Y, then surely all of these schemes to employ and get developers with X tactics will soon disappear for lack of efficacy.

</comment><comment><USER40> Hackathons are good demonstration of some underlying reasons why non-software engineers hesitate to call us engineers as well :)

Would you live in a house built during a "civil-engineerathon"?

<comment><USER6> You must not be from the US, because apparently you haven't heard of Habitat for Humanity, which builds houses in buildathons, or the Amish, who do the same thing when they build their houses and barns. (Surely you've heard of a "barn-raising"?) Maybe you should watch this video: <http://www.youtube.com/watch?v=O0ph0rA-A9U>

And you must not know much about construction, either, because there are regular contests where teams compete to see who can build houses fastest, which are well-known among people who work in construction. Unfortunately I'm not one of them, so I don't remember what they're called.

</comment></comment><comment><USER41> You have a point, but doing it every once in a while doesn't hurt (I do it once or twice per year), since it's a great way to meet new people (and opportunities)

<comment><AUTHOR> I still would steer clear of things like TechCrunch Disrupt Hackathons and the like. They're just a way for media orgs to get page views and generate buzz.

Yes, a couple folks at those kind of events get a lot of press and attention, but everyone else just wastes their time.

<comment><USER41> You are right - I'm not that familiar with the US scene, being from Slovenia (EU). My last _hackaton_ was Copenhagen Startup Weekend, which I think is a similar event, since I "had" to code A LOT :) The good thing the emphasis was not on media/buzz, but connecting people (I guess that's why it was at Nokia HQ in Denmark :).

</comment></comment></comment><comment><USER42> " Developers aren't monkeys in a cage who can't wait to do the next "hackathon". They've got families, bills to pay and every other pressure that normal people do. " - Ryan Carson

Really? So most hackers that go to these things have families?

</comment><comment><USER43> I think it's time to dust off the word "carpetbagger".

</comment><comment><USER44> s/^I\'m tired of/Fuck/g;

</comment><comment><USER45> People are comfortable when others in their class assume the chronology of traditional employment. In the office, nine to five Monday through Friday, drinks after work on Thirsty Thursday, see you on Monday again. That's called career stagnation and threatens no one, hence it's widely accepted.

The way out of stagnation is to develop methodologies and processes that take advantage of the inherent weaknesses of the stagnated. Rooming a bunch of guys together or maxing out on Red Bull isn't the answer. Finding smart, dedicated and talented people to work with and avoiding the bozos is.

</comment><comment><USER46> Hmmm. How is this different from an incubator? Maybe the similarities are more interesting than the differences.</comment>


Install and run Android apps on your PC - <AUTHOR> http://7labs.heypub.com/tips-tricks/run-android-apps-on-your-pc.html <comment><USER2> can anyone suggest something similar for linux?

<comment><USER3> I believe you can go the Android SDK route on *nix</comment></comment>


Kindle books on laptops, iPhone coming soon along with international versions - <AUTHOR> http://www.crunchgear.com/2009/02/09/kindle-books-on-laptops-iphone-coming-soon-along-with-international-versions/

<comment><USER2> this post doesnt mention international versions</comment>


The math and algorithms behind a search library - <AUTHOR> https://blog.kabir.ml/posts/inside-wade <comment><USER2> This is a an interesting way of doing text search over a collection of documents, that I suppose makes sense if you only have a small number of documents to search.

Generally, an inverted index [1] is used rather than a trie, and collection- based term weights are calculated using something like IDF [2]. You could then use something like cosine to compute length normalised rankings for documents.

There are of course many different approaches to text search, but this is the first time I've personally come across this one.

If anyone is interested in an in depth look at how text search works, an Introduction to Information Retrieval [3] is available for free and is a fantastic book.

[1] [https://en.wikipedia.org/wiki/Inverted_index](https://en.wikipedia.org/wiki/Inverted_index)

[2] [https://en.wikipedia.org/wiki/Tf%E2%80%93idf](https://en.wikipedia.org/wiki/Tf%E2%80%93idf)

[3] [https://nlp.stanford.edu/IR-book/](https://nlp.stanford.edu/IR-book/)

<comment><AUTHOR> This is how Wade was originally going to be implemented. I actually had a local version of it using an inverted index and a deterministic acyclic finite state automaton [1]. It was using TF-IDF as well for the rankings.

I began to experiment with a couple of my own ideas and used a trie rather than a DAFSA because it could be stored and loaded rather than generated at runtime. I also created and used the various linear methods described in the post to rank the documents.

[1] [https://en.wikipedia.org/wiki/Deterministic_acyclic_finite_s...](https://en.wikipedia.org/wiki/Deterministic_acyclic_finite_state_automaton)

<comment><USER3> Consider BM25 as a newer substitute for tf-idf [https://en.wikipedia.org/wiki/Okapi_BM25](https://en.wikipedia.org/wiki/Okapi_BM25)

</comment></comment></comment><comment><USER4> Finally a post on search algorithms on HN again!

Pardon my surprise, but I think it's kind of strange that we see so little on HN of this topic, which is one of the pillars of Computer Science, and also at the core of one of the most successful IT companies.

<comment><USER5> I think we see surprisingly little of anything search related. In terms of full-scale solutions, there is basically just Elasticsearch and solr. When you look at lower level libraries available, there is very little outside the Lucene world.

<comment><USER6> I believe that the search part of both ES and Solr is Apache Lucene

<comment><USER4> Yes, it's good software, but pretty much a monoculture.

<comment><USER7> Yes, and?

</comment></comment></comment></comment></comment><comment><USER8> If you're a working programmer looking for a bit more depth on text searching, check out Taming Text by Ingersoll. It was written by some real pros, and it's very practical. It goes over everything from the first naive approaches to what drives many engines like Lucene today.

[https://www.amazon.com/Taming-Text-Find-Organize- Manipulate/...](https://www.amazon.com/Taming-Text-Find-Organize- Manipulate/dp/193398838X)

</comment><comment><USER9> I'm a little surprised to not be seeing some classical search algorithms.

For online pattern searching, I'd want Boyer-Moore with the the Galil rule for guaranteed linear search. [Due to an unfortunate accident in C++ history, Boost and C++17 skip the Galil rule, leading to O(n+m) runtime vs. O(nm).]

For offline, Burrows-Wheeler has performance linear with query string and _independent_ of the length of the searched document.

<comment><AUTHOR> This isn't an exact pattern searching library. Wade originally used Boyer- Moore, but has since switched to a trie [1] structure to search for _terms_ rather than the whole query.

This allows for result documents that can contain some of the terms, all of the terms, or a prefix of a term. It's also pretty fast as it doesn't need to run a linear search through the documents. I'm not sure what you mean by "classical" search algorithms, but a trie based search is a pretty standard way of doing it.

[1] [https://en.wikipedia.org/wiki/Trie](https://en.wikipedia.org/wiki/Trie)

<comment><USER9> I understand, thank you. (Though a lot of inexact pattern matching is done with using exact pattern matching of substrings with the pidgeonhole principle.)

Tries led to suffix trees led to suffix arrays led to Burrows-Wheeler transform led to FM index, which is probably the best way to do an offline search.

If you haven't looked at BWT indexing, it's worth at least checking out. It preserves the advantages you speak of with linear memory cost with the search space. It's a lot more hairy to implement, unfortunately.

<comment><USER9> A nice summary can be found here:

[http://www.cs.jhu.edu/~langmea/resources/lecture_notes/bwt_a...](http://www.cs.jhu.edu/~langmea/resources/lecture_notes/bwt_and_fm_index.pdf).

</comment></comment></comment></comment><comment><USER10> Certainly its worth taking a look at another javascript library which works for fuzzy search called, fuse, [http://fusejs.io/](http://fusejs.io/).

</comment><comment><USER11> This is neat, and reminds me a bit of the tricks used by RediSearch. I came across it on HN recently and have been geeking out on it since! [http://redisearch.io](http://redisearch.io)

</comment><comment><USER12> Lunr, named to correspond to Apache Solr, is also worth a look. [https://lunrjs.com/](https://lunrjs.com/)

</comment><comment><USER13> [https://news.ycombinator.com/item?id=14805395](https://news.ycombinator.com/item?id=14805395)

<comment><AUTHOR> During the time of that post, this article was about a simpler example and only explained the trie structure. Wade didn't have the ranking system either. It has since been rewritten to include the methods used to rank the relevance of a term to the document, and to see how they are applied in a more complex example.</comment></comment>


New Year's resolutions for startups who want to close deals - <AUTHOR> http://venturehacks.com/articles/closing-deals

<comment><USER2> It's funny but these are mostly the reverse of what you want to do when closing deals with customers or business partners (vs.investors):

1\. Focus on the opportunities that are in front of you.

2\. Establish a working rapport with the customer/partner, a deal should be the start of a long and mutually beneficial relationship.

3\. Maintain your balance, burnout is much more of a risk than losing any one deal in this environment.

4\. Don't get into an adversarial relationship with your customer/partner.

5\. Focus on reaching a business agreement, lawyers can advise you on business risks, but in the end it's the entrepreneur's call what risks to take.

EDIT: This post is not representative of the tone and quality of those on his website <http://walkercorporatelaw.com/> here are two that are much more useful:

[http://walkercorporatelaw.com/startup-issues/ask-the- attorne...](http://walkercorporatelaw.com/startup-issues/ask-the-attorney- founder-vesting/)

[http://walkercorporatelaw.com/angel-issues/angel- financings-...](http://walkercorporatelaw.com/angel-issues/angel-financings- legal-tips-for-entrepreneurs-part/)

<comment><USER3> not sure my post is inconsistent with anything here. all i'm saying in a nutshell is (i) create a competitive environment, (ii) be disciplined, (iii) work hard, (iv) diligence the guys on the other side of the table and (v) get a good lawyer/advisor to watch your back. yes, i tried to mix-up the tone for venturehacks. thanks, scott

</comment></comment><comment><USER4> Not such bad advice here, especially consider that it is coming from a service provider (i.e., corporate attorney). My own opinion is that realistically, the only startups that could close an investment deal in 2010 are mature companies that have demonstrated a robust revenue model and are in need of money (and _only_ money) for expansion. My advice to them is the same as what I received in 1999 after I secured my first term-sheet. After almost three years of hard work I finally had something to show to my attorney friend and I asked him what to do next. He said, "now go out and get another one just like it." In other words, getting a term-sheet is only the first measurable step and to close any deal, you must have competitions. But all entrepreneurs should remember that "Every problem in a startup (including funding) can be solved with the timely arrival of a PO." So even if you can't close any investment deal in 2010, as long as you have sustainable revenues, all other problem can be solved. In other words, focus on "value creation" and the "valu-ation" will follow.

<comment><USER3> yes, competition is key and obviously so is cash flow (but two different issues). thanks, scott

</comment></comment><comment><USER5> How about stay away from lawyers that try and make business decisions for you?

<comment><USER3> i agree, but i think you need a good lawyer (without a vested interest) to watch your back when you're doing deals. a good lawyer can also help you think through some of the key business issues. cheers, scott

</comment></comment><comment><USER6> Resolution 6 - I will not pretend that my startup is Glengarry Glenn Ross. While I should Always Be Closing, the rest of that movie is a mockery of the deal-closing process.

<comment><USER3> Resolution 7 - I will not waste my valuable time watching TV or silly movies

</comment></comment><comment><USER7> He says working really, really hard matters. Just wanted to note that since there's been much opinion to the contrary here recently.

<comment><USER3> in my experience, there is direct correlation between success and hard work. cheers, scott</comment></comment>


Google Wave Sunsetting in 2012 - <AUTHOR> http://pastebin.com/tQX10YKr

<comment><USER2> This post motivated me to try Google Wave for the first time tonight...</comment>


Compiler Basics: An x86 Upgrade - <AUTHOR> http://notes.eatonphil.com/compiler-basics-an-x86-upgrade.html <comment><USER2> Thanks for this!</comment>


Ask HN: How to monetize 10 million photos - <AUTHOR>

I have to opportunity to buy about 10 million photos for pretty small amount. The photos are from amateur photographers and I would get the exclusive right to do, what I want with photos.
What can I do with 10 million photos? 1. sell the high quality photos as stock image an delete the rest. 2. put all photos on a site an monetize them with ads. I much can I earn with ads around photos?
thanks <comment><USER2> I would guess your chances of doing #2 are not much higher after buying the photos than they are right now, unless the photos provide something in particular that's interesting that you can exploit. There are a large number of freely-licensed photographs on the web that you can use free right now: everything from NASA photos to things people on flickr tag as cc-by or cc-by- sa, to a ton of stuff contributed to Wikimedia Commons. You could take those, stick them on a website somewhere, and slap ads on them (and people do that). What will 10 million new photographs add? Unique content that isn't already republished elsewhere, of course, but how valuable is that to the image-farm- with-ads endeavor? Will users even _know_ that your images are unique rather than copied from Wikipedia/Flickr/wherever? My guess is that most won't, at least if you display them as a jumbled aggregate set of images: a random unsorted 1 million images from one place versus a random unsorted 1 million images from another place.

It's possible there's interesting subsets buried in there that do 1) provide unique content not already available on the internet, and 2) that you would be able to drive traffic to. I suspect it would be a lot of labor to sort and figure out if that's true, though.

</comment><comment><USER3> #1 is dependent upon the quality of the photos. #2 is dependent upon your ability to drive traffic to the photos (which may be proportional to the quality of the photos.)

This is totally not my field, but I suspect there may be a very good reason why you are able to buy 10 million assorted amateur photos very cheaply, and that's assuming that the rights are all in order (i.e., each of the photographers have signed documents transferring the rights to the photos to you.)

</comment><comment><USER4> Give away 10 or so images for signing up and then charge a quarter for each down load, giving the user a license to use the image on a website or print run of 100,000 or less. Then encourage users to upload their images and share the revenue with them, 20% would be good. As you get more users you could add different sizes for different prices, $1 for a web image and up to $50 for a bill board size. It worked for istockphoto.com. If this images cover the gamut of genres, I would contact anyone that has anything to do with design, architects, we developers, interior designers.

</comment><comment><USER5> 1\. Put them on a site, 2\. Sort by metadata 3\. Let users vote on what they like (think "hot or not") 4\. When user hits a threshold of X votes, give them a free photo. 5\. Sell/rent preference data > pros who use photos: designers, architects etc >to camera companies to use in R&D and improving digital cameras >to education outfits that train photographers > pros who use color: fashion designers, paint manufacturers

</comment><comment><AUTHOR> Thank yor for your comments, The photos has an arrange quality, like most photos on Flickr, but they are unique, most of them are not published elsewhere.

The don't have meta data, but most of them has a short description. I have some data, like gender and location, about the photographers

</comment><comment><USER6> Do you have metadata on each photo? If so, how much?</comment>


What are some time-saving tips that every Linux user should know? - <AUTHOR> http://www.quora.com/Linux/What-are-some-time-saving-tips-that-every-Linux-user-should-know?srid=3SO

<comment><AUTHOR> Never knew that one can do set operations using sort and uniq.

For example, a and b are text files that are already unique. Note this is fast, and works on files of arbitrary size, up to many gigabytes. (Sort is not limited by memory, though you may need to use -T if you have a small root partition.)

cat a b | sort | uniq > c # c is a union b

cat a b | sort | uniq -d > c # c is a intersection b

cat a b b | sort | uniq -u > c # c is set difference a - b</comment>


Ultrasound Scans of Your Baby Now Available Via Smartphone - <AUTHOR> http://www.fastcompany.com/1725155/now-smartphones-can-even-ultrasound-scan-your-baby <comment><USER2> 1st, As someone who never got to experience an ultrasound of their daughter do to being deployed, I think this is really a great app. I can only imagine how happy it will make people to easily send ultrasound scans to one another. Really a great idea here.

2nd, It would be interesting to see if commercialization of this would destroy the need for this service in the health-care industry.</comment>


Nodejs dev needed by Techcrunch Disrupt Hackathon award winner - <AUTHOR>

We recently won the Social Commerce award at the Techcrunch Disrupt Hackathon and sponsored a booth at the X.commerce ebay / paypal / magento event last week and got a ton of interest and customers and are now looking to roll the complete product in production and pilot it this November.
I'd like to see if we can build the whole thing out using nodejs, expressjs and mongodb on the server and with backbonejs & jquery on the client.
If you are good with javascript and nodejs I'd like to talk to you and yes we are seed funded and can pay you!
Please email Kris at email@example.com for more info. <comment><USER2> If you're going to give enough information for someone to dig you up, just state the company name. Why the secrecy?</comment>


What Spreads Faster Than Bedbugs? Stigma - <AUTHOR> http://www.nytimes.com/2010/08/21/nyregion/21bedbugs.html?src=me&ref=homepage <comment><USER2> The DDT angle is fantastic news. Bird eggshells trump African kids, but I am pretty sure Upper East side embarrassment trumps eggshells. Quick, someone introduce them to a safe, nonpolluting chemical solution to the bedbugs problem.

<comment><USER3> You know, if you spread a fair amount of DDT _inside_ a bunch of buildings I suspect precious little will escape outside, especially as measured by the putative egg shell problem. We're not talking about massive outdoor spraying to suppress mosquitoes, nor is that the solution for African kids (instead it's twice yearly spraying of dwelling interiors).

It would be nice to see some balance on these sorts of issues, but at the very least I expect that soon enough we'll see some hypocrisy. At the moment it is most delicious to watch, so to speak.

<comment><USER4> DDT hasn't been effective against bedbugs since the '40s - long before the ban. Use any pesticide long enough and the target will tend to develop a resistance. Now it just agitates bedbugs and makes them more active.

<comment><USER3> Has this been tested on the _current_ bed bug population?

Such resistance tend to come at a cost that makes the organism otherwise less fit and removal of the selection pressure can change the population. Also, how much of the current population started from ... imports, as it were?

Anyway, as I understand it, the EPA has outlawed the use of _all_ pesticides that really work on bed bugs, so the problem's a lot wider than DDT. It's just that our insane fixation on the eeeevils of DDT make it the iconic pesticide we've managed to ban (at the mere cost of 10s of millions of lives).</comment></comment></comment></comment>


EU Referendum Rules Triggering a 2nd EU Referendum - <AUTHOR> https://petition.parliament.uk/petitions/131215 <comment><USER2> Sounds like it could be a plan

<comment><USER3> Probably would have been a better plan if it was the rule before the vote rather than after.</comment></comment>


Analog Computers - <AUTHOR> https://blog.degruyter.com/algorithms-suck-analog-computers-future/ <comment><USER2> A good summary of analog computers can be found on the wikipedia article:

[https://en.wikipedia.org/wiki/Analog_computer](https://en.wikipedia.org/wiki/Analog_computer)

Takeaway: Analog computers are limited in precision and by "analog noise"; the precision of the components used determine the precision of the output. Usually no more than 3 or 4 decimal places are possible, at least with the tech that was used in their heydey. I would say that is still close to the case even today. Of course, one could do things like cryogenic cooling or such, but it becomes a cost factor at that point.

Something else that wasn't mentioned:

The ADALINE/MADALINE memister technology is an analog component, and is a hardware component equivalent to a McCulloch–Pitts neuron model (perceptron).

The memister is NOT to be confused with the memristor, which is a different technology; the memister was a 3-terminal device (memory transistor):

[https://en.wikipedia.org/wiki/ADALINE](https://en.wikipedia.org/wiki/ADALINE)

...whereas a memristor is a two terminal device ("memory resistor"):

[https://en.wikipedia.org/wiki/Memristor](https://en.wikipedia.org/wiki/Memristor)

<comment><USER3> > Usually no more than 3 or 4 decimal places are possible

By that do you mean accurate to 1 part in 100 (3dp) or 1000 (4dp) or what? Since the scale of a representation is arbitrary, I'm not sure what dp means here.

<comment><USER4> Good question. I guess precision is finally going to be fractions of the max voltage swing allowed by the computer. For example, if voltage goes from -5 to +5 volts, the voltage swing is 10v, and if noise allows 0.1mV of precision, then the precision is 1/100000 of the full voltage swing.

This could be expressed, at the end, simply in decibels, though. Signal-to- noise, as in classic analog systems.

<comment><USER5> I think it usually refers to accuracy out of a range of 1. typically 3 decimal places means 1000ppm and 4dp means 100ppm.

The typical problems with analog computers are many... precision of components (e.g. gain or attenuation) is limited to ~0.1% for resistors and ~1% for capacitors (inductors aren't typically used). You can try to tune things (ratiometrically) to get higher accuracy, but at the cost of increased noise and temperature sensitivity. The more complex the system, the more things can go wrong... so you end up needing simple systems or simple tools (digital).

The typical problem is that if you build a filter (e.g. a transfer function with a summer or differencer) then you will tend to clip the dynamic range or either with a maximum voltage (integrators) or a minimum noise level (differentiators) pretty quickly. You can play some games with log converters, but accuracy really still matters and drift or gain error with time is rarely an option.

The best way to use analog computers is with negative feedback to null the input. They do that amazingly well... so you can build a temperature controller, missile tracker, or actuator that only minimizes an error so that high gain corrects for any inaccuracy or offset.

<comment><USER6> A big technical EE problem for analog computers is interconnects and their EMI/EMC interference issues and impedance issues. The analog specs for on-chip digital circuitry are much more relaxing to develop around. You can work around the interconnect issues on analog computers by dumping lots of power into the driver and input circuits but eventually some joker is going to point out that it would be electrically cheaper (in terms of current/power draw, etc) to transmit that 0 to 5 volt signal using something like I2C or SPI and then you're on a fast slippery slope to turning your analog computer into an exercise in DSP programming. At some point of complexity the interconnect cable driver circuitry is going to be power hungry enough that its cheaper to emulate the whole thing in floating point on a digital computer.

If you make a graph of PITA vs bit resolution, we're all pretty comfortable emulating digital computers on analog real world circuits using binary ones and zeros. Surely the gain is very little and the PITA increases very much by implementing digital computers on trinary + - 0 analog computers. Some think the graph is U shaped and at some resolution level, the PITA of analog high resolution falls beneath performance so it makes sense. Many like me think that graph never U shapes such that anything is "better" at emulating digital computers than using analog physical computers based on binary 0/1\. AFAIK no one has built a modern floating point accelerator using opamps and A/D and D/A converters, so I find it unlikely its useful.

A two transistor NAND gate is after all just a analog computer using simple binary signals. All computers are analog its just the popular digital ones are only defined and well behaved when using binary analog signals.

There is some audiophile effect going on. Surely a mp3 codec running on a vacuum tube opamp would sound more mellow and all that.

<comment><USER7> I always hear such things from EE's. So, what's your thoughts on stuff like this in terms of analog "always" being more expensive or power hungry:

[http://www.cisl.columbia.edu/grads/gcowan/vlsianalog.pdf](http://www.cisl.columbia.edu/grads/gcowan/vlsianalog.pdf)

[http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.325...](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.325.4142&rep=rep1&type=pdf)

Now, I won't argue with cheaper to _develop_ since analog is manual with a lot of issues to contend with. I'm just wondering if there are more applications that can get huge speedups at lower power or cost than digital. I know the ASIC makers in power-sensitive spaces are already moving parts of their chips to analog for power reduction. That's what mixed-signal people tell me anyway: the specifics are often secret. So, I have to dig into CompSci looking for what they've tried.

<comment><USER8> The analogue neural net stuff is quite a reasonable example, because it's specifically trying to mimic a real analogue system and tends to be noise- tolerant.

Couple of points from your lower link:

\- return of "wafer-scale"! Nice.

\- " the average power consumption is expected to stay below 1 kW for a single wafer"; not bad but you're still going to need to cool that

\- actually a hybrid system: long range comms is digital and multiplexed to save wiring, converted to analogue at the synapse

\- "All analog parameters are stored in non-volatile single-poly floating-gate analog storage cells developed for the FACETS project" => basically analogue Flash? A development of MLC I suppose

On reading the whole thing, it seems the magic is actually in choosing which bits to make digital. The "long range" neural events are sent as differential 6-bit bursts, multiplexed, which they claim saves significant power.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> I have fond memories of building an analog computer as a project from Popular Electronics that simulated a lunar lander mission. At reset you had fuel, altitude, horizontal and vertical velocity. Your input was an angle and a thrust knob (two potentiometers) and a comparative that latched when altitude reached 0 based on your velocities being less than 1m/s. It was tremendous fun to play but no graphics, just some mA meters to tell you your status.

<comment><USER10> Sounded cool, so searched for it. Page 41:

[http://www.americanradiohistory.com/Archive-Elementary- Elect...](http://www.americanradiohistory.com/Archive-Elementary- Electronics/1970/Elementary-Electronics-1975-11-12.pdf)

<comment><USER9> Great! That is definitely the thing I built so other than wrong magazine name and it went up instead of down, it's exactly like I remember it :-)

<comment><USER10> I printed the article to (hopefully) build in the future.

</comment></comment></comment></comment><comment><USER11> If any of you guys are into analog computing, just as an FYI, there's a sub- reddit dedicated to the topic (full disclosure, I started this particular one). analogcomputing.reddit.com

There's not a ton of content there yet, but please feel free to add anything you come across. I'm a fan of the idea and suspect, like the author of this piece, that there is "something there".

<comment><USER12> How long have subreddits been accessible through a subdomain? Is this something the subreddit mods have to turn on?

<comment><USER13> It's been this way since I started using the site in 2009.

<comment><USER14> til.reddit.com !

</comment></comment></comment></comment><comment><USER15> My boss at my previous job at Fisher & Paykel Healthcare in New Zealand is using analogue computing today.

He developed Pertecs, which is a rudimentary analog computer paradigm written in C.

[http://tcode.auckland.ac.nz/~mark/Signal%20Processing%3A%20P...](http://tcode.auckland.ac.nz/~mark/Signal%20Processing%3A%20PERTECS.html)

He got me to write some code to compile schematic diagrams into the XML config files. He's also done something similar now to compile from LaTeX, and he ported the controller from a Mac Mini to a Raspberry Pi.

Pertecs is being used to control an artificial lung, which is used for research into obstructive sleep apnoea (snoring).

The problem is, he's retiring, and I'm probably the only other person in the world who knows how to use his program. I would move back there, but the immigration policy got more difficult (minimum salary of $75k), so I'm seriously wondering whether I should stay in Taiwan longer and try to naturalise here.

<comment><USER16> I believe the $75k minimum salary is for non-skilled jobs (the point being, if you're in a non-skilled but 'high' paying role we're still interested in you). The minimum salary for skilled jobs is $50k [1][2]

That and I doubt you would find many people working at F&P Healthcare that earn less than $75k.

[1] [https://www.immigration.govt.nz/about-us/media- centre/news-n...](https://www.immigration.govt.nz/about-us/media-centre/news- notifications/skilled-migrant-category-changes) [2] [https://www.immigration.govt.nz/employ-migrants/hire-a- candi...](https://www.immigration.govt.nz/employ-migrants/hire-a- candidate/support-a-candidates-visa-application/essential-skills-visa)

<comment><USER15> "we're" \- it sounds like you're connected to NZ immigration! I can fill you in with more details if you're interested.

$75k is 4x my current salary in Taiwan. Yes, I know the economy is totally different in NZ, but I don't have high hopes that changing country will suddenly make me become rich. My boss here pays me the minimum that the government allows for a Masters graduate on a foreigner work visa.

The other consideration is my girlfriend. She applied for Working Holiday, but wasn't one of the 600 lucky ones. We were in an internet café with the fastest connection in Kaohsiung, but the site just wouldn't load in time. She's 30, so she can't try again next year. If we wanted to get a partnership visa, we would have to live together and share a bank account for 1 year. Getting married doesn't even help, just living arrangements.

We're getting kind of sidetracked from the original topic of analog computers, but if it's something you want to talk about more, then just search for my name on Facebook and send me a message. It would be nice to personify the immigration forms.

</comment></comment></comment><comment><USER17> It's strange that the article does not mention anything about hydraulic macroeconomics and MONIAC, they were once widely used to verify theories in economics.

[https://en.wikipedia.org/wiki/MONIAC](https://en.wikipedia.org/wiki/MONIAC) [https://en.wikipedia.org/wiki/Hydraulic_macroeconomics](https://en.wikipedia.org/wiki/Hydraulic_macroeconomics)

<comment><USER18> So this looks interesting, but my first thought is how can a conserved quantity like water model something like money that is created and destroyed?

<comment><USER19> I don't think there's any requirement that the amount of water in the model remains constant. In principle you could drain or open valves to add more.

</comment></comment></comment><comment> brian-armstrong A related topic - running digital logic at subthreshold voltages, where transitions usually (but not always) happen correctly. It can be useful if you're attempting to measure something probabilistically anyway

[https://pdfs.semanticscholar.org/7244/1c8377b1dfde1909d21463...](https://pdfs.semanticscholar.org/7244/1c8377b1dfde1909d21463a7c20ccf0cf38d.pdf)

</comment><comment><USER20> So, Keith Emerson's Moog Synthesizer[0] was an analog computer, yes?

[0] [http://i.telegraph.co.uk/multimedia/archive/03593/emerson6_3...](http://i.telegraph.co.uk/multimedia/archive/03593/emerson6_3593555b.jpg)

<comment><USER21> Certainly. Most modular synths have all the basics - Sum, divide, multiply, add, XOR, etc.

And don't forget, analogue random is the shit. In your face entropy!

</comment></comment><comment><USER21> Excellent. So maybe all that time I've wasted playing with analogue modular synthesis will finally pay off!(?)

<comment><USER22> My thoughts exactly. _beep boop_

</comment></comment><comment><USER23> The author certainly has a point, but I wonder if analog computers (in the sense of DA/AD + ICs that can be plugged into general purpose systems) suffer from economies of scale? Maybe energy + depreciation costs of general purpose computers are still lower than ordering a minimum of 10~100k units of some custom analog computer w/ good enough quality control.

Apparently something similar to FPGA exists for analog signals [1], I wonder how popular/practical it is.

[1] [https://books.google.com.br/books?id=qjnnBwAAQBAJ&pg=PA93&lp...](https://books.google.com.br/books?id=qjnnBwAAQBAJ&pg=PA93&lpg=PA93&dq=EPAC+analog&source=bl&ots=Z7MaNV9Wpb&sig=MG- KEukCW4NI7j-uqOzVzGowWW0&hl=pt- BR&sa=X&ved=0ahUKEwjkkeyO3vXUAhWHfZAKHd7ZB_4Q6AEITTAF#v=onepage&q=EPAC%20analog&f=false)

<comment><USER24> I got some FPAA chips I assume you're referring to, the ones I've got are Anadigm ones, I need to get round to using them. The downside is the ones I've got, simply make use of switched capacitors for creation of filters, so there will be some form of discretization in the temporal domain I guess.

</comment></comment><comment><USER25> I'm hoping that analog computing will come back in the form of photonic analog computing. This would be more powerful than quantum digital computing (you know the things that people are wasting time on).

Fun fact, with analog computing, one could imagine achieving Real Computation ([https://en.wikipedia.org/wiki/Real_computation](https://en.wikipedia.org/wiki/Real_computation)) which is above and beyond Turing. completeness.

Note the fun sentence "If real computation were physically realizable, one could use it to solve NP-complete problems, and even #P-complete problems, in polynomial time. ".

We are on a wrong evolutionary branch of computing. Bits are lame-o-rama, whereas differentiable signals are pure unadulterated flavortown.

<comment><USER26> What you're describing is generally accepted to be physically unrealizable. In fact, the sentence that follows your quoted sentence cites two commonly known physical limitations that prevent the existence of your "computational class above and beyond Turing".

Whether or not there exist physically realizable computations that are not computable by a turing machine is an open question, but most physicists and computational complexity theorists seem to believe there does not exist such a class.

[https://en.wikipedia.org/wiki/Church%E2%80%93Turing_thesis](https://en.wikipedia.org/wiki/Church%E2%80%93Turing_thesis)

<comment><USER25> Read unlimited as arbitrary precision.

I'm familiar with the Turing thesis but he's wrong.

<comment><USER27> > I'm familiar with the Turing thesis but he's wrong.

You're going to have to back up a statement like that with a whole lot of supporting evidence if you want to be taken seriously.

<comment><USER25> Look into work of Lenora Blum. She wrote a book "Complexity and Real computation".

</comment></comment></comment></comment></comment><comment><USER28> > Luckily, with today's electronic technology it is possible to build > integrated circuits containing not only the basic computing elements but > also a crossbar that can be programmed from an attached digital computer, > thus eliminating the rat's nest of wires altogether.

This is the most important paragraph in the entire article.

Analog Computers can be made very small. It'd take an ASIC, but the 741 OpAmp was less than 100 transistors. A more modern OpAmp might be under 1000 transistors... although noise issues would be abound.

Bernd Ulmann has developed a methodology that performs non-trivial computations (such as: [http://analogparadigm.com/downloads/alpaca_4.pdf](http://analogparadigm.com/downloads/alpaca_4.pdf)), but its still hand-programmed by connecting wires together.

If it were digitally programmed with a digital crossbar switch (consisting of CMOS Analog Gates instead), then it'd be controllable by a real computer.

I think what Ulmann is arguing here... is to use analog computers as a "differential equation accelerator". Perform a lot of computations in the digital world, but if you need to simulate a differential equation, then simulate it on an analog circuit instead.

And there are a large number of interesting mathematical problems that are described as differential equations.

\</comment><comment></comment><comment>-----

The main issues, as far as I can see, would be the multiplier, logarithm, and exponential functions. IIRC, these are created using a bipolar transistor... and modern manufacturing doesn't really mix BJT with MOSFET.

I mean, IGBT transistors exist, but modern computers are basically MOSFET all the way down. MOSFETs would be able to make a lot of things though: digital potentiometers / variable resistors... the crossbar switch, capacitors, resistors, and OpAmps.

And all of those can simulate addition, subtraction, derivatives and integrals. More than enough to build a "differential equation accelerator" that the author proposes.

</comment><comment><USER29> > Instead, you program it by changing the interconnection between its many > computing elements – kind of like a brain

This is one of the worst "brain" analogies I've read lately.

</comment><comment><USER30> >What causes this difference? First of all, the brain is a specialized computer, so to speak, while systems like TaihuLight and TSUBAME3.0 are much more general-purpose machines, capable of tackling a wide variety of problems.

That's why digital computers have so far been so much more successful than analog computers. While analog computers may have the potential to be "better", they'd require massive global hardware and software changes to become the next big thing. People are lazy, and there's no way they'd want to port everything over to a completely different paradigm just for better energy efficiency and speed.

</comment><comment><USER31> Analog computing makes a lot of sense in the context of genetic algorithms and "deep learning" and I wouldn't be surprised if there's already some ASICs under design using those principles. One big challenge is that the design kits from the foundries aren't likely to include all the analog computer cells that would be needed (but perhaps for example a current mirror into a MIM capacitor could make for an integrator?).

<comment><USER32> At the ISCA conference last week, Yoshua Bengio, of DNN fame, talked about their early efforts in analog computing. Here are some related slides of his: [http://www.iro.umontreal.ca/~bengioy/talks/Brains+Bits- NIPS2...](http://www.iro.umontreal.ca/~bengioy/talks/Brains+Bits- NIPS2016Workshop.pptx.pdf)

</comment></comment><comment><USER14> _> The human brain is a great example – its processing power is estimated at about 38 petaflops, about two-fifths of that of TaihuLight._

Huh? So we now have computers more powerful than the human brain? I thought that was still some decades off. And how would one even measure such a thing? In the apples-to-apples comparison, a stupid human trick floating-point calculation savant might manage 1 flop/s.

<comment><USER33> In speed yes, in terms of continuous parallel computing power at low energy levels, technology hasn't come even close. In terms of sensory input and processing, not even close.

I find it amusing that there is much hype about computer systems beating humans in very specialised areas, such as go and chess.

But the missing piece here is that the human is still doing this while continuously processing all the sensory input that is occurring to that human, dealing with so much more than what the computer system is dealing with. The computer system is dealing with one and only one subject matter at a speed many magnitudes faster and is only just getting ahead.

<comment><USER34> > one and only one subject matter at a speed many magnitudes faster and is > only just getting ahead.

+1

Kasparov didn't simulate 200 million moves per second to make his move.

</comment></comment></comment><comment><USER35> Something that might be interesting is some kind of analog fpga for neural networks. Seems like NN weighting would translate well.

</comment><comment><USER36> At last, we will have a truly random number generator! Not the simulated fake rand() using timestamps as seed.

<comment><USER37> Most modern Intel and AMD CPUs have a truly random number generator, generated in a non-digital way.

</comment></comment><comment><USER38> It would be interesting to simulate that airflow in LTSpice, given that that analog contraption can do it.

</comment><comment><USER39> this feels like forcibly renaming electronics engineering as programming

</comment><comment><USER40> First I've heard of analog computers but it sounds super interesting. So basically the structure of the system defined the algorithm and is therefore very specialized and efficient?

</comment><comment><USER38> The brain is not an analog computer.

<comment> chroem- Well it's definitely not a Turing machine.

<comment><USER14> It is however definitely Turing-complete.

<comment><USER41> You say that as it was a feat.

</comment></comment></comment></comment><comment><USER42> >In analog computers there are no algorithms, no loops, nothing as they know it. Instead there are a couple of basic, yet powerful computing elements that have to be interconnected cleverly in order to set up an electronic analog of some mathematically described problem.

This is exactly why the digital computer has won over the analog computer.

<comment><USER34> Uhm, no. Analogue vs. digital computers use fundamentally different kinds of computation. Analogue computers were not used for "programming", nor was it really necessary for the simulations done on them.

Essentially, with an analogue computer you have a rack full of analogue building blocks and you build an electronic system equivalent to your real- world system from them. Then you can apply inputs and observe outputs. Often, the inputs were connected to sensors in a device, and the outputs were connected to actuators or recorders.

When analogue computers were already in wide use, there were maybe three digital computers on the whole planet. Later still, in the 60s to perhaps the early 80s "analogue computers" could (to varying degrees) perform some simulations _orders of magnitude faster_ than contemporary digital computers. Only when digital computers became fast, cheap and easy enough to do these they became a replacement, however, moving from an analogue computer to a digital program could be quite difficult, since the two operate in vastly different ways.

Large systems often used digital computers since the ~70s for e.g. recording and analyzing outputs: a company in my home town developed test rigs for performance and crash testing of cars (and also did the testing to some extent); they still had a _massive_ hybrid computer in the 80s (multiple analogue racks plus I think two DG Nova systems).

</comment></comment><comment><USER43> Stop comparing brain with computer

</comment><comment><USER44> The author's so called analog computers can be built by using FPGAs. And the term he might be reaching for is called data-flow programming.

<comment><USER11> _The author 's so called analog computers_

Why do you say "so-called"?

 _can be built by using FPGAs._

Also, FPAA's (Field Programmable Analog Array)[1]

[1]: [https://en.wikipedia.org/wiki/Field- programmable_analog_arra...](https://en.wikipedia.org/wiki/Field- programmable_analog_array)

<comment><USER44> Maybe it was the wrong term. My point was we have them and they are used, but they are not cost efficient in general. So saying that they will be the future of computing, is a bit ridiculous imo.

<comment><USER11> Fair enough. I think they will be _part_ of the future of computing, but saying they are "the future of computing" is probably hyperbole.</comment></comment></comment></comment>


AOL Instant Messenger is shutting down after 20 years - <AUTHOR> https://techcrunch.com/2017/10/06/aol-instant-messenger-shut-down/ <comment><USER2> Duplicate / more discussion at [https://news.ycombinator.com/item?id=15417019](https://news.ycombinator.com/item?id=15417019)

</comment><comment><USER3> Wow... an end of an era. I just got my notice that it is closing down. I kinda want to use it now just for the nostalgia feeling.</comment>


How the feds took down FIFA - <AUTHOR> http://espn.go.com/espn/feature/story/_/id/14767250/the-exclusive-story-how-feds-took-fifa <comment><USER2> I don't think these investigations depend on corruption or crime, or at least those factors are necessary but not sufficient.

When the government investigates an individual or organization that has long been known to be corrupt, I always think 'why them and why now?' For example, recently they took down a local politician known for corruption for decades; why now? There are other similarly corrupt local politicians; why not them?

Why is the FBI taking down FIFA and not the Catholic Church, which operated a global child rapist protection racket, or Wall Street firms, whose financial fraud harmed billions of people and nearly took down the world economy? FIFA's crimes seem to have relatively minor consequences.

My working hypothesis is that the corrupt lose key political protection and then their enemies pounce. But I don't really know.

<comment><USER3> I think in this case the difference is that FIFA doesn't yet a lot of political power in the US compared to Europe and South America, but was in the process of significantly expanding its influence to the US, which drew the attention of the investigators who could act without expending domestic political capital. One question often raised in Europe and in particular countries that feel hard done by FIFA, like the UK, is why it took the US to investigate and prosecute when much of the corruption is taking place at our front door. This is largely European, South American, and African corruption that has some US based proxies mixed in that give the US investigations a way in.

<comment><USER4> Nope, this is a large amount of money, my guess is that someone at the feds said "we want a cut" and someone at FIFA said: "give money to the US feds, they don't even like football (soccer?) that much, why?"

<comment><USER4> Down votes haha, so predictable, it's so cute when people want to believe their gov is the good one doing things to save the world from corruption. Nope, everything a organization as big as FBI does is because something is damaging them. The church systematically raping children is not more important than your money, sadly.

<comment><USER5> Yeah, what you're doing right now is called "reverse cargo cult". Not only you know that your fake airplanes are made from straw / your country's government is corrupted but you also claim that the real airplanes are also made from straw / other functional governments are completely corrupted.

</comment></comment></comment></comment></comment><comment><USER6> International sports and sports bodies tend to be pretty horrible.

This article brands the International Olympic Committee "a foul band reeking of corruption and manipulation."[1] The most recent World Cup in Brazil elicited large protests from the poor who failed to benefit from the development.[2]

[1] [https://www.gn.apc.org/blog/meet-ioc-foul-band-reeking- corru...](https://www.gn.apc.org/blog/meet-ioc-foul-band-reeking-corruption- and-manipulation-andrew-jennings)

[2] [https://en.wikipedia.org/wiki/2014_protests_in_Brazil](https://en.wikipedia.org/wiki/2014_protests_in_Brazil)

</comment><comment><USER7> Or rather, how the feds took down FIFA once they spared a second to give a fuck, and even then it was just simpler to do away with all the newfangled investigative wiretap powers and that stuff, pretend its 1900 and give someone a sweet deal for telling them the story.

Remember the Garcia report in 2012 was forced on the FIFA as a result of many many years of grassroots investigative journalism and activism, when the FBI or any other law enforcement body simply didn't bother.

<comment><USER8> To be fair, the feds got where European authorities long failed to go. In Europe, _everyone_ knew FIFA was rotten at least since the Havelange years, but there was no real attempt at taking down the Blatter mafia from any country.</comment></comment>


Ask HN: Need help...Rails app seems to take 300ms+ for everything. - <AUTHOR>

Ok, I will admit. Its not the simplest app but yet its not the most complicated one either.
The rather frustrating part is that most of the time is being spent in rendering views. Here are few examples.
- Completed 200 OK in 272ms (Views: 236.9ms | ActiveRecord: 15.7ms)
- Completed 200 OK in 275ms (Views: 148.2ms | ActiveRecord: 42.6ms)
- Completed 200 OK in 384ms (Views: 335.1ms | ActiveRecord: 3.5ms)
I am not doing partials in a loop etc. I am NOT querying while rendering either. Its just ruby hash operations etc which are taking up lot of ms. Now I am starting to wonder is how many SQL queries is considered normal, like in my app its around 4 - 10 queries. Is 300ms+ an acceptable response time for a Rails app which is not even launched yet (so no server load as of now). Hosted on $20 VPS Linode.
Thanks in advance for sharing your insights. <comment><USER2> No one can tell you what the problem is with that little information. However, here are some suggestions on how __you __can yourself debug your problem:

Isolate: Eliminate as much as possible until nothing except the problem remains. You can't fix the problem until you know what the problem is, and guessing about it will just lead you astray.

Is performance still crap when you remove the db calls? When you replace the db connection with sqlite? When you remove the view logic and just render a static template? When you remove the templates altogether and just render a simple "Hello, world" string? When you put the application on a free Heroku instance instead of Linode?

Then ask yourself, does it make sense? Is Ruby so slow that a simple page takes 300 ms to load? Is a $20 (per month? per year?) Linode VPS that crappy?

</comment><comment><USER3> Have you tried running this anywhere else? How much processing time does a linode vps actually give you? It says activerecord is taking 15ms, that's the time spent querying the database. The view is taking the majority of the time which is normally going to be cpu time because it has to compile the template. Are you running it in cached mode? Because if not its going to read each template off disk before generating the view right?

</comment><comment><USER4> Have you done any view caching? You should take a look at fragment caching and how Russian doll caching works with the cache_digest gem.

<comment><AUTHOR> I have not done any view caching as of now. I plan to do that. But the main issue in my mind currently is that ruby is performing slow and while searching on net I found solutions such as: 1) using REE (some GC fix) 2) Erubis is faster than erb 3) Other ruby implementations.

I am wondering if anyone can share their experiences with an y of these approaches.

Caching is something I plan to do but I wish to keep it as the last resort.

<comment><USER4> What version of ruby, rails, db & which web server are you using? It's hard to say the problem is ruby being slow until you isolate the problem. A guy I work with wrote a gem called dev_panel we use to find the bottlenecks. I haven't looked at ree in a long time but I think the most recent version is built against ruby 1.8. Erubis hasn't had an update in over 2 years.

</comment></comment></comment><comment><USER5> Have you installed newrelic.com and compared the performance difference between your dev and prod?

</comment><comment><USER6> Post code.

Ruby hash operations - your code or the framework?</comment>


Confessions of a Typewriter Addict - <AUTHOR> http://lithub.com/confessions-of-a-typewriter-addict/ <comment><USER2> I love typewriters because for me they're tangible, understandable, mechanical technology. Unlike an iPhone, or even a computer, I can wrap my bubble of a brain around how it works. I'm now the proud owner of 23 typewriters and can tell you stories, and anecdotes about each design, manufacturing, and origin.

<comment><USER3> It's strange how much fun it can be to spend an evening with a well-built mechanical tool, long forgotten by the rest of the world. I've got a portable ("laptop," LOL) Swissa Piccola machine that I just love, and a bigger 1937 Olympia whose keys feel fantastic.

</comment></comment><comment><USER4> If you want to try a poor imitation of the real thing, I made one here:

[http://typwrtr.com/](http://typwrtr.com/)

<comment> King-Aaron I feel ashamed to say it took me far too many seconds of minor frustration before I realised why backspace wouldn't work.

<comment><USER5> Backspace should work, it just shouldn't erase what is already typed. You might use it to overstrike something.

There were electric typewriters that supported backward delete with a whiteout tape.</comment></comment></comment>


Skymind Is Now Pathmind - <AUTHOR> https://announcement.pathmind.com/skymind-is-now-pathmind/ <comment><USER2> Surely this is at least in part due to the fact that "Skymind" sounds much too close to "Skynet" for an AI company.</comment>


Experts Want to Give Control of America's Nuclear Missiles to AI - <AUTHOR> https://www.vice.com/en_us/article/59n3y5/experts-want-to-give-control-of-americas-nuclear-missiles-to-ai <comment><USER2> "Your scientists were so preoccupied with whether or not they could, they didn't stop to think if they should."

</comment><comment><USER3> Instead of delegating launch authority to more people in the case of decapitation attack, let's just automate it. Seems like a big conceptual jump without a good reason.

<comment><USER4> I'll give you a reason. In my fifty years I've noticed that in the US at least leaders are becoming increasing responsibility adverse. Fearful even.

</comment></comment><comment><USER5> I'm guessing they've never seen some of James Cameron's early works.

<comment><USER6> literally what i was thinking as i read the title

</comment></comment><comment><USER7> when asked "lets play global thermonuclear war"

even alexa suggests a nice game of chess</comment>


About SEO on the same keyword, How to beat the competition? - <AUTHOR>

I have a link called example.com/javacompiler, by searching google with these key words "java compiler", my site come as second . now with the same keyword , How can I be the number one and beat the compition. I have read all about content should be unique and all. But here it's a utility. So Please help, what do I need to do to get No 1 in google. <comment><USER2> The best place to start is to read Moz.com's Beginner's guide to SEO: [https://moz.com/beginners-guide-to-seo](https://moz.com/beginners-guide-to- seo) then see what you can apply to your situation.

Also, remember that Google tailors it's search results to what it thinks you like to see, especially if you are logged in to your Google account when searching, so while you might be second when you search, when another person searches your page may not be second in the results.</comment>