hacker news with inline top comments    .. more ..    24 Nov 2010 Ask
home   ask   best   7 years ago   
Ask HN: Why does no one talk about working or interviewing for Apple?
120 points by mmatey 7 hours ago   73 comments top 27
67 points by jaysonelliot 4 hours ago 1 reply      
I interviewed with Apple last year, and I wasn't asked to sign an NDA. That said, I didn't actually see anything that would have required one.

I didn't apply to Apple - they found me. A year later, I'm still not sure how that happened, since I don't know anyone there. It could have been through a public talk about user experience that I gave (the position was for UX director of the Apple web site), it might have been through something I wrote, or it could have been as mundane as a LinkedIn search.

I went through a series of phone interviews in the usual ascending order. Everyone I spoke with was very sincere and conversational, there were no MS or Google-style "tests" to go through. We looked at work I'd done, I talked about my approach to UX, we got to know one another a bit.

Eventually, they flew me out to Cupertino (I live in NYC), and put me up at a nice hotel near the Apple campus. I spent a full day in an interview room, meeting various members of the team I would be working with, both above and below the position I was being considered for.

The only time we left the conference room where the interviews were happening was to take a stroll over to the cafe for lunch. I went with most of the team, and we talked about day to day life at Apple, what it's like working with tight security, the fancy Apple buses that take employees from SF and the East Bay to work, people's personal projects and hobbies, etc.

I got some insight into the way Apple works, and predictably, there was none of the corporate silliness that you'd find in a less confident company, none of the buzzwords or process for the sake of process. I could see that they all worked incredibly hard, but the fulfillment on everyone's faces made me want very much to be a part of it.

In the end, I didn't get the job - they ended up either not filling the position at all, changing their team structure, I'm not sure - they left me feeling very good about myself and the experience, probably the best way that I've ever not gotten a job.

The main impression I was left with was that I had just wandered back to a pre-dot com era where people worked incredibly hard to make great things, rather than to maximize profits or burn towards an IPO or whatever. It was one of the most human job interviews I'd ever been through.

39 points by KuraFire 5 hours ago 5 replies      
For the people working there, talking about it on a public forum is cause enough to get fired, and hiding behind an online alias is not going to give you enough protection. Apple is full of really smart people, who like their jobs well enough not to risk losing them so casually and for such little incentive.

As for the process of interviewing: for a lot of the more interesting jobs at Apple, interviewing involves signing an NDA. Hence, whether or not they end up getting hired, they're contractually prevented from talking about the interview process.

Having worked there in the past myself but not anymore, I can speak only _somewhat_ freely about it all. The interview process can be intense, taking up to several weeks and with a minimum of 4 interviews, but usually 7 or 8. Often, for practicality reasons (travel to Cupertino), all those interviews are done in a single day, and if it's more than 8 it'll be done across two+ days. As for the specifics of an average interview itself, I can't really say anything.

And as for working there, my own experience was largely fantastic, but it wasn't for me in the end. Apple's campus is by far the nicest I've seen of all the major companies (and I've seen all the ones in Silicon Valley), and though there is always a constant pressure, stress and a major (and insane) deadline to make, working there is incredibly satisfying. Unless, perhaps, you're at MobileMe. But maybe that was just me.

12 points by cosmicray 5 hours ago 1 reply      
There were 3 basic periods at Apple: the beginnings (aka Steve I), the Dark Ages (roughly '85-'97), and Steve Returns.

During the Dark Ages, Apple leaked internal information badly. One of the first things that Steve did upon return was try to clamp down (and fire people if necessary). He even had one of those WW-II posters "Loose lips sink ships" tacked up. And there is a certain truth to that. Competition has heated up (esp in the mobile space). Anyone and everyone would love to know what Apple is working on now, and what they will announce next month. Witness the kerkuffle with gawker over the iphone 4 engineering test device.

So people at Apple learn to say nothing, or move on down the road.

24 points by stevefink 6 hours ago 1 reply      
Probably because most of the people working there would like to keep their jobs.
12 points by Bud 4 hours ago 0 replies      
I interviewed for Apple earlier this month. I didn't get the position, but I really enjoyed the challenging interview process and meeting the 7 people who interviewed me.

I had a phone interview with a manager, and then a three-hour process at Apple HQ in which I was interviewed by three pairs of employees from the team I was applying to work with. I was very impressed that they devoted so much employee time to talking with me. They were very friendly people, and asked an interesting variety of questions, ranging from puzzles to how I'd handle various theoretical work scenarios to technical questions of various kinds.

The gent who recommended me told me that he had to apply six times before getting hired, so I'm planning to keep applying, for other positions.

There. Now someone has posted about interviewing at Apple. Happy? :)

7 points by xentronium 6 hours ago 2 replies      
I believe that they've got somewhat strictest policies on talking about internal stuff.

Well, at least that's what some bloggers write about [1] and I haven't heard about any counter-proofs.

[1] http://gizmodo.com/5427058/apple-gestapo-how-apple-hunts-dow...

10 points by theDoug 6 hours ago 1 reply      
My first guess would be respect for the company. Secondarily, plenty of results in google reveal that the policy (if somewhat unofficially) is that you can say you work at Apple on your blog, etc, but not really blog /about/ Working At Apple. Even if there's no official policy on it, it's just better taste to say "The thoughts of John Doe" and not represent oneself as "John Doe of Apple."

"There's a PR department for that."

All that said, there are plenty of writers/bloggers who work at Apple. Randsinrepose.com is a personal favorite, and contains the writing work of Michael Lopp who may be an engineering manager at the fruit company. This policy of sorts goes much further back than iPhone/Android or any other blog-hyped non-competition.

5 points by pitdesi 3 hours ago 0 replies      
I interviewed at Apple for a product manager role. I have an MBA, and they were an on-campus recruiter. I interviewed on campus, then they called me to tell me I was going to have a 2nd round interview in Cupertino. 2 weeks later, I haven't heard anything and I am scheduled to be in Mountain View for a GOOG interview. I email them, telling them that I'd be happy to come in and save myself the time and them the travel expense...

They email me a week later (post my interview) and tell me "that should work..." They really have a crappy set of recruiters working there. Ultimately, I needed to accept another job (ended up being at AMZN), and Apple never actually got back to me. I've heard some similar stories about recruiter ineptitude there.

5 points by limmeau 5 hours ago 0 replies      
When Glyph Lefkowitz (of the Twisted project) was hired, he posted unboxing pics of his job offer to his blog (which has since been closed down). He praised the usability of the letter.

Second-hand mention in: http://www.geek.com/articles/apple/unboxing-an-apple-job-off...

3 points by adamtj 5 hours ago 1 reply      
Whether it's intentional or coincidence, it's interesting how it parallels their products. There are approximately three people who work for Apple. They are the shiny, slick interface. Everything else is an implementation detail.

Jonathan Ive is like OS X. Nobody knows how OS X actually works, but they know the name and that it is why their screen shows such pretty things.

39 points by naithemilkman 7 hours ago 2 replies      
The first rule of working at Apple - No one talks about Apple.
2 points by misnomer 2 hours ago 0 replies      
I worked at Apple EMEIA for a year and, truth be told, the interview process there depends.

It depends on where you want to work. If it's in Cupertino I'm told it's a completely different story to the EMEIA office. Having worked there, I can vouch for there really being a culture of absolute secrecy. It's quite common for one team to not know what's going on in the other corner of the room with another team. Secrecy has gotten even more prevalent in the EMEIA office (the office being made up of project managers alone, it was formerly less secretive than Apple World Wide/Cupertino) since the Gizmodo iPhone 4 affair. As regards fear related to Apple's security paranoia? It was moreover regarded as an irritation.

Going back to the interview process at Apple EMEIA (I can't say for Apple WW), it depends entirely upon who interviews you, which team, for what role, and what level. There is no set pattern. There may be an NDA for the interview process, there may not. It depends on the role and the person you are seeing. I know some who've had only two interviews, some who've had nine. It depends.

2 points by the_jc 3 hours ago 0 replies      
I blogged about my experiences both in Apple Retail, and in "corporate" Apple for a number of years. Eventually I took it all down, though not due to any pressure from the company. I took it down because I was inundated with emails from 15 year olds who wanted to know how to get a job in an AppleStore. But I worked for Apple for 6 years in Retail and AppleCare, and interfaced extensively with hardware engineering. I'm not sure I'd have anything interesting to say, but if you have any questions, I'll try my best to answer them.
1 point by madridorama 1 hour ago 0 replies      
i have a friend that works at apple, and other than providing a vague job description and saying they like it, they don't discuss details.

i think it's the culture, your work speaks for itself. he puts in long hours (on par with goog really) and has a great salary and perks.

16 points by fogus 6 hours ago 1 reply      
6 points by zandorg 7 hours ago 0 replies      
There's folklore.org but that's like 25 years ago.
6 points by noobuntu 6 hours ago 0 replies      
The man in the black turtleneck will find you if you talk
3 points by epynonymous 5 hours ago 1 reply      
but i think the author's got a point, you never hear about any stalwarts of software dev defecting to apple, do you?
1 point by darwinGod 5 hours ago 0 replies      
Regarding NDA's - Don't most companies sign some sort of an NDA with potential hires/ employees??Still, interview questions of most companies are available if you google well enough.
But yeah, the difference is humongous- Apple doesnt seem to have the faintest thing similar to mini-microsoft :-)
1 point by te_chris 59 minutes ago 0 replies      
Sounds like a cult tbh - and I'm a mac fan.
1 point by HectorRamos 4 hours ago 0 replies      
I interviewed for Apple a few months ago. I didn't get to the NDA signing part (I backed out because another opportunity came up during the process) but still wouldn't talk about the interviews I went through because I still hope to go back and try again someday (in the slim chance that our current venture doesn't work out).
1 point by AlexC04 4 hours ago 0 replies      
The first rule of interviewing at apple is that you do not talk about interviewing at apple.
1 point by anonymon 3 hours ago 0 replies      
If you go to Apple, you might be surprised to find out that you've already agreed to some form of NDA with them. Especially, for example, if you're a part of any Apple Developer program. They might not always feel compelled to remind you of this, however.

I wouldn't know, though; I don't think I recall ever having been to Apple. No, not in a million years. I do find this Apple sweatshirt which I must've found at a thrift store to be especially comfy, however.

1 point by lwhi 5 hours ago 2 replies      
Fear is a man's best friend.
1 point by bpm140 3 hours ago 1 reply      
The first rule of Fight Club?
-2 points by rohan037 5 hours ago 0 replies      
We all talk about how Megan Fox is hot, but then return to designing a descript schemantic intended to woo the girl next door.

And I dont mean to say that apple is out of one's league.

-2 points by revorad 6 hours ago 2 replies      
There's enough talk here about Apple, maybe not about working or interviewing there, but honestly there's just way too much talk about big companies on HN already; we don't need more.

What's the point of this meta thread anyway? Are you planning to work at Apple? If so, why don't you just ask specific direct questions about that?

Flagged for zero content.

Ask HN: Why does no one talk about working or interviewing for Oracle?
10 points by sdizdar 1 hour ago   discuss
Ask HN: Help, I need to talk in front of a big audience & I'm scared, what now?
35 points by c1sc0 7 hours ago   48 comments top 28
26 points by ryanwaggoner 6 hours ago 5 replies      
You have two weeks. Rehearse the shit out of your talk. Run through it several times every day. Do it until you're completely sick and tired of hearing yourself, and then run through it some more. Get friends and family to watch. Videotape yourself. But go through it as much as possible. That's the most reliable way to beat the nervousness and deliver a kick-ass talk. I know Steve Jobs makes it seem like it's something you have or you don't, but I've read he spends like 20 - 30 hours prepping and rehearsing for his keynote talks. There's a word for this: sprezzatura. Good luck!



3 points by Sukotto 5 hours ago 0 replies      
Wow, that sounds cool. What's the topic?

As far as actually getting up and talking, all I can really say is that you should stay relaxed. Those people want to like you. They have chosen to come and listen to you because they know you have something interesting and exciting to tell them and they want to know more.

The best talks are the ones where the speaker is relaxed, confident, and speaks as if to a small group. You already have that experience so you know the sort of it's-just-the-5-us-us-here-talking feeling to aim for.

In terms of your slides. Remember that anytime the audience has to read a slide or make sense of a chart, they are not listening to you. It follows then that you should not have much text (if any) on your slides.

Your slides should only contain simple images supporting whatever point you wish to make during that part of the talk; simple charts (2D, no bling); or words written in a minimum of 60pt (sans serif font)

When testing them. Put them up on your laptop and look at them from 30 feet away. If you can't make out the detail, then neither will your audience during the real presentation.

Any real detail, data, background info, etc should be in a separate slide deck that you hand out or make available to download.

One book you might find interesting (I know I sure did) is Presentation Zen by Garr Reynolds [1].

Best of luck to you. I hope you have a great time

[1] http://www.amazon.com/gp/product/0321525655/103-6148611-3957...

5 points by bscofield 4 hours ago 0 replies      
In my experience, practice is by far the best salve for nerves. If you can give your talk cold, without slides, while being attacked by bees, a couple of thousand people won't bother you in the slightest.

Luckily, you're speaking in the best possible format for this. The neat thing about Ignite is the length constraint. With a five minute talk, you can practice properly (run through the whole thing, making notes on paper about changes you need to make) something like 6 times in an hour - that would take closer to 10 hours with a 45 minute talk. That said, don't work from a word-for-word script. Change things up a little on each run-through. That's always good advice, but it's even more important with Ignite, since it's easy to get off-track with the auto-advancing slides.

3 points by stan_rogers 3 hours ago 0 replies      
It has been my experience (and I do a lot of talks now, but in a completely different realm) that you can give a talk to ten people, or twenty-eight people, or forty-three people, but you cannot give a talk to two kilopeople -- at some point (seems the threshold is a hundred or a gross or somewhere around there) your perception goes from "N people" to "one audience".

I find it a lot easier to talk to one audience massing 150 tonnes than to talk to ninety people. At 90 people, there is still a tendency to try to pay some attention to each person. A sea of bodies is different, at least for me. My village-connectedness circuits hand everything over to my city-survival subassembly.

As for the rest: know your slides and know your stuff. Try not to know your words, if at all possible; it's way too easy to get creamed by a missing syllable, and you need to be a pretty darned good actor/orator to make a prepared script sound like human speech. Audiences like humans; they're not so big on bipedal assistive technology devices that sound like they're reading untrained vocabulary material.

2 points by TomOfTTB 3 hours ago 0 replies      
Practice is absolutely the best thing to do but this little trick worked for me in my early days so I thought I'd pass it on.

Get someone you're really close to like a best friend or a spouse and have them sit in the absolute middle of the audience (or in the middle of the area where you can make out faces). When you start the talk focus directly on them and give the speech as if you were talking to that one person.

Once you get a few minutes into the speech and you've gotten over the initial hump start looking around the audience and trying to connect to other people as well. But if you start to feel nervous again go right back to your "safe" person and focus on them for another couple minutes. Then repeat the process until you can connect with the entire audience and be calm doing so.

It sounds weird but it worked for me every time.

1 point by karjaluoto 27 minutes ago 0 replies      
c1sc0, I started writing a comment here at around 9:00 this morning. After the fourth paragraph, I decided it should likely be a blog post.

So (pardon the redirect) you'll find almost everything I can contribute to this topic here: http://www.ideasonideas.com/2010/11/how-to-%E2%80%9Crock%E2%...

I hope this is helpful, and now I really need to get back to work! (Funny how a single comment can derail one's morning.)

2 points by PStamatiou 4 hours ago 1 reply      
My first speaking gig scared the crap out of me. I was still in college and one of my professors had recommended me to someone on the managing committee for a large, private technology conference called TTI/Vanguard. They approached me with an idea but ultimately it was up to me to find out what to talk about. They gave me a 45 minute block of time (!!) but it was setup for about 20-30 minutes of talking then Q&A. The thing that really freaked me out was that every seat in the room (hundreds) was wired with a microphone. Anyone could buzz in, and was encouraged, at anytime to ask a question. The room was filled with people I had only read about - Nicholas Negroponte, Len Kleinrock, Aaron Swartz and others.

I wanted to decline it but it included a trip to Rome with first-class everything. I reluctantly accepted and flew out, writing some notes and thinking up my talk and making some slides on the flight. I did it wrong. I had all of my sentences more or less memorized (instead of just a few talking points) but then I got there and had the most unfluid talk you've ever heard. Lots of ums, fast talking.. the works. Fortunately people in the audience chimed in and asked questions. I say fortunately because this was actually a good thing! They asked for clarification about certain things, or even off-topic things, which broke me from my robotic train of thought where I was trying to replay a speech I had in my head and made it more into a conversation and into a more fluid talk. A series of questions from the audience diverted my talk from cloud computing stuff to an explanation on my usage of Twitter and what it was (this was a few years ago), but I was happy that my talk was progressing.

In the end the trip was amazing (dinner with Negroponte! http://www.flickr.com/photos/pauls/2663284169/in/set-7215760...) and I ended up randomly meeting Johnny Galecki (Leonard Hofstadter from Big Bang Theory). http://www.flickr.com/photos/pauls/2663383147/in/set-7215760...

I still dislike speaking in front of large audiences but people keep asking me for some reason. I did Ignite Atlanta (and spoke too fast as usual) http://www.youtube.com/watch?v=jYDfjaWc3Mc a while back. At least now I have no sweat talking in front of smaller groups and that happens more often.

Funny thing is I also ended up making an Ask HN plea for speaking advice about it back then hehe.

3 points by CWuestefeld 4 hours ago 2 replies      
A few things from my own experience:

1. Don't "give a speech". Instead, talk to a bunch of people that are interested in what you have to say. The distinction really matters, at least to me.

2. As others have noted. Don't drag your audience into PowerPoint Hell. At least look through the basics of "Presentation Zen". You need to be the focal point, not the screen.

3. Too late for you, but for anybody else with concerns about public speaking: you're going to need to do it sooner or later. Prepare now by joining your local Toastmaster chapter, and get the training and experience you need ahead of time.

3 points by silentbicycle 4 hours ago 1 reply      
This post has excellent advice: http://rustyklophaus.com/articles/20100627-HowToPracticeATec...

I wish I'd read it before completely bungling a presentation about Lua at a BarCamp. Make sure you've got hooking up your visual aids figured out first! I didn't, and it made me start off incredibly nervous.

3 points by sachitgupta 4 hours ago 0 replies      
Practice. Practice. Practice. Make sure you're telling engaging stories. This might sound dorky - but at least one week before the talk, record yourself if you have a camera. You'll notice what you're doing wrong, and be able to practice again to fix it.

Also - try and give the presentation to someone who knows nothing about the topic (maybe even post one of the recordings to HN?) and make sure they completely understand what you're talking about. Sometimes we get so close to the topic, we don't realize we're using terms people don't know.

If you're looking for design inspiration for slides with less text, check out: http://noteandpoint.com/ They have an awesome collection!

Most importantly, remember most people who are amazing at presenting practice the shit out of what they're saying. Even Malcolm Gladwell scripts every word of his presentations [1].

[1] http://blogs.ft.com/rachmanblog/2010/02/the-secrets-of-malco...

EDIT: Also, I've bookmarked a bunch of links related to presentations: http://www.delicious.com/sachitgupta/presentation

EDIT2: Another tip - find a presentation you really like. Write down the text and record yourself trying to do that. After this - instead of just saying you want to present like Steve Jobs, you can see exactly what to improve on to present like him.

2 points by carbocation 5 hours ago 1 reply      
Beta adrenergic receptor antagonists (beta blockers) are routinely used by people who have a physical reaction (shortness of breath, tachycardia) to public speaking. If the other techniques that people here are recommending are not enough to get you exactly where you want to be regarding comfort, it is reasonable to talk to your internist. It's worth noting that having a crutch like this can make a bigger mental impact than physical (you feel more confident because you believe the beta blockers will help keep you from messing up). Also, like a crutch, most people grow not to need beta blockers after some experience.

I'm not saying that you should immediately turn to medication, but since public speaking is more feared than death, I think it's only fair to mention something like beta blockers, confidence in which can help reduce the fear.

1 point by mseebach 5 hours ago 0 replies      
I've found that when preparing for a presentation, writing out my entire speech (in spoken language), and rehearsing from that, THEN boiling it down to keywords on index cards, helps tremendously in organizing your thoughts, determining the level of details needed etc. But this has probably more to do with speech technique than keeping your nerves under control.

Once you're on stage, locate a few spots in the back of the room - not cameras, not persons, and keep your eyes at them. Don't look at people, it's confusing at best.

1 point by thetrumanshow 3 hours ago 0 replies      
One that works well for me: give the talk (ahead of time) in front of a bunch of people you respect. When you totally screw that one up and look like an idiot, you'll be so afraid of a repeat performance on game day that you'll be able to find and fix most of your problems.
2 points by RiderOfGiraffes 7 hours ago 0 replies      
+ What's it about?

+ Do you know your material?

+ How long is it for?

+ Are you explaining, lecturing?

+ What is the style?

If you know more about it than the audience, then say up front that you expect everyone in the audience to know more than you about various bits, and that you're simply there to share something on which you have some expertise. Starting with that tends to put an audience on your side, and emphasises that you acknowledge their expertise.

Depending on your answers to the questions, though, this might not be appropriate, but without more to go on I can offer no other advice.

Just for reference, I regularly speak to audiences of up to 500, and have several times spoken to audiences of up to 2000 and done live television.

1 point by zenocon 4 hours ago 0 replies      
Whenever I have to do this, I find it helps tremendously if I can socialize with my audience prior to the talk, as opposed to just getting a cold intro, and stepping up to the podium. 2000 people is a lot to socialize, but perhaps if you can get some time to chat with people in the front rows beforehand, it may calm your nerves.

The other suggestion is somewhat controversial, but a friend of mine mentioned the same problem and talked to his doc about it. He gave him a very low prescription anti-anxiety scrip. He takes it now before his talks and says it works magic. Unfortunately I don't recall the name of the drug, but it might be worth investigating.

..and..practice..a lot.

1 point by andreasklinger 2 hours ago 0 replies      
The one trick that always helps me:

When i get nervous i smile (even laugh internally) about the fact how nervous i am. It's not worth it. People come to have fun. Nobody hates you.

The other tricks are:

* Reduce slides to a minimum so you are in time for sure. Kill the boring stuff.

* Build up a story through the presentation. People want to hear storys not presentations. Explain Problems, Users, Solutions.

* Try to find calm points in the audience. People you maybe already know or you have spoken before. They will be your mirror to tell you that you are doing everything right. Look for people you are doing this talk for - eg Investors. They will be the ones mirroring to you when you go wrong. To repeat: Look at people and interact with them.

Last of all:
You are going there because you are proud of what you do. So don't be scared, be proud. And good Luck!

1 point by littleidea 3 hours ago 0 replies      
step 1) Watch this motivational video http://www.youtube.com/watch?v=6wS5xOZ7Rq8

step 2) It's an Ignite talk. So ignore most of the advice from the video. Assuming you are presenting something you are passionate about, just let that come through.

I've organized Ignite Salt Lake and Ignite at the Velocity Conf. I've watched 100s of Ignite talks. If you search, you'll find lots of good advice on how to prepare the slides and yourself.

My advice map out a coarse flow for the slides, practice a few times with the timer, adjust the slides, maybe do that once more, then make the slides as artistic as you can/will and run through it a few more times, preferably in front of some people and make the final tweaks.

15 seconds can be both longer and shorter than you expect. Practicing with the timer will make all the difference.

On the night of, just go for flow and avoid dead air (though a pregnant pause can be used to great effect).

The number of people in the audience is irrelevant.

Worst case it will be over in 5 minutes.

1 point by andrewcooke 5 hours ago 1 reply      
Actually, it's not that different (to talking to 20 people). You'll probably be interrupted less often and it may be harder to make eye contact with people, but if you've already given talks then you're way more than half way there.

So instead of being worried, think of it as a chance to give a really excellent talk where you're going to be able to say what you want with less interruptions. Go for it (and good luck :o)

1 point by ybooger 58 minutes ago 0 replies      
Beta blockers work for me. I took public speaking in college and passed with an A+, but, had to make an emergency visit to the shrink. If your a complete social phobic, as in my case, it may get worse where you avoid the meeting at the last minute from panic attacks. I went to a meeting the other day thinking I was going to talk with 1-2 people and ended up giving a lecture to 20+ people. Thank God I loaded up on Propanelol and a couple of Klonipin about 25 minutes before hand -- spoke 2 hours without a hitch.
1 point by allenp 6 hours ago 0 replies      
1 point by latentflip 4 hours ago 0 replies      
I've been pitching quite a bit recently to various sizes of audience (although nothing as big as 2000 people) but meykey take away (perhaps unsurprisingly) has been practice, a lot.

More specifically:

- Practice in front of a mirror, this really helped me focus on my body language (reduce arm waving, and feet shuffling and the like). It also made me realise I don't look like a complete idiot or anything when I speak, and I actually look perfectly normal, which was a big boost of confidence.

- When you get bored of practicing the full talk, do more rapid run-throughs, focussing solely on the key-points. For an ignite talk that might be just one word or phrase per slide. It's quite energising to blast through your talk like that, particularly just beforehand, and it really helped me remember the main points for each slide.

Good luck!

1 point by hardik 5 hours ago 0 replies      
My trick is to spot someone in the audience, preferably in the middle who is really interested and maintain eye contact with that person, it increases the level of comfort 10X and makes you feel less conscious about others in the room. Keep changing the "chosen one" every few minutes or so.
1 point by x0ner 5 hours ago 0 replies      
I was in your same situation a year ago and what helped me was literally ignoring the fact that so many people were there. Speaking in front of a dozen people is no different than 2000. The streaming aspect shouldn't bother you either because you see no difference. If I were you I would stop focusing on the crowd and more on the presentation. You are speaking in front of 2000 people for a reason, give them a good show!
1 point by ybooger 55 minutes ago 0 replies      
Btw, just about every professional performer, especially popular musicians, pop beta blockers.
1 point by leif 4 hours ago 0 replies      
You might be surprised how much good ten deep, slow, focused breaths can do your nerves.
2 points by flgb 6 hours ago 2 replies      
Proper Prior Planning Prevents Piss Poor Performance! Also, be yourself and remember not to talk too fast.
1 point by jawngee 3 hours ago 0 replies      
1 point by rbyrne 5 hours ago 0 replies      
One of my professors swears that "curling his toes" before he speaks calms his nerves. He's a little out there, but you never know.
Ask HN: Can someone post a summary of Licensing Terms (GPL, MIT, etc)
5 points by DevX101 2 hours ago   2 comments top
4 points by DanielStraight 1 hour ago 1 reply      
GPL: You can do whatever you want with the code as long as your code is GPL too. You can't use it closed-source projects. You can't restrict the next person in any way.

LGPL: GPL except some restricted forms of closed-source use are OK. I believe the idea is that you can use an LGPL library in a closed-source project. Really, both the GPL and LGPL are way too confusing.

MIT: Do basically whatever you want. Just don't claim you wrote it, and don't try to sue anybody.

BSD: Essentially equivalent to MIT.

Microsoft Public License: Essentially equivalent to MIT.

Apache License: Essentially MIT, but you have to make sure people know that you modified the code (if in fact you did).

Academic Free License: Basically MIT but with more legal jargon and more protection (from patent suits, for example).

Really, other than GPL and LGPL, most open source licenses are easy to read and quite clear in what they allow. I would urge you to read them.

23andMe (personal DNA testing) $99 Sale (normal price is $500)
6 points by smanek 4 hours ago   8 comments top 3
2 points by runjake 2 hours ago 1 reply      
I did this last time. I'm not sure if it was worth $99 or not. Don't get me wrong, it's very interesting and periodically, I get updates about new (dubious?) information about my genes.

If you have $99 to blow, go for it. If $99 is a lot to you, don't bother right now. It isn't worth $500 at all, except if you're doing self-research on a genetic disorder you may have.

They have great customer service and their website tools to view your data are well-designed, for the most part.

There's a been a lot of scientific controversy around these tests, and 23andme's in particular.

1 point by smanek 4 hours ago 0 replies      
1 point by f1gm3nt 4 hours ago 1 reply      
What timezone is this in? I'm in Eastern/New York and it doesn't work =(
Ask HN Successful Startups: How did you find your first customer?
46 points by hariis 1 day ago   10 comments top 9
3 points by fretlessjazz 1 day ago 0 replies      
My first customer came from my own personal network as well.

The first customer that did _not_ come from my personal network was a result of posting to app directories such as feedmyapp.com and the like.

The best advice I can give on signing and keeping your first customer is to _make them happy_. Be nice. Crack jokes. When they call or email you, respond immediately. Your first customers are really important because they're vetting your business model in addition to trying your product.

Accept/understand that, as you observe your first customers interacting with your product, you're going to have to make changes. Make them quickly and reasonably.

Every company is unique, but that's how I found and retained my first customers.

4 points by jwu711 1 day ago 1 reply      
I would actually be interested in not how did you get your first customer, but how did you get the ones after that.

We launched just like the usual via TechCrunch and Wired, so we made our first dollar and got our first customer quite quickly.

Now we are dealing with the struggle everyone else has which is how do you get your next customer after the PR blast.

2 points by jswinghammer 22 hours ago 0 replies      
Not sure how successful we are but my startup was talking to customers for 6 months while we were building our MVP. Wasn't hard to find people wanting to buy.
3 points by marquis 1 day ago 0 replies      
We contacted leaders in our industry that we knew personally from networking, and asked them to beta it. We had a new product that hadn't been seen before in our industry, directed specifically and precisely for their needs, and we proved that they would save money immediately. So, we piqued their interest and got them to invest their time in the beta.

Other people we contacted were active people in the active industry forums. This helped get the word out by way of trust.

2 points by rlpb 1 day ago 0 replies      
Through my network. I already knew my first customer (and more!). If you don't, then how do you know that your startup really has a valid business model?
2 points by peeplaja 23 hours ago 0 replies      
We got our first customers from my existing blog / email list - before launching the startup I had been blogging for 2+ years.

Second wave came after the first mentions on relevant blogs/new media outlets (http://blog.traindom.com/places-where-to-submit-your-startup...)

Third wave I'd say came from participating in discussions in relevant forums.

2 points by waterside81 22 hours ago 0 replies      
We got our first customer through our personal network. Our 2nd customer came through HN incidentally. I replied to a post about NLP and a company contacted me through our website.
2 points by cme 23 hours ago 0 replies      
Pure hustle..lots of cold calls and meetings. We also took advantage of our personal network since we had worked with in our niche for years. Once we made them into cheerleaders for our product we convinced them to invite people from their network.
1 point by evbart 21 hours ago 0 replies      
Any of you get paying customers before you had a product? How did that work?

Also, how do you handle all the feedback from early customers on product changes? Obviously some are great requests, but many customers make requests are outside of the scope, and could tempt you to change course (if you're on the right course :-)

Ask HN: How can I monetize on trolling without becoming a politician?
4 points by trollcash 5 hours ago   5 comments top 5
1 point by Travis 1 hour ago 0 replies      
If this is something you really want to do, I'd recommend getting as niche as possible. Find a group of people with strongly held beliefs that exhibit a lot of cognitive dissonance, and exploit them.

A great example is the atheist who offers to take care of pets for people for after the rapture. He does a great job of exploiting people's strongly held beliefs, but aligns their interests with his ("look you'll be happy in heaven, but what about your poor pets? since i'm not going to heaven, I'll look after them!"). Check it out -- http://eternal-earthbound-pets.com/

1 point by runjake 2 hours ago 0 replies      
Become a pundit and solicit advertisers willing to market to an audience of your particular ideology.

You'll be slowly destroying humanity, but the web is a prime frontier for a Glenn Beck wannabe with online/social/seo savvy.

4 points by mooism2 4 hours ago 0 replies      
Talk radio. Or newspaper columnist.
1 point by Random_Person 1 hour ago 0 replies      
Start a blog full of misinformation about the tech industry. You'll get so much click through from people trying to burn you that profit is inevitable.
1 point by lhorie 4 hours ago 0 replies      
Comedy sites come to mind
Ask HN: Fixed vs Dynamic pricing.
7 points by bobo82 10 hours ago   4 comments top 2
1 point by LeBlanc 2 hours ago 0 replies      
You should do some reading into the economic theory of bundling.

While custom pricing gives the user the most freedom, it may be confusing, and you may make more money by bundling your services. The classic example of this is movie studios which, when selling movies to theaters, will bundle a hot blockbuster movie with a less popular movie. By bundling these two movies together, the studio ends up with a higher profit than if they sold both movies individually at a higher total price.

That is the important part: by selling goods as a bundle at a lower price than the sum of the prices of the goods sold separately, you can actually increase your total revenue.

Here is a good article to help you:

You should be able to use analytics to get a sense of the utilities that users place on each item within your larger product. From there you can construct the pricing of your bundles to maximize your profit.

Good luck!

4 points by jeffmould 10 hours ago 1 reply      
I would say the tiered pricing is the best. The other method may lead to confusion and lost conversions. Customers want simple, and tiered is simple. They know exactly what they are getting and how much they are paying right up there.
Ask HN: which obscure Github projects have you found useful?
55 points by mcgyver 22 hours ago   19 comments top 16
13 points by mojombo 22 hours ago 1 reply      
Just in case you missed it, we have an "Explore GitHub" page that should get you started with some repos that you may not have heard of before:


6 points by evanrmurphy 21 hours ago 1 reply      
Not sure how obscure these would be here (I first learned about them on Hacker News), but I've found Backbone.js and Underscore.js to be extraordinary projects.




3 points by alanh 19 hours ago 0 replies      
qlmarkdown. It enables OS X to show (pretty/formatted) Markdown documents in Quick Look.

I also forked something called Add-Another for replicating parts of web forms (when you need to collect 0-n things from a user, e.g. emergency contacts, images, etc.)

2 points by kilian 21 hours ago 0 replies      
I'm a big fan of zen coding, it's a way of writing HTML and CSS by shortcuts and expanding them, cross-IDE: https://github.com/sergeche/zen-coding it has sped up my html writing considerably.

If you're using Django with a MySQL heavy application, consider django-stored-procedures (written by a colleague of mine) https://github.com/jeroeng/stored-procedures

8 points by hecticjeff 21 hours ago 0 replies      
http://thechangelog.com/ is a great blog to follow for interesting GitHub projects, it also powers parts of the "Explore GitHub" page that @mojombo mentioned.
4 points by jwpage 21 hours ago 0 replies      
The latest one I discovered is Slidedown: a simple tool to generate HTML slides (with syntax highlighting) from a markdown document.

Came in handy when I had to whip up a presentation for a recent meetup.

3 points by mikey_p 22 hours ago 1 reply      
I've really enjoyed skimming through other users 'dotfiles' or similarly named repos. It's a great way to find some small tips or shortcuts to make my day to day work more efficient, etc, without reading a long blog post about why some technique is the 'only sane, correct, right, proper way' and you'd have to be crazy to try anything else. I.e. great tips without the commentary.
2 points by woodall 21 hours ago 0 replies      
An open source Flash™ runtime written in pure JavaScript

EXAMPLE: http://paulirish.com/work/gordon/demos/
GIT: https://github.com/tobeytailor/gordon

1 point by bmelton 20 hours ago 0 replies      

https://github.com/entmike/What -- I've been playing with this, written by a buddy of mine. It's a Node.js-based application server, complete with an HttpServlet implementation.

1 point by icco 19 hours ago 0 replies      
I found isaac to be pretty cool. I had to fork it and add features because it's not maintained too well, but a neat idea.


1 point by Jach 18 hours ago 0 replies      
Lots of goodies here: https://github.com/MarcWeber
1 point by amanuel 20 hours ago 0 replies      
AppSales-Mobile to an amazing and well supported find to track your iOS app sales. https://github.com/omz/AppSales-Mobile

On the Mac Brotherbard's Gitx fork is very cool. https://github.com/brotherbard/gitx

GitFlow - takes your Git skills to the next level.

2 points by stevewilhelm 18 hours ago 0 replies      
Wukong, a Ruby-based Hadoop streaming framework. http://mrflip.github.com/wukong
1 point by thomaz 9 hours ago 0 replies      
Vim-inspired file manager for the console


1 point by endgame 19 hours ago 0 replies      
libtelnet: A nifty little library that makes it easy to speak proper telnet.


1 point by z0rk 11 hours ago 0 replies      
a qt-cmake example, with features like cross compiling, packaging, translations etc.
CS graduate, no knowledge, 50K in debt. Any advice is appreciated.
16 points by betterfuture123 14 hours ago   14 comments top 10
4 points by zck 13 hours ago 1 reply      
Pick something small and write it. A firefox extension? An iphone app? A website that randomly picks toppings for nachos? Some task with an Arduino, since you are interested in hardware?

Just work on it until you're satisfied with it, or come up with a better idea to hack on.

1 point by msutherl 2 hours ago 0 replies      
The most important thing is to put yourself in a context that stimulates your growth. Some examples:
[1] start hanging out at a hacker space, [2] find a friendly university research lab (this is what I do), [3] find a company that is willing to train you, [4] dive into Ruby/Python/Lisp/... and start hanging out with the club in your area.

Just being in the presence of other people who are working in your field will inspire you, show you how to act and what to do, and lead to opportunities that you can't imagine in advance.

You need to learn how to learn how to be a programmer (or whatever else you want to be).

2 points by hasenj 10 hours ago 0 replies      
What's your MBTI (Myers-Briggs) type? It can be of help in finding the kind of work that's suitable for you.

Something else, don't rely on a job for experience. Most programming jobs (specially if they're boring) sap away your experience instead of enriching it; they make you a worse programmer than what you already are or what you could've been.

1 point by prog 11 hours ago 0 replies      
Most open source projects are always short on contributors. Pick a project thats of interest to you and start contributing documentation, patches, tests etc. Be open to review feedback for existing project devs. You will lean a lot and have fun in the process.

What to read would be related to what project interests you. If the project needs C, read up on that. If it needs Python/Perl/Ruby read up on that. Something like 'The Art of Unix Programming' (http://www.faqs.org/docs/artu/) is always useful.

Good luck :-)

3 points by geekytenny 12 hours ago 0 replies      
"I can assure you I have more capabilities than I currently present to anyone, including my employer"

"please advise me on how I can begin to impress my employer and prove to them that I am a capable employee".....

You have the answer right within your text.... present more to your employer (more of the stuff you have that he/she cant see now..) Go the extra mile in all tasks.

1 point by ig1 7 hours ago 1 reply      
Have you tried applying to tech consultancies ? - they often hire non-CS graduates and teach them programming from the ground up.
1 point by CyberFonic 13 hours ago 1 reply      
I hope it was sex, drugs and rock-n-roll that had you so detached from your classes. I'm finding it difficult to reconcile your claim of being rather sharp and then having such a foggy notion of what your classes were about.

Couple of questions:
How do you learn best? Reading, tinkering and learning, being shown how to?
What are you passionate about? - I mean outside of programming, perhaps connected to the opening comment.
Have you become self-motivated? or still need a mentor to guide you?

I think if answer the above questions you might discover a path forwards. If you share the answers with us on HN, then people might be able to chip in with suggestions.

1 point by watmough 14 hours ago 1 reply      
Tell us about a couple of projects you did that meant something to you.
2 points by gsivil 14 hours ago 0 replies      
I wish you the best.
Since you already have a degree in CS and you like computing you could be a little bit more specific on the topics and courses that you relatively enjoyed.
This could possibly help the HNers to give you solid and useful advice.
1 point by marceldegraaf 8 hours ago 0 replies      
I would say: before forcing yourself into a profession or into activities that you think are good for you, try to find out what you actually like doing.

Nothing is as devastating as having a job that you're not enthusiastic about and, vice versa, it seems that people are usually more motivated to achieve success when they're doing something they like.

You've graduated in CS, but perhaps you should look beyond the computer related stuff?

Ask HN: Strategy for dealing with timewaste biz-dev meeting invites?
5 points by brandnewlow 9 hours ago   1 comment top
1 point by hcho 6 hours ago 0 replies      
Ask them a bullet point list of what action points would they hope to set as a result of this meeting. Both for themselve and you. This will provide you with 2 defense lines:

1)They have to make an extra investment in this meeting. This will weed off the types who have a memorized pitch and dump on whomever they can find.

2)They will have to make their intention clear before the meetind. No bait and switch.

This actually works for all types of meetings. I've seen a radical decrease in invitations and time spent at meetings,

Ask HN: Any web startups using Java?
109 points by Veera 1 day ago   156 comments top 58
50 points by patio11 1 day ago 4 replies      
I sold a Java-based program for about four years and have a previous background in Big Freaking Enterprise Java Web Development.

You can certainly write web applications in Java. They're harder to deploy than PHP but easier to deploy than Rails, in my experience, depending heavily on how experienced you are at administering systems and how much Java enterprise coffee you want to drink.

Java is a mature language. Libraries exist for almost any task you reasonably want to accomplish. There are skilled Java-speaking programmers in your area. Whatever you doing has almost certainly been done in Java already, and it has probably already been documented extensively. Java is an opinionated language: it is of the opinion that your workflow should resemble IBM's more than it does 37Signals', and if that is true, you and Java will get along nicely together.

There, mandatory praise out of the way. Java is horrifically maladapted to certain classes of problems and certain classes of users. One class of problem is expressively operating on strings to produce other strings. One class of users is anybody with a team size less than ten. Many web startups have a small team which is primarily interested in turning strings into other strings: if this is you, Java is going to fight you every step of the way.

99% of web application development for a certain type of business is turning strings into other strings. Many web development languages/frameworks popular with startups give you very expressive options for churning out certain types of strings quickly and with little cognitive load. For example, in Rails, there is very vanishingly little work in taking a bunch of strings from the blog_posts table and turning them into strings which encode a blog post into HTML. And if you want to add special strings that cause comments to be loaded in an AJAXy fashion, that is quick, too. Want to make sure that the strings the user is commenting with include certain strings which look like email addresses? Add one line to your program, and bam, if someone puts in a bad string they get a red string telling them how to make it a good string. It is all string rainbows and string unicorns. If you fat-finger your one line, it is very possible that large portions of your site will instantly break, but that is OK because if you program like everyone else using Rails programs, your magic guardian angel strings will get your attention before you deploy, and after you fix your typo everything is rainbows and unicorns again.

There are many Java frameworks. They can all operate on strings and produce other strings. However, the experience of actually doing this is maddening: pulling off the above you-give-me-bad-strings-I-give-you-red-strings can be a matter of touching six files or more, often written in painstaking configuration formats. The frameworks assume you are guilty of incompetence and force you to repeatedly prove you are otherwise, the better to prevent idiots like you from taking the site down.

This is a problem for startups because web startups are not about turning strings into other strings: that is just what they do. Web startups are about finding a problem people will pay money to solve. That is where they ideally spend most of their efforts. Sometimes, those explorations require code to be written, and when code gets written it should be quick to write, quick to test, quick to deploy, and quick to rip out when you discover your users don't respond the way you thought they would.

Java as it is practiced in the real world looks at that list of requirements and sees Very Scary Things.

22 points by cletus 1 day ago 1 reply      
I'll give you my take on this as a Java programmer of 10+ years experience.

The problem you will have with Java in a startup is that Java's frameworks are by and large built for "enterprises". I put that in quotes because in one sense it doesn't really mean anything. In another, it's more of an idea of what governments and large companies want.

Even when using Spring (which, in my opinion, is a "must have" for pretty much any Java Web project), the amount of boilerplate required to set up an endpoint, map form data to objects, map those "presentation objects" into "business objects", map those "business objects" into a DAO (data access object), etc is pure torture.

Now this isn't completely the fault of the language. The language certainly doesn't help matters by being statically typed. This just doesn't gel well with how "fast" Web development works. Compare that to PHP (as just one example), where form data is just a map (hash or simply "array" in PHP parlance). Add a new field? Not a problem.

Add a new field in Java and you'll be making class modifications in about eight different places.

The bigger part of the problem is not the static typing though, it's the philosophies that dominate the Java landscape. There is a joke about the Java programmer's response to any problem is "just add one more layer and it'll be OK". It's funny because it's true.

It's fair to say that Fowleresque division of responsibility based layering is pervasive.

Of course the dynamic languages can have other problems (eg no error when misspelling a form field) and Java's static typing has, in my opinion, made Java's IDEs the best of any language or platform bar none (IntelliJ in particular). IDEs seem less able with dynamic languages because it's much harder (if not downright impossible) for an IDE to, for example, derive the members (let alone the types of those members, if that concept has meaning) on the fly.

Weirdly some in the PHP world have tried to mimic Java's deep layering with these horrific (imho) MVC frameworks that (again imho) simply combine the worst of both worlds. Dynamic class loading, bootstrappers, magic (and sometimes unpredictable) file loading, enforced directory structures and so on are just the wrong approach most of the time.

Java does have some benefits though. There are basically three tiers of languages in terms of performance (from best to worst):

1. C/C++/Assembler: the true compiled languages;

2. Java, C# (and the other .Net languages): the bytecode or virtual machine "semi-compiled" languages; and

3. Python, Perl, Ruby, PHP, etc: the scripted languages.

I qualify this by saying: most of the time (particularly for Web apps and especially if you don't have Google-level scale problems) performance doesn't matter. What matters is productivity and productivity is similarly tiered from worst to best in that above list. Hardware is now so cheap that it's far more effective to throw hardware at most problems than it is to write things in C. This is almost universally true when it comes to the Web where network latency and the speed at which the browser can process your page (and Javascript) will dwarf serverside performance most of the time.

I did a bunch of the Facebook puzzles awhile ago. The breathazlyer one was quite interesting. I started doing that in Python but it is somewhat difficult to get a solution to pass in that. Java is an order of magnitude faster. C is one or more orders of magnitude faster yet again.

So back to your original question (now that my answer has some context): I would say that using Java may make sense if everyone knows it and is comfortable with it. If not you will find many speed barriers along the way of learning a new language that may just slow you down or (worse) may create huge problems (eg security issues you weren't aware of because something didn't work the way you simply assumed that it did).

None of these problems are insurmountable but the way I figure it is this: when writing something new, chances are that within a year you'll be best off throwing it out and starting again anyway as the problem changes, you identify your bottlenecks (often not what you thought they'd be to begin with) and your scale changes.

So don't try and find the perfect language or platform or framework. Write something now and don't try and solve every problem you may ever have today.

12 points by earl 1 day ago 0 replies      
Quantcast is -- a huge amount of hadoop and performance sensitive code, and the majority of our external website.

1 - we self host

2 - the relevant performance issue when using java to develop web apps is it's slower to build. I'd be pretty surprised if there were many cases where java / tomcat is slower to execute than rails or django. Now obviously all three are smoked by cached pages, but since a lot of our data needs to be updated daily, that isn't the easiest design for us.

6 points by efsavage 1 day ago 0 replies      
1) No, you can have a Java webapp up and running in < 1 hour for < $10/month on an EC2 micro instance.
2) Compared to the other popular languages right now, Java will solve far more performance problems than it adds. And yes, performance matters, and hardware doesn't solve everything.
3) We use Java at StyleFeeder, and reached profitability before being acquired. I credit our ability to pivot/refactor/scale quickly and cheaply enough to get to that point to many things, not the least of which is our decision to use Java.
15 points by gst 1 day ago 2 replies      
IMO there is neither lack of hosting support (just use EC2 or a vserver) nor any serious performance issues.

I'm a long term Python developer (since the 1.5.2 days). I've used a lot of different languages so far (from C to Haskell), and I've always avoided Java in the past (at the beginning because it was slow, later because everyone was telling me how bloated it is).

But using Java EE (!) instead of Python for a project a few months ago was really an enlightenment. Yes, it is somewhat bloated (although much less in the recent versions where you can use annotations instead of all those XML files). But on the other hand: It just works - exactly as documented.

With all other frameworks (based on Python, Ruby, etc.) that I've used so far I had to hack around in the framework or in the libraries to make it work the way I want. This starts with simple issues such as Unicode support, where the authors of a library obviously just didn't care if it works, and continues with distributed transactions, where you have to hack up the whole logic inside your application because the framework doesn't support them. Compared to this, with Java (EE) this just works rock stable and has most of the features you'll ever need.

From a performance perspective Java isn't that bad as either. For a project I've compared the performance of two simple (comparable) Web apps that I've wrote: One with Python on Django, the other one with Java on Glassfish). Once you increase the concurrency, the requests to the Django app just return error codes or take a long time to complete. In comparison, the Glassfish app just chucks happily along.

This does not mean that Java is appropriate for all use cases. But just don't believe the majority and try out yourself, if it works for you.

9 points by zmmmmm 1 day ago 1 reply      
I'm involved in multiple startups using Java - both the language and more broadly the JVM (Groovy, Scala).

Despite all the bad news you might hear, as long as you stay clear of the bloated enterprise stuff it's a great platform and environment for a startup.

Hosting used to be an impediment but these days VPS make it dead easy to run Java stuff.

5 points by arethuza 1 day ago 1 reply      
How times change - when we started in '95 the fact that we were doing a server side application in Java was seen as a very cool thing.

However, at some point about '99 or so Java seemed to endure a culture change where Java became popular as an "enterprise" platform and the values associated with that culture started to dominate a lot of discussions about how to do things. Suddenly everyone wanted to use every feature of J2EE in every project (largely for CV padding as far as I could see) - with predictably awful results.

However, Java has always been a pretty decent platform - we wrote search engines in it and things like Lucene continue to work pretty well. There are a lot of fascinating libraries for Java and performance can be excellent - it could be pretty fast in 2001/2002 and I assume it hasn't got slower....

If you can use Java and focus on "Keep Things Simple Stupid" then I can't think of many reasons not to use it - it might not be fashionable any more (those days are long gone) but it sure is capable.

8 points by elbenshira 1 day ago 1 reply      
9 points by _grrr 1 day ago 2 replies      
We are a London Startup, mainly building products off the back of web crawling & data mining, using Java for all our development, whether web or server-side. As our web framework we use Tapestry5, which is a great framework, with fast development times & minimal coding (Howard Lewis Ship has really put a lot of thought into the development of the T5 framework). Server side our crawl infrastructure, and other application processes are all Java. We use hundreds of Java open source libraries, including HBase, Lucene & OpenJPA. Addressing your issues
1) Lack of hosting support - we hire VPS, cloud or dedicated server infra on which we can deploy whatever we want - I don't see how this could be an issue. Even a cheap $10/month VPS gives you root these days 2) Performance issues? I won't get into a performance discussion but unless you've got google levels of traffic it's not worth worrying too much whatever platform/language you choose, a bigger challenge early on is attracting customers ;-) I used to work in banking & Java was performant enough for our high frequency trading infrastructure, where performance really does matter. 3) We have been going 2.5 years now, a lot of what we do is server-side processing and data munching and the open source Java libraries we leveraged along the way really helped us get going, things like HBase, Lucence, Bdb, Natural Language Processing (OpenNLP), Neural Nets (Encog), Stats packages, HTML processing (Jericho, JTidy). I know there are API's and ports of these in other languages, but the Java open source community is enormous, just because it's been around for so long, so it's always easy to find someone who'se done it before.

EDIT (Summary): We knew Java well early on and so used it to prove a market, leveraging open source libraries along the way. Do I think Java the language was a particular competitive advantage to us? No. But do I think any of PHP, Ruby or Python would have been either? No. (Lisp - probably yes! but we don't know it well enough to use professionally). To be honest, our main concern early on is to release early and prove the market, with whatever tools we can use.

5 points by nraynaud 1 day ago 1 reply      
I did my lonely venture in java.
I think the main problem of java for startups is that it's uncool. They're trying to rationalize, but they are wrong, you avoid wearing a tie to express that you're not a number, I don't know why you wouldn't avoid java as a statement that you're not an IBM consultant.

When I started my project, I tried ruby, but after 2 months of fighting, I just went back to java.
But somehow I'm gifted, I never did java at bigco, I did it at another (desktop) startup before and have a critical eye on the java current trends. I don't use Spring and all the famous bigco frameworks, I use a simple setup (PicoStuff, jetty, Webworks).

But in think most "objective arguments agains java in a startup" are plain wrong. The real problem of java is that all people know about it is eclipse and spring and the EJB2.

edit: BTW, today I do PHP, and we're integrating with drupal, and what I see in drupal is far worse than the EJB spec. It's tangled and static so you can't test anything in isolation, and there is no spec. The core code is really difficult to read because everything is passing maps of string around.

8 points by devinfoley 1 day ago 0 replies      
I'm working for a startup that uses a mix of PHP for serving web requests, and Java for backend processing. Our use of Java has definitely been successful.

If your observation is based on reading HN, likely it's a bit skewed. Paul Graham has bashed Java and Java programmers quite a bit in his writings: "The programmers you'll be able to hire to work on a Java project won't be as smart as the ones you could get to work on a project written in Python."

That said, I would have to agree that Java is not the language of choice for small startups. There is a lot of overhead involved in setting up a Java project compared to other languages/platforms, and the problems that Java is best at solving aren't usually the problems you run into in a small web app (unless you're dealing with a lot of data).

Java isn't as fun to use as newer languages, and doesn't have the vibrant community that Ruby and Python do (even if you include JVM based languages like Scala and Groovy). Java doesn't attract creative types. A web designer looking to pick up a first backend programming language is probably not going to choose Java, and thus they aren't going to create beautiful documentation repositories, fun open source projects, organize meetups, or create the next revolutionary social app.

However, there is a reason that so many large startups start to lean on Java once they reach scale. Java is fast, encourages good design, and is great for large development teams.

11 points by gmosx 1 day ago 3 replies      
I used Java until 2002, then used Ruby until 2009, then switched to Javascript (server side). 3 months ago I decided to switch back to Java and I really feel I lost a decade with experiments.

It turns out, I am really a static-typing ...type after all.

With utilities like Spring Roo, frameworks like Jersey (JAX-RS), IDEs like Eclipse and platforms like GAE, Java can be really productive.

4 points by thecombjelly 1 day ago 1 reply      
It is not performance or hosting concerns. Java performs good enough and you can host it on things like EC2.

The problem is that web startups tend to want to develop things quickly and be able to pivot quickly and easily. Java is not best at those things.

I know Java and worked with it for years. I do all of my startup coding in Lisp. Java forces you to do a lot of things that may make your code more reliable and easier for others to use, but it comes at the cost of being less productive, and in startups, being able to develop quickly is extremely important. That is why languages like Lisp or Ruby or Python are much more popular in the startup world.

6 points by owenrh 1 day ago 1 reply      
We're using Java (and Google Web Toolkit) on thingloop.com, and it's working out great for us.

In answer to your questions:

1) Yeah, good cheap Java hosting doesn't seem to exist. That said, I think the Rackspace Cloud and Amazon EC2 are great solutions and great value for money.

2) Java is a high performance language, if you get performance issues it'll be your design/archiecture.

3) thingloop.com, successful from a technical standpoint, business-wise, the jury is still out!

On the whole question of which language, I'd say:

a) avoid religious arguments - my language is better than yours! They all have advantages and disadvantages.

b) a lot of it is down to what's cool. Ten years ago Java was the coolest kid on the block, now it's RoR. Thinking longer term, you might want to consider what the most available skillset is in your area for recruitment purposes.

c) if you've got a bunch of guys who already know a platform inside out, then stick with that. They'll almost certainly be way faster.

5 points by mks 1 day ago 0 replies      
Java will be definitely an option when we consider developing a web application. However at the moment we are not exactly web startup (developing android application).

Since we come from enterprise environment Java is the second mother tongue to us and I have got accustomed to mighty autocomplete and refactoring features of eclipse. The main reason for diverting from Java would be purely of taking intelectual pleasure in learning new things and checking if python/ruby frameworks live to the expectations.

We did some contract work on french social startup using a very lightweight web framework called Stripes (http://www.stripesframework.org). It was much better experience that using component based UI frameworks like JSF.

Needless to say - for quick web hacking I still fall back to PHP.

4 points by hackoder 1 day ago 0 replies      
I work at a startup that uses Java. When it started, the CTO knew java so thats what they picked. Now, the company has grown to around 10 people with over a million users. They're monetizing pretty well and are well on their way to being very successful.

As (almost) always, performance issues are with the db. And, as always, you should think about the data structure that you're using.

3 points by pan69 1 day ago 1 reply      
Java has a strong background in enterprise solutions. So, e.g., if you need to build some sort of high performance distributed system then it's not an entirely wrong choice to go with Java. Java is good at that stuff.

A web application is often more than the choice web framework. When you choose Java as your fundamental technology you could build your business logic e.g. in Java/Scala and your web tier in Ruby on Rails which you can run on JRuby.

At least, that's probably the choice I'd make... :)

3 points by gojomo 1 day ago 0 replies      
It's not a strict either/or. Even those who are using more dynamic languages/frameworks for their web-facing services may use Java for deeper infrastructure: Lucene/SOLR for search, Hadoop/HDFS for large data-mining, HBase/Cassandra for big-NoSQL tables.
4 points by sushrutbidwai 1 day ago 0 replies      
I have been part of building a web startup using Java technologies. Our stack was -
1. Apache + Jetty
2. Java
3. GWT
4. Rules engine (drools)
5. Solr/Lucene for searching
6. Mysql (InnoDB)
7. Amazon web services (EC2, S3)

Experience was good.
I generally try staying away from frameworks like Struts, JSF for a consumer facing web app. They make sense in enterprise domain, but not so much in web.

I am right now building a product on my own using GWT (Java to JS cross compiler), Scala and Mongodb as my stack. Experience is again pretty good.

On the backend I chose Scala over Java mainly because I require lot of parallel processing to crunch data.

3 points by tomjohnson3 1 day ago 0 replies      
I've used java since 1995. I agree that some EE projects are overly-complicated (EJB, etc.) and make simple tasks seem difficult. ...However, there's usually a reason - and, the bottom line is that you probably don't need to use those projects anyway.

However, when u write a non-trivial app (more than a web front-end or REST API), java starts to shine: there are soooooo many open source projects available with friendly commercial licensing, good tools for debugging, etc.etc., that you save a lot of time by just incorporating things rather than writing things.

This is not to say other languages don't provide these features - rails has some nice momentum (growing list of projects), python too, and say what u will about msft, c#/asp.net is a good combo (VS.NET is a great dev environment, and there is a relatively small but growing open-source movement - and Mono is fantastic for cross-platform work).

...but i'd say that the massive amount of effort and open source projects in java have been a godsend for my work - especially recently - and saved me enormous amounts of time.

...also, I've found that recent groovy and grails versions have made web dev super simple...and u can call all your java code ease. (And groovy++ (statically typed groovy extension) makes groovy performance for a lot of thing as fast as java.)

But the bottom line is that u should choose what u r most comfortable with.

Java would be a fine choice. Especially java / groovy / grails...and ignore the java projects u don't need (EJB, etc.).

On another note, I think the one language that startups should avoid (again for more than a simple web app talking directly to a DB) is PHP. Just try to extend it...or talk to an external service. yes, you can wrap your services with REST APIs...or use something like thrift...and i know there are several successful companies that use it (facebook, etc.etc.) - and i've been part of companies that use it too...but i think PHP puts yourself in handcuffs that a startup shouldn't really need. ...and it creates a "silo" around web development - not a good way to get going.

my $0.02. ;-)

6 points by axod 1 day ago 1 reply      
The Mibbit backend is Java. It gives us massive advantages over any competition.

The JVM is extremely fast and optimized. We handle many thousands of requests a second on a few VPSes.

2 points by buro9 1 day ago 1 reply      
4) Hiring is a slog as most Java people you come across will only know the "Enterprise" way of doing something and seem oblivious to any of the web frameworks out there or any pragmatic and quick solution to something that they already know an "Enterprise" solution for.
1 point by doublez 19 hours ago 0 replies      
I was in a startup that built a MySQL/Spring/Wicket app, and I'm building a Mongo/Play one right now. So, point by point:

1) Java isn't amenable to pre-installed hosting like PHP is. You usually deal with machine images that you have to prepare yourself. Jetty 7 + Nginx is the going coin, it's quick and easy

2) Java is outright the best performing language of the ones currently used for web development with any degree of frequency (PHP, Python and Ruby being the other ones I'd mention). There's 10+ years of optimization and garbage collection research in those VM's, and language is statically typed, which increases verbosity yes, but also performance

3) If you extend the view beyond start-ups, Java isn't just getting used - the world runs on it. If it's a web app of any meaningful size, there's a 90%+ it's written or getting written in Java. The only other language that has this wide an acceptance level is PHP, which is a different animal entirely. Not to disrespect RoR or Django, but their overall share of the web development market is negligible

Keeping in mind the bias that comes from 12+ years of dealing in Java, here's a quick pro-con for what it's worth:

pro =>
- Java is fast. Very fast
- Tool support is unrivaled. It's hard to appreciate what an IDE can do to speed up your work until you've gotten your first couple dozen IntelliJ keystrokes in the muscle memory. RoR is not faster to write than Java (a frequent claim)
- Library support is unrivaled as well. Whatever it is, there's already a library for it, usually quite well-documented, and most questions that come up are googlable on the spot (something I sorely miss when I have to work Rails on occasion)
- with the entry of Play, speed and ease of web development is approaching dynamic languages: write, hit reload, be done
- knowledge and people to hire are available widely
- the JVM is also home to Scala and Clojure. Starting in Java and moving to Scala is a pattern these days

con =>
- it's wordy and, compared to, say, Ruby or Scala, downright ugly. Not a big deal as far as start-up success is concerned, mostly a hacker bragging right. Nothing wrong with bragging as long as it doesn't get in the way of getting stuff done
- generics and collection syntax is unwieldy. IDE support takes care of some of that, but not all
- there's arcane stuff one needs to get used to - a learning curve of sorts. Again, mitigated by the widely available documentation and Google support

hope this helps.

- z

2 points by kyleslattery 1 day ago 0 replies      
At Viddler (http://www.viddler.com), we're using Java for the core parts of the site, including an API, which we build on top of using a combination of Ruby and PHP.
5 points by trizk 1 day ago 1 reply      
Follow up question: Any startups using Scala?

Based on my observation, some heavy hitters are using Scala in production, but the learning curve is high and development time is slower that PHP, RoR or Python.

3 points by mkramlich 1 day ago 1 reply      
#1 reason: Java is a verbose language with a rather verbose design philosophy/ecosystem

which is not to say it's bad. it's actually really good, with lots of great qualities.

but compared to PHP, Ruby and Python, it's rather verbose. As a general rule you can pound out way more feature points per hour in a less verbose language than a more verbose one.

there are other factors, sure, but I think this is the biggest one.

3 points by berlininsummer 1 day ago 0 replies      
We decided to use Java and especially Wicket for our startup tasqade.com last year. I must say, I am still more than happy with this decision. Wicket is an awesome, growing framework, which made our lives so much easier. The clear seperation of code and html is just wonderful.

Secondly, we are Berlin based. Security and stability is such a big issue in German companies. You might agree or disagree if it is really true for Java software to be safer or more reliable, but just mentioning "Java" helps to sell to those companies.

2 points by st3fan 1 day ago 0 replies      
The startup that I used to work for was recently sold to a popular silicon valley based company for 30 million usd. Full Java. Running on own servers and EC2. Highly scaleable service based architecture.

It happens.

2 points by ww520 1 day ago 0 replies      
I've just developed a website using Java, for the HN November "Launch an App Month." It's a Javascript-heavy frontend plus Java backend app, with a whole separate background processing pipeline done in Java. I'll do a show and tell in couple days once it's ready.

Java is great for rapid development once the development process is set up correctly. I've actually ported the app to Google App Engine in the middle of development once I learned of its generous hosting plan. Java is one of the two languages supported by GAE. I did use Python for quick scripts in import/export and building up data sets from dev environment to production servers.

2 points by ses 1 day ago 0 replies      
Java EE is an excellent development platform for any kind of web application. Its just a shame that everyone seems to assume its very difficult to implement.

I'm by no means a hugely experienced developer but after spending a short time working for an organisation that use Java EE extensively I now have learnt how to use and deploy pretty much the whole EE spectrum - Servlets, JSPs, Web Services, EJBs, JMS etc. That provides a huge arsenal for scalable web application development.

I think the reasons Java tends not to be used in the web app world and PHP / RoR not in the corporate world is down to the backgrounds of the developers. Web developers who come from a freelance web site building background are more familiar with PHP - its a very consumable technology for people that haven't got a lot of time to invest in learning technologies. Career software developers often are trained in Java development on the job once they graduate (from a degree which will likely have had a large Java component).

I personally don't know much about PHP, but I see the most likely platform to be future proof as Ruby on Rails. But for now I'm sticking with Java, it still has a fairly substantial future.

2 points by tomjen3 1 day ago 0 replies      
Sure they are using Java, through languages like Scala and Clojure both of which runs on the JVM, neither of which forces you to actually write in Java.

These days there is basically no reason to do webdevelopment in Java - even if you have legacy stuff lying around, JRuby or Scala will serve you much better and neither is that hard to learn and both will get you over Javas sever limitations (really, no anonymous functions? No Closures?)

3 points by jsatok 1 day ago 0 replies      
I'm not on the development team, so don't know the rational behind it, but I know we're using GWT and Java at Rypple. I can connect you with one of our developers if you're interested. My email is in my profile.
4 points by esschul 1 day ago 0 replies      
Check out www.playframework.org they have a successstories site that shows successful startups for their bundle. I'm working on a site right now using it, it's really neat. Scales really good, and is totally lightweight.
2 points by olalonde 1 day ago 1 reply      
Generalization ahead

Java is mostly snubbed in web startup land and associated with boring corporate work.

More discussion here: http://news.ycombinator.com/item?id=1378815

10 points by jpark 1 day ago 3 replies      
linkedin, hulu, rapleaf, flixster, zillow
5 points by juiceandjuice 1 day ago 0 replies      
You can do some really awesome stuff with GWT+Java, although GWT is like that girlfriend that always wants to be exclusive.
5 points by spullara 1 day ago 0 replies      
Yes, web startups are using Java, like mine. What I can't figure out is why the other startups need so many developers. :)
1 point by yatsyk 1 day ago 3 replies      
I believe that one of the reason is lack of good web-applications framework for quick development. There is nothing like django or rails, so if you need to have non-trivial application created in minimum time java is not the best platform.
In case when your team consists of plenty different skill level developers java is much safer platform.
Performance of the application and hosting is not a problem.
Hosting of java application usually is much easier than everything else and performance of jvm very good comparing to other platforms.
2 points by loganfrederick 1 day ago 0 replies      
DOmedia (http://domedia.com) in Columbus, Ohio uses Java/JSP.
1 point by jbooth 1 day ago 0 replies      
We use a lot of Java at media6degrees, entirely for performance/integration reasons. There's a reason Cassandra, Hadoop, HBase, etc are all written in Java. I'm still trying to figure out what that reason is but my guess is that Java's the least bad language for what they're accomplishing, maybe that'll be Go in the future.

Of course, we aren't doing content management or anything, the front-facing stuff is a tiny minority of what we do, so that makes Java an even better choice. If I was writing a CMS or an app that was primarily webby in nature, I'd take a look at a more dynamic language (possibly still on the JVM).

2 points by jon914 1 day ago 0 replies      
Our main product isn't a web application, but we're the oddball startup that's using Java/Swing to build a desktop application which is a visual designer for creating both Flash and most recently, iOS games.

Our ability to deploy to Windows and Mac is giving us a leg over some competition that's unable to serve the larger Windows market. Being able to knock out new features very rapidly (within minutes/hours) is another advantage.

Reminds me of PG's essay about how Viaweb was able to implement a competitor's feature the same day it came out...

1 point by erikstarck 1 day ago 0 replies      
We used JBoss SEAM when we built the infrastructure for our startup back in 07. It worked very nice, it was much faster to work with than other frameworks I've used.
In the end we failed but it wasn't because of Java. I think...
2 points by visural 1 day ago 1 reply      
My startup http://www.onmydoorstep.com.au/ is Java/Wicket/Guice/Lucene based.

Java's greatest strength is it's speed, a dearth of open-source libraries for pretty much anything you'd need. It's very possible to write light-weight simple code, if you shift out of the enterprise mind-set.

1 point by deutronium 1 day ago 0 replies      
There are many big web companies that use Hadoop, which is a Java based distributed computing platform (based on Map Reduce). These include Facebook, Yahoo and Last.fm.

Theres an ever growing list at http://wiki.apache.org/hadoop/PoweredBy

2 points by donpark 1 day ago 0 replies      
IMO, web startups choose Java when:

1) founders are most familiar with Java

2) founders are more comfortable with top-down engineering practices and not with bottom-up, release-early release-often approach.

3) core technology depends heavily on non-trivial open source Java libraries.

1 point by badmash69 1 day ago 1 reply      
Another perspective is that Salary and competition for Java programmers are way beyond affordable for most start ups who have not made it big.

Java is widely used in Financial, Insurance sectors. (There are several others as well but I speak of these from personal experience) I can offer up to $95k for a top level Java programmer. I do not think start up salaries can go that high. Of course there are no big stock options pay day like in a start-up but it is easy to see why some programmers would rather work in a bank than at your start up.

1 point by Hovertruck 1 day ago 0 replies      
Java's the primary language here at Meetup, as well as at the previous company I worked at (Webs.com). To be honest it hasn't been that bad.
1 point by iterationx 1 day ago 0 replies      
I'm building an app in OfBiz, but its a little bit overkill for what I need. My partner is also really enthusiastic about Tapestry but I haven't really looked into it.
1 point by phoenix24 1 day ago 0 replies      
I've seen a lot of startups using Java for web application development. Its not not that they are unaware of the other dynamic languages or the new rapid prototyping web app framework.
But I guess its due to their reluctance to move to the new setup.
2 points by johnayres 1 day ago 0 replies      
We use Java, MongoDB, Hadoop and embedded Jetty at MetaBroadcast, we try to keep it simple: no enterprise bloat etc. We've not had any performance issues.
1 point by klon 23 hours ago 0 replies      
I built Klicktrack based on Java and it's a great platform for a startup especially for larger teams. The only drawback I can think of is the compile deploy cycle which can be a bit annoying compared to scripting languages but it can be mitigated.
1 point by dmoney 1 day ago 0 replies      
I met someone from Lockerz who said they have a PHP fron end and a Java service layer.
1 point by adamcrow64 1 day ago 0 replies      
We're a startup here in Australia and we use Java extensively.
It has been trickier to use than PHP but the extra effort has allowed us to produce a very sophisticated system.
1 point by travisjeffery 1 day ago 0 replies      
Squarespace is a lot of Java.
1 point by darose 23 hours ago 0 replies      
At Demdex, we use Java very heavily on both the back-end (e.g., Hadoop) and the front-end (e.g., Struts, etc.)
1 point by H4Hacker 1 day ago 0 replies      
2 main reasons i can say about this are:

1. creating application in PHP is quite easy. no servlet , no configuration and just start writing the application.
2. PHP hosting are cheaper. But now a days Google apps are providing free hosting for Java apps.

BTW I am quite in favor of Java web apps. Java web apps are more stable and maintainable.

1 point by yayo 1 day ago 0 replies      
We are just using Java for teaching porpuses.
-4 points by endtime 1 day ago 3 replies      
I've be very scared of a web startup that chose Java over Python or Ruby. Why subject yourself to Java? RoR and Django are both solid platforms (among others).
Ask HN: Best way to build REST API?
11 points by NotSoNew 17 hours ago   discuss
Ask HN: Why are many Techcrunch and Mashable submissions from the same users?
11 points by dotBen 21 hours ago   2 comments top 2
2 points by cheald 20 hours ago 0 replies      
I'd just presume that the number of people submitting links is a relatively small part of the HN population, people who tend to submit tend to be serial submitters, and the current serial submitters have TC and Mashable at the top of their RSS feeds.

If I had to guess, I'd say that HN doesn't drive anywhere near the traffic that a Digg or Reddit front-pager does, so there's not nearly as much incentive to try to game it, but that may just be me being naively optimistic. :)

3 points by smysore 20 hours ago 0 replies      
And the TechCrunch posts always get upvoted and make it to the top. Isn't there a way to make these "worth less"?
Ask HN: Where to start learning security for consumer Internet products?
8 points by svjunkie 1 day ago   3 comments top 2
7 points by patio11 1 day ago 1 reply      
This is a very, very deep topic.

Everything I know about web vulnerabilities in a sentence: User input cannot be trusted. Do I have room for two sentences? Assume every string in the application is user input unless you've got provable chain of custody back to God Almighty, who is the only entity I would trust to handle whitelisting correctly.

There is a regularly published list of the most common web vulnerabilities. Most have had well-understood fixes for years or decades, and will have much better developers than you or I shoot themselves in the foot today.


Happily, you can pick some of this up as you go along, because insecure web applications (three words which could be two words without compromising informational content) can still produce meaningful business results. Don't let this be the reason you don't write something, unless something is nuclear power plant control software or the like.

Ask HN: International Banking
4 points by thangalin 1 day ago   2 comments top 2
1 point by mattm 7 minutes ago 0 replies      
Hi thangalin!

I live in Canada but have a business and personal US bank account in the US with Harris Bank (owned by the Bank of Montreal). You can set it all up by mail. I've never even visited the branch. http://www4.harrisbank.com/personal/0,4458,359877_390942,00....

To transfer money between my US and Canadian accounts to use at home, I use http://www.xe.com/fx

It's free to setup and between Canada and the US, you transfer at no cost by choosing the EFT/ACH options.

1 point by NonEUCitizen 22 hours ago 0 replies      
Try HSBC...
Ask HN: I've got a full time job I love & extra cash, I want to invest.
8 points by wizard_2 16 hours ago   5 comments top 5
2 points by Charlie_B 15 hours ago 0 replies      
I am working on starting my own bootstrapped business also, and am in a similar position as yourself. Start by googling resources about how to bootstrap a startup. $150/week is plenty, although you'll have to save for some bigger purchases.

Firstly, you'll should plan on doing most/all the work yourself. This isn't strictly required, but I find it to be the most fun part of the job. Save the money for advertising, PR, link building, domain registration, company formation, accountants, etc.

Alternately, you can select a product you you want to build, save for a few months, and then just pay someone to do it for you. There was a good interview on Mixergy about exactly this method, where a $2k investment turned into $80k/month. http://mixergy.com/free-apps-interview/ I wouldn't expect to have the same kind of success, but it is something you could pursue.

If you are more interested in sitting back and investing in established companies, a lot of people will try to sell you hot stocks or whatever. Don't listen. In the long run (3-5 years) no one, save a very few people like Warren Buffet, beat the market. Roll some percentage of your money into an S&P index, and international index, and a bond index, then re-balance every year. The closer to retirement you are, the more money should become cash or CD's. The younger, typically the more in stock + international. It's boring, but it's the surest way to have your portfolio grow.

Personally, I prefer the startup route (but I do plenty of investing as well).

Good luck!

1 point by volomike 13 hours ago 0 replies      
Here are a few options:

- specialized WordPress Plugin development and sales

- making Android or iPhone apps

- making HTML5 apps with a mobile phone framework, and which work on Android and iPhone phones

On getting programmers, you'll want to keep trying, and putting comments out in forums and anywhere you can. I advise you to find some programmer in or near your timezone so that you don't end up playing the timezone game. And you'll likely want to check in another hemisphere. For instance, if you're in NYC, you could consider contacting some developer in Brazil.

1 point by lem72 12 hours ago 0 replies      
I would start going to a lot of Barcamps and democamps and talking to entrepreneurs and geeks and throw out that you are looking to microinvest.

Be excited to lose the money tho and chalk it up to schooling/learning.

1 point by waru 12 hours ago 0 replies      
kickstarter.com is full of people and projects that need many small investments like that. You usually get lots of goodies from them in the process, too. Good luck, and thanks for your generosity!
0 points by wuster 10 hours ago 0 replies      
some of this may conflict with employer/employee agreements at many of the large companies - conflict of interest and such.
Ask HN: How do you deal with computer eye strain?
8 points by keiferski 16 hours ago   8 comments top 6
2 points by devinj 16 hours ago 0 replies      
Seeing as plenty of people often use a computer that much or longer on a regular basis (not counting breaks to eat or go to the bathroom, obviously), I'm not really convinced it's just the how long you use a monitor. I'd suggest talking to an ophthalmologist for real advice.

That said, I think the usual line is to take a ten minute break every hour. Should be good for your legs, too. But really, talk to an ophthalmologist.

3 points by Skywing 16 hours ago 1 reply      
Honestly, you should be taking breaks. Spending 8+ hours a day on the computer is typical for somebody working hard, but taking a break every once in awhile is still essential.

In fact, I've heard a lot of people say that the 30-30 rule has helped them be even more productive. Spend 30 minutes doing hard work on the computer, and then 30 minutes off letting your brain relax.

3 points by shiny 13 hours ago 1 reply      
Do you have a glossy screen? Switching from glossy to matte helped my eyes a lot.

I also use Flux on my mac, so perhaps that helps.

1 point by jimmyjim 15 hours ago 0 replies      
I use the zenburn theme for everything. In emacs, xmonad colors, my terminal colors, in everything. It's very easy on the eyes.
1 point by bigwally 15 hours ago 0 replies      
Getting outside and looking far distances a couple of times a day (walking/cycling) gives my eyes enough exercise. Maintaining focus at one point for extended periods kills my eyes.
1 point by Charlie_B 16 hours ago 0 replies      
There are some programs you can download to help reduce eye strain - they will remind you every so often (20-40 minutes) to do some eye exercises. I find this helps me if I am having sore eyes - especially looking a few inches above the monitor into the distance (20+feet).

I also find that if I am wearing glasses, going to contacts helps, and vice versa.

Ask HN: contribute to an idea: teams of unemployed programmers into startups
11 points by andrewstuart 20 hours ago   21 comments top 9
6 points by anthuswilliams 19 hours ago 2 replies      
This describes an open-source project. Since these developers are looking to make money from the project, their goal is to seek widespread adoption (just as a startup would), and then market themselves as (extremely) highly-paid consultants charging top dollar for their expertise in the system they designed.
6 points by woid 19 hours ago 2 replies      
Unemployed programmers? Where do you see them?
1 point by wdewind 15 hours ago 1 reply      
I think you'd be pretty much incorrect that there are programmers sitting around unemployed who are capable of scraping together and making a successful software project, especially considering that when people who are unquestionably at the top of the industry do it they too fail more often than not.

I think what you should do is make a site where employers can post a guaranteed test for hire situation. For instance, an employer would post a job, you would apply to it by signing up for the job. You'd have to do a test project for free, but the catch would be that as long as you could meet certain requirements you'd be guaranteed a job.

I'm not sure if this would work, but it would certainly put the theory that there are a ton of capable programmers sitting around to a test. It's pretty risk free for the employer as long as they are careful with designing the test (and they could even design the test to get something useful out of it to offset their risk).

Just my .02

1 point by jessor 15 hours ago 0 replies      
I thought about something like this, but not tied to programmers.

Unemployed people have talents like everybode else and someone should come up with an idea or program to collect, develop and channel those. I can't speak for other countries, but here in germany I see a lot of stuff that could be done if one could mobilize them.

2 points by SeanOC 19 hours ago 2 replies      
If there was a massive pool of unemployed programmers sitting around, this could be a pretty good idea. Unfortunately I think you have a rather oddly skewed picture of the current state of the job market. Right now there is a huge talent crush for programmers. If somebody has the skill and ambition to be a useful team member in this kind of setup, they are unemployed because they choose to be at this point. You're going to have a very difficult time attracting anything other than leeches and "business guys" looking for free/cheap labor. Think about this: from the perspective of a recently unemployed programmer, why do I want to join your project instead of signing on with one of the dozens of startups currently hiring or just starting something on my own?

All of that being said everything goes through cycles and there probably will come a time in the not too distant future where something like this could do very well. If you can overcome the adoption challenges of today, you'd have something very powerful when the next tech recession comes.

1 point by tejaswiy 12 hours ago 0 replies      
One of Seth Godin / Scott Adams had a posted that's related to this. The way I look at it is there are people all over the world with diverse skill sets tapping into the internet. There needs to be some sort of collaboration engine where units of work can be posted and exchanged, something similar to http://www.builditwith.me/, but on a much grander scale. I can't really think of a way to make this work, but yes, this is a great raw idea and absolutely begs for some more brain cycles to be put into it.
1 point by andrewhodel 19 hours ago 0 replies      
1. define a problem
2. propose a fix
3. create a list of tasks which realize the fix
4. random people interested in the solution accomplish the tasks
5. problem is fixed, code is released as open source and now anyone can benefit

that is the basics of an open source project, to turn this into a profit generating machine I would suggest a third party which owns the created code/project

with open source the code is given to those who it can help, this option lets a third party sell it

management company gets x% and the rest is split among the devs.

as for deciding % per dev, it should be decided by the impartial 3rd party which is the company doing nothing more then selling the product.

now someone start the 3rd party company, define the % you want for management and then define the market for your services and meet competition of others who do it for less or do it better

1 point by chx1975 14 hours ago 0 replies      
I dunno, really. Someone mentioned open source projects. For example, there is a huge shortage of talented Drupal developers. So you are a Delphi programmer? PHP is easy to learn and the Drupal community is superb helpful to those who want to contribute. So come, contribute, everyone is welcome, you do that as a dayjob (8+ hrs a day) you will be known in less than a year that's for sure and get a job.
1 point by hdx 12 hours ago 0 replies      
Looking for work would be my full time job if I was unemployed.
My HN November app: Quick Brown Frog
25 points by kaffeinecoma 1 day ago   31 comments top 12
2 points by jasonkester 1 day ago 3 replies      
One nit with the typing test (which is the only thing I tried):

Lots of us were taught (correctly) to follow a period with two spaces. When you do that on your test, every single character from there on out is highlighted in red. It thinks you're wrong on every word, and there's nothing you can do about it short of backspacing to the period in question and erasing one of your spaces.

It pretty much makes the test useless. And since that's the only thing you let me see, the only inference I can draw is that the rest of your product is of similar quality. In short, you lost me.

Multiply that times everybody else who visits your site and types that way, and think about the impact it will have on your sales.

1 point by angrycoder 23 hours ago 1 reply      
I ran into a glitch with chrome on OSX, hitting the enter key during the typing test refreshes the page.

Having a keyboard shortcut to go the next lesson seems essential, it is annoying to have to keep reaching for the mouse in a typing tutor.

I would like to see more 'nerdy' topics in the practice sections, stuff about programming, video games, passages from monty python skits, etc.

Other than that, I am really happy with it. I would gladly pay 10 bucks for something like this.

3 points by iampims 1 day ago 1 reply      
That's really neat. You might explain why people would want to pay $29.95 because it is not exactly clear why we would need to pay. The practice feature is mind blowing, and works really well. Congrats.
2 points by duck 1 day ago 1 reply      
I like it, seems like it works pretty well and it is cool how you use Wikipedia for the testing as that will allow users to practice with "real" work. The price seems high, but I don't know that market.

Also, I think I would really build up the speed test you have and use that as a marketing tool with something like high scores posted to Facebook.

1 point by aberkowitz 1 day ago 1 reply      
Stream of conscious feedback:

The keyboard should not be required to move between exercises - the space bar would provide a better alternative.

Could you color coordinate the key color with a predefined finger color?

You should market this to schools with classroom subscriptions. This would provide a great, cross-platform alternative to Mavis Beacon which costs $20 per computer to install/update and cannot be used at home.

1 point by endlessvoid94 1 day ago 0 replies      
This is cool.

One gripe: am I the only one who still uses two spaces in between sentences?

1 point by jeremyf 1 day ago 0 replies      
Cool stuff. Two semi-suggestions.

1) The paragraph symbol threw me off for a second. It may be a good idea to have a small explanation at the top for how line breaks are handled.

2) I seem to manage better at typing tests when the paragraph of text to be typed is on one area and the input box is in another. Not sure if this fits the model, but it could be a configurable option.

1 point by JeffL 21 hours ago 1 reply      
Just ignore the second space that someone types after a period. =)
2 points by revorad 1 day ago 0 replies      
Oh my god, this is fantastic.
1 point by trouble 19 hours ago 1 reply      

Is the Facebook button meant to be displayed there?

1 point by mthomas 1 day ago 1 reply      
I just tried it out. I like the feedback about which keys gave me trouble. However, i sometimes got tripped up because I automatically added two spaces after a period and your test only expected one space.
Ask Patio11: Why don't you make SEO tools?
49 points by wolfparade 2 days ago   28 comments top 6
58 points by patio11 2 days ago 2 replies      
For your future reference, I have an email address and answer at least half of all questions asked to it. (100% for elementary school teachers.)

1) Providing value in a scalable fashion in SEO is hard, because Google has an incentive to make it hard. If SEO were only as hard as AdWords, Google would lose billions of dollars. Google considers virtually any repeatable process that improves rankings to be black hat. I don't enjoy having to joust with a giant team of PhDs who have infinite budget.

2) The SEO tools space is hard. Small-scale website owners are often very skeptical that there is positive ROI in SEO. (There is positive ROI in SEO. Crikey, if you learn one thing from me this year, learn that.) You have to do huge amounts of teaching to raise people to the point where they can begin to benefit from it. That starts, literally, at "What is a search engine?", because most website owners do not know, especially in small business.

For marginally savvier website owners, like the average HNer, you can skip some of the teaching and proceed directly to "I don't want to pay you money for this." You've been on the same HN I have for the last year, right? We talk a good game about raising $50,000 each of a dozen angels and valuations in the tens of millions and whatnot, but what happens every single time someone suggests raising prices past, oh, $20 a month?


SEO makes me thousands a month. I'm not interested in selling it for less than many hundreds a month, at the low end.

3) Enterprise sales is not my idea of fun. Selling SEO to people who really would seriously benefit from it -- companies which do a lot of transactions online -- requires a high touch sales process. I'm not incapable of that -- I do it for consulting -- but it isn't my passion in life, and it wouldn't scale easily without me building a sales force. That requires a whole lot of skills (hiring, managing salesmen, showing up promptly at nine to an office somewhere, etc) that I don't have experience with, natural aptitude for, or any reason to suspect that I'd be really good at.

4) What would it do, really? (Your "real" question.)

Broadly speaking,

+ SEO analytics: Hard to demonstrate value. Most obvious feature sets are well represented by free competitors. Significant competition from SEO training providers who like to throw in a bag of tools subscriptions to make the $N00 a month fee look cheaper.

+ Tools which purport to "do" SEO for you: if it works Google will call it black hat, if it doesn't work it is snake oil. I have seen an awful lot of snake oil.

+ Demand Media In A Box: Probably the best SEO tool I can think of writing -- automate topic selection and direct outsourced production of content for it. Let's hypothetically pretend that I both was capable of and wanted to write this: what is my incentive to selling it to people who pay little money and need lots of handholding when instead I could point it at any problem domain I wanted and make a million dollars each time?

5) What is the opportunity cost?

I'm pretty good at what I do: I make and sell software, and I do occasional consulting for other people who mostly make and sell software. Consulting is fantastically lucrative, and would (and has) helped me get together enough money to launch any software/service I care to.

I picked out one I thought was a good bet, and am busy implementing it. Ask me next December, but I am cautiously optimistic, in a way I have never been optimistic about SEO tools.


There may be a profitable, addressable market for SEO tools. There certainly is for SEO-related training/services -- SEOBook and SEOMoz are both doing quite well. YC has funded at least one SEO-related company.

I wouldn't touch it with a ten-foot pole, though.

10 points by bigiain 2 days ago 1 reply      
My first guess is that he's smart enough to realise the somewhat greater competition for all the good keywords you'd be facing if your product was "SEO tools" compared to "bingo cards"...

If you had to choose _one_ vertical to be in, would _you_ chose one where every competitor in it knew all the dirty SEO tricks in the book?

10 points by i-like-water 2 days ago 3 replies      
I used to think there was some magic sauce to SEO - that only good content with proper promotion would get high rankings. I've worked with SEO consultants on every level. I've worked with two separate individuals who are extremely well known (sorry NDA prevents sharings names), hired writers, and outsourced work overseas. For my particular industry, which i won't share because it will identify me, my content is pretty much un-linkable. You don't want to talk about it. I paid a writer for years to write top quality content that is actually useful to users and promoted it accordingly. Because good content is what Google wants, right? Wrong.

After spending well over $100k in SEO i can tell you sadly the most effective tactic has been spam. Yep, tons of links on sites, setting up gateway pages that are focused on particular keywords, spamming social sites with links, setting up blogs to target keywords, etc.. I've hired/fired about 5 different companies in India and finally found one that is working magic for us.

Google's algorithm is not a mystery - most 'SEO' people will try to sell you some snake oil. I was paying 10k a month to a top name SEO consultant (very popular SEO book, well respected) and never felt so cheated in my life. Beyond the basics of SEO like semantic structure of your HTML and URL's - SEO is primarily a popularity contest.

6 points by il 2 days ago 5 replies      
I don't mean to be a jerk, and I'm going to be downvoted into oblivion for this, but I don't think Patrick is the brilliant SEO wizard some people on here make him out to be, certainly not anywhere near a Rand Fishkin type level.

He's an excellent writer and marketer, but it's not like he's privy to some magical SEO techniques that would explode SEO traffic.

I would be surprised if he uses SEO tools much himself. From what I've seen, he's very good at identifying small niches, creating good content, etc. Basically good SEO fundamentals, not cutting edge trickery.

3 points by kriru 2 days ago 1 reply      
I have done loads of SEO research and no tool comes close seomoz.org . They have created their OWN index similar to that of google's . I would make a similar tool or maybe even better
1 point by robryan 2 days ago 1 reply      
Can this process really be automated in any way that Google would not consider black hat?
Ask HN: Experiences with 'Gödel, Escher, Bach' (GEB)?
28 points by mbm 1 day ago   37 comments top 27
14 points by plinkplonk 1 day ago 2 replies      
I finished it, but found it pretentious, boring as hell and thin on content. In my opinion (which is not shared widely ;-)) it would have made a good 15 page pamphlet. The rest is turgid verbiage(imo). I can understand someone for whom recursion(say) is some kind of mind blowing concept getting some value out of the book, but I've never understood why programmers find it fascinating. It has a few ultra basic concepts, stretched across multiple pages with lots of padding, then endlessly repeated in minor variations with lots of faux insight.
12 points by diiq 1 day ago 0 replies      
I love it. But:

The book is NOT a good introduction to the incompleteness theorem. It is not a book about M.C. Escher. It could, barely, be said to be about papa Bach.

If you read it for math or science, you will be disappointed. It's a horrendous textbook.

Read it paying attention to his words, how and why he choses them, and GEB is a pretty marvelous thing. If the English language excites you, then read it, and read Le Ton Beau de Marot. GEB is a demonstration of ideas, not a discussion of them.

Hofstadter is not a computer scientist. He's a philosopher, a linguist, and a gedankenspiel-smith. Read him to laugh and play. Expect pretension because big words are fun.

Or skip it. I don't think it will change your life.

3 points by larryfreeman 1 day ago 0 replies      
I've read it two times through. The first time, I thought it was one of the most brilliant books I had ever read (I read it the first time in the early 80's). I became especially fascinated with Godel's Proof and the thoughts of E.O. Wilson on whether an ant colony was in reality a single organism. I was very, very excited about the possibilities of artificial intelligence and especially natural language processing.

The second time I read it (somewhere in the 90's), I enjoyed it tremendously but I was surprised by how excited I had been before. The second time through, I caught a lot of additional insights but somehow, it felt less revolutionary.

I plan to read it again in a few years. It's been over ten years since the last time I read it. I have no idea how I'll react to it.

4 points by mullr 1 day ago 0 replies      
I read the last ~1/3 of it while recovering from food poisoning in a Buenos Aires hotel room. The simpsons was playing on TV, in spanish. Although the context was trippy, the content seemed pretty reasonable to me. It made a lot of sense from a theory of computation perspective; my response was mainly "oh, just like turing machines." Of course, I may have missed something.
4 points by unoti 1 day ago 1 reply      
Frankly it made me feel like I'm not smart enough much of the time. But trying not to let that bother me, I plowed ahead anyway. I found quite a few things actually quite mind expanding. His exposition about infinite recursion was worth the price of admission alone. A small segment of that is here: http://amberbaldet.com/uploads/little-harmonic-labrynth.html

Another book which I did find truly transformative include "The Art of Game Design" by Jessie Schell. Also Anathem, by Neal Stephenson, is also a very worthwhile mind-broadening scientific read. A New Kind of Science by Wolfram is also quite a bit of fun.

But by far my most prized techie book is Genetic Programming, by the legendary John Koza (if you're not a Lisp person like I wasn't when I read this, then you really need to read it!). Braid and all of the books I mentioned have something in common: They are all fat, heavy, meaty, thought-provoking tomes.

3 points by ivanzhao 1 day ago 0 replies      
My major was Cognitive Science, so I always had to read excerpts of this book as part of course requirement, but never finished the whole thing.

Now I read it by jumping between pages and hoping the individual sentences/paragraphs could spark my own thought process (this is how I read most of the time nowadays).

For a much more concise overview on the similar subject matters, checkout this book by Andy Clark

1 point by throw_away 13 hours ago 0 replies      
It remains one of my favorite books. I read it once my senior year in high school and I think that it influenced (perhaps unconsciously) my course selection at university (cognitive neuroscience/EECS simultaneous degrees). I re-read it again as a senior in college and was amazed by how little I really understood during my first read and how nearly all the classes I chose fit into the subjects covered in the book.
3 points by Devilboy 1 day ago 0 replies      
I hated it. I felt like the author was just trying too hard. There's just not enough actual content in a book of 800 pages.
1 point by fakelvis 12 hours ago 0 replies      
MIT OpenCourseWare has a couple of resources you may enjoy if you're looking at GEB:

A Highlights for High School course called Gödel, Escher, Bach: A Mental Space Odyssey. This course has a set of 16 lecture notes and 6 video lectures. http://ocw.mit.edu/high-school/courses/godel-escher-bach/

The undergraduate special course, SP.258 / ESG.SP258 Gödel, Escher, Bach. http://ocw.mit.edu/courses/special-programs/sp-258-goedel-es...

1 point by scrame 1 day ago 0 replies      
The first time I read it straight through. I was in the middle of college, and transitioning from a dual bio/chem major to a math/cs major, and the book really hit a sweet spot for me with the nature of the universe.

If you're a programmer, then you have a big leg up on the core concepts introduced in the first half, but its still a tough read.

The biggest piece of advice: keep going, and don't be intimidated as the examples grow. There are examples that are drawn from many fields of study, and the dialogues in between chapters give a more intuitive sense of the concepts being introduced in the following chapter. Re-read those if you start finding the main discussions too dry.

There is a _lot_ going on in that book, and you will not get it all on the first read. You will have a feeling that you are missing something and you are. Don't worry about that. Some is revealed in the later parts of the book, and you might find yourself looping back to earlier passages.

Take your time with it, but get through to the end, you will not regret it, and you will find yourself picking through parts of it for a long time to come.

Also, check out Metamagical Themas, which is the opposite, a series of discrete chapters on different topics, but just as fascinating. It covers lisp, rubics cubes, the prisoners dilemma, gender roles in language and a whole host of other good things.

2 points by PixelJ 1 day ago 0 replies      
You should read GEB like a playful, mathematical Alice in Wonderland full of puzzles, philosophy and sometimes self-indulgent wit. Once you go down Hofstadter's rabbit hole you'll get a mind-expanding romp through the meta-logical underpinnings of modern mathematics, information theory and computer science. At the end, whether you find it deep or simultaneously twee and pretentious is a matter of taste, but you'll definitely find yourself a lot more capable of thinking of three impossible things before breakfast.
1 point by brendano 1 day ago 0 replies      
Good fun but too long. I loved it when I first read it, and in college I ran a reading course where we read it over one semester. But when I learned more and later came back to it, I found it disappointing content-wise. I'm still glad I read it, though; it was pretty formative for me.
2 points by agent86a 1 day ago 0 replies      
I highly recommend Gödel's Proof (Nagel and Newman) as a supplement. I got a lot out of Hofstadter's book, but honestly found much of the discussion of the incompleteness theorem more confusing than it needed to be. If you're mostly interested in the Gödel part, I actually recommend you read it instead of Hofstadter's book.

Gödel's Proof is very concise, and more clearly describes the core argument.

2 points by mtodd 1 day ago 0 replies      
GEB is a great experience. It's not a deeply technical book, though it is both deep and technical. It's more specifically an adventure of thought.

I hear there are hidden messages in the book itself. I'm not motivated to track them down and solve them, but this is certainly an indication of the kind of tone Hofstadter was after: playful.

1 point by eitally 1 day ago 0 replies      
I thought it was awesome when I first read it in high school; the second time, after graduating university, I skipped all of the Achilles & the Tortoise sections and became quite frustrated at how many page turns it took to contain any given idea. Like Devilboy said, there's not reason it should have been 800pp.
1 point by cypherpunks01 1 day ago 0 replies      
I absolutely love this book - I'm right in the middle, he's trying to answer the question, "Can minds be mapped onto each other?".

It's very engaging and fascinating, and I highly recommend it for all sentient beings. Admittedly I haven't finished the book just yet, but I hold the belief that I may have been better off not going to college, but instead reading GEB two or three times.

One reason I occasionally stumble while reading it is because it's such a vast flow of information. It's a bit hard to process all of his thoughts at once, as it's basically a well-organized dump of Hofstadter's brain. Reminds me of Pirsig's Zen & the Art of Motorcycle Maintenance in that way.

As for how to approach reading the book, I recommend reading it outdoors in the summertime, which is a bit tricky in the northern hemisphere these days. And don't forget to have a LOT of coffee on-hand!

enjoy! :)

1 point by samdalton 1 day ago 0 replies      
I first read GEB 2 years ago and was similarly mind-blown. I found that it didn't answer any questions, but it did ask a lot. I would consider essential reading for anyone studying AI, and indeed for anyone with a curious mind.

I'm also in the middle of I Am a Strange Loop, and it feels very familiar. Hofstadter's wit and skill with words comes through strongly, and the technical depth of thought is equally as compelling.

With regards to approaching the book, I found it enjoyable and helpful to stop every few pages and think about some of the concepts that are posed. Don't consider it a book on AI, or computing, or Bach, or Escher, or Godel, or quirky narratives. Instead, just go with it and follow along with the story. It takes a while, but once you've finished, you'll want to read it again.

2 points by jordan0day 1 day ago 0 replies      
As someone who does the majority of their reading in bed, GEB took a long time to get through, and I definitely didn't pick up nearly as much of it as I should have.

That's not to say it's necessarily dry or boring, it's just, I imagine your brain has to be on to really appreciate it.

2 points by alecco 1 day ago 1 reply      
One of the few books I've put down after less than 1/3rd. Really bad and over-hyped, IMHO.
1 point by rms 1 day ago 0 replies      
Great book. Like most people that start it, I didn't finish. It is a notoriously underfinished book. Give it a try anyways.
1 point by anigbrowl 1 day ago 0 replies      
Yes, probably the single most important book I've read, and by far the best tutorial in symbolic logic that I know. Best approach: disappear for a month, take a holiday from the internet.
1 point by btfh 1 day ago 0 replies      
Based on what I'd heard, I expected a lot more from it. At times, Hofstadter somehow manages to turn what should be insanely interesting subject matter into something quite dry.
1 point by rick_2047 1 day ago 0 replies      
I am 200 pages in. For now, it has just radically changed my view of the concept of formal systems.
1 point by spacemanaki 1 day ago 0 replies      
I'm in the middle of it and reading it slowly. It hasn't quite lived up to the hype, but I have deeply enjoyed it. I think it's wonderfully quirky and while yes, it's probably too long, I think that's ok, because it's not a blog post and I am happy to make room for something massive and rambly on my bookshelf.
1 point by zachallaun 1 day ago 0 replies      
I made an attempt to read Hofstadter's more recent I'm a Strange Loop about a year ago and didn't make it all the way through.

After being told (a few weeks ago, actually) that GEB was a bit more accessible, relative at least to ISL, I started reading it, and have thus far been blown away.

1 point by camperman 1 day ago 0 replies      
It got me hooked on programming, classical music and Escher at a young age. The best way to approach it is to realise the author's intention. He wants to explore the question: what is a self? If you keep that in mind, then his overall approach makes more sense.
1 point by tkeller 1 day ago 0 replies      
I've read it twice. That says it all, I guess.
Ask HN: Place for developers & designers to barter small units of work?
36 points by jayliew 2 days ago   16 comments top 8
4 points by jambo 2 days ago 3 replies      
It's a great idea for a founder who isn't a U.S. citizen or national.


The IRS requires barter value to be reported as income: http://www.irs.gov/taxtopics/tc420.html

and barter exchanges have to send out 1099s: http://www.irs.gov/businesses/small/article/0,,id=113437,00....

4 points by akkartik 2 days ago 0 replies      
Neat idea. All these things, however, require feedback. Even if you don't have the skills you often need to drive the trajectory of things we try out. Given that, perhaps we should instead barter 'pairing time'. "If we can work on my project for a day today, then I'll help you with your project for a day."

You can modulate the 'promiscuity' of this idea, from pairing with random people you meet on some site, to having a handful of people you pair repeatedly with. The latter seems to kill two birds with one stone: you get something done on your site now, and also make progress finding and trying out potential co-founders.

6 points by swanson 2 days ago 3 replies      
I wish there was a good way to find designers that are trying to build a portfolio or just like making stuff for the hell of it. I hack around on weekend projects for fun all the time, but I don't have much desire to start a business or try to make it big -- it would be nice if there was a good way to find like-minded designers that would throw together a logo or color scheme.
2 points by jgv 2 days ago 0 replies      
Forrst is a community that has both designers and developers interacting, although it's not explicitly about bartering.


1 point by tdavis 2 days ago 0 replies      
Not yet, but we're building it!


1 point by unignorant 1 day ago 0 replies      
Inspired by this post, I built http://hacklikeme.heroku.com/ this afternoon.

More details here: http://news.ycombinator.com/item?id=1931985

1 point by proexploit 2 days ago 0 replies      
I've posted a couple topics before trying to get something like this going as I've had a lot of fun working with some other guys on HN. I don't know of a site like this but my thought is it's better done informally. Maybe a google group that's invite-only (not exclusive, but able to restrict membership as an alternative for feedback)?

While we're on the subject: I'm a designer / front-end guy always open to bartering. Logos aren't my think but Design/UX/HTML/CSS/HAML/SASS is what I'm good at. I've got a ton of different side projects in tons of different languages I'm learning to hack away on.

1 point by ndaugherty18 2 days ago 0 replies      
We use each others wisdom all the time at the co-working facility I frequent.

I wouldn't call it bartering but knowledge transfer or "mentoring"

Coupon code 'GOBBLE' - $1 .com domains with GoDaddy
12 points by coderdude 1 day ago   12 comments top 6
1 point by maguay 1 day ago 2 replies      
MediaTemple.com has $5 domains right now that will be $5 for renewal as well ... not as cheap up front but cheaper over time. Just signup on the bottom of their page, or check out their blog post: http://weblog.mediatemple.net/2010/11/10/mt-domain-partner-p.... New accounts only, though.
1 point by desigooner 1 day ago 0 replies      
i used the following to renew for 7.48$ or something ..


1 point by kevruger 1 day ago 0 replies      
Great coupon! Just used it and got a good one tonight. BTW - it does not work for renewals. Renewed 2 .com's in the same cart purchase and did not get the promo.
1 point by DannyCooper 1 day ago 0 replies      
Doesn't seem to work for me, have the first 15,000 already been taken?
1 point by seanmccann 1 day ago 0 replies      
Just used this coupon. I believe it only works once per customer.
1 point by dtracy4 1 day ago 1 reply      
Does this work for renewals?
Tell HN: HackLikeMe, A Place to Find Fellow Hackers
7 points by unignorant 1 day ago   9 comments top 5
1 point by misham 10 minutes ago 0 replies      
3 points by proexploit 1 day ago 1 reply      
I could commit a bit of time to UI improvements. Is it on github?
2 points by zaveri 1 day ago 0 replies      
1 point by jayliew 12 hours ago 0 replies      
interesting .. thanks!
1 point by epynonymous 1 day ago 1 reply      
unfortunately twitter's blocked in china, i cannot post.
Ask HN: How do you get started by yourself?
19 points by mduvall 6 days ago   discuss
5 points by wccrawford 6 days ago 4 replies      
Finish your education. It's the basis for your future.

And if you think it's not, why on Earth are you paying so much for it?

Don't waste your money. Pay more attention to your studies, and get the most out of it.

And if you're already getting A's and still bored, start doing more side projects. Things that are useful to you or (better yet) someone else you know. Try to write up a spec for the project first, and then work from the spec. Then go back to the customer/friend and see how close the project is to what they really wanted. It's a real eye-opener.

Be putting all of your best code in a portfolio to prepare for job hunting.

3 points by luckystrike 6 days ago 0 replies      
You might like to read this from Github Founder -

  But it wasn't an overnight eureka, and it wasn't intentional. 
I didn't just walk out of high school, pick up a Ruby book, meet Tom and PJ,
then launch the site GitHub.

Before GitHub came, in chronological order, Spyc, Ozimodo, my ozmm.org, tumblelog,
ftpd.rb, Choice, Err the Blog, acts_as_textiled, Cheat!, acts_as_cached, Mofo,
Subtlety, cache_fu, Sexy Migrations, Gibberish, nginx_config_generator,
fixture scenarios builder, Sake, Ambition, and Facebox.

And that's just the stuff I released.

Source: https://gist.github.com/6443

Discussion: http://news.ycombinator.com/item?id=282158

2 points by locopati 6 days ago 0 replies      
Scratch an itch.

Maybe it's something that nobody else is doing or a tool that you use but think could be better or a way to improve the operation of a suite of tools that could work better together. Maybe it's a group that you're a part of that needs a web site/service for something or a better way to explore their data or automate a tedious process.

It has to be something you're interested in otherwise you won't be psyched to do it.

But ideas are a dime-a-dozen - you want to make it real. I'm sure everyone here has orders of magnitude more never-done ideas, started-and-stopped ideas than out-in-the-world ideas. But generating and playing with those ideas, even if they come to nothing, are part of the means to getting something done.

Take small steps and keep taking small steps. Even with 15-30 minutes a day, you can do something (write a function, write a page, tweak the database). Eventually, though it doesn't seem so along the way, you'll get some place.

1 point by bmelton 6 days ago 0 replies      
I know it's the mantra, but as somebody in a similar situation, I can tell you there are 2 pieces of advice leading up to my imminent launch.

1) Find a partner - I've had a LOT of false starts on projects that were sure to be the next big thing. I would get an idea, work hard on it, overthink everything, convince myself it was destined to be a failure, and then start on something else. I watched idly as I saw my ideas implemented by other companies, some with very large exits, some making large profits, and some flops. I invariably regretted whatever reason I had justified to myself for losing steam on it before.

I found a likeminded individual who is motivated, and is good in all the areas I'm not (and better in some of the areas I am). From first-hand experience, it's a lot harder to lose focus or succumb to wanderlust when you have somebody next to you making progress. His progress motivates me. My progress motivates him. We both have skin in the game, and we're both moving forward at a pace I never have before.

The other piece of advice? Cancel cable. My TV broke, and I found myself being extremely productive while I was waiting for a repairman to come out. So productive, in fact, that I called and cancelled on him.

I still get most of what I watch from Hulu or other sites, but now the TV is background noise while I'm programming, and far less of a distraction than something that I needed to leave the room for.

1 point by JunkDNA 6 days ago 1 reply      
Internships are a great first step. It is good to get out there and see how the world really works. Not sure what kind of school you are in, but one thing that preserved my sanity was that I did work in a lab while I was an undergrad. I found a prof who was doing interesting stuff, and did some work for him. I learned more from doing that than I actually did im my classes, and it gave me the chance to explore a problem space that I would not have had the ability to explore on my own. It was a bit like having a friend to go to the gym with you. By making a commitment to the prof, I avoided the temptation to go home and read the web instead of actually doing something.
2 points by ig1 6 days ago 0 replies      
Build stuff you think is cool.

The single biggest thing likely to make you fail is if you lose motivation. Building cool stuff is a way to avoid that.

1 point by aik 6 days ago 0 replies      
Are you essentially asking what the first step to success is? It seems everyone has a different answer. I don't think there's a better way to put it than "to each his own".

But, firstly:
Understand yourself. Through this you will discover (or strengthen) your interests and passions, and find out what you truly truly care about.

Then figure out how you could apply your skills to improve upon/change/disrupt what you care about. If your care is strong enough, you could do it all day regardless of the "monumentality" of it.

3 points by travisglines 6 days ago 0 replies      
First find a cool project that you find fun to work on. (a game, a tool to help you do something) Regardless if you ever make money on it, it'd be worth it just to use it or play it yourself. Thats pretty much the exact process that lead to the creation of Ruby on Rails by 37signals and I imagine countless other projects/businesses.

Then later on when its stable and usable consider launching it to the world, sharing the valuable software you've created. (and possibly receiving value back)

In the process of building it, if you get stuck, read/post on HN and go to stackoverflow to ask programming questions, you'll get there.

1 point by sz 6 days ago 0 replies      
The Obama legislation that forces your parents medical insurance to cover you until you're 26 goes into effect next year. I'm planning a year off from college to work on projects that I can't realistically attempt while in school because I need to focus too much on classes. You could consider doing that too.
1 point by ct 5 days ago 0 replies      
Find your passion. Plain and simple. Although it's better if your passion is something in high demand that you can easily make money off.
Ask HN: Good Reading/Immersion in Mathematics
46 points by jawee 10 days ago   31 comments top 18
8 points by zdw 10 days ago 3 replies      
Pick up a discreet mathematics book. Learn logic, set theory, and writing mathematical proofs (induction, etc.)

I really wish they'd put a class like that right after basic symbolic algebra in normal school curriculum - it's far more useful in the modern world than trigonometry.

5 points by acangiano 10 days ago 1 reply      
You may find this useful: http://math-blog.com/mathematics-books/ DISCLAIMER: It's my site.
5 points by ecaradec 10 days ago 0 replies      
Potentially related threads :

Math for hackers : http://news.ycombinator.com/item?id=672067

Good books on mathematics for somebody who's only taken high school math? : http://news.ycombinator.com/item?id=299687

Recommendation for (re)learning Math Skills : http://news.ycombinator.com/item?id=1449799

2 points by sqrt17 10 days ago 1 reply      
"want to be acquainted with all of the different fields" may actually be quite hard - you can't do complex analysis, differential equations in multiple dimensions etc. without having a very firm grip on standard analysis (including all the proofs and definitions that they normally skip in high school).

If you want to build up your math muscles (as a good preparation for actually studying maths), you should have a look at some discrete mathematics books (the one I had was "Discrete Mathematics" by Norman Biggs) as they teach you to think in terms of proofs.

If you want to get a thorough foundation for non-discrete maths, you should start with a good (university math) analysis textbook (No idea what's a good one in English).

Another approach you could take is to take a math book that is targeted at physicists and EE people - those usually skimp on the proofs and don't contain enough detail to understand the fundamentals behind it all, but bring you to the interesting (to physicists and EE people) stuff much quicker than a real math course would.

Oh, and if you hang out on Youtube, be sure to watch the catsters - this is category theory, presented by actual working mathematicians, at an accessible level (and with a cute UK accent too).

2 points by Darmani 10 days ago 1 reply      
It may be helpful if you state your mathematical background, though I'm guessing that, if you had taken any proof-based math course, you wouldn't be asking this.

I recommend The Art of Problem Solving I and II. On the one hand, they're intended for (mathletic) middle and high-schoolers. On the other hand, some of their problems are quite challenging, and much of the material therein is what my school teaches in its intro discrete math courses since very few students learned it in middle and high school.


1 point by J_McQuade 10 days ago 0 replies      
In my view, the best place to start for a good grounding in rigorous mathematics is Velleman's 'How to Prove It'

As for a good broad overview of many areas, the title that springs to mind is 'the nature of mathematical modelling' by Gershenfeld, though you'd better have some decent maths experience before tackling that one - it can be tough-going, but is refreshing in its breadth and clarity.

1 point by julietteculver 9 days ago 0 replies      
This is hard to answer without knowing something about your current mathematical background and more about what you want to get out of learning some mathematics.

Assuming that you want to learn some 'university-level mathematics', then you'll really need to be prepared to study and work through problems rather than just read. Mathematics is an area where it's hard to get breadth of knowledge without also having at least some depth because things build very much on each other.

If you really do just want an overview of areas of different areas of mathematics to whet your appetite, there are books by people like Ian Stewart, Marcus du Sautoy and Keith Devlin, all worth reading. Just be aware that reading these is a bit like reading about different programming languages without ever having written a computer program.

If instead you just want to keep your brain engaged mathematically without learning more serious mathematics, there are also plenty of recreational mathematics books out there - Martin Gardner being the name that instantly springs to mind. On a similar vein, you may also enjoy the books of Raymond Smullyan which are more focused on logic.

The only really nice non-textbook taster of university-level mathematics that I have found in Alice in Numberland by Baylis and Haggarty. However it's out of print so you might have problems getting hold of a copy. It is a lovely book though if you can get your hands on it.

Otherwise you are looking at textbooks. I'd recommend maybe 'Introductory Mathematics: Algebra and Analysis' by Geoff Smith as a gentle but rigorous intro to the basics that I'd expect every maths student to learn at the start of their degree course. There are lots of alternatives out there too though. I taught myself lots from Herstein before going to university but that's pretty heavy going and there are better books out there these days. If you look at other books, I'd probably suggest getting one on abstract algebra maybe, covering things like sets/functions and group theory rather than say analysis or linear algebra to start off with, as it's easier to get into the right mathematical mindset if you're not distracted by content which you already have intuitions about.

2 points by sz 10 days ago 0 replies      
Check out The Unapologetic Mathematician "blath":


5 points by vosper 10 days ago 1 reply      
I love Calculus Made Easy by Silvanus Thompson (updated by Martin Gardner).
2 points by barik 10 days ago 0 replies      
Related to this, I've found most text books aren't the best way to learn the material since they don't actually provide answers to solutions. You get the theory but little followup practice to apply your understanding of that theory.

Are there any good texts that are more problem workbook style? One example that comes to mind is "Exercises in Probability", or some of the 3000 Problems books as published by Schaum.

2 points by corey 10 days ago 0 replies      
I'm working through Calculus by Michael Spivak. If you want a thorough knowledge of calculus(who doesn't?) then I wholeheartedly recommend it. While it's more deep than broad, it will surely help you learn to start thinking more like a mathematician.


1 point by gary201147 9 days ago 0 replies      
If youre looking to learn mathematics as a tool rather than an end goal the list above seems far too abstract. A good foundation in analysis is probably as abstract as you'll need for a majority of applied fields. For computational science and learning you need to know (albeit very well):

linear algebra (strang, trefethen, golub and van loan)
optimization (nocedal, bertsekas)
probability (rice, casella & berger, grimmett)
statistical learning (tibshirani, bishop)

A good free online book was recently an HN topic: http://news.ycombinator.com/item?id=1738670

1 point by ubasu 10 days ago 0 replies      
Here's my list:


1. Chapter Zero (Carol Schumacher)
2. Naive Set Theory (Paul Halmos)

Linear Algebra

1. Finite-Dimensional Vector Space (Paul Halmos)
2. Linear Algebra Done Right (Steven Axler)

Real Analysis

1. Real Mathematical Analysis (Charles Pugh)
2. Introduction to Analysis (Maxwell Rosenlicht)


1. A first course in abstract algebra (John Fraleigh)

These books are better for self-directed reading compared to some of the classics like Rudin or Herstein. These should keep you busy for a while.

2 points by leif 10 days ago 0 replies      
Linear Algebra Done Right, Axler. Don't learn Linear Algebra without it.
2 points by tgflynn 10 days ago 0 replies      
You might want to have a look at the "Princeton Companion to Mathematics". It's goals seem close to your "broad but not too deep" objective.
1 point by jpcosta 10 days ago 0 replies      
0 points by drmoldawer 10 days ago 1 reply      
I'd definitely recommend Godel, Escher, Bach by Doug Hofstadter. Not just about mathematics, but fascinating.

Also, anything by Martin Gardner.

Ask HN: We have created an uptime monitoring service, what can we do to improve?
4 points by saucersoftware 21 hours ago   8 comments top 4
1 point by dotBen 20 hours ago 0 replies      
Following on from my comment about the €/$ issue in the other reply thread, I would say that right now the service offering is very limited.

I either need a lot more than just polling (and use CloudKick, Monit, whatever) or if I only need polling because it's just a blog or whatever then I'm not going to be prepared to spend much/anything.

I would work out what your bigger hosted competitors are doing, and find a niche they don't serve. OR, work out the pain points of running self-hosted monit and the like and offer something that isn't just a clone of the existing players.

I would also add a "tour"/"Explore features" type page to explain what the service does - is it pinging, checking the TCP banner on a given port, is it making a request and fetching some content to check it against expected response? Etc. Explain why that is helpful to me.

Don't assume I even know why I want monitoring! Show me what the alerts/reports look like.

1 point by dclaysmith 7 hours ago 0 replies      
I'd start by taking the advertising banner off of your homepage. You'll spend much of your time trying to get visitors to your site, why give them a reason to leave. I doubt it will generate much income for you and will likely cost you in the long run.

One feature that I don't think Pingdom offers (which monitoring software like Nagios has) is alert escalation. (ex. After 5 consecutive timeouts, alert the IT Manager, after 20 alert the CEO). I think there is some value there.

1 point by chuhnk 21 hours ago 1 reply      
In all honesty that is the worst way to get any input. A few details would be nice? What have you currently implemented? Do you yourself see any flaws? What are you trying to achieve? What are your similarities to a resource like pingdom? How do you differ? What kind of input do you want?
1 point by dminor 21 hours ago 1 reply      
What are the advantages of souptime over say the $10 pingdom plan?
Review my startup: An artificial intuition based Q/A engine.
8 points by arihant 23 hours ago   9 comments top 6
1 point by syntience 1 hour ago 0 replies      
Interesting. Your goals are similar to ours and your choice of name for the technology is also (too) similar. Are you using any of the concepts and ideas discussed at http://artificial-intuition.com and/or http://videos.syntience.com ?

Syntience Inc. is so far concentrating on understanding (written) text in any language but speech recognition is an obvious extension to any competent language understanding technology.

2 points by aquark 22 hours ago 1 reply      
Interesting idea.

The slideshow on the front page changes too quickly once you get to the results pages. It is hard to see what is returned since it is only up there a few seconds.

How about providing a text box to allow the engine to be tested from the web. I know it is a mobile app, but before installing it I'd like to see if it produces useful results to something I might ask.

1 point by arihant 23 hours ago 0 replies      
Clickable link: http://www.snolr.com
1 point by PonyGumbo 23 hours ago 1 reply      
How do you pronounce it?
1 point by msbmsb 23 hours ago 1 reply      
How does this compare to other question answering systems?
0 points by Fcxce 23 hours ago 0 replies      
Using on my iPhone and couldn't figure it out how it works.. Is something we need to download?
       cached 24 November 2010 20:02:01 GMT