hacker news with inline top comments    .. more ..    21 Nov 2010 Ask
home   ask   best   8 years ago   
Ask HN: Is there a hippie commune for hackers?
81 points by citizenkeys 12 hours ago   93 comments top 29
13 points by alexophile 10 hours ago 2 replies      
I spent some time on a farm that could liberally be called a "commune" and there's actually a ton of innovation to be had all over the place. Somewhere, I probably still have a moleskine with notes on the matter. A couple things I remember:

-Crop Rotations: The texts I read about this subject were the result of some very painstaking note-taking, and keeping all this information straight can confound even the very studious. We had at least 3 copies of Elliot Coleman's "The New Organic Grower" around and they were all falling apart from constant reference. Having instant access to your planting history would be invaluable, especially if coupled with pH effects of relevant crops and other useful info.

Certifications: The process for getting that nifty "certified organic" label is quite difficult. You have to submit all sorts of things. It was even worse for us because we had commercial kitchen equipment (we sold jarred jams, salsas, etc)

Marketing: We sold shares of our output through a CSA (Community Supported Agriculture) program. ~100% of people who partook found out about us from meeting us at a farmer's market. I think there's a decent market for CSA shares, but not really any way of comparison shopping, or even knowing what's available.

It would be neat to work on a project to solve these problems while simultaneously encountering them on the day-to-day. But fair warning: "plowing the fields all day" does not really leave one in the mood for hacking. Contemplation? Surely. Conversation? Absolutely. But I wouldn't expect to get a whole lot of hacking done, at least not in your first season.

13 points by dstein 6 hours ago 0 replies      
commune... be left alone...

Bay Area... little cottage...

hackers... plow the fields...

I don't think you've decided what you really want here.

If you want to live in a small, communal, hacker workplace in the Bay area, then you should join or create a technology startup.

If you want to plow fields, live in a small cottage, and be left alone, you should buy a small house in the countryside.

4 points by drinian 1 hour ago 0 replies      
Not a commune, exactly, but you can go live on a tropical beach with other American hackers with CocoVivo --
11 points by philfreo 11 hours ago 2 replies      
6 points by danteembermage 11 hours ago 1 reply      
I just watched The Secret of Kells on Netflix and was wondering the same thing. The protagonist has a complete devotion to the creation of illuminated texts which seemed like a perfect stand in for [insert open source project that would illuminate the world here]


4 points by gonzo 5 hours ago 0 replies      
I made my own just outside of Austin, TX once.

Bought a 10 AC farm just outside Blanco. Was already certified for growing organic "elephant" garlic.

Had a little cottage, a well, with rainwater collection (I flushed the toilets with this, it was nearly trivial to change-over the plumbing.)

Dropped Cable into it (for IP).

Added 2KW of solar panels, and a 250 gallon propane tank.

Was into it for maybe $130K, fully paid-off.

Grew my own food, hacked some.

Got tired of living without other technology folk around, sold it.

6 points by organicgrant 9 hours ago 4 replies      
So I wasn't acting alone when I bought capitalistcommune.org a few months back?

I have a 'giant' mansion...in Iowa...with open rooms for hackers. Hit me up, libertarian-capitalist-economical living can be a real ideal. See pic here: http://organicgrant.posterous.com/winter-home-0

1 point by percept 30 minutes ago 0 replies      
I don't know if any are hacker-specific, but you might check the list of communities here:


11 points by gruseom 11 hours ago 1 reply      
A commune where you're left alone? A charming oxymoron.
8 points by citizenkeys 11 hours ago 1 reply      
Some clarification:

Commune does not mean being without internet, nor does it necessarily imply growing food.

Think about it: if we had bunk beds, we could stack hackers on top of each other to save space. Compress at least twice as many in the same space. And if we bought food in bulk, we could eat better on the same amount we ordinarily need to live on ramen budgets.

All this being said, I am broke, broke, broke! I burned through all my school financial aid until next semester starts in January. My email is citizenkeys@gmail.com . If anybody's got an extra bedroom for a month...

8 points by shaunxcode 12 hours ago 3 replies      
wouldn't a hacker hippie commune be more about building a robotic plow and spending your, now spare, time OCRing and analyzing old farmers almanacs to determine the optimal time to plant/rotate/water crops?
7 points by citizenkeys 11 hours ago 1 reply      
Seriously... I'm going to register a domain and try and set this up on kickstarter. If anyone wants to help out with design or whatever, send me an email to citizenkeys@gmail.com .

In theory, if we just had a big rental place with couches, bunkbeds, a kitchen, and a place to shower. That'd be enough to start.

1 point by erikpukinskis 8 hours ago 1 reply      
I met a couple of people about two years ago in Tennessee who lived in the middle of nowhere in a house in the mountains. They had a couple of solar panels that basically produced enough power to run an iMac so they could do some freelance design work to make money. They had a Verizon data card for net access.

Otherwise they lived like it was 1900.

2 points by PostOnce 11 hours ago 0 replies      
I was joking about this with a friend a while back. I prize my solitude a bit much, but I think it might be fun. Outdoor work might be better for hackers' brains than most realize. Get your body in shape in the morning and your mind in shape in the afternoon. Hrmm.

You could always start up one of your own. Kickstarter could help. :P

4 points by cscheid 9 hours ago 0 replies      
Reminds me of the setting in Stephenson's Anathem.

A high-tech monastery would be great, except that the need for a good connection to the web pretty much kills the whole isolation idea.

1 point by Inviz 2 hours ago 0 replies      
I share a large close to luxury house with atleast three hackers located in Bali, Indonesia. Recently we finished the transfer by getting a good internet connection (not that easy in mountains, but totally worth it). My advice - move to the friendly environment that lets you live off really small money (100$ is a good salary for locals here) and then things are easy and pleasing.
1 point by JonnieCache 1 hour ago 0 replies      
This is something I'd be very interested in, I'm currently looking for a new place to live. If anyone knows of anyone doing something like this in the UK, let me know!
3 points by trotsky 11 hours ago 1 reply      
I think the bay area hacker version of a hippie commune is a co-op loft that hosts parties on the weekends to cover some expenses. Or some version there of. The ones I knew of still charged rent but it was easy enough to work out a way to do work for rent or a sliding scale.

Not nearly as communal as what you're imagining, but way more communal than 99% of living situations.

2 points by citizenkeys 8 hours ago 1 reply      
sitting at noisebridge right now:

this is almost what i had in mind, only my version has bedrooms, showers, and allows pets.

noisebridge kicks ass. it's a giant hacker studio. i've never been here before. if you're a hacker and live in san francisco, you owe it to yourself to just show up here at least once.

i will be here for awhile tonight if anybody wants to chill out.

5 points by maxaf 10 hours ago 1 reply      
Have you considered moving to Israel and joining a kibbutz?
2 points by pessimizer 11 hours ago 1 reply      
I've been thinking about it for years. The only problem is that most programmers seem to be status quo capitalists bordering on libertarian. It might be easier to teach hippies to program than programmers not to be aspirational yuppie SWPLs.

A couple of cults have gotten by on programming and/or web design, Aum Shinrikyo and Heaven's Gate come to mind.

3 points by dequantified 11 hours ago 0 replies      
Maker spaces are evolving towards this ....

fabrication labs out in the woods.
earthships and repraps.

Factor E farm in Missouri:

http://www.openecology.org is pretty cool idea too

2 points by ecyrb 10 hours ago 1 reply      
Reminds me of the Cory Doctorow short story: "The Things that Make Me Weak and Strange Get Engineered Away"

Available here: http://www.tor.com/stories/2008/08/weak-and-strange

1 point by noodle 9 hours ago 0 replies      
reminds me of this thread: http://news.ycombinator.com/item?id=1403301

i still really like the idea

1 point by citizenkeys 10 hours ago 1 reply      
Okay, I got the concept down:

What I'm imagining is a drop-in center / hostel for hackers. The wikipedia article on hostels kinda sums up what i have in mind:


The pictures do a good job of showing what I had in mind.

1 point by gexla 10 hours ago 0 replies      
A hacker, hippie commune? Why not just a hacker commune? Or just a hippie commune?
1 point by michaelnovati 11 hours ago 1 reply      
You can also check out the Palo Alto Hacker House, http://www.facebook.com/hackerhouse
3 points by noahth 11 hours ago 1 reply      
if you build it...
2 points by there 11 hours ago 0 replies      
Ask HN:Patent Unwillingness
19 points by djd 5 hours ago   19 comments top 10
3 points by drallison 54 minutes ago 0 replies      

If multiple inventors are named in a nonprovisional application, each named inventor must have made a contribution, individually or jointly, to the subject matter of at least one claim of the application and the application will be considered to be a joint application under 35 U.S.C. 116. If multiple inventors are named in a provisional application, each named inventor must have made a contribution, individually or jointly, to the subject matter disclosed in the provisional application and the provisional application will be considered to be a joint application under 35 U.S.C. 116.

I would recommend getting legal advice, collecting all documents related to the invention, and keeping a diary of all contacts with parties involved.

At some point he will need to sign a declaration (viz. 37CDR 1.45(a)):

Joint inventors must apply for a patent jointly and each must make the required oath or declaration: neither of them alone, nor less than the entire number, can apply for a patent for an invention invented by them jointly, except as provided in § 1.47.

However, the provisions of 37CFR1.47 allow:

If a joint inventor refuses to join in an application for patent or cannot be found or reached after diligent effort, the application may be made by the other inventor on behalf of himself or herself and the nonsigning inventor. The oath or declaration in such an application must be accompanied by a petition including proof of the pertinent facts,...

So, simply refusing to sign the declaration is probably not an option.

The post does not identify the offending university. I think that the aggrieved inventor should check to see what his university policy provides. For example, Stanford University policy can be found on the web at http://rph.stanford.edu/5-1.html. That policy provides that inventions of this sort can be placed in the public domain.

The inventors, acting collectively where there is more than one, are free to place their inventions in the public domain if they believe that would be in the best interest of technology transfer and if doing so is not in violation of the terms of any agreements that supported or related to the work.

Sadly, there does not seem to be a provision for resolving potential conflicts between named inventors nor a policy for determining whether a person should be named as an inventor.

7 points by kljensen 2 hours ago 0 replies      
First, if the student is an undergraduate, it's unlikely they have "assigned" their IP to the university. The university does not own the fruits of the student's mind. (If you are a graduate student or employee, you probably did assignee your IP.)

Second, "inventor" is a specific, defined thing under US law. Naming inventors who do not meet this definition can render the patent invalid. And, on a more practical level, a dispute over the inventorship will scare off licensors, precluding any revenue the patent would have brought the university.

(I have two patents, work at an IP related non profit, and own a popular IP news service. I am not a lawyer. I suggest you contact Gene Quinn, advocate of independent inventors.)

6 points by robotron 4 hours ago 0 replies      
Raise a big stink in the local media and any internet channel you can think of. You might not have a legal leg to stand on but at least you can shame them with publicly available information.

Or just move on and accept this as a lesson learned.

4 points by dangrossman 4 hours ago 2 replies      
He probably doesn't have a choice. Check out the student handbook for the university that he agreed to follow when enrolling. There's just about always a part about turning over both copyrights and rights to inventions if they're submitted as part of a class or the student used any school resource (such as consulting any professor) in the process of creation.
2 points by savrajsingh 2 hours ago 0 replies      
You can get them off the patent with the full force of the law behind you. You can easily say these other folks don't fit the legal def of an inventor, so why are they here? Only if they push beyond that should you get media involved. Sounds like fun so keep us posted. So many people want the benefits of others' work. :)
5 points by kolinko 4 hours ago 1 reply      
I'd say - publish the idea and make use of it. You cannot (in theory) patent anything that was already published somewhere.
1 point by JoachimSchipper 3 hours ago 0 replies      
I'd talk to the professors - they would be seriously inconvenienced if he raised a stink about "stealing my idea". (After all, what PhD student would want to work for them?)

It's not at all impossible that they'd be mortified, too.

1 point by patentguy 40 minutes ago 0 replies      
A big thanks to everyone for their valuable suggestions. I had to login with a new "fake" profile as my professors wouldn't really enjoy the contents of this thread.The patent has not been applied yet.I am not too keen on the patent but it is my university that has been pushing hard for it.The contributions from the professors has been nil.It wasn't a joint work and there weren't even any contact sessions.
1 point by timelinex 2 hours ago 1 reply      
From what you have said, your friend would rather it not be patented, but he wouldn't be all that upset if it did. The major problem he is having is that some Professors who didn't contribute anything to the project are now claiming part ownership. I think your first line of approach is to talk to the university directly and tell them you don't appreciate this and you want it change to just you alone. After this and they don't comply you can follow other HNers advice about going to the media and the like.
2 points by whatevers2009 3 hours ago 0 replies      
It's unfortunate he didn't beat them to the punch and patent it himself putting him in control. Not sure what he's trying to achieve out of all this and it may seem a bit cliche to say consult an attorney but that is probably what he should do that this point to see what his options are if he wishes to recoup anything out of this (and I don't mean just money aka rights, etc)...
CL or Scheme?
44 points by mcandre 9 hours ago   32 comments top 19
20 points by lukev 9 hours ago 0 replies      
Depends on what you want to use it for.

If you want to create powerful, intricate production apps, you're probably better off with CL. It's got better libraries, a bigger community, and more history.

If, on the other hand, you're interested in learning Lisp for the purity, the "aha" moments, and to become a better programmer, I'd have to recommend Scheme. It's a lot simpler, more self-consistent, with an order of magnitude less confusing bits and "gotchas". But it's still every bit as good at showing why Lisp is awesome.

And, of course, I must mention Clojure, which aside from the JVM cruft is much "cleaner" than CL, but just as powerful and ready for production use. It's also even more intensely focused on functional programming than Scheme OR CL.

10 points by SkyMarshal 8 hours ago 0 replies      
I just started reading Land of Lisp today, and the first chapter has exactly this discussion. Hope Conrad Barski, the author and HN reader, doesn't mind if I repost the excerpt here.

Land of Lisp, ps 16-17:


"A Tale of Two Lisps

Some deep philosophical differences exist between ANSI Common Lisp and Scheme, and they appeal to different programmer personalities. Once you learn more about Lisp languages, you can decide which dialect you prefer. There is no right or wrong choice.

To aid you in your decision, I have created the following personality test for you:

A. (drawing of a mean looking wolf)

B. (drawing of a tranquil sheep)

C. (drawing of the wolf in the sheep's clothing)

If you chose A, you like raw power in your language. You don't mind if your language is a bit ugly, due to a lot of pragmatic compromises, as long as you can still write tight code. ANSI Common Lisp is the best language for you! ANSI Common Lisp traces its ancestry most directly from the ancient Lisp dialects, built on top of millions of programmer hours, giving it incredibly rich functionality. Sure, it has some baroque function names due to countless historical accidents, but this Lisp can really fly in the right hacker's hands.

If you chose B, you like languages that are clean and elegant. You are more interested in fundamental programming problems and are happy to while away on a beautiful meadow, contemplating the beauty of your code, occasionally writing a research paper on theoretical computing problems. Scheme is the language for you! It was created in the mid-1970s by Guy L. Steele and Gerald Jay Sussman and involved some soul-searching about the ideal Lisp. Code in Scheme tends to be slightly more verbose, since Schemers care more about mathematical purity in their code than creating the shortest programs possible.

If you chose C, you're someone who wants it all: the power of ANSI CL and the mathematical beauty of Scheme. At this time, no Lisp dialect completely fits the bill, but that could change in the future. One language that might work for you (although it is sacrilege to make this claim in a Lisp book) is Haskell. It is not considered a Lisp dialect, but its followers obey paradigms popular among Lispers, such as keeping the syntax uniform, supporting native lists, and relying heavily on higher-order functions. More important, it has an extreme mathematical rigor (even more so than Scheme) that allows it to hide very powerful functionality under a squeaky clean surface. It's essentially a wolf in sheep's clothing. Like Lisp, Haskell is a language that any programmer would benefit from investigating further.

Up-and-Coming Lisps

As just mentioned, there really isn't a true Lisp dialect available yet that possesses both the power and flexibility of ANSI Common Lisp and the elegance of Scheme. However, some new contenders on the horizon may attain the best-of-both-worlds crown in the near future.

One new Lisp that is showing promise is Clojure, a dialect developed by Rich Hickey. Clojure is built on the Java platform, allowing it to leverage a lot of mature Java libraries right out of the box. Also, Clojure contains some clever and well-thought-out features to ease multithreaded programming, which makes it a useful tool for programming seemingly ubiquitous multicore CPUs.

Another interesting challenger is Arc. It is a true Lisp language being principally developed by Paul Graham, a well-known Lisper. Arc is still in an early stage of development, and opinion varies widely on how much of an improvement it is over other Lisps. Also, its development has been progressing at a glacially slow pace. It will be a while before anyone can say if Arc might be a meaningful contender.

We'll be dipping our toes in some Arc and Clojure in the epilogue."

1 point by mahmud 1 hour ago 0 replies      
Learn both, you will eventually. Most Lispers know CL and Scheme, and most are competent in other languages as well.

I would say devour everything you can lay your hands on; you wont be able to do much in computing unless you're competent in at least 4-6 languages, with a read-only knowledge of another 10 or so.

It's not languages that matter (usually) rather the computing models, development styles, and programming paradigms:


5 points by soegaard 5 hours ago 1 reply      
First of all both Common Lisp and Scheme are excellent languages with impressive implementations to choose between.
Furthermore if you learn one of them, you'll be able to learn the other one in no time.

Instead of comparing languages, I'd suggest you pick between implementations. This suggestion might seem odd, but the Scheme standard (R*RS) is very minimal, which imply that all major Scheme implementations contain many, many libraries and language construct not mentioned in the standard.

I my self is a Racket user, which of course makes my view biased. Here are some of the reasons Racket is the perfect choice for me:

   - programs runs on Windows, OS X and Linux 
with no source changes

- the installation is pain free

- the documentation of the language and libraries
are in a league of its own
[that said, the Common Lisp spec is also very good]

- the language is clean with a very good module system
that supports macros the right way (IMO)

- the community is very helpful (ask if there is a
library/construct/feature you can't find
--- odds are you the wrong place)

3 points by gruseom 7 hours ago 0 replies      
I like CL, though if there were a book called Common Lisp: The Good Parts a la Crockford, it would probably describe the subset I like to code in (at least as long as I got to add LOOP.) In other words, CL is huge and there are large parts of it you need never use. I guess the intricacies you mention are annoying, but somehow those things never bothered me (e.g. I'm fine with CAR and CDR; they're short and symmetrical). I'd say Scheme is better for exploring ideas and CL is better for getting things done, so it depends on what you want. PCL targets CL, of course, so if you like the book and have gotten over the painful Emacs setup hurdle you may as well stick with it.

newLISP isn't based on CL or Scheme, it's its own weird thing that is regarded as leprotic by the rest of the Lisp community.

1 point by rsheridan6 42 minutes ago 0 replies      
Scheme isn't really a language like CL is. Scheme's R5RS standard is pretty minimal, and last time I checked (admittedly it's been awhile) R6RS is not that widely implemented (a lot of implementers never liked it).

Each implementation has its own way of doing things. Some are simple, and some are relatively baroque. Racket is more on the baroque end, though probably less so than CL.

12 points by tkok 9 hours ago 1 reply      
Racket is very easy to get going with, you just install it and use the IDE, which gives you the text editor/code area and REPL together like emacs/slime. Scheme is a smaller language. For example, there is no flet/labels, you just use (define) for nested functions. It's a good way to get going with a Lisp and see if you want to take on a heavier language like CL or Clojure.
4 points by yewweitan 8 hours ago 2 replies      
I'd say Common Lisp is the superior choice.

In terms of the availability of support libraries and what not, you'll find it easier with Common Lisp. Quicklisp would be the most recent (and awesome) tool that comes to mind.

In terms of the language itself, it's just more complete to me.

LET and LET* have very different uses, and while ugly, LABELS has helped me quite a fair bit, especially in porting over some recursive Haskell code.

Oh, and don't forget the wonders of LOOP =)

Other than that, I can't speak for Racket, nor any of the other Lisps out there. So take by biased opinion as a CL user for what its worth.

6 points by eliben 8 hours ago 0 replies      
Unless you plan to switch your projects to a Lisp (by which I mean a general name for CL or Scheme) right away, I would recommend the following route:

1. Start with PLT Scheme/Racket. It's self contained, very well supported on all platforms, and Scheme is a leaner and cleaner language that will cause you less confusion in the beginning. This platform should be enough for you to learn Lisp and be enlightened by its idioms.

2. If in the future you plan to get serious with Lisp and write real projects in it, reconsider. You will have much more familiarity with the eco-system by then. Scheme vs. Common Lisp is a religious war of epic (= brace style) proportions, and it's not wise to get confused by it right when you start.

1 point by sbt 3 hours ago 0 replies      
I had the same issues starting CL. I think which LISP you pick is less important in the long run, rather than getting into the mode of writing functional programs. At some level, writing CL and writing Erlang are not that different experiences, to me at least. I know this sounds like abstract advice, but this is going to be a long journey anyway, so the most important thing is just to start it. Get Graham's ANSI Common Lisp book, get SLIME going and write something self-contained, like a basic matrix library. Worry about libraries later.
1 point by lispm 3 hours ago 0 replies      
Scheme R6RS: LET, LET* , LETREC, LETREC* , ...

I guess you have to learn those. Once you understand what the * means, you can easily see the difference between any construct with and without * .

It's basically the question whether bindings are done in parallel or sequentially nested. That topic should be described in a beginners book when learning some Lisp dialect.

1 point by KC8ZKF 8 hours ago 1 reply      
A little off topic, but I notice a lot of people new to Emacs and Lisp banging there heads trying to get Slime set up and running, when Emacs has excellent Lisp support right out of the box. Slime is excellent, but complicated (even by Emacs standards). I wouldn't recommend a user installing it until a specific need arises. I can't imagine trying to learn Lisp, Emacs, and set up Slime all at once.
2 points by rosejn 3 hours ago 2 replies      
Go for Clojure. It's a modernized common-lisp with access to the wealth of Java libraries. There are resources online, and you should be able to get up and running in a matter of minutes.
1 point by thecombjelly 7 hours ago 0 replies      
I really value long term quality of my code and I highly value simplicity and pretty looking code. In these regards Scheme is a much better choice.

There may be some libs that are in CL but not Scheme, but I actually have found nearly everything in Scheme that is in CL. Although some common real world problems are better addressed in CL related documentation.

...And you really only need emacs (or Vim, etc) and CL, Scheme, whatever installed. Setting up SLIME and all that isn't necessary to get started.

1 point by trop 8 hours ago 0 replies      
One could also argue that once you have Emacs set up, you have enough to learn Lisp. Use ielm mode as a REPL, or lisp-mode for longer code bits. Sure you don't get lexical scope standard, but more than enough to muck around... The elisp info page built in is a fine reference.
2 points by ndl 8 hours ago 1 reply      
I'm a huge fan of Scheme. Not so much because of the language itself as for its ubiquity. You can find a Scheme interpreter for almost any platform, and for those that don't have one yet, it's actually tractable to implement an interpreter yourself (in some other language).

It's also a very elegant and beautiful language. At the end of the day, though, your customers care whether your product is beautiful, less so whether the code is beautiful.

I've never used CL.

1 point by zvrba 6 hours ago 0 replies      
Few months ago I was where you were, just a bit less confused. I liked different names for different things (flet vs. labels, for example), the language comes built-in with useful data-structures and functions (e.g., hash-tables; which one do you use in Scheme), documentation about stuff (hyperspec) is 3 keystrokes away in SLIME, and most of the book on macros (which are said to be LISP's main strength) are written for CL. Few days ago, I've seen a monads package written for common lisp using macros. Like, WOW!

I have also tried Racket, and I was kinda disappointed. Nothing that I could particularly point my finger on, but.. it had that feeling of being a "toy".

Yes, it might also be a personality preference. I'm the kind of person that prefers Perl over Python.

2 points by lani 3 hours ago 0 replies      
'lisp in a box' ran out of the box, pardon the cliche , for me
0 points by cormullion 5 hours ago 1 reply      
newLISP is a scripting language with a Lisp-like syntax. It's designed to be a Lisp-flavoured alternative to Perl or PHP or AppleScript. The emphasis is on staying small (250Kb) and easy to install, learn, and use. As a non-programmer I'm not clever enough to learn CL or Clojure, but I found newLISP pretty easy to learn and use for day-to-day scripting tasks and CGI work.

It's based on the ideas of Lisp, rather than on anything more concrete. I've been able to glimpse some of the elegance that Lisp users are familiar with. It shares some Lisp DNA (hence the name), but the author's focus on code size and ease of use has moved it away from mainstream Lisp developments. It won't (and doesn't) appeal to everyone, and wouldn't be suitable for all projects, but I've found it a useful tool to have in my toolbox. At least, it helps me get my work done and I've had some fun with it too, which can't be a bad thing, can it?

Who is living off their startup fulltime?
193 points by webbruce 21 hours ago   141 comments top 49
48 points by jasonkester 18 hours ago 4 replies      
S3stat (http://www.s3stat.com) brings in enough to live on, and funded me while I was traveling last year and bootstrapping the next thing. It also has the advantage of pretty much running itself on autopilot, so I can sometimes go entire months without opening the IDE or doing anything beyond responding to the odd customer email.

I'd highly recommend building something like that (a low-maintenance income generating business) as opposed to the sort of zero income "shorten urls then tweet them from your location on your camera phone" thing that requires 14 billion users and a Google buyout before you see your first dime.

16 points by patio11 16 hours ago 1 reply      

I quit my job in March, and could survive on my fairly modest revenues indefinitely. (I have done some consulting on the side in the interim, which is nice, because it means I don't have to make any hard choices like "Proceed at maximum speed on the business or go home for Christmas?")

The next product comes out at the end of November or thereabouts. I am cautiously optimistic. I haven't accepted any investment yet.

36 points by cabinguy 18 hours ago 1 reply      
When I started out in 1999 my business partner and I took $1,200 and turned it into $1M (revenue) in 12 months...100% online sales. We started out buying 3 beat up laptops, fixing them and selling them. Within 6 months we were buying containers (semi-truck loads) of off-lease laptops and shipping up to 150 a day. 60-70% profit margins. We grew for a couple of years and then we ran into our first wall.

By 2003, our product commoditized and margins started shrinking fast. All of a sudden the used laptop business turned into the used VCR business. New laptops were cheap and our margins went from 60-70% to 5-10%. Our world was changing and we needed to pivot fast. We had to lay off our entire staff, sell our office building (yea, we bought our own office building) and start over...but not from scratch.

During the good times, we would always throw new ideas around. If we agreed that an idea was solid, we would build it out and let it sit on the back burner. When the time came, we were able to jump into a new project that was already setup and ready to go. We just needed to start executing.

Fast forward to today. Our website (services, subscriptions, advertising) currently does about $400k annually (up from $250k last year) with a substantial profit margin, zero debt and miles of growth in front of it. It has been WAY harder this time around, but we are building something much more substantial.

While my business partner and I whole-heartily believe we are about to enter a hockey stick phase of growth, we do have a couple of ideas built out and simmering on the back burner...just in case.

tl;dr I have been bootstrapping and making my living online since 1999.

23 points by bearwithclaws 19 hours ago 4 replies      
Hacker Monthly (http://hackermonthly.com), self-sustaining so far and doing everything to keep cost really low:

- Only 1 fulltime employee (um...me) + 3 remote freelancers.

- Works from home.

- Based in Penang island (somewhere between Bangkok and Singapore with its living cost much lower than both of them).

3 points by inovica 2 hours ago 0 replies      
All my outgoings (including staff wages) are paid for by a number of small sites that I have run. They are quite diverse, but I love creating different things. Here's some of what we do:

www.sourceguardian.com - encryption software for PHP. Have been running this for around 10 years. This alone would be a very good 'wage' for someone

www.europeantenders.com. This provides leads for european government contracts

www.ukscrap.com. This is a referral site that we created for people who's car is 'end of life'.

www.rubyencoder.com. Similar to SourceGuardian. It's for encrypting Ruby source code. We had a need for this ourselves so created it

I run a few more also. I love the freedom that this has given me and the regular income allows me to play with what I'm interested in

Feel free to message me privately if you want any details or just some advice

8 points by g0atbutt 19 hours ago 1 reply      
I am with my startup Codesketch (http://www.codesketch.com). We've been designing and coding apps (mostly iPhone, but some web apps too) for various companies. We are also working on some apps that we will sell directly to consumers on the App Store.

- 2 partners (one of them is me)

- 3 board member who contribute several hours a week gratis

I took some funding at the beginning, but we are now completely self-sustainable. We did this by being hungry. Our burn rate is incredibly low. Our downtown office we rent we got for next to nothing (thank God for karma). The only thing we splurged on is we bought the best tools for our employees. Getting married in 230 days also helps you to keep your foot on the gas.

It's been a lot of fun.

14 points by dangrossman 18 hours ago 2 replies      
I created/run a couple web apps (http://w3counter.com http://w3roi.com and a few more). Everything is profitable and I've lived off it for the past 6 years. All bootstrapped, no outside funding.
15 points by nkohari 18 hours ago 1 reply      
My wife and I were living on AgileZen (http://agilezen.com) before the company was acquired earlier this year.
5 points by paraschopra 7 hours ago 0 replies      

I have been living full time on this since I launched paid plans in May this year. My annual revenue goal was surpassed in first two months. But to be honest, I was very scared the week paid plans were launched. Thoughts of what if I don't even make equivalent to my previous salary haunted me (I had left my full time job 2 months before launching paid plans -- so my family and friends thought I was doing nothing for 2 full months). But, it has been profitable (touch wood!) and I am very happy about it. Been approached by investors a couple of times, but the revenue generated is good enough to expand the team by itself so I don't see a reason to take any outside investment.

But before getting to this point, I had toyed with numerous ideas and coded a bulky conversion optimization platform for more than a year. http://www.wingify.com/product/tour.php Showed it to patio11 and others who all said: "you know what it has to be simple". So, redone the whole thing and that's how Visual Website Optimizer came about to be.

I have been lucky to have learnt many great lessons: what to make, how to make and how to get covered in TechCrunch even if you are bootstrapped :)

11 points by javery 18 hours ago 2 replies      
6 points by compumike 16 hours ago 1 reply      
NerdKits (http://www.nerdkits.com/). Started with roommate co-founder in senior year of college with $200 of parts, continued part-time while I still in school / doing Masters degree, and now full-time since graduation (almost a year and a half now). Profitable and a lot of fun.
9 points by endlessvoid94 20 hours ago 5 replies      
ThatHigh.com pays my rent in SF.

Currently working on Djangy.com, hopefully that will "supplement" thathigh :-)

5 points by acabal 19 hours ago 0 replies      
scribophile.com is paying my salary right now. Not as much as working as a developer at a big company, but enough to live, and I'm much happier :)

Completely bootstrapped. The only cash I put down was $100 for some small graphic design work, $500 for an initial Adwords campaign, and $20 for a server.

9 points by zackattack 18 hours ago 3 replies      
I am living off http://www.AwesomenessReminders.com and http://www.CustomerFind.com. For AwesomenessReminders, you can use the referral code HACKERNEWS to save money.
1 point by dejb 1 hour ago 0 replies      
I don't think a 14 year old web business counts as a startup... but it's paying the bills. I only returned to it 4 years ago after an long um 'sabbatical'.
3 points by toast76 16 hours ago 1 reply      
http://usabilityhub.com including http://fivesecondtest.com) was originally a free app. We introduced subscriptions in August. It's now getting close to being able to support two of us full-time. At the moment, we're both still doing consultant work to fill the gaps. I would certainly think in the next 6-12 months it'll be covering both of us. We're entirely self-funded from 3 years of contracting/consulting.

If I have a tip for anyone, the consulting/startup pairing works wonderfully well....especially if you're in demand. I can turn paid work on and off as needed depending on what we're working on.

11 points by kylebragger 20 hours ago 2 replies      
Forrst (http://forrst.com/) makes more than enough to cover all costs, including some of my salary. The rest comes from a seed round I took in March.
4 points by braindead_in 10 hours ago 0 replies      
I've been working on CallGraph.Biz (http://callgraph.biz) and living off it for around two years now. The work's pretty hectic though and recently I hired two contractors in Phillipines to take the load off me. Work from home, live in Bangalore, India.
3 points by apike 18 hours ago 2 replies      
We are with Steam Clock Software (http://www.steamclocksw.com/). We're self-funded from day one and were profitable within three months.

We're doing iOS apps and consulting. Finding enough consulting to pay both the bills and the cost of developing our products has been straightforward. I've been working on product #2 this morning and having a lot of fun.

34 points by vty0 19 hours ago 1 reply      
This is probably the most motivating thread I've read on hn.
13 points by heyjonboy 20 hours ago 2 replies      
ParkWhiz (http://www.parkwhiz.com) is fully bootstrapped and paying full-time salaries to both founders. It took us 3 years of being ramen-profitable to get to that point, though.
4 points by mkramlich 12 hours ago 0 replies      
living off your startup: it has revenue, it's being used to cover all it's own costs, including paying you some money which you are then using for food, shelter, utilities, etc.

startup living off you: it's costs are being paid out of an account that you personally funded. it is not in the black yet.

you/startup living off investors: it's costs (including possibly paying you a "salary" of some kind) come out of an account which was funded by investors -- other people's money, not from you and not from customers

4 points by cullenking 19 hours ago 0 replies      
http://ridewithgps.com/ is paying my "full-time" salary, which is barely ramen level. But, it's doing that right now in the off-season, off donations and a small licensing deal. Releasing premium features within the month, and negotiating a larger licensing deal right now. Then, I'll be up to spaghetti profitable :
2 points by cloudkj 11 hours ago 0 replies      
I haven't really been living off of my apps, but since I've been unemployed for the past 6 months with no other streams of income, I'll count them.

http://www.facebook.com/amznwishlist was pretty profitable up until about mid-October when Amazon decided to disable some of its Product Advertising API calls for getting Wish List data. If the app still worked and ran through the holidays, it probably would've paid for rent (and then some).

http://www.fatearthmedia.com/ - My browser extension for shopping sites is also profitable. If the Mozilla add-on policy was less strict about affiliates earnings, then it'd probably be paying for rent as well.

9 points by Julianhearn 19 hours ago 2 replies      
Left full time employment two years, was profitable within three months, now employ three full time staff and profits into seven figures. The best move I ever made.
3 points by bemmu 12 hours ago 0 replies      
http://www.coolestfriends.com until about a week ago when the "New MySpace" launched.
2 points by ajdecon 13 hours ago 0 replies      
It's not my startup (I'm an employee, not a founder), but I'll put in a shout out for R Systems, a bootstrapped startup providing high-performance computing resources. (http://www.rsystemsinc.com/)
1 point by whouweling 2 hours ago 0 replies      
It's enormously motivating to read about all these startup stories, really gives me energy to start coding :-)

Also I find it a lot of fun to check out the different startup websites mentioned, because you know a bit of background info.

Thanks all for sharing!

2 points by spoiledtechie 12 hours ago 0 replies      
Ramen Profitable off my several Websites. The big one that makes the most is http://utopiapimp.com freemium), but several other websites I created are also helping out with the costs.

Others included:

2 points by wslh 12 hours ago 0 replies      
I cofounded Nektra Advanced Computing (http://www.nektra.com) in 2003. It was self-sustaining after some months (we started while we were working on different organizations, and we quit our jobs after reducing the financial risk).
We grew to 12 full time employees and found a niche that progressed to other lines of business. Our company was able to have some Fortune 500 customers and sell windows internals services to them. It was everything accomplished without a previous business network, just selling solutions via our web page.
4 points by treitnauer 15 hours ago 0 replies      
Living off iWantMyName (http://iwantmyname.com) " completely bootstrapped, enough to support 3 co-founders (including me) and we'll most likely start hiring next year. Fun times... :
1 point by ditojim 1 hour ago 0 replies      
ditoweb.com has been paying my bills for the last couple years. we are a google apps partner/service provider with a growing staff of 16.
2 points by kaib 19 hours ago 4 replies      
TinkerCAD (http://tinkercad.com). Self funded and in soon-alpha mode, 3 FT founders. Quit Google a few months ago after five great years at the place.
3 points by justinchen 19 hours ago 1 reply      
Menuism (http://www.menuism.com/) - bootstrapped in 2006 and profitable for a few years now. 2 FT founders.
5 points by dpcan 19 hours ago 0 replies      
Yes. Android app sales.
4 points by jwu711 20 hours ago 2 replies      
I am, but that's because our costs are incredibly low. I have a team of 3 with a monthly burn total of $1,000. We have our seed funding from i/o ventures. Company is called Skyara if you want to check it out.
1 point by davidw 15 hours ago 0 replies      
I'd be interesting to look at these by category and/or business model.

* Sells advertising.

* Sells physical goods.

* Sells a software product.

* Sells a subscription to software.

... and so on and so forth.

1 point by enjo 19 hours ago 1 reply      
I am, but I'm taking my bare-minimum salary at this point (thank god for my lovely wife). We're actually doing quite well money-wise, but I just keep reinvesting everything we make.
2 points by jjudge 14 hours ago 1 reply      
Signal (http://www.signalhq.com) supports 13 including myself, co-founded in 2006. First few years as a founder we're incredibly tough (paid others but not ourselves), but we're doing great now.
2 points by msacks 18 hours ago 0 replies      
Making more than I did as a full-time system engineer. http://www.glasscodeinc.com based off IT services alone. Soon to invest the profits into some software for managing enterprise infrastructure and hopefully grow from there.
1 point by HackrNwsDesignr 10 hours ago 0 replies      
Do any of the operators of the sites mentioned here need design or logo work? I'm revamping my portfolio page and wanted to offer it to hacker news entrepreneurs. My about section has my old portfolio page, I've also done some work for hacker news entrepreneurs already, so you can email me if you want to see the absolute latest.
1 point by strooltz 12 hours ago 0 replies      
While were not a "traditional" SaaS type of startup we've managed to turn bandsonabudget.com into a full time gig for myself, my partner, a full time employee, and a number of part timers. I supplement income w client development work and consulting but have been gradually phasing that out of the equation as we've grown... We have yet to take any funding and completely bootstrapped the company ourselves...
1 point by callmeed 18 hours ago 0 replies      
Living full time off 2 startups, but they are 6 and 2 years old so I'm not sure if they still qualify as "startups".
1 point by michokest 16 hours ago 0 replies      
Teambox maintains a small team of us fairly well (5 programmers, 2 people on sales and marketing). We're now relying on some more freelancers and looking at ways to handle the increasing workload.

It's been close to one year since the first people jumped in full-time besides myself, and we've been funded to get the product and early revenues on track.

1 point by zingo 18 hours ago 1 reply      
I think there are differences between an "aspiring startup" i.e. self-employment, small business, cooperative etc. and a startup. To me you are running a startup when you are ready to take funding that will mainly be used for growth. People can of course call their businesses whatever they want, but using a term like "seed stage startup" would be helpful for clarity.
3 points by haarts 20 hours ago 0 replies      
I am, sort of. But it was a huge step back money-wise.
1 point by phishphood 16 hours ago 0 replies      
I make enough with MTH Software (http://www.mthbuilt.com) to not have a full time job. My sales are seasonal in nature, so I either need to scale down living expenses or to supplement with some consulting in the summer.
2 points by Skroob 20 hours ago 2 replies      
I am. I don't know if I'm technically a startup; right now it's just me doing freelance iOS development, but it's paying the bills.
1 point by haploid 18 hours ago 0 replies      
I am, along with my cofounder and a dozen employees.

It's been 5 years though, so I'm not sure one could easily qualify us as a startup any longer.

HN, Help. Launching my app in front of 3,000 tomorrow, Apple withholding bugfix
105 points by g0atbutt 21 hours ago   32 comments top 16
92 points by tomjen3 19 hours ago 0 replies      
Cheat - use the version that actually works on your phone for the demo, then have the people who are interested in it give your their email so you can send a message to them the moment the new version is ready.

If they are willing to come to a demo of your app, chances are they are so interested they are also willing to wait a bit for it.

19 points by natch 18 hours ago 1 reply      
This actually smells like a marketing post to me. Get some interest, then a few days from now post a followup with a link to demo video, name of app, and bam, instant interest from the HN community. I really don't see what the problem is.

It only happens on older devices [edit: or at least it only came to your attention after testing on older devices]. Many of the people who actually download apps have tend to update their devices regularly [edit: and thus are less likely to immediately see a problem]. And the update is imminent. No problem here.

17 points by natch 18 hours ago 0 replies      
If your 1.0 version is in the store, what's the problem? A few members of your audience will download the 1.0, then a day or so later they'll get an update.

Is there anything stopping you from showing the 1.1 version, and telling people that it's a free upgrade if they buy the 1.0 version?

7 points by thought_alarm 19 hours ago 0 replies      
"Your app has been randomly selected for additional security screening."

I guess next time you'll run your app through Instruments once before you submit it?

But I'm sure your users will find all sorts of bugs in the 1.0 release. That's just reality. I would wait until you get those bug reports before you do a 1.1 release.

6 points by davidw 21 hours ago 1 reply      
> My email address is in my profile.

Which is, of course not visible to the rest of the world.

You have to put it in the 'about' section.

12 points by redaranj 19 hours ago 2 replies      
"Pending an Apple release" means that the binary was built against a version of iOS that hasn't been released yet (probably 4.2). You could try resubmitting with a deployment target of 4.0 if you need to get it into the store right away.
6 points by eljaco 19 hours ago 0 replies      
Don't know the full context here, but I would show it off with newer devices and let people know a fix is almost out the door for an issue with older devices.

Also, put up a sign-up form on your site to collect user's emails to let them know when the fix is ready; that way you minimize the number of people you may lose due to the bug. They know you are being proactive and you have a way to get in touch with them.

*NOTE: Wrote this up before seeing tomjen3's message which states pretty much the same idea.

2 points by jsz0 15 hours ago 0 replies      
I wouldn't worry about it too much. Demo your updated version and just tell everyone there's a new version pending approval. I doubt anyone is going to hold that against you.
3 points by gte910h 19 hours ago 1 reply      
Had you said this on Friday, I could have called someone.

If you talk to the developer relations people, they're really good at checking this stuff out, however they're weekday only folks.

4 points by lordmatty 19 hours ago 1 reply      
Do you know who your local WWDR (Developer Relations) representative is?

My experience with Apple is that if you are polite and reasonable they will do everything they can to help you out.

Try somebody like Bill Dudney (find him on Twitter) - who is a really nice guy - as an initial contact.

Good luck!

1 point by jonhendry 9 hours ago 0 replies      
"Withholding bugfix" seems a bit of an exaggeration. Your app is one of who knows how many that they're working on. Yours seems really important to you, but every developer has their own cherished baby that is more important than any other.
1 point by jhrobert 19 hours ago 1 reply      
This is an embarrassing situation and I can only be compassionate.

There is a lesson here: the Apple process of approval is not agile enough.

Once the initial version has been approved, subsequent "minor" version should get an immediate "default approval".

That's the proper way for Apple to build some trust relationship with their developers.

Of course, some people could abuse that system, but that's easy to monitor (like when there is a sudden increase in sales just after a "minor update")

1 point by g0atbutt 21 hours ago 0 replies      
I would really appreciate any help/advice/contact info. If you have any thoughts at all that could help me out I'd be most appreciative.

Thanks again!

0 points by whatusername 12 hours ago 0 replies      
Dear HN,
iOS devices do not have a 1 year lifespan.
You need to cater for 2 - and realisticly 4. Plenty of people upgrade their phones annually. But that phone gets sold on ebay or passed to the next member in the family.

// Your target audience for an app may be bleeding edge -- but for a lot of situations: "only a fraction of your audience will have old devices" is not right.

3 points by aroon 18 hours ago 1 reply      
You should really post your bug number. You did file a radar, right? Bugreport.apple.com...
1 point by Tichy 19 hours ago 1 reply      
Maybe it is not such a big deal: only a fraction of your audience will have old devices, and memory leaks also are not the end of the world. Afaik one app can not bring down the whole device on iOS.
Ask HN: Favorite pointer tricks in C?
56 points by cjtenny 17 hours ago   66 comments top 24
5 points by _delirium 16 hours ago 1 reply      
Copy-free contiguous subsets of arrays are fairly simple but often convenient. If you want elements 5 through 33 of big_array, you just get a pointer to element 5, and keep track separately of the length. A common case is where you split an array into two non-overlapping subparts, in which case, if you no longer need the original, you can treat each subpart as if it were a separate array. Saves the work of allocating two new arrays for the split parts, which is necessary in many other languages. Useful for efficiently implementing things like decision-tree learners.
23 points by cperciva 17 hours ago 1 reply      
The canonical evil pointer trick is using prev_xor_next to construct a doubly linked list.
13 points by jallmann 16 hours ago 3 replies      
What I think takes the cake is this:

  array[index] == index[array]

Not that you would actually use this, but it gave me a lot of insight into how addressing and stuff works inside the compiler. Also from this example, there's the implicit suggestion that an array can be treated as a pointer. So that leads into pointer arithmetic which can be very useful.

4 points by dlsspy 16 hours ago 1 reply      
Regarding function pointer arrays, I'm doing something in labrea (http://github.com/dustin/labrea) where I need to make what is effectively an FFI call from C to C where I know the number of arguments, and their types, but I have them in the form of an array of unions.

For example, if I need to call read, it's basically an invocation of a function with a 4 byte, 8 byte, and then 4 byte argument (on a 64-bit system). I have a union argument type that represents 32-bit and 64-bit parameter types at the same time. I make a call like this:

    rv = abstractInvoke(&fun, args);

which, depending on arity of fun, invokes something like this (auto-generated):

    rv = abstractInvoke(fun, args[0], args[1], args[2]);

That three-arg function looks roughly like this (calling my argument type ``a_t'' to abbreviate):

    a_t abstractInvoke(struct ftype *fun, a_t a0, a_t a1, a_t a2) {
static a_t (*allfuns[])(const void*, a_t a0, a_t a1, a_t a2) = {
invoke_3_4_444, // 0
invoke_3_8_444, // 1
invoke_3_4_448, // 2
invoke_3_8_448, // 3
invoke_3_4_484, // 4
invoke_3_8_484, // 5
// [...]
invoke_3_8_888, // 15
return allfuns[fun->offset](fun->orig, a0, a1, a2);

I generate all of the functions by arity and types and then compute an array offset of them ahead of time (so read has an offset of 5 since it returns an 8 byte value and its arguments take a 4 byte, 8 byte, and then 4 byte value).

Without this trick, I'd have to use very non-portable assembler to do the same invocation (OK, I'd use libffi or dyncall's already prepackaged very non-portable assembler, which I may end up with anyway) to make this function call.

6 points by xtacy 16 hours ago 2 replies      
I like the trick of using the last few bits of aligned pointers to store something useful. It's tricky and has to be done correctly. A class wrapper around the pointer would be better.

For e.g., a constraint in an AVL tree requires that the difference in sizes of left and right subtrees be -1, 0 or 1 (just 3 values, which requires 2 bits). A 4-byte aligned pointer would be enough. =)

4 points by jswinghammer 16 hours ago 1 reply      
You can demonstrate pointer arithmetic by showing how you would work with the strstr function. It's the clearest and most understandable reason for someone to see why you'd even discuss this topic I think. I talk to some people without C experience and they hear that idea and get scared. I usually explain how strstr works and that seems to always make sense to them.

Good luck!

3 points by tptacek 15 hours ago 2 replies      
* Using pointer offsets to get to the stack frame pointer, and then walking the frame pointer backwards to get the call stack.

* Using && to take the address of a jump label.

* Casting a u_int32_t over a 4-byte string (like an SMTP verb) to get a value you can switch() on.

6 points by dlsspy 16 hours ago 0 replies      
It's kind of an anti-pattern, but I've found this to actually enhance clarity in a few places:

    int moved = (is_reading ? read : write)(fd, buf, len);

2 points by Jach 16 hours ago 1 reply      
One that comes to mind:

    struct name {
int namelen;
char namestr[1];
struct name *makename(char *newname)
struct name *ret =
malloc(sizeof(struct name)-1 + strlen(newname)+1);
/* -1 for initial [1]; +1 for \0 */
if(ret != NULL) {
ret->namelen = strlen(newname);
strcpy(ret->namestr, newname);
return ret;

(From http://c-faq.com/struct/structhack.html )
Simple way of storing a string's name and length in one allocated structure.

Others: virtual function tables, function pointers inside of structs that take a "this" argument effectively giving you OOP, opaque pointers to give compile- and run-time private encapsulation...

5 points by jhrobert 16 hours ago 1 reply      
implementing linked lists the way the linux kernel does, that is: each node contains one pointer for each list it can be part of, that pointer's position is determined using some offset_of( field, name) macro.
2 points by Jach 15 hours ago 0 replies      
I remembered another one, the teleporting turtle algorithm. http://www.penzba.co.uk/Writings/TheTeleportingTurtle.html It's a neat way to determine if there are loops in a linked list (among many other uses).

We start with the turtle and rabbit pointing to the head, and then on each clock tick we advance the rabbit by one step. After a while, assuming we've neither found the end of the list nor caught the turtle, we teleport the turtle to the rabbit's position, double the length of time we're willing to wait, then go again.

2 points by Dav3xor 16 hours ago 2 replies      
pointers to structs for things like network protocols...

struct packet_header
uint from_addr;
uint to_addr;
ushort flags;

packet *p;

read(socket, somebuf, sizeof(packet));

p = &somebuf;

printf("from = %u to = %u flags = %u\n",p->from_addr, p->to_addr, p->flags);

3 points by scumola 15 hours ago 0 replies      
Compare pointers rather than compare strings: convert all words in a dictionary to a trie structure. Then, each leaf of the tree (a word) is a pointer. A phrase or sentance can be a list of pointers. Pointer compares are mondo-faster when comparing two pointers than walking down two strings.
1 point by CountHackulus 13 hours ago 0 replies      
My favorite pointer trick is a simple one. I learned it when I had to implement it (in 64-bit) in a C compiler.

Simply, you can subtract pointers. Let's say you're walking a string from the front and from the back at the same time, and want to find the length of the substring. Well, you don't have to use indeces, just do this:

   int len = back_ptr - front_ptr;

You'd be surprised how often this crops up when you're using lots of pointer tricks.

1 point by Locke1689 13 hours ago 4 replies      
Instead of using a while loop to iterate through a linked list, consider using a for loop.

  Node * iter;
for (iter=root; iter != NULL; iter=iter->next) {
/* iter->object; */

A concise implementation of strlen

  size_t strlen(char * str) {
char * cur;
for(cur=str; *cur; ++cur);
return (cur-str);

Reverse a string in-place.

  void reverse(char * str) {
char *i,*j, tmp;
for (i=str, j=(str+strlen(str)-1); i < j; ++i,++j) {
tmp = *i;
*i = *j;
*j = tmp;

3 points by jonsen 16 hours ago 2 replies      
Would you care to share the learning objectives you are fulfilling with pointer tricks in C? Or if it's just some extracurricular entertainment?
1 point by makmanalp 16 hours ago 0 replies      
foo[5] is the same thing as * (foo + 5) (since "foo" is the address of the first element), which is equivalent to * (5 + foo) which is equivalent to 5[foo]! EDIT: hn ate up my * s.
1 point by jbeda 9 hours ago 0 replies      
A trick to save memory:

If you have a struct/class with a lot of members that are usually set to zero or some other initial value, you can store them in a "lookaside" structure that is hung off a global hash table with the pointer of the original object as the hashtable key. You can then use a bitfield to keep track of which members actually have interesting data.

So -- accessing the member would look something like this:

  int MyClass::get_foo() {
if (foo_set_)
return global_lookaside[this].foo;
return 0;

1 point by Someone 16 hours ago 0 replies      
I am not zure whether it fits what you call 'relatively simple', but Knuth's "Dancing links" (http://en.wikipedia.org/wiki/Dancing_Links) would make my list.
1 point by corysama 13 hours ago 0 replies      
String literals are implicitly pointers and pointers are mostly equivalent to arrays.

char digitAsChar = "0123456789"[digitAsInt%10];

1 point by thedigitalengel 9 hours ago 1 reply      
You may want to show them how you can generate code by emitting assembly hex-codes into a block of memory and then _call_ the block of code after casting it into a function pointer.
2 points by zeraholladay 12 hours ago 0 replies      
Copy a string in one line:

   while (*dst++ = *src++);

2 points by spacemanaki 11 hours ago 0 replies      
I wish an HNer had taught me C in high school.
1 point by zam 12 hours ago 1 reply      

  void strcpy(char *s, char *d) {
while(*d++ = *s++);

Ask HN: What is the most modern CMS?
37 points by lovskogen 18 hours ago   93 comments top 25
1 point by notahacker 4 minutes ago 0 replies      
Last time I looked at it (about a year ago) ModX struck a nice balance between extensibility and administrative power, designer/developer friendliness and simple in-page edits for content editors. You'd probably need someone with some degree of technical competence to get it started though.
13 points by knieveltech 18 hours ago 2 replies      
There really isn't a single CMS that outshines all the rest. You should carefully tailor your choice of CMS's based on the site specification.

Not so brief:
The underlying assumption here is that ongoing maintenance of a modern website is (or even can be) a non-techical task. This is unfortunately unrealistic. As an example consider the needs of a "simple" single user blog.

Any blogging CMS worthy of the name should provide a simple interface for adding, editing and deleting content. It should also provide a simple interface for choosing which content is displayed on the site and most do.

Well and good, but what about related content? Should a user be shown a list of related links when the view a blog post? How is "related" content defined? Is this limited to content on the site or should off-site links be included?
Should this list be sorted by date, relevancy, popularity?
What about rich text formatting or pasting content from MS Word?

Most blogs also have some mechanism for accepting and displaying reader comments and just about every CMS I've ever come across has some method of handling this. But again we run into problems. Spam is a real issue and spammers have taken to using mechanical turk and other methods to get real live people to post spam for them. This approach completely bypasses captcha and even the best automated anti-spam services (mollum as an example) can't catch all of this, so now you've got to include manual comment moderation (which is a shitload of work on a heavily commented site) into the mix.

Generally blogs also have RSS feeds and social media links. Most CMS's handle these fairly well without a lot of tinkering but it can get interesting if you (for example) want to segregate your content into multiple feeds based on subject matter or whatever.

So even with a "simple" site the end user has a lot of potentially very technical decisions to make regarding how content is displayed, who can see what, who can comment, how comments are moderated, and what (if any) content is syndicated. Note this doesn't even get into SEO or analytics.

The point I'm getting at here is even simple websites can be miserably complicated little beasts and unfortunately only so much of this complexity can be abstracted before you start running into issues where the available feature set isn't a good fit for some/most/any websites.

With that said each CMS I've studied attempts to solve some subset of the problems associated with creating and maintaining a website. Which subset is tackled varies wildly from CMS to CMS.

For example Wordpress does an excellent job of solving most of the problems associated with implementing and maintaining a blog. I wouldn't care to implement a company intranet portal with it though.

Drupal is incredibly flexible, with plugins available for just about any feature set you'd care to implement. It is brilliant when a site has a complicated or fiddly feature set, but can be intimidating to end users due to the steep learning curve involved. As such it's frequently overkill for truly simple websites.

Various other CMS's have their own core competencies and tend to shine in the situations they where developed to work well for.

If you're looking for something to pattern off of my suggestion would be to first figure out which CMS you would reimplement your site in if you had the option and then go from there.

Edit - Full disclosure: I'm a contributing developer for several Drupal modules.

6 points by tptacek 18 hours ago 1 reply      
Plenty of non-technical people set up Wordpress as a CMS.

Squarespace is an extremely popular hosted CMS that aims at nontechnical people.

Drupal seems to be one of the most popular CMS qua CMS's.

4 points by lshepstone 16 hours ago 1 reply      
(Disclosure, I worked on this product in a previous life) So this is an enterprise CMS example, but the UI did get some pretty decent feedback from customers.

Have a look at http://media.vignette.com and you can see some screenshots. This product was targeted towards media companies (Gaming companies, Online media/news sites, video producers etc) so it did allow us to focus on some specific needs. You can imagine that with the volume of content that news sites produce, their requirements can be a little more high-end that your average user as they can spend 6-8hrs a day in the tool.

After designing and implementing quite a few CMS platforms, I think it is pretty hard to come up with a UI that will be appropriate for all users as many of them come to the tool with very different tasks in mind. Think about the legal guy or manager who just needs to approve something, the creative team who needs to upload some assets, someone working on a page or content, a marketing person who just needs to put some promotions on the site. Even within a media company there are people with pretty distinct roles and tasks they own. Therefore in our last UI we built the notion of workspaces...there was:
- a Review Workspace which had an optimal layout for reviewing and approving content
- an Asset Workspace which was optimised around batch uploading media, resizing it, a filter based UI because the library of images/videos tended to get pretty large
- a Marketing Workspace just for the marketing team who is normally responsible for creating new promotions, and then deciding where they go on the site. Not every site needs this, but for those that do it worked pretty well as the marketing team just saw this workspace when logging in and didn't have to learn or care about all the other areas of the CMS.
- And of course don't forget the Content Workspace where you can create content and pages :-)
- For smaller shops, the workspaces are all accessible to multiple users, it is just the notion of the right UI for the task as opposed to one UI for all roles and tasks.

Not suggestion these are universally appropriate or right for your customer base, but I think on close examination you'd find at least 3-4 profiles of users or common tasks that can be optimised. The result for optimising for the 80% common tasks in this system meant that certain complex tasks could be done in <5 clicks. While I personally rate WordPress very highly for UI, the users we were designing for used this products for many hours a day and they felt WP was too many clicks, especially for media handling.

I've probably droned on for too long already and so there is not enough time to list every UI tweak and feature we created, we spent 2 years on the UI, but here is one example.
Dynamic UI Controls based on dataset size: A common problem with a number of CMS tools we found was that the UI designer made a guess about how much data would be in the system for a certain task, and then design a UI control that might work great for 10 items, but would be useless if there ended up being 10,000 of those items in the system. So we built some UI controls that would adapt to data volumes...say you had content type x and there were only 10 of the items in the system, you'd ideally want to present it with a set of radio buttons (assuming select one requirement)....more than 10 but <50, popup/overlay with all items listed alphabetically on a single page for quick selection, 10,000 and you're going to need some type of navigator or set of filter controls.

P.S. Don't confuse this with some other previous Vignette products which have a pretty poor UI, this CMS was specifically created with a new UI from the ground up for that reason.

2 points by pierrefar 17 hours ago 1 reply      
I think most CMSes are a balance: how general are they so that they can be useful to many different use cases vs how complicated that makes them.

All these CMSes bring their own terminology too. WordPress keeps it simple: it's a page or a post. Leaves it up to you to interpret what that means.

Drupal takes that a few steps further with content blocks.

Joomla, when I last used it, was like having pages ripped from a book, shredded into tiny pieces, and jumbled into a pile.

So when judging end user design, I'd also mention the context and the use case: Do I simply want to produce content that is sorted in reverse chronological order? Do I want to be able to handle all types of content imaginable or just text? And what kind of meta data are you keeping track of in conjunction with the content? Meta data is the author, category(ies), various timestamps, etc.

2 points by ilamont 18 hours ago 1 reply      
Drupal and Wordpress can be configured/customized in ways that are easy for users to use (or an absolute nightmare) depending on the template, functionality and design choices made by the site owner.

For blogging and news, Wordpress seems to have the most flexibility in terms of design. There really are some beautiful templates out there (see http://wordpress.org/showcase/ for some examples).

But Drupal goes beyond blogging. There must be thousands of available modules, offering all kinds of functionality, ranging from advertising support to "relevant content" boxes. (search http://drupal.org/project/modules to see some examples).

2 points by FraaJad 14 hours ago 4 replies      
Plone. Obsessively focussed on being user friendly.


There are many features that are part of core plone, that many other CMSes do not even think exist in a CMS. Anybody suggesting Wordpress as a CMS obviously did not read your requirement for "most modern in terms of ...user experience".

If you hear negative comments about Plone, it is usually from developers who don't actually use the product or opining based on hearsay.

2 points by jordanlev 13 hours ago 2 replies      
Definitely check out concrete5 (http://concrete5.org). As others have mentioned, different systems are better for different situations, but if you're talking about easy to use by non-tech people to manage an informational website, I have found Concrete5 to be better than the rest by leaps and bounds.

The reason it works well for these kinds of sites is that it aligns with non-technical users' mental model of their website. Non-tech users don't think of their site as a template that displays content from a database, but rather as a bunch of pages with stuff on the pages. Most CMS's require users to go to an administrative back-end which shows a hierarchical sitemap of pages -- an abstract representation of their site -- and this is VERY confusing to most people. Concrete5, on the other hand, is based on the concept of content blocks on a page. So to edit a page, you GO to the page and add/edit blocks of content there. The blocks thing is great because it allows for different "mini-UI's" for different kinds of content. For example, to edit regular text, a standard WYSIWYG editor works fine, but if you want to add an image or a youtube video or a navigation list or a google map, it doesn't work as gracefully -- the block system means that different kinds of content can get different editing UI's specifically tailored for that type of content (for example, a youtube video just gets a textbox to paste in the URL, or a google map block presents fields for addresses, marker options, etc.).

There are many web-based CMS's that utilize this approach -- Weebly (a YC company), WebVanta, SnapPages, Yola, etc. -- but I haven't come across an open-source install-yourself CMS other than Concrete5 which works this way.

3 points by NHQ 16 hours ago 1 reply      
I'm just entering the world of CMS design, after having tried many. I tried them for myself, and for client websites. Then I started looking into making my own, to solve my own problems. However, based on my experience, I would say there is no CMS that is good n easy for the non-techie. The fact is, you have to become somewhat techie in order to proceed on any of them, unless you just want to blog.

Custom CMSs are the way to go (not customizable, like drupal: custom made). This is, for me, the biggest advantage of document databases. I'm new to software design, and self taught, but not a coder. I've never tangled with a relational database yet. It's incredibly easy to design case-specific CMSs with document databases.

It all boils down to form design.

1 point by Ueland 13 hours ago 1 reply      
Edit from my side(since for some stupid reason did not explain why i prefer Wordpress):

I have experience from CMS`es ranging from enterprise solutions to all round platforms like Wordpress, my brief opinion about some of them:

1) Polopoly:
A enterprise solution typically used for magazine/news sites. The problem (with many enterprise solutions) is that it is very advanced and not easy to use at all for new users. I would almost say that training is a must for such a solution. I feel pretty sure that with better usability in focus, it could have been almost a killer app for larger sites.

2) EZ:
Taken from the name, EZ should be easy to use, it`s not. This is just another solution fallen into the "Enterprise" trap, instead of focusing on the users that actually have to work with it, they focus on the bosses and persons with the money, in order to sell in the system. The solution itself is relatively plain but you can not simply log in a place and select "new article", instead it is typically creating objects here and there.

3) Wordpress:
Finally a system that has the user in focus, the system is designed for people NOT being geeks. Anybody will without any training be able to login and create some content. It is plain and simple but in the same time it gives the user the needed information and not everything else.

There is a good reason Microsoft has decided to close their blogging services and rather move all their users over to Wordpress.

So to conclude:
I put Wordpress on first place, with the possibility of Polopoly going to first place for larger solutions if they could get their user interface in order.

* I guess some of you would say that Wordpress is not a CMS,in that case i do wonder... What is the difference between Wordpress and a "real" CMS? :)

4 points by te_chris 17 hours ago 1 reply      
Silverstripe. Open source BSD licensed built ontop of a quite nice MVC php framework that takes a lot of influence from RoR.

Is a dream to build both basic and powerful CMS driven sites in. And has a templating language that is like a simpler Erb. No I don't work for them, I just think it is by far the best CMS I've come across

2 points by mattsouth 17 hours ago 1 reply      
I find it somewhat comforting that folks are talking about drupal which I've found excellent for creating sites, adding features and keeping them updated and have been advocating strongly in my organisation, having had fairly poor experiences with other CMS products. But my non-technical colleagues seem to find it simultaneously overwhelming and too restrictive for adding and maintaining their content. Those same colleagues are currently keener on a slightly more modern CMS called modx, which seems to be both more configurable and provide a better non-technical experience. However, modx is being championed by a technical colleague of mine, and I havent had the the opportunity to properly compare the installation, configuration and maintenance experience to drupal.
3 points by Sizlak 15 hours ago 0 replies      
Django isn't a CMS, but it's a framework that seems designed to build CMSs. I'd much rather build a CMS from scratch in Django than try to bend Drupal to my will.
2 points by Andaith 17 hours ago 2 replies      
We use expression engine(http://expressionengine.com/) where I work mainly because the back end interface is highly configurable for us and very easy to use for our clients. Everything is laid out quite consistently and it has everything our clients need(with a few extensions).

It's also really easy to create extensions for any functionality a client would want that isn't provided out of the box.

2 points by mrj 18 hours ago 1 reply      
I've been running dotCMS for 1.5 years now, and it's worked great. The templates are almost pure html, so designers will have free reign.
1 point by scorpion032 16 hours ago 1 reply      
If cost is no object, you should be looking at: http://www.ellingtoncms.com/
1 point by bergie 6 hours ago 1 reply      
Two things I wouldn't want to see in a modern CMS:

- IDE-like administeation UI with fifty buttons in the toolbar

- Forms for content editing

0 points by clistctrl 17 hours ago 1 reply      
As a sitecore certified developer i feel inclined to pimp it :)

If you're looking for a great .net based cms, its the best.

1 point by msacks 18 hours ago 1 reply      
Most CMS systems leave the design up to the developer. The UX components are based on how well you lay over CSS, JavaScript and graphics. Drupal and Wordpress already have rich theming systems and a lot of (out-of-the-box) themes that give a nice UX. For something a bit more advanced you could use something like Apache Lenya.
1 point by jules 17 hours ago 1 reply      
What features are you looking for in the CMS? Just content on pages? -> use a password protected wiki?
1 point by eitland 16 hours ago 2 replies      
Element Fusion, especialy lightcms (http://www.lightcms.com/). Hosted, no worries. Easy to use.
2 points by chopsueyar 16 hours ago 1 reply      
Is Django off the mark here?
1 point by Athtar 15 hours ago 1 reply      
Sounds like you are looking for something bigger/more capable than a WordPress type of CMS. In that case, try Umbraco. I have never used it myself but it looks very user-friendly: http://umbraco.org/help-and-support/video-tutorials/getting-...
1 point by azrealus 18 hours ago 1 reply      
I really like goodie.com and flavors.me. Although they are not full CMS the way they mange content is very impressive.
-1 point by Ueland 18 hours ago 0 replies      
Wordpress, end of story.
Ask HN: dashboard similar to geckoboard?
19 points by vijayr 16 hours ago   5 comments top 5
2 points by pmjoyce 4 hours ago 0 replies      
I'm the founder of Geckoboard. I know we've been slow in getting the invites out; we've had thousands of signups for the beta and been slightly overwhelmed. My previous offer to HNers stands; if you mail me (see profile) with your HN username I'll get your invite straight out.

I haven't managed to check out Leftronic yet but would love to.

4 points by thenayr 14 hours ago 0 replies      
Gecko is the best I've found so far and the API is incredibly intuitive and really allows you to implement statistics from anything.

If your looking for a beta invite, a company called http://geckoboardapps.com/ is giving them out over twitter if you simply ask nice enough.

1 point by Sukotto 14 hours ago 0 replies      
1 point by Titanous 14 hours ago 0 replies      
1 point by scorchin 14 hours ago 0 replies      
Ask HN: What's the best phone to write an app for for Linux C programmers?
13 points by scumola 15 hours ago   15 comments top 11
10 points by kqr2 14 hours ago 1 reply      
Android also has a native C/C++ development kit.


You can also cross-compile iPhone apps on Linux, however, you won't be able to sell it at their app store.


Another alternative is the Nokia N900 which uses maemo.


2 points by m0nastic 13 hours ago 1 reply      
I'm a little surprised no one mentioned WebOS; the phone runs Linux and the PDK is in C (although as pointed out in the reply below, the PDK is only available on Windows and Mac right now).

I would also look at Meego (what Maemo became after it merged with Moblin), which you can code in C, C++, or Python (or really anything, although the native graphical interface is Qt).

The only issue with either of those is that you might be writing an app that no one will use (as one platform was still-born, and the second isn't yet born). That's the price you pay to avoid learning new technology though.

1 point by tzs 11 hours ago 0 replies      
You don't give enough information for a reasonable answer. What's the app for and how do you want to distribute it?

For instance, if your app is intended to go into widespread distribution and make you some money, then the answer is either Android (suck it up an learn Java) or IOS (you should be able to develop on a Hackintosh).

1 point by jrockway 14 hours ago 0 replies      
OpenMoko, which is Linux-based and uses C for all the core apps. I don't think anyone uses it anymore, though; everyone just installed Android on their handsets.
2 points by Xuzz 14 hours ago 0 replies      
In case you are interested in iOS, you can check out the Open Toolchain project: http://code.google.com/p/iphonedevonlinux/wiki/Installation

It's not seamless, and you might need to learn Objective-C (don't worry, it's not Java), and you can't submit to the App Store, but it is possible.

2 points by dillon 13 hours ago 0 replies      
WebOS uses HTML/CSS for it's interface and uses Javascript for it's apps. Palm also has a PDK which allows you to write apps in C. Problem is Palm hasn't released it's PDK for Linux. Luckily some hackers have been able to get it to work. http://goo.gl/MnyQf
1 point by ig1 14 hours ago 0 replies      
That criteria pretty much rules out Android, iOS, Windows, and Blackberry. That leaves you Symbian out of the major players.
1 point by chuckmcknight 13 hours ago 0 replies      
There really isn't one. Symbian might be the closest that's still out there. Android would be somewhat quirky at best, and Apple wants you to use their toolchain.

Having said that, take a look at Appcelerator's Titanium (appcelerator.com) or AppMakr (appmakr.com). They both provide tools that enable you to create HTML/CSS/Javascript screens and also intermingle with other scripting languages to produce a compiled app for desktop, Apple, Android, and others.

1 point by pessimizer 12 hours ago 0 replies      
Qt. That way you get Symbian, Maemo, Meego, and Linux tablets, like the Shogo (embedded applications, like the QooQ on that have been pretty successful.) Qt for Android, Windows, and iPhone seem to be coming along, albeit slowly.
0 points by shareme 14 hours ago 0 replies      
find out what devices run Poky Linux
Ask HN: Best way to auto-organize 16GB of pics
20 points by phlux 21 hours ago   24 comments top 16
18 points by wccrawford 19 hours ago 0 replies      
Hash them and store them in folders by the first few characters of the hash.

You said 'organized', but didn't say HOW.

If you don't tell us what kind of organization you're looking for, there can be no meaningful answers.

4 points by tibbon 19 hours ago 1 reply      
I use Apple's Aperture. I have around 200GB of photos organized in there.

When I dump a flash card to the computer (using Aperture), I then remove the card, and delete it manually on the camera.

Then I go through a quick pass in aperture rating everything that is just a poor/duplicate shot as '-1', so that it can go into my deletion bin. Ones that are exceptional get marked to '1' at that point. Most don't get rated. This is a really quick pass.

Then I make a second pass where I can start making more decisions.

A third pass is generally required to figure out what is really decent, worth uploading/printing/retouching.

Fortunately, 16GB of photos isn't too much to organize. Around 450-500 images on my camera.

7 points by joshuacc 19 hours ago 0 replies      
Depending on why you need them organized, using Amazon's Mechanical Turk to tag photos based on content might be a viable solution.
1 point by woodall 6 hours ago 0 replies      
I do not use this personally, however, friend's of mine REALLY like organizing their photos on FaceBook. There they can tag photos, share photos, and even hide them.

My suggestion, upload them to FaceBook. Note: I am telling you something that I personally would do, but if you do not mind it then go ahead.

Use your friends as MechTurks; I mean who knows you best? FaceBook does have an album limit of 1000, but you can have unlimited albums[1]. Have your friends tag things, comment, and generally help you! After all that is said and done, spider your albums.

I do like the 'back upiness' to all of that, but I do not know if FaceBook preserves the originals. I do know that they store your photos for up too, if not more than, one year after the deletion date.


1 point by portman 16 hours ago 0 replies      
Here's what we do.

We have 120GB of photos from the last 4 years (when our first kid was born). They are in folders:

  - Year 
- Month (starting with #, ie "5. May"
- Outing (ie "Air & Space Museum")

Photos that are just around the house are in the root of the month folder.

This makes it easy to search for specific events and vacations (based on the descriptive "outing" folder name), but the weakness is that it's hard to find a particular 'round the house pic if we forget what month it was taken.

4 points by joelhooks 18 hours ago 0 replies      
we store around 500gb of photos currently. They are stored with two classifications. Our photography studio and our family photos. Both are organized chronologically with a top level folder that is the year. Within that folder we have 1 through 12 for the months and then each month is divided up to events (and sometimes the specific date).

All of the photos are backed up daily to a 1TB RAID1 NAS and monthly to a single 1TB hard disk that rotates to my mother in laws house. My rule of thumb is three copies if you don't want to lose it.

It is important to keep in mind that 16+ gigs of photos is only going to grow over time. That is where we started too.

1 point by sliverstorm 18 hours ago 0 replies      
There's really no solid way to auto-organize photos besides the organizing a photo suite like Picasa will do based on album names and such.

You've just got to sit down and go through a couple hundred pics and sort them, call it a day, do another couple hundred pics tomorrow, ad nauseum until you're done. Then make sure to stay on top of organizing new photos as they come in.

The hidden benefit is you wind up looking at all your photos! That's what you have them for- to look at! And without motivation, the odds are slim you'll look at them all. (If you're a professional photographer and the photos are not of your life/family/friends but that of your clients, obviously just organize by client/job/)

P.S. there is ONE real sorting method- extract the metadata and divide into folders based on date. It's not very good, but it's the only one I know of you can automate.

1 point by piramida 20 hours ago 0 replies      
I have 25gb pics without video, storing in folders by year-place or year-event, and having all that stream to picasa + google online storage (cheap, 5$ per year for 21GB).

This way you have all pictures online to annoy friends from any computer + picasa does the face detection, so you only have to add non-human tags for later searches (I'm usually lazy).

Anyway, picasa makes it easy to find a particular photo even if you don't have it tagged, works both on mac and pc, and also flawlessly works with online storage.

1 point by natch 18 hours ago 0 replies      
I love iPhoto Library Manager (http://www.fatcatsoftware.com/iplm/). I doubt you'll find anything completely automatic... well other than wccrawford's hashing idea.
2 points by bjg 19 hours ago 1 reply      
I always found Picasa's organization of photo's pretty useful.

It automatically categorizes the photo's by date, you can also set it up to do automatic/guided facial recognition.

Another nice feature is the integration with a lot of online services.


Demo video: http://www.youtube.com/watch?v=gYO2uhrIZJ4

1 point by thelastnode 10 hours ago 0 replies      
The regular way to do this would be just trudging through them after grouping by date or something.

A cooler way (albeit significantly harder, at least until it's working) way to do this would be to consider it an AI classification problem... maybe with enough training (as you go, since you'll be organizing anyways), it can start to suggest categories, so you can just hit accept as you fly through your pictures!

1 point by lotides 10 hours ago 0 replies      
OS X users " Use MetaDataMover to move and rename automagically based on embedded metadata. I have folders for year, month and day. The file name includes the camera name (we have several) and a sequential #. We try to remove poor photos as soon as we download them. In 30 years you're not going to want to look through gigs of photos, you just want to see the best (and most memorable) ones.
2 points by tomjen3 19 hours ago 0 replies      
Write a short program to extract the meta data from your photos, organize them in clusters of dates and volia they are organized.
1 point by there 20 hours ago 0 replies      
it probably depends on what the pictures are of and what you need to use them for in the future.
1 point by balu 19 hours ago 3 replies      
Nice question. I got about 200GB all organized within iPhoto. Size comes from the pictures being mostly saved in RAW. Still, iPhoto becomes slow.
I moved the library to an external hd to have free space on my internal one.

I fear the day I got to dig through every picture I made and decide if it is worth keeping or not. :-/

1 point by withoutasound 18 hours ago 0 replies      
If what you want is to organize by date taken, have a look at this ruby script: http://al3xandr3.github.com/2008/11/25/ruby-foto-organizer.h...
Do you read HackerNews all day and never actually do anything?
360 points by tossit 3 days ago   141 comments top 73
36 points by alex_c 3 days ago 8 replies      
I've never been at the stage where I don't do _anything_, but I'm often frustrated that I don't do _enough_.

I went through a stage of spending way too much time on Reddit - on the order of 4-5 hours a day. This has been discussed often, but it can be crippling - as soon as you hit the tiniest mental roadblock, you switch your browser to Reddit, next thing you know it's 20 minutes later and not only is your roadblock not solved, you even forgot what you were doing. So then you read more Reddit while you try to remember.

It's terrible, and a lot of it isn't even conscious, until the day is over and you realize how little you did.

My friend made a good point - you don't NEED more than 15 minutes a day to keep up to date with what's on sites like Reddit or HN. You can spend a lot more time, but beyond a certain point it's just frustration that you've already read all of it.

So I installed LeechBlock:


I set it to allow 15 minutes of access every 6 hours to my timesinks, and I set it to not allow access to its settings during the blocked times (so I can't easily turn it off).

At first I would hit the blocked page every few minutes, without even realizing that I intended to do so. The frequency was a bit shocking, to be honest - part of it was honestly muscle memory by then (alt-tab to browser, type "re", down, enter). The blocked page made it possible to force myself to focus on work again, every time, but it also made me realize how badly my brain patterns had been disrupted - my brain just craved distractions and did NOT want to focus for more than a few minutes at a time, which is never enough to do anything meaningful.

After about a week, the cravings for distraction were a lot lower. After about two weeks, they were mostly gone. I've now settled into a good rhythm, I complete tasks without interruption and check the time sinks for a few minutes at a time in between tasks - and I always have the safety net of the 15 minutes per 6 hours limit. I usually hit that limit, but not always.

Sure, it's trivial to circumvent LeechBlock (just use a different browser, for example), but that's not the point. The point is that you are making a conscious decision that what your brain is doing is not OK, and you need to re-train it to do what you want. Things like LeechBlock are not magical solutions, but just tools to help you do that.

Edit: I prefer LeechBlock to the hostsfile hacks because it's not as rigid: it lets me settle into a natural rhythm that works for me, which also means I'm a lot less likely to turn it off and "forget" to turn it back on.

39 points by edw519 3 days ago 5 replies      
Simple hack: 2 computers, one for work and one for the internet. Different workstations, preferably in different rooms.

It's a lot harder to get up off your ass than to hit alt-tab.

Harness that laziness to your advantage.

17 points by klodolph 3 days ago 2 replies      
Well, I'm working on something real right now. It's a web application that works now but it's a total hack. I want to actually make it into something usable by others so a couple days ago I black holed Reddit in /etc/hosts. It worked so well I'm considering the same for Hacker News, too.

There's the comment by "AgentConundrum" who argues that any method of limiting access to an addiction such as HN can be circumvented -- the simple truth is that you can't outsmart yourself. However, I see it differently.

When I open a browser window and click the Reddit bookmark, it gives me an error. While I'm staring at that error message, my higher thought processes have a chance to kick in and argue about what to do next. I think, "Editing my hosts file would be an admission of defeat. I'm better than that."

It's like the "brush your teeth" diet. You know, the one where you brush your teeth after you've had enough to eat. Whenever you want to have a snack, you think, "I can't... I just brushed my teeth. Snacking would undo my progress with dental hygeine."

Both of these tricks are flat-out illogical. A hypothetical rational person would not be affected by these tricks. However, if you were a hypothetical rational person, you wouldn't need to change your behavior in the first place.

67 points by melling 3 days ago 6 replies      
HN should put a little entrepreneur badge next to your name for having shipped a product. That would motivate some people.
11 points by todayiamme 3 days ago 1 reply      
Most people like edw519 have talked about practical solutions to it, but have you ever considered why you do it?

Maybe you just need excitement and intellectual company? Maybe you just want to have someone in your life that inspires you to do something? Maybe you just need to find the right people?

The point is that physical hacks for behavioral problems are ineffective until emotional hacks are taken into account. Just take a deep breath and try to understand yourself.

I'm saying this because I used to be addicted to HN, but now it just doesn't matter. After a series of realizations I'm simply indifferent to that high, and that's something far more long lasting than a firefox extension.

Take care.

9 points by bluishgreen 3 days ago 1 reply      
The /etc/hosts hack actually works. I don't use noprocrast since I need to visit news.yc for other good reasons during my work.

But the trick that really made the difference is this. I run a cron job which will over write the /etc/hosts with a file which has yc/reddit blocked. This way, when ever I open access for good reasons or even to have my 30 minutes per day of YC reading, the file gets overwritten in the next 30 min window and I get fed up with editing it again and again. So I give up and go back to work, sort of like nagging myself very effectively.

6 points by kacy 2 days ago 0 replies      
I have a huge problem with this. My problem is getting started. Sometimes I'm so overwhelmed by what I have to do that I either don't want to start or I don't know where to start. However, when I begin, I can code/study for hours on end. Maybe some of you are in the same boat.

Here are some tools I'm using to keep myself focused. Concentrate (http://getconcentrating.com/) blocks websites that distract me, opens/closes apps, blocks distracting apps (RSS reader, Twitter), and reminds me every ten minutes of my goals via Growl. I'm also using it with Vitamin-R (http://www.publicspace.net/Vitamin-R/index.html) to help me work in pomodoro cycles. Hope you get some use out of those apps! :-)

24 points by gregschlom 3 days ago 3 replies      
There was a story recently on HN about a guy who splits his work hours into 30 minutes of work and 30 minutes of distraction. It turned out to work quite well for him. I guess I'm almost doing the same, spending most of my "distraction" time on HN.

There's a good trick however if you want to stop doing that: work with someone else, with each one being able to look at the other's monitor. Even better: do that with people you actually hired. I can guarantee you won't be spending any minute of your time procrastinating.

8 points by jgrahamc 3 days ago 0 replies      
No, but for me Hacker News is like having the radio on in the background. It's always open in a tab and I'll read it frequently. If I wasn't doing that I'd probably be day dreaming listening to Radio 4.
8 points by vaksel 3 days ago 0 replies      
realizing that you have a problem is the first step.

you just need to get started doing something, once you are actually doing instead of dreaming, you won't have the free time to waste on distractions

21 points by pierrefar 3 days ago 3 replies      
Yes, which is why there is a useful noprocrast setting in your profile.
5 points by rosariom 2 days ago 0 replies      

I have faced (maybe still facing) the same issue and have started to employee 3 techniques, first two of which Tim Ferris mentioned.
1- Cultivate selective ignorance
2- Batching tasks up
3- Create a schedule

How would this help? HN, Reddit, and the other news and information sites out there are awesome but can become time-thieves
if you let them. We come to these sites to see what is the latest and greatest in the news, for inspiration, and also to learn so that we can
do things better. The question is: how much information do we need to be adequately informed and how much do we need to learn in
order to get to work on something we are passionate about? Not as much as we would think in my opinion. Cultivating selective ignorance is necessary to ward off
the feelings of "I need to read more in order to get this thing going", or "I am falling behind, need to catch up with the news".
We will never be able to get it all and thus just need to focus and specialize to some extent. Well rounded-ness is great, but in excess it will give
you no depth in anything. Do not try to consume all data from all sources; we cannot keep up with the data deluge and will drown in it if we foolishly attempt
to do so. Use what you already know, get started and focus on your ideas. If you do not you will just build up all kinds of anxieties and will feel down on yourself
for not doing anything. In addition, this data deluge is also overwhelming and you may feel like you are not smart enough or the product will not be good enough
for launch. It feels good to even do the simplest of tasks you set out to do and makes you want to do more. I blog about something similar to this here:

Batching and scheduling are awesome concepts to start using immediately. Information addict? I know I am and love to consume much data. My information-rich diet includes
all the stuff you guys are reading but what I do slightly differently than some is set dates and times during the week on my phone calendar to read this data. Instead of reading everyday
I pick some days of the week to get it all in and limit myself to that. If you have a calendar on your phone or pc or the web, use that to control the addiction. You do not need to deprive yourself
completely (unless it is a severe problem) just schedule when it is ok to read. I use this for errands and other things as well. We all need breaks from work to unwind; use this time to catch
up with friends and family, errands, and reading. Stick to your schedule and it will all fall into place eventually. Paul Graham definitely does not want this site to be a time-sink.

Hope this helps!

3 points by jseifer 2 days ago 1 reply      
The best thing I've found for distractions is a program called "Concentrate" on OS X. You can set time to block certain classifications of sites, such as social networks. I do the pomodoro technique which is 25 minutes code, 5 minute break alternations. You'd be surprised that you get just about the same amount of HN time in your 5 minute allotments.

I did a blog post about it here: http://jasonseifer.com/2010/02/08/using-concentrate-for-pomo....

7 points by klbarry 3 days ago 1 reply      
Keep in mind sites like Reddit and HN are pretty addictive in a chemical way (so can your email be). When you see something interesting or that agrees with your identity your brain gives you a hit of dopamine. You browse and look for the funny or fascinating because you remember finding somehting great earlier.

It's funny because Reddit hates advertising/mass manipulation etc but are being manipulated by the group all the time in many ways.

9 points by rms 3 days ago 0 replies      
And Less Wrong, and reddit... and my day generally starts in the afternoon, so the day itself isn't very long.
4 points by duck 3 days ago 2 replies      
I would recommend Rescue Time (http://www.rescuetime.com/ - YC08). You can try to block HN (and other time wasting sites) multiple ways, but they are easy to get around. However if you see the total time spent it might make you change your ways. Plus you can see how much time you are in programming mode and have a couple weeks can really see some trends and work on them.
3 points by Apreche 3 days ago 0 replies      
Yes, I do this. However, the reason is not because I am unproductive or distracted. It's because I'm at work. If I have work to do at work, I do it. Then I have no work to do. I would work on my own personal projects, but then they would be works for hire. I have to work on them at home in order to own them. Even if I get them to agree to let me work from home, I have to work on the things outside of work hours to get them to be my own property.

I would be glad to quit and just work on my own personal projects. Will you pay my rent? Didn't think so.

4 points by adambyrtek 2 days ago 0 replies      
You're in a good company, Paul Graham himself wrote about this problem several times.



4 points by tfh 3 days ago 0 replies      
May be you need a coding buddy. Sharing the ideas and working together on a project always gives me strong motivational boosts. Plus having to explain ideas to others helps in finding flaws.
4 points by LordLandon 2 days ago 0 replies      
Two ideas:

A large part of the reason HN is so distracting, is that usually, when you read it, you look at the front page and open everything that looks interesting in new tabs. So when you're using your browser for something productive, you see a tab open that you haven't had a chance to read, and you want to go read it. Solution? Firefox profiles. Start firefox with firefox -P work --no-remote, and use that for all your work related things, while your should-read-later-eventually-maybe tabs stay happily open in another profile.

Second idea,

  echo "" `sqlite3 ~/.mozilla/firefox/*default/places.sqlite "select url from moz_places order by -visit_count limit 100" | cut -d/ -f 3|sort -u| tr "\n" " "` | sudo tee -a /etc/hosts

Maybe HN isn't your only distraction, and this saves you having to figure it out.

1 point by sfphotoarts 2 days ago 0 replies      
Since this community is largely made up of smart people, and since it seems pretty common to spend 'too much time' doing things like HN, and since we are currently the product of a lot of evolution I wonder if focus is actually all that's its cracked up to be. Possibly our overall productivity when viewed on a larger scale is better because we get distracted, possibly idea generation, possibly just the social aspect, or learning of a new technology etc. I just wonder if this is so bad really.

The Web2.0 Summit said that the tech sector is innovating at an unprecedented rate. One of the changes in the software industry in recent years is the rise of the social network and sites like HN. Maybe 'time wasting' isn't so bad after all - viewed at a higher altitude that personal productivity.

8 points by viraptor 3 days ago 1 reply      
Yes, but it's ok - my code is compiling...
2 points by jorangreef 2 days ago 0 replies      
Ben Franklin has a saying "experience keeps a dear school but a fool will learn at no other". In other words, seek wisdom and experience vicariously, and as Isaac Newton said, "stand on the shoulders of giants". The word vicarious means "experienced in the imagination through the feelings or actions of another person".

But there's a cost to vicarious experience when we start to derive feelings of fulfillment ("being in the game") from success stories at the neglect of reaching for our own. A telltale sign is when people start calling Steve Jobs "Jobs" or Bob Dylan "Dylan", as if they know them. Don't live in the movies. The real world is a better movie.

There's a Biblical saying that goes something like this "the Kingdom of Heaven is not a matter of talk, but of power". The earthly realm is certainly no different. Use vicarious experience to gain wisdom, not to trigger endorphins. Keep your head down, your mouth shut, and get on with your own business.

3 points by dominostars 3 days ago 0 replies      
If you're easily distracted, it doesn't matter what you're wasting time with. If it's not HN, then it's Reddit. If it's not Reddit, then it's Facebook. If it's not Facebook.. and on and on.

I keep myself going by setting personal deadlines: I don't browse the internet if I 'need' to finish something before, say, going to lunch.

EDIT: Also, before stopping work, I always try to have a good idea of what to do next. It's much easier to dive back into work because I know what to do, and my subconscious has had time to think about how to do it. This was inspired by Hemingway's 'hack':

"The best way is always to stop when you are going good and when you know what will happen next. If you do that every day … you will never be stuck. Always stop while you are going good and don't think about it or worry about it until you start to write the next day. That way your subconscious will work on it all the time. But if you think about it consciously or worry about it you will kill it and your brain will be tired before you start."

10 points by newt 3 days ago 0 replies      
No, I read reddit all day, and when I want to actually do something, I read HackerNews. It's (almost) work-related.
1 point by bendotc 2 days ago 0 replies      
If your problem is spending too much time on HN, do you really think the solution involves posting on HN?

If this is really a problem, close your browser and never come back here and you'll have a much more productive life. If you find yourself coming up with substitutes, do the same with them. Think of this as your alcoholism, and realize that moderation, while it works for some people, is not an option for you.

3 points by klaut 3 days ago 0 replies      
Since i've handed in my resignation letter it is very hard to actually do any work at all. I spend almost all my time at work reading HN and other similar sites. I do feel very bad for this but can't help it.
3 points by phalien 3 days ago 0 replies      
Same here. I just started to get out of it, this is how I'm trying:

1. I made a list with all my (good!) projects ideas
2. I tried to estimate how long each would take to have a Minimum Viable Product ready for launch
3. I chose the one with the shortest time estimate
4. I split the whole project in tiny todo items (things you can do in a few hours: like "create the sitemap", "create the db structure", "outline the homepage", "make that script" etc)
5. I put the list on my desktop in a long Stickie
6. I commit to myself to mark as done at least one todo each day

And it seems to work, I'm halfway through my project now.

2 points by momotomo 2 days ago 0 replies      
Solution I found (globally, in a lot of scenarios, not just related to HN) is: Don't do anything unless it's specific.

I try to only sit at the PC if I'm "doing" something on it. Even in micro bursts. Shortlist of examples:

- If I'm thinking, I'll stand up away from the station

- If I need to code, I'll sit down with the purpose of coding to a goal / time window

- If I'm stuck, then again, I'll get off the station / away from the keyboard and think

- If I fire up HN, its specific - I'm checking HN for 20 mins to see whats happening, browsing some articles, then stopping.

- I try to avoid randomly tabbing back into mail clients and etc, I'd rather tackle it as a distinct thing as well

It applies pretty much everywhere though. If I want to game, I don't just sit down and play, I'll decide - take a break, 20 mins, gaming, do it. Done is done, get back on task.

The higher level thing is to hit your day / hour / afternoon period etc with a clear idea of what you actually want to get done. I find when you're carrying a bigger idea (eg, shit, i need to get this document out today!), it automagically structures your time a bit more.

1 point by abyssknight 2 days ago 0 replies      
Yes, a little. I have a day job, and unfortunately am unable to break away from that to join the entrepreneurial pool. Like you, I have a background littered with technical acumen and actually helped with a few start ups. I enjoyed it, but the instability just isn't for me right now.

I still do things and make things, but they aren't start ups. Some are school projects, others are for my day job, and some are just for fun. I read HN because there are great people with interesting opinions on stories I want to read.

That said, I feel the same way. I want to break out and do things. I get that feeling sometimes, and it hurts to feel trapped, but then my paycheck goes through and I log my 40 hours and go home.

1 point by joe_the_user 2 days ago 0 replies      
Hacker news has wasted a lot of my time.

But it has also provided a lot of information that constitutes authentic "professional development" - links to important algorithms, debate over software process and similar things.

I don't know have any idea how the equation balances but if I didn't read Hacker News I'd have to find some more active way to make sure I read enough papers.

What seems like an opportunity would be to build a discussion forum where the posts and discussion was at a high enough level that the time essentially wasn't wasted. HN isn't there yet but it's a hint about what might be...

2 points by andreas_bak 3 days ago 0 replies      
As long as you making plans and analyze why to do something or not, you are losing your time on over-analysis. Instead of reading super-analytical and pseudo philosophical 'less wrong' or marketing crap from 'techcrunch', that have little to do with reality, start to do something REAL. When you do something REAL, ideas will pop-up on the course and some believes will be challenged, but this is the only way.

HN is great community but there are some stereotypes that need to be chalenged on personal level:

1. The "SWEAT CAPITAL" is better than Venture Capital, and you have access to it already.

2. If you want to make money, do not think in the box. Here people tend to analyze what already been done. This is not a way - you need to innovate.

3. People will laugh with your ideas and failures. You need to be firm believer in what you do. Respect is gained and not granted.

4. Start doing something "stupid", without prospects of economical gain. you will see that you will end up with something completely different than when you started thinking about it.

5. Stop dreaming -- Start Doing. It is much more rewarding and interesting.

Let It Be.

3 points by GrayRoark 3 days ago 0 replies      
I'm working on something real. The trick for the overload:

1) http://jeffmiller.github.com/2010/07/23/a-cure-for-hacker-ne...
2) Never read it immediatly, use instapaper first, and only read at the end of the day.

- sometimes I just go take a peak, just like this story =)

1 point by SkyMarshal 2 days ago 0 replies      
Part of the problem is Variable Ratio Rewards, or random rewards. MMOs use them intentionally to get people addicted, but they're also inherent in social news sites.

Sometimes you find real gems, either in the articles or the discussions (on HN often the latter as much or more than the former), and sometimes just noise. But you never know which will turn up on the front page and when, so you keep checking back over and over.

4 points by spacecadet 3 days ago 0 replies      
I usually read HN once in the morning, once at lunch, and maybe before falling asleep. I find it doesn't really change enough for me to read it "all day". But I never leave the first page ;p
2 points by ThomPete 3 days ago 0 replies      
What I would do if I where you would be to start writing a blog and then feed that into the HN community. That way you are forcing yourself to do something while still being able to read HN.

After a while someone will probably tell you that some of your ideas are great enough that you will build the necessary will power to get started.

Remember ideas are a dime a dozen, execution is king.

2 points by tzury 2 days ago 0 replies      
on your profile page fill in these fields

    noprocrast: yes
maxvisit: 15
minaway: 180

That will allow you spend no more than 15 minutes every 3 hours

2 points by godawful 3 days ago 0 replies      
Try Leech Block:


It blocks selected websites during hours / days you select, or allows you to say "No more than 30 minutes of Hacker News every 4 hours." It's highly configurable.

Of course, you're smart enough to find a way round its blocking if you want to. But really, deep down, you want to be productive and when Leech block pops up with its "Site blocked" screen, it will be a helpful reminder of this.

3 points by ithkuil 3 days ago 0 replies      
same here, ehm I don't whether to feel ashamed or happy to see somebody else in the same situation
1 point by transmit101 3 days ago 0 replies      
May I suggest my noprocrast gem? Designed to solve exactly this problem.


1 point by gtani 2 days ago 0 replies      
1 point by piramida 3 days ago 0 replies      
Click on your username, set "noprocrast" to yes, then you will find yourself often staring at the "Sorry you can't view this site" text but you will get more productive. You can even select how long you want to work between reading HN there. It really helps and I can't thank PG enough for this :)
3 points by ungerik 3 days ago 0 replies      
A mentor of mine always says: Do you want to be the one who reads the news, or the one who makes the news?

Also: Learn more just in time instead of just in case.

3 points by StudyAnimal 3 days ago 0 replies      
Yes, but only at work.
It works out quite well actually, when work is over, I am pretty sick of HN, so it isn't quite as appealing a distraction at home as it is at work.
1 point by kristiandupont 3 days ago 1 reply      
If you are on Windows, you can download CherryTomato which is designed to help you with procrastination even though it sounds like your condition might be severe :-)


2 points by dragons 3 days ago 0 replies      
No, I work at my 9-5 job all day. I usually peruse HN over breakfast or dinner. After dinner, and on weekends, I work on coding a little application of my own.

I find that it helps to read HN to keep me motivated. I doubt I'll ever make much money off of the applications I create. But it's encouraging to read about people who do.

3 points by racerrick 2 days ago 0 replies      
Underwear. Never get out of bed.

Just me and Hacker News.

Big picture of Paul Graham on the wall.

2 points by emilepetrone 3 days ago 1 reply      
Download Selfcontrol, set it for 8 hours, and block HN, Fb, news sites, etc.

It blocks those sites you waste time on, and you cannot change the settings by quitting the app or even restarting your computer. It's great.

1 point by iuguy 3 days ago 0 replies      
Not so much (mind you I was on HN a lot by my standards yesterday, but I was off sick), although lately I've been going through my morning browsing and submitting the tabs I found interesting, which I've noticed tends to result in a minor surge in posts by me on the new page.
1 point by ammmir 2 days ago 0 replies      
i find that small distractions of 10 minutes at a time are fine, but often we get stuck on a site because we haven't finished reading it fully before we tell ourselves to get back to work. long pages (like these comment threads on HN and other sites) don't seem to help the matter.

someone should make a browser extension that visually blocks out parts of a page while you're supposed to be working. it would slowly reveal (say from top to bottom) parts of it the more time you're away from it and actually working. this way, your "reward" would be a fully rendered page every 10 minutes or so.

1 point by forgottenpaswrd 3 days ago 0 replies      
No, I divide my time on two fronts: quality time, when I'm fresh and full with energy, and rest time.

Hacker news is always part of the rest time, when I'm tired and lazy so no problem quitting.

On quality time focus and only interrupt it for resting.

3 points by seejay 2 days ago 0 replies      
well... all my work is scripted... so its ok to spend a little time on HN B-)
1 point by Omnipresent 2 days ago 0 replies      
This happens to me all the time. For a while I stopped visiting HN to make myself feel better. Reading all the comments on this page, I feel people are just proposing hacks that stop you from visiting sites like HN or reddit. I think best hack is to start your own project. Do anything, it could even be reading a book and typing code from the book into your computer. Doing _anything_ will make you feel better about yourself. Remember, it does NOT have to be a product that magically changes the world and brings unicorns to life
1 point by J3L2404 2 days ago 0 replies      
There are addictions in this world far worse than HN.

I may have a monkey on my back but at least he is fairly civil and always has something interesting to say.

1 point by vilius 3 days ago 0 replies      
How many hours does HN distraction cost you? For me it was like 2 hours per day, until I reached a point where I felt that I knew just enough to actually go and start doing something. Building something was the way to test my knowledge. Now I'm in progress with my first startup and HN browsing takes 15 minutes, I mainly bookmark stories that might benefit the project I am working with, it keeps me going.

So my advice would be, go and test how well you know "THE GAME", build something!

1 point by frazerb 3 days ago 0 replies      
As a self confessed HN addict, I want to share a new technique I found that massively improved my productivity in an instant.

Too good to be true ? Read on....

The technique is slightly different, depending in which operating system you have, but in general the instructions are:

(i) switch to your browser
(ii) select "Exit" from the "File" menu.

Voila! Productivity improves. [[ assuming your not using the browser for work, of course ]]

Try it.

1 point by d3x 3 days ago 0 replies      
I am glad I have never had this problem. I really dont care about HN @ all and just use it as a resource to learn from the same as TC and a plethora of other websites. I enjoy making things so thats what I do and the same goes for my friends. If you enjoy studying startups more than launching products etc... then perhaps you should shift your career in that direction.
1 point by willheim 1 day ago 0 replies      
Was this posted by Ryan of The Office while he was supposed to be selling WUPHF.com?
1 point by paufernandez 3 days ago 0 replies      
I do. But I've come to accept it like that, for me it's not that terrible anymore. After all, I am not "in the game", really, even if it would be nice. It's a shame you cannot get the entrepreneurial gene after being born. But it's nice to be able to watch things unfold from a close distance.
1 point by codefisher 3 days ago 0 replies      
Do similar things only when there is nothing else really interesting ready to hand. So if I have an assignment due and have a total dislike for it, yes I will waste a lot of time reading various site like HN. But if I have something fun available, maybe only a few moments when I am taking a break.
1 point by nayanshah 3 days ago 0 replies      
I read it through feeds and keep checking every 3-4 hours. This gives me time to do others things as well. As of now, not very active in discussions, but trying to hop in.
1 point by IAforyears 2 days ago 0 replies      
You seem to be doing something, since you are reflecting about your own problems and making this little post about doing nothing.
0 points by scrrr 3 days ago 0 replies      
I don't see a reason to up-vote that post.

I guess you don't feel the incredible urge to make things. Perhaps making things is not for you then. I don't think its laziness, it's simply that you don't NEED to do anything.

7 points by kinnth0 3 days ago 0 replies      
1 point by plehoux 3 days ago 0 replies      
For the past month etc/host block on my macbook. Access with my ipad at night and in the morning. I gained a lot of productivity!
1 point by SkuldOMG 3 days ago 0 replies      
My problem is that my time is occupied by other things at the moment. I read Hacker News (and Hackers Monthly) every day before heading to University and during my afternoon cup(s) of coffee and feel really inspired to get something done, but work for University and for an upcoming language exam keep me so busy that I don't have the time to actually get some coding done.

I hope that changes sometime soon..

1 point by xgMz 2 days ago 0 replies      
Me weekend, full of plans, ended in only reading HN (except when I went out)...
1 point by jyf1987 3 days ago 1 reply      
nope , mine is Google Reader
i want to make a filter to help me do reading quickly
1 point by sacv 3 days ago 0 replies      
on mon-fri - yes..it helps me to run....on weekends - no, cause - HN walks on weekends
1 point by itsnotvalid 2 days ago 0 replies      
Count me in.
1 point by iepaul 3 days ago 0 replies      
yes every day!
1 point by JohnDeHope 3 days ago 0 replies      
1 point by timme 3 days ago 0 replies      
International Olympiad in Informatics covered in Wired magazine
5 points by gsivil 11 hours ago   discuss
Ask HN: Series LLC vs individual LLCs?
23 points by abinoda 22 hours ago   10 comments top 5
4 points by Shooter 18 hours ago 0 replies      
<Anecdotally> I've formed three series LLCs (one in IL and two in DE.) The first two times, they were basically used to register investment fund families so that each individual fund didn't have to be registered. We saved a significant amount of time and money in the long run, but we used legal and tax professionals that have expertise in using series LLCs for EXACTLY that purpose. The team had securities attorneys and compliance officers triple-checking our work and we were using it for much more than just saving on basic filing fees, etc. I would estimate we saved in the hundreds of thousands of dollars. But it was a very specific use case, and there have been many mutual fund/investment companies that have went before us and tested the boundaries.

The last time I formed a series LLC it was for almost exactly what you are proposing - a consulting firm/startup incubation company. I just went with my gut feeling based on what I had read on the internet and my prior experience with the fund companies. I had the series LLC formed by an attorney with series LLC experience in DE. I think I paid under $700 for the formation. Overall, it has been a HUGE mistake. The costs and hassles of keeping up the separation of the series (separate bank accounts, separate accounting systems, etc.) has been a pain and has far outweighed any of the benefits gained. In fact, it has been a pain just trying to do simple things like open a bank account for series companies here in IL. Bank officers are not familiar with series LLCs and their systems aren't set up for that, so I was issued company credit cards that have the wrong name on them, checks with the wrong name on them, etc. Branding is a nightmare if you comply with the letter of the law in some states. I just really didn't know what I was getting myself into for this usage scenario. I will most likely have to restructure the companies in the near future for various reasons...probably at significant expense.

As others have said, the series LLC form is not as well-known by the public or as legally tested as other entities. You really should have a great reason for choosing a series structure before you do so, and you should definitely speak with a tax attorney or accountant that has experience in this area. Some of the pros and cons are very easy to misunderstand. If I were doing it again, I would personally NOT use a series LLC for an incubator/consulting arrangement.

2 points by camz 20 hours ago 1 reply      
I'm a tax accountant and I can give you some insight into the tax aspect of the equation. 

1. I don't think that an LLC is the correct legal entity you should be considering for your consulting arm because of self-employment tax. Many people forget that self employment tax is an expensive cost that could be avoided. You should be incorporating an S Corp to plan around the 15.3% tax. You're getting all the same benefits effectively except you'll pay less taxes. 

2. I question the value of a series llc because it is a new tax entity and unproven in a number of courts. When selecting a legal entity, you don't want the new and sexy because you want security and predictability. 

Having standard llcs would allow you to be sure of the legal ramifications because it is an entity that every state generally recognizes as opposed to the series llc. Also, a lot of the tax circumstances are going to be questionable because we can't be sure of their consequences. 

If you're worried about filing taxes and the paper work then you could simply create a tax structure that avoids these additional returns. LLCs allow you to check the box and select passthrough tax treatment for partnerships or corporate taxes to be levied against the entity's income. Also, single member llcs are disregarded for tax purposes but retain their legal status so you could potentially avoid a number of returns. 

I hope that this helps.   

2 points by hoop 21 hours ago 0 replies      
IANAL nor an Accountant, but if my understanding is correct the administrative burden can be lower, costs can be much lower, and there may be some tax benefits.

Ultimately, it's going to depend on the state's laws where you're filing for the Series LLC. My state (CT), for example, does not recognize or allow for the formation of these types of LLCs.

Here is a blog post published by a law group that specifically focuses on the Series LLC in your state, Illinois. (That is, assuming your Twitter location is current.)


1 point by shareme 21 hours ago 1 reply      
a tax accountant or lawyer for the USA will tell you that the IRS is cracking down on consultants in the programming area who do consulting work under corporations as they want to attempt to get full taxes..main reason why recruiting firms are so prevalent in the USA.

Check with your local accountant/lawyer as you may be in a state that has not been targeted by the IRS. IL is one that is targeted whereas IN currently is not targeted for example..

1 point by nwilkens 20 hours ago 2 replies      
You may want to consider starting an S-corp (mainly for the self-employment tax savings) to be used as the management company.

You can then create individual LLCs as you see fit.

Your S-corp will invoice the LLC's for a management fee; and you pay yourself out of the S-corp. Be sure to recognize the tax benefits of distributions from your S-corp.

Show HN: My Fast CSS Sprite Generator
17 points by bgrins 1 day ago   3 comments top 2
2 points by iworkforthem 23 hours ago 0 replies      
1 point by sandipagr 1 day ago 1 reply      
this is just excellent! I am a developer and hate whenever I have to open photoshop even if to just make my images transparent. This is going to come really handy. Added to bookmarks!

Thanks for creating this!

Tell HN: (kind of an idea)Khan academy multilingual
6 points by wturner 15 hours ago   6 comments top 3
1 point by ig1 13 hours ago 0 replies      
If you see the FAQ on the site he mentions you can contact him if you're interested in doing translation.

You can also volunteer for his web app which is open source so he can spend less time on the website and more time making videos:


1 point by FraaJad 14 hours ago 2 replies      


For a person trying to invest a lot of time emulating Sal Khan's ideas, I find it amusing that you don't get his name right on multiple occasions.

Try again.

1 point by xiaoma 14 hours ago 0 replies      
I think a Chinese one would be especially nice to have, since youtube (and thus the Khan academy) are blocked here. Put it on Tudou or Youku.
Is URL shortening bad for the web?
7 points by Skywing 16 hours ago   7 comments top 5
1 point by drallison 24 minutes ago 0 replies      
URL shortening is just a pun. The web is unchanged except that certain long URLs can be referenced with a shortened, more compact name. The longer, cumbersome name is still there. Guessing long and complex URLs is not a common modality of use for the web. Search and links rule.

The persistence issue is a big more complex since the validity of a link depends upon a third party. Shortened links are ephemeral like everything else on the web and may not always be a good choice.

4 points by petervandijck 13 hours ago 1 reply      
If you believe that a) links are good for the web, and b) everything disappears at some point, then link shortening services are bad for the web.

A shortened link will disappear when (not if) the shortening service disappears. If that is sooner than the site it was linking to disappeared, then it's a net negative for the web.

Link shortening services for the domain they live on are slightly less bad, since their lifespan is somewhat more likely to be equal to that of the destinations of the links (although it's still likely they'll live shorter).

2 points by dstein 13 hours ago 0 replies      
It's another example of artificial scarcity, a phenomenon that is prevalent in many aspects of our society. Twitter and mobile carriers have gone to great lengths and scales to artificially inflate the value of a byte of data.
1 point by rakkhi 14 hours ago 1 reply      
I don't really see how they are bad for the web, a shortened link is still a link, reading Tim-bernes Lee today (http://bit.ly/dhfd2S) he emphasized the importance of links and links from anywhere to anywhere rather than walled gardens like Facebook or iTunes. In fact increasing amount of internet connectivity is on mobile devices and with the smaller space and harder to use keyboard shorter links are essential. As you say it would be imposibble to use a service like twitter to its full effect without link shortening.

One downside could be the extra tracking and analytics URL shortening services provide, and people could see this as an invasion of their privacy. Personal belief is that there is so much tracking in the form of web analytics that goes on on the internet anyway that URL shortening is hardly making a difference. It has also provided some businesses like bit.ly with a way of generating revenue and creating jobs and for bloggers and people like me who do like to share what I find interesting on Twitter or Facebook with a way of seeing if anyone is actually reading what I have shared

1 point by zachallaun 12 hours ago 0 replies      
While another comment argued otherwise, I would claim that link shortening could be considered worthwhile DUE to the analytic features available, at least from the perspective of the poster.

That's ultimately what the argument comes down to: perspective. From the perspective of the poster, link shortening allows for a larger dissemination coupled with analytics. From the perspective of the web, link shortening creates a problem for the future (as they begin to break).

Event: YC Applicants Unite
8 points by aelsheshai 20 hours ago   1 comment top
1 point by tbrooks 11 hours ago 0 replies      
Downstairs or upstairs?
Ask HN: How do you come up with new project ideas?
36 points by Skywing 3 days ago   32 comments top 21
16 points by callmeed 3 days ago 1 reply      
1. Pick a broad industry (say law/attorneys)

2. Go to craigslist for your nearest city

3. Post a job for the category that best fits the industry you chose in #1 above. The post should be along the lines of:
"Local software startup is seeking experienced attorneys and legal professionals to consult with. We need help testing our software and validating our new product ideas. We can offer free use of products after launch."

4. You will absolutely get emails back from professionals and business owners who simply want to help and think it's "cool" to be part of such a process.

Have coffee/lunch with them, pick their brain, find their pain points and make a project out of it.

I've got 2 in the works that started this way.

7 points by geuis 3 days ago 3 replies      
A good place to start isn't by solving someone else's problem, its solving your own.

For example, I've noticed over the years that if a crowd of people is going in or out of an entrance that has a set of doors, for some reason most people all crowd towards one door. To me, this is insane and a clear example of herd mentality. I solve my own problem by being cognizant of this fact and always look for other unused doors to go through.

In another example, early this year I was working on optimizing the css for one of the sites at my company. I wanted a tool that would scan my site and give me a report of unused css selectors that were not being used anywhere.

I look around for a while and the only tool I found that came close to what I wanted was a Firefox extension called Dust-me Selectors. Except that I found it didn't work well for shit. Also, it only ran in Firefox. Not very useful to me.

So I spent a couple of days and wrote a pure javascript-based tool called Helium to do this. https://github.com/geuis/helium-css

I can load this in my dev deployment of my site, pass it a list of urls I want to test, and let it run. Additionally, I can run this in multiple browsers. I solved my own problem, and in the process created something that other people can use to solve the same problem.

5 points by chipsy 3 days ago 0 replies      
A vague mental checklist I've been accumulating:

* Why didn't I stick with my last idea?

* Could I make that idea simpler?

* Could I reuse that idea elsewhere?

* Why am I not motivated to work on this idea (any more)?

* Could I change it around so that I am?

* What are people looking for?

* What are people NOT looking for?

* What ideas are already floating out there, that haven't been popularized, but could be done better?

* What ideas are getting too much hype and attention, so that I can filter them out?

And more recently:

* Is my idea trivial enough not to scare me?

Because it often happens that I'll end up with ideas that take serious ambition(learning, funding, research, what-have-you) to reach any kind of "viable product" - minimal or not. They involve too many sexy technical challenges, or difficult dealmaking, or time-consuming/expensive content creation. That in itself is a warning sign that I need to take what I'm doing, slice up the ideas again, and reassemble them at smaller scope, because if I try to get too ambitious too quickly, the risks go way up.

The worst part is that the more skilled you are at any one thing, the more comfortable you are with overscoping that thing and going well beyond what is necessary to ship, to the detriment of everything else. It's a good reason to get some form of collaboration going, since it will average out your perceptions and automatically bring them "closer to the market."

(And, ironically, collaborations online have an incestuous undercurrent: talent will hide within their preferred watering hole and wish and whinge about what they could do, when they need to venture elsewhere to find the diversity of skills and ideas to achieve something bigger.)

5 points by te_platt 3 days ago 1 reply      
1. Every time I notice something annoys me I daydream about what I can do to make it better - I think up a new one handed keyboard every time I reach for my mouse.

2. Joke with friends about outlandish ideas - solar powered bicycles, 128 team college football playoff system, whatever... You never know what might turn up.

3. Let people know what you do. I have people come to me all the time with ideas they want to try out. If different people come with the same idea or problem that's a good sign there is something to do.

5 points by mgkimsal 3 days ago 0 replies      
"I keep my eyes peeled for potential statements made in blogs or on websites that might make me think something could be a great idea."

You asked for 'new' ideas, and now you're looking for 'great' ideas.


I'd suggest going after neither. This presumes you're looking to potentially make money at something.

Find an idea that a few other people are already executing, and copy that idea, and make improvements. It may be a boring project/topic/idea, but if others are doing it, it's probably worth doing, or at least investigating further.

If you're not looking to make money, and simply looking to play with new tech - not sure what to tell you. Just go play with new tech... ?

3 points by lunaru 3 days ago 0 replies      
Project or business? These are very different. I'm not sure why you'd be having a hard time picking up a project, but having a hard time committing to a business idea is more understandable.

HN is very male-dominant so I'll throw out something different: stop thinking about yourself. Stop thinking about your demographic even. In fact, start thinking about the about the opposite sex.

The average social gamer is 43 years and female. Zynga is making plenty of money from these people, not 20-something techie males.

Another example: Etsy is making a killing by targeting arts & crafts.

Personally I think it's more interesting to pick a project from outside your comfort zone. Think of it as learning in two dimensions: While you're building it, you're honing your development skills, but you're also learning about a set of users or customers that live very different lives from your own.

2 points by Udo 3 days ago 0 replies      
Do something that sounds like fun to you. Seriously, if keep wondering about novelty, you already lost before you started. Almost every idea has already been done in some way. And if it hasn't been done, chances are your innovative project will live in obscurity while others come to the game later with the same functionality will and suddenly really take off. Given those mechanics, it also makes no sense to plan for popularity. Life (and the web) is unfair that way.

But having said all that, the upside is, once you freed yourself from these pressures and expectations, you can devote your energy to projects that really motivate you with their intrinsic qualities. Doing them can be a great reward in of itself, and it can push you to make something stunning, bold, and truly beautiful. And sometimes, though very rarely, from these qualities there comes popularity and the trappings of success that we all secretly hope for.

1 point by guynamedloren 1 day ago 0 replies      
Right now, I have a list of 12-15 ideas that I eventually want to implement, and these are just the ones that I think have serious potential. To generate ideas I have never once looked through blogs or tech articles about what's hot or where the money is. Why? Because if I work on something that I'm not passionate about, I will quit. It's inevitable.

To be honest, I don't actively seek projects to work on at all. Every single one of my ideas has come from a problem, large or small, that has affected me personally. The idea in the front of my mind right now is so vivid that it has kept me awake at least 2-3 nights a week for the past 8 months. And it's not even complicated or revolutionary, per se. I'll even share - it's a note-taking app, like Evernote. I am learning how to code for the sole purpose of realizing this project. If that's not passion, then I don't know what is. Sure, plenty of my ideas have already been implemented in some shape or form, but there's always room for improvement. That's how the world works. Google didn't invent search. They made it better. Apple certainly wasn't the first to build a smartphone. They just made it better.

“Our entrepreneurial motivation is not confidence, it's an insatiable desire to improve. It's not about thinking your ideas are better than everyone else's, it's about never accepting any idea as being best.”

1 point by SapphireSun 3 days ago 0 replies      
I've not launched anything yet, but these have been my efforts so far:

1st project) My friend and I thought there was a market for a website, but it turned out to be complicated and in a competitive space. Eventually we abandoned it.

2nd project) I had a cool idea for something highly technical that I sort of wanted. In truth, it was more complicated than I could handle and overly ambitious. Abandoned. (It also turned out that it had been attempted in the 70s and 80s, and turned out to not be that great :P)

3rd project) Got pissed off at a big real world problem. Found a vastly smaller chunk of the problem. This way I can help in a small way and actually finish it.

The pattern I've been noticed is that I'm trying to get more ambitious in solving a real problem while vastly scaling down the effort required in my solutions and targeting less competitive markets. I'm amazed at how similar business is to research in that regard. Tackle a reasonably sized problem that has the potential to grow. Declare victory, rinse, repeat. As you gain experience, your perception of tiny will enlarge. :-)

Another thing I've noticed within myself, I've started to amaze myself in not seeing any contradiction between helping and asking for money. It's a difference between understanding something rationally and viscerally.

I hope that you find this helpful in some way!

2 points by aristus 3 days ago 0 replies      
Try training yourself to notice any time you or people around you get frustrated or confused, and write it down. Also write down whenever some process or artifact wastes time. Do that for a month and you'll have lots of ideas.
4 points by leif 3 days ago 0 replies      
after a half-eighth of mushrooms, Gerald tells me what to do next with my life (he is my spirit frog)
1 point by jexe 3 days ago 0 replies      
1. If you're a great developer, just pick an idea that you love so much that you'll weather the inevitable storms that come. It can seem mundane or 'solved', you'll make it interesting. The 'killer idea' is usually a label applied afterwards to a kick-ass execution of a normal idea.

2. Screw business books and tech blogs, read science fiction. :)

1 point by bradleyjoyce 3 days ago 0 replies      
for me project ideas come from either problems I've experienced myself that I want to solve, or some app that I know I want.

In the case of http://tweetsaver.com, there was no other solution at the time it launched (over a year ago) that offered a decent way to back up my tweets, as well as search all my old tweets. I knew that, had there been another service at the time that offered this, I would have paid to use it.

Most of the ideas that I have that have come from speculating on what might be theoretically useful or super successful/popular are still just domain names :-)

1 point by melissamiranda 3 days ago 0 replies      
1. Note problems people have, like the Techcrunch post yesterday with Sarah Lacy complaining about OpenTable: http://techcrunch.com/2010/11/16/can-and-should-opentable-be...

2. Write a blog post about it

3. See how many people react to my post when it's pushed to Facebook

4. Keep developing the ideas that get a lot of attention (for me that's been reviews/Yelp, and annoyance with paper business cards. The latter is turning into a Japan focused startup)

1 point by mr_twj 3 days ago 0 replies      
Mandelbrot (roughly): do not look at what you see, but at the process that created it.

Great ideas have infinite applications and all ideas are interconnected. The trouble is knowing how far downstream you are from the source and if it is untapped. In this sense, I couldn't say I come up with any ideas, but recognize the underlining pattern reoccurring. Let your reason guide you; great minds find each other this way quite spectacularly.

edit: there are also those times where you just say, "I wish I could just do ____", and often you can.

1 point by gabea 3 days ago 0 replies      
To come up with ideas I take all of my experiences in my life and think about things that normally would affect me on a daily basis.

Once I think of the idea I then apply the following set of rules.

1. Does this exist and if so can it be done better?
2. Would I use this?
3. Will this be valuable to another person or persons?
4. Can a business model be applied?

If I answer yes to all then I feel I have something viable to bounce off a few family members and friends. After hearing their feedback I think about the idea for some time so as to let it stew. If I keep coming back to it and start to like it I make the decision to go forward or not. Even when I move forward it is always a battle to stay on track so be strong.

1 point by yoak 3 days ago 1 reply      
My problem is typically how to pick between all the insanely good ideas I have floating around.

I would say my number one rule is to pick something that is a deeply personal itch that I can scratch. It is hard to have as much motivation to tackle something because I think there might be a market for it as something that I really just want to have exist so I can use it.

1 point by gregschlom 3 days ago 0 replies      
>So, how do you all decide what your next project will be?

I got the idea for my startup from this list: http://ycombinator.com/ideas.html seriously)

Also, PG's take on this topic: http://paulgraham.com/ideas.html

1 point by mcantor 3 days ago 0 replies      
If you find yourself thinking something more than once, write it down.
2 points by kingsidharth 3 days ago 1 reply      
I don't run around looking for ideas.

I try to solve real problems.

1 point by Skywing 3 days ago 0 replies      
Many great tips, all. I appreciate all of the insight! I think this has turned in to a very informative thread.
Ask HN: Particularly elegant programs to study?
43 points by sz 3 days ago   24 comments top 16
8 points by plinkplonk 3 days ago 0 replies      
Code from Peter Norvig's "Paradigms of Artificial Intelligence Programming"
4 points by jamii 3 days ago 1 reply      
I don't know about famous, but Conal Elliots ideas about denotational semantics have led to some beautifully elegant libraries - http://conal.net/blog/posts/denotational-design-with-type-cl...

Don't be put off by the academic tone, at its heart the paper is about how to design abstractions.

6 points by michael_dorfman 3 days ago 0 replies      

Or, any of Knuth's other Literate Programs.

Also, the book "Beautiful Code" is an attempt along these lines, but personally, I don't find the programs there as beautiful as Knuth's.

5 points by jashmenn 3 days ago 1 reply      
Léon Bottou's implementation of Stochastic Gradient SVMs is the most concise implementation of an SVM that you'll find: http://leon.bottou.org/projects/sgd
6 points by variety 3 days ago 1 reply      
The djb way: "straight, no chaser":


qmail in particular, and also (if you like math) primegen.

BTW, his code is not easy to understand (quite the opposite) -- there are few source comments, and most of these are snarky, cryptic or both; and not only does he explain almost nothing on a global scale but oftentimes what he is doing might look, at first blush, kinda wrong, obtuse even.

But that's precisely the point -- there are a lot of idioms in there that most C programmers just wouldn't think of, especially if you're into minimalism (when it comes to things like dealing with strings, error handling, forking, etc).

12 points by d4rt 3 days ago 1 reply      
sqlite is both beautiful and has a significant test suite.
5 points by dkurth 3 days ago 0 replies      
Here's Peter Norvig's toy spelling corrector (in Python), along with some helpful explanation:


4 points by nomurrcy 3 days ago 2 replies      
Lua (The programming language) is very well written and well worth reading and understanding.


1 point by petercooper 3 days ago 0 replies      
This is very Ruby specific (so mostly not "famous" stuff) but if that's your scene, I asked the same question to Rubyists recently and got some good suggestions: http://www.rubyflow.com/items/1817
1 point by jbarham 3 days ago 0 replies      
http://code.google.com/p/go/source/browse/ is the source for the Go compilers and standard library. Very clean, clear code in the Bell Labs tradition.
1 point by techbio 3 days ago 0 replies      
I searched for "russian doll pseudocode" hoping to discover something elegant, but the clearest "code" there is a nicely colored Venn-ish diagram.


1 point by pierrefar 3 days ago 0 replies      
I've heard good things about the code of Redis and Tokyo Tyrant.
2 points by srean 3 days ago 0 replies      
I am surprised that nobody has pointed to http://news.usethesource.com/ yet.
1 point by abyssknight 3 days ago 0 replies      
c99shell. No, really, it's very well written.
1 point by dawsdesign 3 days ago 0 replies      
I've heard that Postfix is as close to perfect you can get, but I haven't dived in personally.
1 point by doublez 3 days ago 1 reply      
The Lift framework core has some rather lithe Scala in it. Do mind that it's an actively developed, actively deployed framework - functionality sometimes takes priority ... ;
Ask HN: Anyone looking to hire a UI designer in San Francisco?
10 points by peng 18 hours ago   4 comments top 3
2 points by childoftv 15 hours ago 1 reply      
Come to one of our "UX eye for the developer guy" events...we have a whole set of people announce UX jobs each month and you can meet them: http://www.meetup.com/sfbayux/calendar/14488927/
2 points by hankrearden 12 hours ago 0 replies      
Ask HN: Fellow entrepreneurs looking for a Silicon Valley/south bay roommate?
19 points by jasonlbaptiste 14 hours ago   2 comments top 2
1 point by rms 12 hours ago 0 replies      
I have a room available in Berkeley starting in January. Berkeley is the new Silicon Valley, at least for people that don't go to networking events every week.
1 point by jacobroufa 4 hours ago 0 replies      
Hit up @abraham. Good friend of mine. He's moving to the bay area and actively looking for a place now. Good luck!
Ask Hn: How can I buy a parked domain if they have private registration?
6 points by slindstr 20 hours ago   6 comments top 4
3 points by AlexC04 20 hours ago 1 reply      
Well you could try getting a DomainTools domain history report as well. If they've not dropped it since 2001 they're probably not going to drop it in 2012.

Go to domaintools and do a whois on the site there. They can tell you things like how many other domains this registrant holds. How many times the whois information has changed (if it's ever NOT been private this is where you can look)

Maybe try and get in touch with a domain broker. I know the people who work for domainadvisors.com are very well connected in the "domaining" industry and she might be able to help you out. (look up T.R.A.F.F.I.C for a window into the world of domaining)

Services are not cheap though - you'd better really want the domain if you're planning on going that route.

I might have some more tips if you want to get in touch with me privately - alex dot chesser at gmail. (I don't know exactly how much help I can be - but I can help you hash out the ideas a bit more).

1 point by cd34 12 hours ago 0 replies      
A guy that purchased a domain in 2001, tried to make it work, has it registered through 2012 is likely to turn down offers if he will even respond in the first place. There is a bit of pride he's got to swallow because the sale would mean that he failed at his idea. He'll want to keep the domain because one day he's going to revisit that idea and make it work.

I've had a domain backordered since 1999 - it has had a parking page since it was purchased, and every year, about 7-10 days before it expires, it gets renewed. The domain isn't special, just one that meant something to me - and obviously him. Every year, about 60 days before renewal, I send an offer letter, he's responded a few times but has never asked for more money, just that he isn't interested in selling.

That said, a domain broker might be able to get a response. I wish you luck.

1 point by ryanto 5 hours ago 0 replies      
most private registrations will auto forward emails to the actual owner. try emailing the address the comes up in the whois.

example: domain.com@private-register.com will forward to the actual owner.

1 point by gromy 19 hours ago 0 replies      
You might try contacting the parking company.
Ask HN: Why are airplane touch screens so poor?
5 points by waterside81 1 day ago   10 comments top 7
7 points by mhd 1 day ago 0 replies      
Let's forget the rants against airlines for a while: The big difference in touch screen technology is about resistive (old-fashioned, "soft" screens) vs capacitive screens (cf. iphone etc.). The last time most airlines installed their systems was when resistive technology was still state of the art, so I assume that most of what you get in the recent airliners still reflects that date.

Have we forgotten that decent touchscreens are still pretty new? Ferchrissakes, the first iphone came out in 2007…

1 point by geuis 1 day ago 0 replies      
Think about it for a minute. We're talking about hardware and software installed by companies who now charge for pillows on many flights. They no longer provide meals. Their employees, in particular the flight attendants, are paid something like $25-35k per year and they deal with all the crap that we as human beings can make another person go through.

They cut costs at every corner, while charging more and more money to fly. That's why its a terrible idea as an investor to put your money into airline companies. Very little chance of long-term return on your investment.

1 point by brk 1 day ago 0 replies      
Well, there are a lot more regulatory issues they have to deal with in regards to EMi and such. The certification process of those kinds of devices is long and expensive. Plus, airlines are not exactly cash cows, so its not like they can afford to put a $2k entertainment system in each seat.

So, what you're looking at is the 5 year old state-of-the-art-on-a-budget technology. With that in mind, the rest of it becomes more clear.

1 point by tfe 1 day ago 0 replies      
It's because everything in an airliner is heavily regulated by the FAA. Everything has to be rigorously tested and certified.

This just increases the development cycle length. Compare to car nav systems, which also lag behind. Then add the length of the certification process, (even more extreme) conservatism in the industry, installation time (airliner must be taken out of service for a week or two, which is a lot of forgone revenue), etc.

Also, there are power consumption and weight considerations. It may not seem like much for one seat, but multiply by 300 seats in an airliner and it starts be significant.

Add that all up, and it's no longer surprising that the systems are outdated.

1 point by public_nme 1 day ago 0 replies      
The quick answer, bureaucracy. It has been several years since I have worked in the field. From what I recall, companies developing airborne software have to be indoctrinated, trained, and certified. Then every line of airborne software whether it is for engine controls or in flight entertainment has to be certified by the FAA. These are not quick, easy, or cheap to obtain.


1 point by flomo 1 day ago 0 replies      
On a Delta flight, my screen was rebooting itself every couple minutes. By the time we landed I had nearly memorized the boot messages from Linux kernel 2.036, which dates back to 1998 or so.
0 points by wgrover 1 day ago 2 replies      
Maybe they suck because the airlines run the screens. Why aren't there media or advertising companies running the screens, like the screens in the back of some taxis? In exchange for installing/upgrading/maintaining the screens, the company gets to put occasional commercials in the movies the passenger watches, takes a cut of the proceeds when the passenger browses and buys from Skymall on the screen, etc.
Ask HN: DDOS attack remedies?
5 points by wturner 16 hours ago   6 comments top 3
1 point by dibarra 12 hours ago 0 replies      
I deal with this in my day job as well. Many datacenters will have mitigation appliances such as Arbor Peakflow, Cisco Guards, IntruGuard, etc. For attacks that are throwing garbage to unused ports, you can block these fairly effectively by having your datacenter block these ports at the router. Just ask your datacenter's support for a service such as this, usually their SLA specifies a time limit for how long your site may consume mitigation services for free. Your datacenter will probably start nulling your IP at around 1gbps inbound (varies, might be lower)

Some DDoS's are easy to block via iptables- attackers who aren't very clever will have the same UA on all of their bots, and they are easy to block via a combination of tailing your domlogs, and adding bad ips to an iptables listing. Many don't set a user agent, making it much easier.

Floods that consist of holding open http server connections for long periods of time can be combated by throwing MaxClients to something large (about 5000) and setting keepalive to something low, like around 5 seconds (if you're using Apache, similar probably holds true for other http servers).

You can usually use string blocking via iptables, but these will still hold the connection open until the client times out, and you might have to resort to the above in conjunction (raise MaxClients, etc.). Usually, I try to mitigate via IP addresses before string blocking.

Rarely will I see an attack that will require a nullroute upstream. If you're worried about those, you will need to seek professional services. In most cases, you can mitigate at the server level easily. Also, ngrep is your friend.

2 points by rakkhi 14 hours ago 0 replies      
Just answered a similar question on Quora:
1 point by iuguy 16 hours ago 1 reply      
To be honest it depends on the type of DDOS and the project in question. Different types of DDOS require different approaches.

I deal with this in my day job. If you're (or anyone on HN) is currently experiencing a DDOS I'd be happy to speak with you over email or a phone call. My contact details are in my signature.

Ask HN: what was your first programming gig, and how much did you actually know?
52 points by Tycho 2 days ago   52 comments top 34
23 points by patio11 2 days ago 2 replies      
My first programming "real" job was at a technology incubator in Japan. I got hired on as a translator. At the time my Japanese skills were not exactly stunning, but technical translators do not exactly grow on trees in Gifu. (Try finding a bilingual Japanese/English CS major in Kansas. It is about that hard.)

Now, here's the rub: they had five translators locked into generous long-term contracts and they only needed really one-fifth of a technical translator, plus some utility translation for ceremonies and the like. So I went mostly unused. After spending far too much time on the Internet (shades of things to come) and getting acclimated to working there, I started trying to make myself some more work.

Example: we had a website with brief bios of ~200 companies at the incubator. This was static HTML written in DreamWeaver, and got updated once every year in Japanese and English. This was an absolutely mammoth undertaking, primarily because the data was first compiled into a Word document, then translated, then laboriously massaged into HTML in DreamWeaver. I thought "Wait, this is just string processing... and I have gawk." I did not, in fact, actually have gawk, but my university terminal account was still open, so I wrote some scripts and shaved two man-months off the schedule. The bosses were happy.

Later, after getting a little more political capital, I started getting the R&D group I was attached to to use me for their grunt work R&D. For example, I made GUIs which called their command line tools for robot vision work, begged off implementing fast fourier transforms in C ("I'm a Java programmer! Egads!"), did some grid computing and spam filters, and the like. My work product was atrocious. Demos I pronounced "done" functioned maybe one time in three. We didn't use source control, which is probably for the best, because if we had someone might be able to still see the code I wrote. However, my bosses chalked all of it up to "Hey, we get the budget for a translator whether we want it or not, might as well get some work out of him."

There were two projects of note in those three years. One was a massive translation of CAD training software manuals for a company affiliated with the incubator. It was 3,000 Powerpoint slides. I got it done right before any further mention of torque would have caused my internal springs to snap. The guy who requested it made it clear that he owed me one. When my contract expired, I sent him an email saying that I wanted to stay in the area a while longer and wondered if he could perhaps ask around to see if anyone needed an engineer. He called up a large company in Nagoya and informed the division chief, who owed him a favor, that there was a bilingual American engineer the company should hire. So they shook on it, and that was that. (We later had a job interview -- with my patron in the room and doing most of the talking -- which was mostly a formality. The line which sticks with me is "Oh, you're white. Not that there is anything wrong with that." Nobody had thought to tell my new bosses my name prior to the interview -- it wasn't really relevant to the transaction.)

The other significant project is a long story. It starts with an email from a teacher in the prefecture asking "Is there a good way to make bingo cards?"

8 points by waterlesscloud 2 days ago 0 replies      
I got hired straight out of college by a company that made software for banks. They were just starting on a windows version of their consumer lending product (banks move slow. very slow), to be written in c++.

The regional VP at the company was kayaking buddies with the professor who was my advisor for my senior project. The VP asked the prof if he had any good graduating students for an entry level job, and I was recommended. From what I can tell, this is one of the better ways to get a job out of school.

My first assignment was helping a senior guy track down a bug in some multithreaded C communications code for handling ATM machines. Legacy stuff from the company that had been bought by a company that had been bought, etc., that no one completely understood any more. I had no idea what I was doing, at all, and it was a great situation to be in professionally.

Worked for that company for 5 years, then it got bought and I was laid off because I was still the newest member on the team. Very stable group, learned a huge amount from them.

I got lucky.

30 points by scruzia 2 days ago 2 replies      
A few of us were sitting around in the Computer Club office, and Steve comes in and asks us if we want jobs for the summer. So Tony, Jim, and I ended up working that summer on a weird research experiment, hooking computers up together. Part of what I did was writing test programs to make sure the computer could talk to this smaller computer, that knew how to talk to others of its kind.

The smaller computer was called an "IMP". The main one was the Sigma 7 at UCLA, host #1 on the ARPAnet. Steve was Steve Crocker, and other folks on the project included Jon Postel, Vint Cerf, and Prof. Leonard Kleinrock.

Last year, I got to mention to Vint Cerf in person, that we had last worked together some 40 or so years ago.

So, to answer some of your questions, 1- definitely underqualified. I was 16. 2- Lucky? No kidding. Right place at the right time.

8 points by cubicle67 2 days ago 0 replies      
Some guy I knew asked me if i could write him a programme to help manage his clients' investment portfolios.

Because I was too young to know I was in way over my head, I was able to complete the task and do it well. Pretty proud of it, actually; 16 bit windows (3.1) and the code was rock solid. I figured out on screen graphing, good db design, reporting (I wrote all the reporting and printing libraries, incl basic graphs (pie, line and bar)) etc etc. Now-a-days that sort of thing's a lot easier, but back then there was very little. oh, and no internet either, just the local bookshop.

6 points by ohyes 2 days ago 1 reply      
Gig: Hackin' Lisp.

Qualifications: Nietzsche, Wittgenstein, Hume, Sartre and others...

Honestly, they hired me as a technical writer and it turns out I write code, that writes code, that writes code, really well.

What the fuck I'm going to do for the rest of my career, I don't know.

Honestly, I don't really care given my meteoric rise from lowly philosopher to lisp-dev uber alles.

4 points by fauigerzigerk 2 days ago 0 replies      
I have never been employed, never even interviewed for a job. On my first contracts I was woefully underqualified. There were hardly any boxes I could tick. But I was very good at communicating my enthusiasm and interest in computing, not just in the sense of getting things done quick and dirty but in terms of theoretical interest as well.

I just kept throwing the stuff I was interested in at anyone who would listen and I kept asking questions about what they did, applying ideas I had to their problems. I did that on every occasion and it stuck. But what stuck were not the particular skills that could be inferred from what I said. What stuck was that there is someone who will really get involved in the project, shape things, make it his own project and see it through.

There is a small minority of people everywhere that suffers from the 9 to 5 attitude of the majority. You need to make sure that these people recognise you as one of them. That's the most important lesson I have learned, not just in the beginning, but also later when it came to taking on interesting tasks I wasn't necessarily qualified or experienced enough to do.

5 points by konad 2 days ago 0 replies      
I wrote a VHS take tracking system in Basic for a guy that rented out pirate VHS tapes from the back of a van around his council estate. I was about 11 (so about 1982), my dad used to rent tapes from him. - I'd never used whatever computer he had, just the Research Machines 380Z at school.

The next was a clone of some artillery game (a bit like Gorillas.bas) on to another of dad's friend's TRS-80. I'd never used a TRS-80.

Then a stock control program for my dad's pub (which got me an F in my computer studies class but saved at least $50k [I still got an A via the exam which means I scored 90%+]). I did know quite a bit about that system, being my own and all.

Then one day at my local computer shop, I was watching them struggle with their pricing. Only one guy knew the prices of stuff and had employees standing in line so they could price their builds. I was friendly with him so asked if I could take his spreadsheet and make it a bit better. Come Monday morning I'd discovered Access and made a computer building form that worked over the LAN. So they gave me a job making it better. By the end it did the purchasing, retail pricing, BOM production, quote tracking, faxing, barcode printing (which we built by hand as a TTF font in Corel Draw), barcode reading (each fax had a barcode, customers arrived with them and a quick scan later the shop floor people could find their details), sales team target tracking and quite a bit more (this is all pre-internet). The Microsoft rep called the best in-house project he'd ever seen!

Then I taught myself C++ to do image processing for the music video I was commissioned to make by Creation Records (a division of Sony) on the strength of the work we showed while doing video projection at raves.

Knowing vbscript meant I was well placed for IIS web development but realising it was a shit platform I started looking at PHP. I got a phone call from the previously mentioned retailer asking if I knew anyone that could do PHP. I said "yeah me" and got a 5 year job building a recruitment site.

In the process of doing that I taught myself Postgres and FreeBSD system administration.

Now I work in an independent cinema / media centre doing all sorts of sys admin with a digital video strand, DVD authoring & duplication (this pays best!), camera assisting etc. including a 5 machine video distribution and exhibition network on mac minis using Gentoo that can double as a a video wall a la Liquid Galaxy (same code in fact - a patched mplayer which syncs via upd).

tl;dr I knew almost nothing about any of the systems I have done my best work with and learned most of it on the job but got the job because I knew loads of other loosely related things.

3 points by arethuza 2 days ago 0 replies      
Perhaps rather stupidly I paid little attention to trying to get a job during the final year of my CS degree - the one company I did interview for (an early hypertext pioneer) I mucked up the interview by having a glass of wine at the buffet lunch which appeared to react with medications I was on for an infection which made me a bit too talkative during the chat with the companies founder....

I ended up taking a job at a wee company doing what were effectively small ERP systems running on Cromemco/Xenix servers. Which was a hell of a learning experience - fixing broken Unix servers at all hours and all the joy of dealing with sales guys on one side and customers on the other. I left that job after about 9 months to back and do research in the department I graduated from.

Interestingly enough, the chap whose company I failed the interview with in '88 became the first angel investor in the startup I co-founded in '95 and went on to be our chairman through multiple rounds of VC investment, an IPO and an eventual acquisition.

I never did have the nerve to ask him if he remembered the interview I mucked up...

4 points by zbruhnke 2 days ago 2 replies      
I guess I will probably be one of the "weird" ones here.

I have never actually applied for any job and began programming very simple video games for myself as a kid (about 12) instead of using flash cards etc because I thought it helped me remember things better.

When I was in college I played division I golf and was on a scholarship with school paid for and no real reason to leave

A guy who was a tour pro from the town I grew up in asked me to come look at the computers at a business he had bought. I went by mapped a few network drives explained file/printer sharing and on my way out made a passing comment about how they should check out a databasing system rather than just making copies (they were a copy company).

Next thing i know I was working 60 hours a week developing custom sharepoint systems for his customers on a contract basis. Eventually I dropped out of school "officially" started my first software related company and have never looked back.

As I said, I have never actually applied for a job, BUT it is VERY fair to say I was (and to some extent still am) very under-qualified for what i was doing, but I can think of no better learning experience than getting in over your head and knowing you have to meet a deadline.

I don't know that I will ever take a "real" job since I am constantly working on projects or creating my own companies, but at this point no matter what they are looking for I feel that i bring a great deal to the table and have an uncharacteristic ability to learn quickly.

Confidence is key in this field. I am more apt to hire someone with a good air about them then a guy who cant look you in the eyes but has a great resume.

3 points by ramidarigaz 2 days ago 0 replies      
When I was feeling homesick in Thailand, I basically ended up hiding in my hostel for three days learning Qt. I came back (4 months later) and interviewed for a student IT job. The guy who was interviewing me saw Qt on my resume and said he knew someone in another department who was looking for students who know Qt. The interview with my current boss was actually kinda funny. He briefly mentioned that he had seen the stuff I had on Github, and then we talked about Asia for half an hour. Then I was hired. Lesson: homesickness can be a good thing.

Edit: I forgot about the underqualified part. Hoo boy. I've been working on Qt for 6 months now and I'm still digging deeper. The guys I'm working for are really, really skilled. Just watching them work reminds me how much more I have to learn...

2 points by mattchew 1 day ago 0 replies      
I got baited and switched. I thought I was interviewing for a network/desktop support position, but once I started I was quickly moved to maintaining an MS Access db.

I had no idea what I was doing. I didn't understand what a relational db was or, really even understand how Access was different from Excel. But I had done some little toy programming projects before, and I had the existing code in front of me to work as examples. Turned out I liked programming better than network support. Most of the time, anyway.

I don't fake my skill set, and I don't really recommend it, but I am an uptight nerd. It does work for some people. Another guy said communicate your enthusiasm, and if you can get face to face with someone that can work very well. I think one of the things that got me the job above was my saying, "I like working with computers and tech. Go ahead and give me the loose ends and yucky jobs around here that no one else wants to do, I'll be happy to do them."

5 points by dominostars 2 days ago 0 replies      
I took a very normal College career path: Go to internship/career fair -> Get an internship at a big company -> Get hired.

The thing to remember is that you're not going to be applying as a tech lead, you'll be applying as an entry level engineer. As an entry level engineer, you are not going to be expected to have a bunch of skills (in the X years of experience with J2EE sense). Companies know that it will take time for you to learn the skills you need. My last manager estimated this time period to be about 3 months for someone fresh out of college, which is why he hated getting summer interns.

What will be expected of you is to:

- Have a good GPA

- Be generally technically competent

- Be generally socially competent

- Be excited for work

- Want to work hard

I've recently moved on from my first post-college job, and my new job may expect me to do android and rails development, even though I've no experience with either. They knew this during my interview, but I was able to prove that I can and want to learn. That was enough for them to feel confident in me.

TL;DR: There are many jobs that don't expect you to know everything before hand, especially when you've just graduated.

2 points by WesleyJohnson 2 days ago 0 replies      
I'm only on my 2nd programming job. I was at my last job for right around 4 years and had about 8 months of unemployment before I took the current one.

The last (1st) programming job was at a market reasearch company doing ASP, SQL Server 2000 and some MsAccess. I hadn't touched any of those technologies. I had/have no college degree or any college credits for that matter. I didn't even take programming courses in High School.

What I did have, however, was a small handful of personal websites I had done in PHP and MySql, most using E107 (a PHP CMS). I couldn't code a PHP site from scratch, nor properly setup a MySql install. Heck, I could barely write queries. But I was fortunate enough that the company didn't have a proper CTO, so I interview with the IT/IS team directly. A couple of those guys had gotten there start the same way, so they gave me a go and things worked out really well. I came in severaly under qualified, on a probabtionary 90 day $10/hr wage. I left, after 4 years, as the Director of IT. I don't think I was necessarily qualified for that position either, but attained it more through attrition and ability to work well with the rest of the department and company.

I guess the point is, there is always someone who will give you a shot regardless of qualifications. If you show that you have a technical mind, are motivtated and a quick learner, you have the base you need and some people will looking past the inexperience. The tricky part is finding them. Until then, just keep working at it.

2 points by ig1 2 days ago 0 replies      
Generally in the UK a lot of companies specifically hire students straight out of university with the understanding that they'll still be a little green behind the ears.

If you've got a decent academics and a fundamental grasp of programming you shouldn't have too much trouble getting a job. What can be key is that you have something on your CV to make you stand-out, this can be an interesting final year project, open source contributions, an internship, etc.

The biggest mistake I see people make is restricting themselves to only apply to jobs local to them. You might be able to get away with this if you live near a major tech hub, but if you don't then you're majorly restricting yourself.

5 points by donaq 2 days ago 0 replies      
Don't worry about it. In my experience, a lot of the criteria listed in these job postings were done by non-developers and have little to do with the actual job. Also, when in doubt, just apply. Interviewing is a skill like any other. It requires practice. Even if you feel you're not qualified, the interview might surprise you, and if it doesn't, it's still good experience.
3 points by tallanvor 2 days ago 0 replies      
My first job was at a national laboratory where I wrote an application to extract data from text files using FORTRAN. I started when I was 17 - it was a school program where I went to class in the morning and went to work in the afternoon.

Of course, knowing what I know now, the fact that I was using FORTRAN for data mining is rather embarrassing, but I was young and stupid, and my boss gave me a bunch of functions to help out, so that's what I did.

6 points by eps 2 days ago 1 reply      
My first gig was a FoxPro contract to find a bug in a very messy report generator, written by a recently divorced, overweight diva in her late 40s. That, my friends, is as close to an immersive reality check as it gets. I was on 3rd year in the Uni and had fluent Pascal, working knowledge of C, could solve Hanoi towers by hand and tell the baud of the modem whistle by ear. Quit in one week, earned $40, didn't manage to make a single change to the code, and acquired a life-long dislike to anything database :)
1 point by cheald 21 hours ago 0 replies      
I was hired during my senior year in high school as a part-time grunt worker at $10/hour, primarily doing HTML work. I didn't know very much, and more importantly, didn't know what I didn't know.

I had the good fortune of working under some brilliant developers, who did a tremendous amount to teach me not just how to write code, but how to write code well, how to think like a developer, and how to approach a software project at a whole.

2 points by jarin 2 days ago 0 replies      
I did 5 years in the Navy as a UNIX server admin, and the extent of my programming experience (aside from two community college classes in QBasic and Visual Basic) was making some small changes to a PHP-based trouble ticket system.

After I got out, I found out through a friend that his mother-in-law's boss wanted to build a scheduling system specialized for TMJ doctors. I did a few hours of research on the Internet and put together a presentation proposing a PHP backend with AMFPHP connected to a Flash front-end. I didn't know how I was going to do it, but I knew that I could figure it out.

It probably took about twice as long to build as it should have (and knowing what I know now, the code was terrible and I would love to re-write it with Rails and SproutCore), but it worked and ended up costing the client a lot less than it would have cost him to have someone else build it (I only charged $30/hour).

That gig gave me the confidence to know that no matter how hard the problem is I can figure it out, and I was able to take on gigs that other people at my experience level would have balked at. I've been a professional programmer ever since, both as a freelancer and as a salaried employee.

3 points by damncabbage 2 days ago 0 replies      
My degree has a year of work experience stuck in the middle. I responded to a posting and got into http://www.squiz.net/ small-medium CMS development company of about 80 people). During the three years I was there, I fell in with a crazy Russian developer who taught me half of what I know, met @DmitryBaranovsk, and worked under a fellow who, though a bit abrasive, ran a really tight ship (unit tests and automated build, for example).

Given it was a student position, the entry requirements weren't terribly strict (PHP, HTML, CSS, ideally some JS). I knew some PHP4 (enough to put up http://insanitymanga.net ), but only some OO, and definitely no PHP5 (this is all back in 2004).

I thought I blew the interview; I was nervous, and the lead dev spent a good five minutes in silence looking through the coding example I brought with me on my laptop, but I got through (with a couple of other students).

In any case, I'm not sure there's much to lose but your pride by going for a position you're underqualified for. If you think you can pick it up, then do some prep beforehand to at least get a basic handle on it, and see if they're willing to give you the time of day and have a chat.

2 points by wccrawford 2 days ago 0 replies      
I did freelance work for a webdesigner friend of mine, after warning him about my experience level. (I had lots of personal projects, but nothing professional yet.)

It actually turned out really well, and I got paid what I thought was a good price at the time. Unfortunately, my friend didn't get paid for his portion, and the site never launched.

2 points by bmelton 1 day ago 0 replies      
Not technically a programming gig, but I accidentally wrote the Enterprise knowledge base for a Fortune 50 company while I as working overnight as a help desk technician.

It was a good system, that later fared very well against other COTS packages from vendors like Microsoft, CA, Oracle, etc.

As for how much I knew, the answer is VERY little. I wrote the app to teach myself programming, and the majority of it was in PHP & Perl (because those were the best documented languages at the time) -- and the system ran on RedHat with MySQL, on a spare desktop computer that previously belonged to the other night shift guy that had been fired.

Eventually, all of IT adopted using the program, and I ended up on the team developing new features and performing maintenance of it, while integrating it with other core products within the company, like the incident tracking system.

2 points by albahk 2 days ago 1 reply      
After high school I got a data entry role in a Satellite broadcaster's IT department doing Crystal Reports templates for boring subscriber reports (i.e. how many subscribers in this region cancelled last month). I picked up SQL and VB6 doing this, then around 1999 the company decided to start doing everything web-based and I got thrown into learning ASP, Java Servlets, JSP and no one bothered to question my lack of experience. Things grew from there to doing online community micro-sites, TV program webpages (Southpark in Taiwan) etc until the dot-com bomb and everyone left - I went to study engineering.

Note: I am not a professional developer/programmer, although people pay me money to do software development

3 points by azrealus 2 days ago 0 replies      
I started in a very small web dev shop when I was still in college. I had some programming experience but when I started I quickly realized my experience was irrelevant. The place was a good starting point because I was able to experiment with different technologies, talk to clients, do front and backend stuff and manage 2 small apache servers. During this time I also learned what I like and don't like doing.

It's true companies often put a lot of requirements on the list but they are usually serious about few of them. I think what is important for a lot of them is if you can actually pick up things fast. If I were you I would choose something which excites you and try to get better at it every day. Use it to build something like a prototype or small project etc, and then look for companies with similar interest.

2 points by drgath 2 days ago 0 replies      
I've been programming ever since I was a kind in the 80's with the Commodore64. In high school I was all about BASIC and C++. Then in college I got into Java & PHP.

While I enjoyed it, I never really thought of programming as a career until after I completed college when the web finally started getting fun (2004'ish).

In the fall of '04, having been fired from my job in computer sales (I was horrible), I went for any programming job I could find. I got in with a Voice over IP startup. I made so many mistakes, but learned from every single one of them.

Over lunch one day, one of the secretaries randomly told me how much $ she made, which was a few thousand more than me / year. Here I was, with a university degree, and she was still in school at a community college. While I knew I wasn't making much, that really showed how much this company was taking advantage of me. But I knew I was desperate when I came in, so I thanked them, and moved on.

Next up was an ad agency, then lead developer at another startup, and now currently working at as an engineer & developer evangelist. It's been a fun ride, and I owe it all to that first programming job.

2 points by ryanfitz 2 days ago 0 replies      
I got hired midway senior year in college by a startup that had just filed for an ipo. They were 100% a java shop and at the time I only knew c, c++, php, mysql and absolutely no java. Throughout college, I did programming jobs for small businesses and my university, making hardly any money. I studied my ass off on java, ended up being able to handle any of the simple java questions they asked and sold them on all of my experience that I put into working fulltime programming meanwhile pulling in great grades in college.

They knew I was under qualified from a java dev aspect, but was hired because of the dedication I showed from working throughout college. At the start I was definitely under qualified and I'd say truly knew nothing of how tech businesses run. However, with lot of dedication (and late nights) I learned a ton and quickly was tech lead of a major part of their business.

That was 5 years ago and have since left for more exciting opportunities. FWIW, Now I can't stand doing java dev, nor the people associated with it, but that experience opened up tons of doors and am grateful for the opportunity.

3 points by tunaslut 2 days ago 0 replies      
My first programming job was ASP (back when it first came out) - I was ok with HTML, but knew nothing about ASP, having spent most of my time using things like dBase and Pascal.

The company that eventually hired me gave me an asp book and a week's wages and asked me to build a sample app as a kind of extended "interview". I got the job. We wrote some great code back there.

3 points by ThePengwin 2 days ago 0 replies      
When i was in grade 12, I taught myself PHP/HTML/SQL and some JavaScript. I set up a forum (Which was a modified Simple Machines Forum) to stuff around in at school because i always managed to finish projects and tasks in computer studies early.

A few months before I finished year 12 I was having real trouble actually learning any more in the field of web development, because I had nothing to code. I walked into a web design place with a resume and some code samples of what i already did and they said they may have something for me to do, and a few days later i was given a job submitting links to websites to up the page rank of a site.

When I left school, I was asked if I wanted to say there full time and do some web development. I agreed.

That was about 4 years ago now. I'm 21, and I'm still in the same job. Id say i was quite under qualified for my current position, but I'm really glad I was given a chance.

2 points by vegai 2 days ago 0 replies      
I was given a task to finish a webshop with online payments and hotel room reservations for a spa in 1996ish. It was started in perl, though I moved it to PHP a bit later.

I was 16 and was doing an actual summer job at the time (hard labour, 8-12 hours), so doing that was a good balancing thing. But the outcome wasn't very good, I had quite little concept of how to structure the program well. But I did finish it and the shop went into production.

I'm pretty sure, or at least sincerely hope they threw all of it away in the next iteration :)

2 points by jallmann 2 days ago 0 replies      
Microsoft, as an intern right after my first year of college. I thought I was hot shit. Got schooled a few times by those more wiser. Pretty humbling, but I learned a lot and grew a lot.
2 points by stefanve 2 days ago 0 replies      
I started out as a tester/functional designer at a job ( did some network / helpdesk stuff before that) since they didn't have a lot of developers and none that could program in a modern languages (MUMPS programers) I took 2 weeks off and learned Python after that c#. I went back to school in the evenings where I learn't some Java/SQL etc. and when't to a Cache course

now I work at a different company programming Flex RIA's and learning Clojure.

So when I started I didn't have experience or formal training but I was some kind of a computer geek BBS/FidoNet FTW! ;)

2 points by SteveMoody73 2 days ago 0 replies      
The first job I had was programming Motorola 6809 based Alarm monitoring systems in assembler. It was a painful process having to write everything to an EPROM for every change and debugging tools were non existent.

It was a steep learning curve when i first started but it's always been an area of programming i enjoy. Programming embedded systems was my first job and after working for many years developing on a wide range of systems and platforms i again find myself back working on embedded system again.

2 points by geekytenny 2 days ago 0 replies      
There are many jobs we take on thinking we fully understand until the bigger picture of the problem we are trying to solve starts unfolding : we will always be inadequate, and even forget what we once knew, that is why we keep learning to remain hackers.
2 points by Jgeros 2 days ago 0 replies      
Dropped out of university, 3 months ago after bumping into someone at university who needed a Rails and iPhone programmer. Had no knowledge of rails and only a little bit of iPhone experience. App was accepted last week!
Ask HN: When designing a personal site, how to get through creative-block?
19 points by nicksergeant 3 days ago   9 comments top 7
1 point by stevelosh 3 days ago 1 reply      
Start with content. Don't even make a stylesheet. Just get some content in there with the appropriate HTML tags. Then start a simple stylesheet that makes the content readable. Then you can start actually designing.

Starting from a blank slate is painful, but if you have content to work "around" it's much easier (for me at least). It turns out to be more like molding your design around your content than coming up with a design and then shoving your content into it.

(Note: I'm Nick's coworker, and I know he has plenty of content to start with)

1 point by percept 3 days ago 0 replies      
Do you already have ideas when you fire up Photoshop? If not, how about some inspiration?




If you already have several ideas, I recommend getting something down on the canvas as soon as possible. Just start with one element, like a menu for example.

You might also try prototyping with a simple HTML page with embedded styles. This lets you concentrate on one file in your text editor and then move the styles into a stylesheet later.

I also recommend writing some copy before you start designing; that way the content will help dictate the form of the site (e.g., do you need to present a lot of text or only a little?).

1 point by kingsidharth 3 days ago 0 replies      
The best way to design a personal site is go minimal - bare minimum.

But problem is you need a designer to handle white space well. Non-designers fear it (yes the blank canvas is white space)

So just go with one column layout.
Use Georgia, seif; typeface stack.
Use variations of size and italics to differentiate high-lites.
Use shades of gray.
Don't make it wider than 1000px.

Bonus Tip: Keep line height of text (css propery: line-height: 1.5em;) to 1.5em and text size to 14px.

If you can pull this one off. You will have a side that even designer will envy.


1 point by stephenou 3 days ago 0 replies      
Go out on the wild and get some inspirations:

Dan Cederholm: http://simplebits.com

Spencer Fry: http://spencerfry.com

Mike Rundle: http://flyosity.com

Sam Brown: http://sam.brown.tc

Matt Mullenweg: http://ma.tt

Tim Van Damme: http://maxvoltar.com

Meagan Fisher: http://owltastic.com

Adii Pienaar: http://adiirockstar.com

1 point by marckremers 3 days ago 0 replies      
You have to come to photoshop with a BIG idea that really excites you. Don't open up photoshop until that idea comes.

Form follows function. But function follows Idea.

The way I see it Photoshop is like the desert part of the process anyway. It's fun designing the site once you have a strong idea leading it.

1 point by HackrNwsDesignr 3 days ago 0 replies      
Marissa Mayer (Google Head of Locations, formerly Products) touched on this problem in a talk she gave. I vaguely remember, but I believe she talked about how a painter was always overwhelmed by his blank white canvas so he would paint a small stroke on each canvas to start with that. Often times having a start point can help spur you into motion.

One way I like to get started with design is by working on the logo first (which is relatively simple, since its plain text at first), and then continue to build around it until I'm past the block. Hope that helped.

1 point by Jonasd 3 days ago 0 replies      
Let yourself experiment for a while. Just put some crap on the page, don't be afraid to throw it all away. Try different styles and have fun. Also it helps to sketch on paper before committing to a screen.
Ask HN: What do you do while compiling?
7 points by rcfox 2 days ago   10 comments top 10
4 points by yummyfajitas 2 days ago 0 replies      
Pushups, situps and squats.

Next year I'm thinking of pushing my boss to get a barbell rack for the office.

1 point by iuguy 1 day ago 0 replies      
Get up, stretch, make a cup of coffee, go outside for some fresh air. Getting away from the screen and strip lighting for a while does wonders for me.
3 points by space-monkey 2 days ago 0 replies      
Work on optimizing my compile time.
1 point by tunaslut 2 days ago 0 replies      
I either take a walk outside and stretch or I read - something completely unrelated to programming (since I study acupuncture part time it's kind of perfect
1 point by harnhua 2 days ago 0 replies      
Some compiles take a few hours so I have no choice but to jot down whatever state the current project is in and switch context to some other project...
1 point by golgo13 2 days ago 0 replies      
Go on dell.com or apple.com and build these crazy systems that I will never buy. 5K for a workstation? Sure!!
1 point by nrj 2 days ago 0 replies      
Legitimately slack off - http://xkcd.com/303/
2 points by its_raining 2 days ago 0 replies      
HN new links. :)
1 point by acidblue 2 days ago 0 replies      
Honestly? I keep coding. There is always something else to write.
1 point by rhizome 2 days ago 0 replies      
Spider Solitaire
Sign of the times?
16 points by cherenkov 5 days ago   6 comments top 6
11 points by LeBlanc 5 days ago 0 replies      
If you want to change this then you and anyone who agrees should do the following:

    1. find and submit interesting stories to HN

2. visit /newest often and upvote stories that aren't fluff

If you and all the other people who love HN do this, it will substantially improve the community.

1 point by mathgladiator 5 days ago 0 replies      
> Since when did 100 lines of web application code become innovation?

When it makes executing and polishing the products easier.

> I am not sure if there can be a scale for innovation but a 100 line web 2.0 application is no match for the integrated circuit.

So, |EE| > |CS|?

100 lines of well written code in a functional programming language can do marvelously things. Just look at: http://norvig.com/spell-correct.html and then tell me how connecting AND and OR gates compare intellectually?

> Where is the innovation that focuses on the hard problems?


> code is just code

Or education material so those that come after us skip 10% of our problems.

> Pasting code on blogs and sites is just show-off

Or marketing

> What seems to be also missing is the appreciation for incremental and painstaking detail oriented innovation.

In aggregate, you get to see the results of people's pain staking details in whatever form they market it as. A post may represent a good night of hacking or a year of research to produce one moment of clarity.

1 point by KevinMS 5 days ago 0 replies      
As a developer myself, I can tell you, code is just code. Pasting code on blogs and sites is just show-off; much like the friendly sales guy in a suit who is flashing the latest smartphone at the airport to appropriate the phone's coolness.

As a developer how can you say this? Code isn't just code, its good code or bad code. I cant count how how many good coding solutions to problems I've found on blogs, and how much time it has saved me.

1 point by J3L2404 5 days ago 0 replies      
I think you neglected an important category:

(6) Building Things (physical things)

For me, the two biggest responses when posting stories to HN were both woodworking related projects w/instructions.


1 point by olalonde 5 days ago 0 replies      
Reminds me of this great article by Tim O'Reilly: http://radar.oreilly.com/2009/01/work-on-stuff-that-matters-...
1 point by canadaduane 5 days ago 0 replies      
I've recently been thinking about Steve Blank's characterization of start-up companies as essentially "searching" for a business model to "execute".

I think the reason so many noteworthy things not directly related to entrepreneurship pop up on yc news is that this "search" process uncovers unexpected things along the way. It's a kind of nexus for new thoughts and unusual twists.

Many of us engage in the entrepreneurial search process and at the same time co-opt it for other purposes. There is a lot of value in the overlap.

Ask HN: Randomly kicked off Facebook. Do they really review?
5 points by Be-The-Water 3 days ago   7 comments top 6
4 points by konad 3 days ago 0 replies      
I've been banned by HN twice, no appeal, no explanation, in fact you don't even know because you can still log in and post comments. The first time it took me a couple of weeks of "how come no-one replies to my posts any more" before I thought anything was wrong.

The first one - I have no idea why - I guess the -4 (which I still think is a valid comment)

http://news.ycombinator.com/threads?id=skwiddor - 100+ karma

Ok so next time round I'll be more careful, got 400+ karma

Then one day you slip in a joke and you're toast


4 points by jeffmould 3 days ago 0 replies      
Apparently there was a bug in the FB code on the day their new mail product was released.


2 points by jdp23 3 days ago 0 replies      
Facebook don't appear to review automated deletions manually unless somebody complains.

It's a tough situation. The "What you can do" section of http://www.talesfromthe.net/blog/?p=28 is a couple years old, but it describes a few techniques that worked at the time. there are also some discussions at http://getsatisfaction.com/facebook that might be useful.

1 point by kadavy 1 day ago 0 replies      
I have a friend who was recently banned for a couple of days. She said that "a bug that randomly affected some female users" was to blame, so maybe that's it. The best advice I can give is to try support@facebook.com

Also, this video might make you feel better. You are not alone: http://www.youtube.com/watch?v=110aaTzdlno

1 point by mcav 3 days ago 0 replies      
I think your hunch is correct: Create a new e-mail and just sign up again. They probably won't catch it.
       cached 21 November 2010 15:02:01 GMT