hacker news with inline top comments    .. more ..    11 Nov 2010 Ask
home   ask   best   9 years ago   
Ask HN: I'm struggling and need some advice
9 points by ethan_ 1 hour ago   5 comments top 4
2 points by petercooper 1 hour ago 0 replies      
So I am split mentally. My rational side wants to push forward, to "release ASAP!", while my emotional side is trying to prevent it from happing.

Have you ever been skydiving, bungee jumping, or something similar (even public speaking for many)? Unless you have a disposition of steel, when you're at the point of jumping, your gut is screaming at you to not do it, even if you're rationally aware of the (low) risk and want to do it.

Comparing launching something on to the Internet to jumping out of a plane seems silly on the surface, but there are some strong parallels. The more you do it, the easier it gets (though in both cases it rarely becomes a breeze).

A common trick is to pull back on some features so you can launch with the "minimum viable product". And even if you do that, yes, it might fail. But at least you'll know sooner and can stop dragging your heels. Build up some velocity and even if your product/site is going in the wrong direction, you can more easily change course than by looping around procrastinating.

I say all this as a semi-reformed procrastinator. My fix is merely to keep up the velocity, even if it's in an unknown direction (examples - at the weekend I built http://tweetcanal.com/ - today I launched http://javascriptweekly.com/ - both procrastination activities of sorts but they fit into my plan). Changing course is easier than starting the engine in the first place.

3 points by davidsiems 1 hour ago 1 reply      
Get a job.

Don't view getting a job as failing. There's a lot you can learn from the experience. Both in terms of what to do and what not to do.

Don't view it as 'making your parents happy'. It's more about independence and self-sustainability. What would you do tomorrow if your parents decided to cut you off?

If you're working 8 hours a day you'll still have a few hours to work on your own stuff. I work 8 hours a day with a 1 hour commute each way and still manage 1-4 hours a day on personal projects.

My advice? Get out there, get some perspective. You can learn a lot about responsibility and self-discipline from the workplace, maybe that'll help you with your own stuff as well :)

2 points by droz 1 hour ago 0 replies      
this may sound harsh, but, not everyone can be an astronaut- someone's got to make the french fries.

Go out and get an 8-5 job, make some money, become independent and work on your project on the side.

Also- don't be afraid to make mistakes.

2 points by bradhe 32 minutes ago 0 replies      
Consider consulting part time?
Ask HN: Java in 5 Years?
11 points by bluedevil2k 2 hours ago   6 comments top 5
2 points by petercooper 2 hours ago 0 replies      
Java is too entrenched as a language to seriously languish in 5 years. Its popularity for new projects might be significantly reduced, but there'll still be a ton of work available due to the built-up glut of projects and developers (even more so than COBOL ever experienced).

Java as an ecosystem and including the VM? We might see it splinter a little but the VM is even more entrenched than the language. There are too many other languages and ecosystems sitting on top of the JVM and its compatible libraries that I doubt any damage will be negligible in 5 years even if Oracle really screws things up from here.

1 point by kaffiene 52 minutes ago 0 replies      
I don't really see this as having much effect on Java at all. I see a lot of nerd rage at Oracle for how they've managed Java so far (including from me - I think Elison is a douche) but face it - nerds ain't the target market for Java. Nerds have hated Java from the outset - it's not cool enough, it doesn't have whizzy features from functional programming, it's too slow, it's too corporate, it's too hyped.

Well, now over a decade later and a tonne of real work has been done by real companies with Java. By people who don't give a shit about whether it's buzzword compliant or 'free as in speech'.

Nerds getting their knickers in a twist about freedom or whether you can write 'hello world' in 20 less characters, or whether you can implement currying in Java are just not the target market for Java and quite frankly, outside a very small cloistered world, they're not really an important market, either.

One day, Java will be superceeded, and I expect that it will be something akin to Gosu - kinda like Java, Java compatable but 'better' enough in some way to make people want to move - much like the C to C++ transition happened: people can keep their existing investments and codebases, but start doing new stuff in a way which adds some value. I don't think such a language exists yet - Gosu doesn't offer enough I think. But one day,

2 points by nailer 1 hour ago 0 replies      
Someone makes a Java alike, not called Java. It wins, like a Unix-alike not called Unix won a few years ago.
2 points by codedivine 2 hours ago 0 replies      
Java or JVM?
1 point by Jabbles 2 hours ago 1 reply      
Cobol programmers make a ton? Interesting, source please!
Ask HN: Deciding absolute vs. relative URLs, and related issues
6 points by ez77 1 hour ago   5 comments top 2
2 points by pzxc 1 hour ago 1 reply      
I use relative URLs almost exclusively throughout my sites -- the main exception being anything that ends up or has the potential to end up outside the site, RSS feeds being the primary example. Relative URLs simply won't work there, so anything that gets syndicated (through a feed or otherwise) it's probably best to use absolute URLs.
2 points by preek 1 hour ago 1 reply      
#3 will be best if the domain name ever changes. It happened to me three times and #3 kept my head over the waterline.
Ask HN: Is Go a program language I should learn
5 points by Gentleman_Ryan 2 hours ago   4 comments top 4
1 point by kaffiene 6 minutes ago 0 replies      
I was excited about Go until I started reading how it actually works. It seems to be retrograde in many respects and nowhere near a step forward with systems development languages. I see little to make you move from C++ to Go, and I hate C++.
1 point by charlesdm 26 minutes ago 0 replies      
I'm actually in the same situation. I'd like to give it a try for the development of a back end server for a realtime game.

Does anyone have any experience with this in Go?

2 points by preek 1 hour ago 0 replies      
You're asking the wrong question. What would you like to do with it? Learn programming, Go paradigms, parallel paradigms, simply a new language? So many answers to so many different premises.

Also, take a look at this article: http://news.ycombinator.com/item?id=1891725 It sums up Go's last year.

1 point by Jabbles 2 hours ago 0 replies      
I'm afraid you will get a very divided response. In my opinion, learning Go was great fun and I very much look forward to the day I am paid to use it.

In someone else's opinion:
"If you're paying any attention at all to Go, you're not learning anything. In fact, it's possible you're damaging your brain. It's projects like these that make Google look really bad and unattractive to programming language researchers, especially as compared to Adobe, IBM, Sun, and Microsoft." http://lambda-the-ultimate.org/node/3896

So there's a controversy, which thankfully means I can be impartial and yet tell you to make up your own mind by trying it out :) Which btw you can do in your browser, at http://golang.org/

Show HN: my first ever coding project (7bks.com)
18 points by topcat31 7 hours ago   11 comments top 6
2 points by ryanto 6 hours ago 1 reply      
looks very nice.

1) When browsing lists I like the spacing and big font, but I would also like to see all books without having to scroll. Like an easy way to take the list in.

2) Add more ways to login, maybe including your own system.

3) This might be a cheesy idea, but is there anyway you can theme book lists based on their topic/category. For some reason I think the layout of scifi fiction list could/should be different than a list of Perl books. Btw, when I say theme I just mean general layout stuff, not like MySpace animated gif theme.

1 point by jim_h 6 hours ago 1 reply      
Pretty nice idea. I like it, though I'm not sure I want to sign in with google. Maybe a simple account system like HN?

(I understand the concepts of using google/fb/etc sign ons, but I don't like to have to log into them if I can avoid it. Paranoid they'll know every website I have an account on. sort of..)

I think it'd be better if the recent books took me to the user's book description first (like in the book lists). Then if I wanted to go to Amazon, I could use the link from there.

2 points by h0h0h0 4 hours ago 1 reply      
Hey Congratulations for launching Tom!

Did you want feedback on coding as well? If so I can pass some info along.

Other than that i like the layout and the visual of the site. it's simple and makes a ton of sense at quick glance.

1 point by will_critchlow 6 hours ago 1 reply      
2 points by swanson 3 hours ago 0 replies      
For 4 weeks in, that is pretty good Python code. Keep up the good work!
1 point by amitvjtimub 6 hours ago 1 reply      
I like overall look and feel. Also appreciate the fact that this must be hard to grasp in limited time but as such I am not target user.

Good work.

Ask HN: Learning Heroku
3 points by arithmetic 2 hours ago   3 comments top 3
1 point by wait 19 minutes ago 0 replies      
There are also some screencasts scattered around the Heroku blog. For example, I was just using their screencast on New Relic and the queue depth:


I also recently used another screencast for setting up a Sinatra app. It's incredibly simple, go figure:


Very helpful. The Heroku docs also have a lot of information about the Heroku specific stuff that you might want to read about (like dynos and the backlog).

2 points by bbgm 1 hour ago 0 replies      
The Heroku docs are great. Michael Hartl's http://www.railstutorial.org Chapter 1.4 also covers that well
2 points by ryanto 1 hour ago 0 replies      
http://docs.heroku.com/ - I am sure you have seen this, but there is a ton of good info here.
Ask HN: The future of programming languages?
30 points by ique 10 hours ago   42 comments top 17
10 points by swannodette 9 hours ago 3 replies      
Topics that I think will be important:

  - Functional Programming
- Logic Programming
- Managing asynchronicity
- Managing concurrency / Managing state
- Pruning bad directions in OO (see the first two)
- Type Systems
- Virtual Machines

Languages/technologies that I would look at more closely given these are Haskell, Scheme, Prolog, Clojure, Qi, LLVM. I love JS but as far languages go, I would not look there for new ideas. At best I see it becoming a fantastic compile target.

I also don't see Haskell and Clojure being particularly specialized. They are very general purpose and suitable for tackling any kind of programming problem - simple to complex, JS on the other hand is a language with a very specific focus.

I don't see the importance of being able to read and understand C/C++ diminishing anytime soon as those languages are intimately tied to our operating systems.

EDIT 2: I added Type Systems above. I think Haskell has shown the power of an expressive type system. However it has it's problems. I look forward to see the distinction between languages w/ strong type systems and those without being abolished. Languages should support turning the type system on and off - see Qi. Type systems also should allow the typing of a much richer set of values - Qi's sequent calculus types is eye-opening in this regard.

EDIT: I'm opinionated about this, but the constant announcement of new languages that simply continue the traditional stateful OO paradigms (perhaps tacking on a couple of syntactic niceties or a crippled static type system) seem like complete dead ends.

11 points by silentbicycle 10 hours ago 1 reply      
Decades ago, lots of programming languages were created that hardly anybody knows now, including some that would definitely be considered very specific, research-oriented, etc. This isn't really a new thing. See for example Jean Sammet's _Programming Languages: History and Fundamentals_.

Edit: Bergin & Gibson's _History of Programming Languages, Volume 2_ is pretty good, too, but that one covers more recent languages: Prolog, C, Forth, Lisp, Icon, etc.

It's not a bad idea to read about old experimental designs, particularly those that didn't work out because of limited hardware. I think there's a lot of potential in the APL and concurrent / constraint logic programming families.

4 points by dman 9 hours ago 0 replies      
I for one wish that implementations of future languages provide the following features
a) Some extension mechanism for the language like clos etc, where hooks are provided for executing code.
b) Code walkers
c) Documentation about the internals. I dont mind the language implementation being a tad slower because of simplicity but in the core has to be grokkable and extensible by the end programmer.

Existing languages suffice for most easy problems. For the hard problems that ive been tackling lately ive wished I could overcome some logical impedance between what I am doing and the language in a sane way. A few examples where
additional flexibility would help
a) Opengl is a state machine. Being able to take the graph of my program and write assertions that critical setup functions are called before other GL functions would help
detect invalid logical states.
b) Before, after functions (which exist in lisp) would be nice.
EDIT: c) Being able to say -> for all objects in in my program that match this criteria, do something. Essentially -> for x in criteria(primitives(program)) do foo.

EDIT: A common thread to all the times I feel trapped as a programmer is when I have a knowledge of the meaning of my program which I want to express, or perhaps a question about its existing implementation which I would like answered. Many languages lack the introspective power to help me as a programmer to tackle these situations. Others simply make it inconvenient to do so.

3 points by BigZaphod 10 hours ago 0 replies      
I think that eventually some programming tasks will become highly specialized, yes, and use custom and very specific languages depending on the field and the problem at hand and may end up with their own degree programs, etc. There's already hints of this sort of thing right now. It's very hard to transplant a programmer from (for example) web development to 3D game engine development - it has nothing to do with language, though. There's just a huge set of knowledge required for each that has very little overlap - even if the languages used happened to currently be the same in some cases.

It doesn't make sense to forever expend the effort required to force every problem into just a handful of languages' structures - even if it is theoretically possible to do so.

I think that things like OMeta (http://tinlizzie.org/ometa/) are an important piece and the other work being done by Viewpoints Research (http://www.viewpointsresearch.org) could help.

5 points by RodgerTheGreat 10 hours ago 1 reply      
I think VMs are the future of application programming, especially as manufacturers become more amenable to using "unconventional" architectures like ARM to host full-featured computers. LLVM, the JVM and the CLR all have benefits- I don't see any reason to believe there will be a convergence in the near future.

Environments like .Net and the JVM stack will slowly allow tighter and finer-grained interoperability of the languages they host. We currently have class-level blending of languages, and in the future we will probably see method-level blending. The best DSL for the job.

5 points by jaen 8 hours ago 0 replies      
A lot of research has not made its way into any language yet. In particular, the data models and optimizers of current languages are woefully inadequate. Most mainstream programming languages are still in their infancy, being nothing more than glorified assembly.

The future will be more about declarative programming - write down a mental model of the program, and the language/compiler will do the rest. A simple restricted example is SQL - you write what data you want and the optimizer figures out the best "program" for the query, using even genetic optimization in the case of PostgreSQL.
Another example is data binding - you write down what data connects to what part of the GUI, and the framework figures out what to update and when.
The problem with SQL, data binding etc. is that they are not tightly integrated into a general purpose language, and do not have clear theoretical underpinnings.

A good language will have simple, compact theories and abstractions as general as possible to reduce the mental baggage necessary for programming - instead of remembering hunders of special cases, you should only work with a couple of general constructs.

Optimizers for these languages will have to be far more advanced - remember state between compilations to reduce the impact of whole program optimization, have advanced specialization and type checking capabilities using abstract interpretation etc.

Data models will have to grow too - they will have to be high-level and low-level at the same time to cope with the onslaught of data. The semantic web provides a fairly universal data model with RDF/OWL, but this again could be simplified and abstracted. A data model should also have the capability to specify the physical layout of the data down to the bits, but also at the higher level, such as distribution between disks and machines.
Ah, finishing now to avoid tl;dr.

3 points by nkassis 7 hours ago 0 replies      
Aside from programming paradigms, my frankensteinian view of the future is as follow: Javascript VMs become so good, other languages start being built on top of it. The future V8/Rhino... instead of JVM for new languages.

I can certainly see Clojure in JS pretty soon. This might be wishful thinking on my part (see bellow for why).

"Will game development ever diversify or will it go from C++ to C# to ..."

Yes, WebGL is in my view a game changer (pun intended). I'm pretty bias considering I use it currently a lot. But I'm replacing scientific application in C++ with WebGL version online.

Finally, I don't see a slow down in new languages popping up any time soon. I think it's important that they can run on some generic VMs to allow for multi language apps to be possible.

3 points by javanix 10 hours ago 1 reply      
I really hope that game and other performance-dependent development moves to Go or something like it, rather than being stuck in C/C++ land.

The advantages of modern syntax design coupled with a fast native compiler would be a potent and exciting mix.

2 points by tom_b 9 hours ago 1 reply      
I think (hope?) that the next wave in hacking will be understanding programming paradigms better as hackers - the specifics of language choice will probably matter a little less. I like the idea of languages that support multiple paradigms internally (e.g., you can embed logic programming into your functional programming language). A while back I spent some time reading Concepts, Techniques, and Models of Computer Programming and I wish I had found this book earlier in my career. I probably wasn't ready for it though.

This aspect of software development was largely missing from my formal educational experience in programming language paradigms.

What I am trying to do now is develop a better "taste" for what is "easy" using one programming paradigm compared to another. I'd ultimately like to have a better problem to paradigm mapping internalized. I've toyed with the idea of putting together a seminar or undergrad course to do flesh this out.

The elephant in the room is more market based - what programming languages will someone pay you to use in the future? We already have a number of interesting programming languages. But when you do your job search these days, I see a small number of large buckets. The .Net/CLR C# world, Java in the enterprise, Ruby (really the Rails framework, but even so), and a strong side of the data storage backend of your choice (RDBMs or NoSQL or sexps - kidding on that, pg keeps our own forum in files full of sexps).

2 points by beagle3 2 hours ago 0 replies      
The language of the future is Lisp. always has been, always will be. (which is a shame, because APL and its children J and K would be a better foundation).
2 points by twymer 9 hours ago 0 replies      
For game development, I think it will diversify with the increasing ease of developing and selling indie games that do well. There are lots of languages getting perfectly good game development libraries that can definitely be used for the (often simple looking) indie game market.

However I don't think the big players in the industry will be able to. To deliver games of great scale (WoW) or intense graphics/effects you're going to need something that can deliver the absolute best performance.

2 points by aplusbi 9 hours ago 0 replies      
I think we'll see greater use of type-inference in statically typed languages. I hope that we get rid of the "kinda strong" type systems (like C++). While I appreciate the convenience of such type systems, I think greater type safety is a worth the trade-off.
1 point by hsmyers 9 hours ago 0 replies      
As Sir A. C. Clarke said (or at least to paraphrase)-- predicting the future is at best a crap shoot. That said I know what I'd like to see. As suggested elsewhere, much of what we see in 'new' languages is syntactic sugar bolted on to existing approaches; new on the outside, same old on the inside. I'd like to suggest that, that is not necessarily a bad thing. Consider what 'syntactic sugar' is--- a tweak or rephrase of an older approach to accomplish some task in the language in question. What if these were recognized as less sugar and more substance. The purpose of a computer language is to communicate with the computer first, innocent bystanders second. SS preserves the one and enhances the second, a win-win if you will. I'd like to see a language designed from the bottom up with that approach in mind. See if we can't come up with something that more clearly bridges the gap between programmer and machine. By now we know the variety of things that should be built in, now lets concentrate on the interface...
2 points by madhouse 10 hours ago 0 replies      
The world is already filled with hundreds (and probably thousands) of programming languages, most of them fantastic in one way or the other.

Some people will prefer to stick to one language, some will dabble in others, but... most of the time, if the language is not radically different from everything you knew before, learning a new one isn't that hard.

I don't see this pattern changing in the foreseeable future. I mean, some areas always had their niche programming languages (heck, most areas do, anyway).

1 point by davidw 8 hours ago 0 replies      
Ok, I thought it was interesting enough to do my own take on it:


0 points by steveklabnik 9 hours ago 2 replies      
1 point by xarch 9 hours ago 0 replies      
I don't know how the future of programming language will be, but I hope functional programming will take over the world, more and more people will try to prove their algorithms are correct (with Coq, for exemample) and cool type systems like System F or Dependent Types will be used more.
Ask HN: quitting programming?
31 points by throwaway31337 10 hours ago   45 comments top 30
15 points by edw519 10 hours ago 2 replies      
You may want to consider a third option, one that has worked well for me: Solve a hard problem.

This requires 3 steps:

1. Find a hard problem, with the emphasis on "Find". It must be someone else's problem, not yours. It also needs to be big enough to be important, hard enough that the elegant solution hasn't been found yet, but not so hard that you'll waste the rest of your life on it. Examples:

  Bad: Invent a time machine.
Good: We need a better e-commerce website
Better: We need software to build better e-commerce websites.
Best: We need software to attack this problem differently.

2. Figure out your approach (how) and learn what you need to learn.

3. Build it, get feedback, iterate.

Your problem is that you're not challenged enough on something important enough. Do this and you won't be bored. You will also know once and for all if this is really for you.

6 points by wccrawford 10 hours ago 0 replies      
Find something else to do and just go do it. Then you'll either realize that you really did like Programming, and come back, or that you made the right move.

Sitting there and wondering will never bring about a resolution to this.

The sooner you do this, the sooner you'll know and the sooner you can get on with the rest of your life. Delaying it means you delay the pain. It's got to happen sometime.

3 points by twymer 7 hours ago 1 reply      
As others have mentioned, your post sounds like it could be minor depression. You mention being social and liking people. Perhaps your problem is that you're keeping yourself cooped up inside while programming so when you think about new ideas, it's bringing you down because of that.

If you live in/near an urban area perhaps you could try finding a co-working space to work out of. You might get lucky depending on where you live and find one with mostly developers. Changing your work environment might change how you feel about the work you're doing.

Finding a job and deciding you really don't like programming even with the work structure and peers also would not be the end of the world. If this is the last job you have doing development, it's not likely that it will have a negative impact on you as you move to a new field.

4 points by eof 9 hours ago 0 replies      
I quit programming for like six years and fell backward into it again.

Being able to program is in too-high demand for you to really do anything else with the intention of getting money.

That being said, you should absolutely follow your heart. My guess is you will come back to it naturally eventually; even if it's just little bits here and there. I see a million times a week how a few hours coding here or a couple dozen hours there could automate the shit out of boring repetitive tasks people do every day; you can at least automate those things out of your own life.

Sitting in front of a computer all day really isn't a good way to live. It's a good way to make a living; but you should definitely follow your heart.

2 points by S_A_P 8 hours ago 1 reply      
Sounds to me like burnout. If you have been freelancing or doing some enterprise/LOB apps you are probably solving the same problem over and over again. That gets old fast. IMO, there is no way you have seen it all yet if you are just a year out of school.

One way I try to stay interested is finding a segment in which I have no business knowledge. My most recent change was commodities trading software. Using the same tools and language that I have for the last 7 years or so(C#, winforms/ASP, sql) with much more complex problems, so I stay interested.

That may or may not help, but it sounds like you are still young-ish, so maybe you just need a change of scene? vacation? time to experience life? recharging your batteries may do you some good.

3 points by Orca 8 hours ago 1 reply      
I had similar feelings a couple of years ago. I was a .net programmer for 10 years and seriously considered going to dental school.

Instead I bought a MacBook last thanksgiving and built an iPhone app that Apple featured and subsequently sold very well. The Mac world was a completely new area as well as mobile (was doing enterprise software). It has made programming fun because I also run a small business with it. In addition, running a small business I'm using open source software to build my new website and learning python on django has been a pleasure.

At least for me programming is fun again, but also because it's helping towards my goal starting a company.

4 points by k7d 9 hours ago 0 replies      
To be honest this sounds like first signs of depression - stuff that used to be fun is not anymore. Maybe I'm wrong but my guess would be that it's not directly related to programming, rather to lack of inspiration...
1 point by wallflower 10 hours ago 1 reply      
It sounds like you have excess creative energy. The nice thing about life is that success in one niche is not always easily translatable to success in another niche. Programming is easy for you. Why not push yourself and diversify out of technology? There are many things you could push yourself into, especially related to your love of travel. Assuming you are not already, please consider learning and studying another language other than your mother tongue. As you surely know, when you travel, you will always be a tourist until you speak the local language.
2 points by hebejebelus 10 hours ago 1 reply      
Think about teaching, perhaps. Certainly for me, if I know something well enough to teach it, I've gotten bored with what I can do with it. However, if I actually then _teach_ someone, there's a constant barrage of questions, from a completely new perspective. Plus, there's always the feel-good initiative, and the money in teaching or grinds isn't bad either. Just my 0.02. :)
2 points by poink 8 hours ago 0 replies      
Personally, I think you should come up with what exactly you plan to do if you stop programming. I realize you may have a lot of things in mind, but eventually you'd have to pick one and try it. Try picking one now.

Does that job seem particularly appealing to you? Why? If you can come up with good reasons, by all means go for it. If you can't, why go do something you're worse at (and presumably will be paid less for) if you're going to be similarly unfulfilled?

Your feelings are totally understandable. I just think you're giving your current occupation short shrift if you're weighing it against the abstract concept of "doing something else", even if you have a general field in mind. Every job has its downsides, and you need to be able to weigh those against the ones you're painfully aware of with programming. Until you have a concrete idea for another job, you can't do that.

2 points by maxklein 10 hours ago 0 replies      
Go into management and outsourcing all your programming jobs.
2 points by jhferris3 10 hours ago 1 reply      
What made you do CS in college? What made you stay longer and get a MSc. ? Was there a specific subfield that really grabbed you? If the problems you're facing are too easy, consider going somewhere that would make you solve hard problems (more grad school, maybe?) ? I think answering those questions would be helpful in you eventually re-find your passion for coding.

But right now, you sound burnt out. Forcing yourself to code more probably won't help. Get out and do something different for a while. I bet you'd find the programming itch coming back after not too long.

2 points by paydro 9 hours ago 0 replies      
It sounds like you might be burnt out. Why don't you just take a break? I was burnt out for a few years and didn't realize it until August this year. I decided to step away from programming. Instead, I traveled. I told myself I'd stay away from programming while traveling, but I couldn't. After a few weeks, I was hacking away at things on my computer again. It's incredibly fun, even if I know how to solve most of the problems in my domain.
1 point by lobo_tuerto 7 hours ago 0 replies      
This describes the feelings I had a couple of years ago.

I didn't want to know about programming anymore, I was almost completely burnt out and needed a new direction to save my love for programming.

I took some time to think and reflect upon what I wanted to do next. Then it hit me, what I really needed was a new goal for my programming skills. That's when I knew what I needed was to programming in a different light: now that I have mastered the skills to program basically anything I want I could focus on the "creating, make it happen" part of programming.

So, I think what you need is to find something worth doing with your mastered skills. Center your focus on finding that thing, the masterpiece you will make now with your new found conscience.

1 point by cadr 7 hours ago 0 replies      
One thing that stuck out for me was the "I know a lot more than most of my peers" bit. You might see if you can find a company where you don't. I find the times where I worked with people that knew more than I did were a lot of fun, as I learned a lot from them.
2 points by tgrass 9 hours ago 0 replies      
The wise advice, that my own father gave me yesterday, unsolicited, as I mentioned leaving civil engineering for a different field, was not to do it. I've invested so much, he remarked. It's secure.

But the wise advice is not so wise: those years already invested are sunk costs. Ignore them.

Compare the potential job satisfaction of switching with the possibility of falling behind your peers a year in programming.

1 point by fiveo 9 hours ago 0 replies      
I'm on a similar boat.

I decided to quit pursuing technical excellence and heavily thinking to switch career to either DBA (I've been taking database courses at a local polytechnic college) or Sys/Net-Admin. More of the "Ops" kind of career for many good reasons.

I realized that what I like is to build software from a non-programming perspective (architect, designer, owner). So I decided to look for a lucrative yet stable career, save my money for the long run, and outsource programming jobs.

I know people have distaste with the word "outsource". But outsource doesn't necessarily mean to India. It could also mean to contract out part of the programming jobs to a local talent. I also have the advantage of being born on the other side of the world (somewhere in SE Asia) so I have 2 talent pools to choose from.

I viewed my moves as a series of problem solving steps. Perhaps you should too.

1 point by ujal 9 hours ago 0 replies      
I could be wrong but it seems the problem is not what you are doing, but what you are doing it for. We all know solving problems is fun, but at some point we wonder what is it good for? Dont forget programming is a tool, use it with a purpose. For me the satisfaction comes from making people happy by helping i.e. solving problems for them. So identify 'unhappy' people with problems, try to solve them and build a startup around the solution.
2 points by mike_esspe 8 hours ago 0 replies      
I had a similar situation. Got a break from programming for several years and now I like programming even more :)

During my break i tried to manage other programmers to program my ideas, but it didn't work very well (only one project, that paid my expenses, was launched).

1 point by gallamine 9 hours ago 0 replies      
Have you tried programming hardware? I'm talking about microcontrollers or embedded processors. Make some LEDs flash, do some bluetooth, control some motors. I dislike programming, but I love making things move.
I'd suggest checking out the Arduino project (http://arduino.cc).
Also (shameless plug), I run a robotics site that you might find some inspiration - http://robotbox.net
2 points by realmojo 10 hours ago 0 replies      
Been there, decided to join a student exchange program for half a year without touching a computer. I still have my doubts, but I also know that I want to create with my own team, not for somebody else.
1 point by Retric 10 hours ago 0 replies      
Most people don't actually like their job. If you can find something you enjoy doing and it pays reasonably well stick with it. If not, consider your tradeoffs in time, money, and boredom.

PS: Just donāt stick with a job you hate itās rarely worth it.

1 point by tocomment 9 hours ago 0 replies      
If you're social, you might want to consider being a recruiter. You'd be a god among men, since most recruiters don't know anything about programming.
3 points by MrMan 10 hours ago 0 replies      
What kind of work have you been doing? Find work that is much harder.
1 point by throwaway4242 7 hours ago 0 replies      
I feel like I've been in the exact same position as the author for the past couple years. Ever since graduating with a CS degree.

I've tried a few different things to break the rut (chronological listing):
- full time 9-5er for a year
- 3 month internship working at a cool start-up
- freelancing from home as an independent contractor

Every time I start a new programming job I feel excited, but that feeling quickly disappears and I fall back into the same rut.

By taking breaks from programming I've only been feeding this cycle.

I've had thoughts of pursuing a career where programming is only 50% or less of the job.

Have any HNers been successful doing something like that? By starting a modest start-up perhaps?

Focusing on developing a physical product to sell online could be really fun and would seemingly entail doing lots of different things, most importantly using programming as the means to sell online and not the core work.

0 points by Blend 8 hours ago 0 replies      
The fun is never "out there", it's inside you. The only reason things don't seem fun anymore is because you've made a decision that they're not.

The lack of "challenging problems" is not the problem. Many people complain that things are too challenging to be enjoyable.

Take a vacation away from your daily routines. Just don't think about your problems for that time. When you come back again, you'll then have a bigger picture of things.

The real fun is not in solving "hard" problems. The solutions to many "complex" looking stuff is rather simple. However, we all decide that we need to have a "complex" solution for things to be fun. Don't complicate stuff.

Just try getting a different viewpoint on things. Since you're a good programmer already, it's better to use your natural talent for the better. There are a lot of problems out there which might require your expertise.

Good luck!

1 point by known 6 hours ago 0 replies      
In a corporate environment, you'll have the following options

      (1) Elicit Business Requirements
(2) Design Technical Solutions
(3) Coordinate Project Activities

1 point by adovenmuehle 10 hours ago 0 replies      
I've always thought it's a fools errand to try and go against what you feel. If you "go to work and _try_ to be successful" you'll end up burning out.

My advice would be to find problems that you can't instantly think of the solution to. Whether that be a startup or whatever, you need more challenge.

1 point by patorjk 10 hours ago 0 replies      
It sounds like you've already made the decision. Never do anything that feels like failing. If your heart's into trying something new, try something new. I spent a year thinking programming was no longer for me, and when I came out of that phase I was more refreshed than ever.
1 point by akozlik 9 hours ago 0 replies      
If you really want to start a startup you should just go out and do it. Don't settle for just another job if it's not what you really want to do. Figure out what's keeping you from doing a startup and attack that problem.
Ask HN: How do you list bad projects on your resume?
7 points by lfnik 6 hours ago   4 comments top 3
1 point by Sukotto 6 hours ago 1 reply      
Personally I think resume's are loads of crap and I do my best to avoid giving them out. I find it a much better strategy to talk about what problems a manager is facing and how my joining the team will help resolve those problems.

To answer your question though...

Try to quantify what kind of impact your work had to either the top or bottom line and avoid talking down the team or technology used.

Barring that, talk about what kinds of problems the project solved and what it helped the team/group/company accomplish.

If you can't even do that, then I would just mention the workplace and job title and talk up other parts of your history and/or skill set

1 point by variety 3 hours ago 0 replies      
Just the facts, ma'am.

Unless the gig was very short (and so can be safely omitted), there's no reason to be coy about simply listing, in objective terms, where you worked and what you did. If you like, you can simply go into more detail (lines / bullet points) about the positive experiences, and less detail about the negative ones.

Also, you can safely "couch" negative experiences (like being fired for no particular reason, or effectively forced to quit by some domineering jerk) in various ways, like for example when it comes to listing references -- because it kind of looks bad not to have at least one reference for recent gigs, at least -- to simply not give the phone number of the obtuse junior manager which was the main reason you quit anyway, but listing instead a compatriot developer, perhaps still bound to his desks with golden handcuffs, but who knew the deal about what was going on in that sorry place, and won't be shy about putting a positive spin on your time there.

Basic idea being is that if you must convey negative (or simply lackluster) information about a former employer, it's vastly better to let someone else do it for you.

Or if you must deal the poop yourself, at least try to soft-pedal it so that the basic truth gets across (while still not sounding like you're nursing a grudge): so instead of saying "OMG they were so clueless", true though this may be, you can say things like "well they weren't really interested in trying new ways of doing things, so ultimately I felt my talents were underutilized."

1 point by madhouse 6 hours ago 0 replies      
Either you don't mention it, or you mention you did grunt work, what you've been told, even if you knew you could've done better.

Something like: "Despite my numerous attempts to convince the powers that be to implement $solution using $awesome_stuff, the policy remained the same: stick with $ancient_pile_of_dog_poo. But a job needs to be done, and so it was."

This has the advantage of suggesting that you will do what you're told - not neccessarily without trying to have your say first, but eventually, the job gets done.

Puzzle HN: 100 prisoners, 100 boxes...
8 points by jlees 7 hours ago   46 comments top 8
1 point by dedward 1 hour ago 1 reply      
Late in the day hypothesizing here.

As the boxes are random, and the order is unknown, and there is no hidden information passed between each prisoner, and the room is reset each time - the only controllable factor the prisoners can agree on ahead of time is the strategy for which boxes each one will open.

Given the boxes are already randomized, using a random order is no more useful than using a sequential order.

So assuming they know the layout of hte boxes (is it 100 in a line or 100 in a square... presumably this can be figured out or some other strategy accounted for so everyone approaches things the same way) - each person opening 50 boxes has the same odds of finding their name.
To maximize the odds of the entire GROUP finding their name, we need to ensure that each box is opened the same number of times by the end of the exercise. As we can't pass any information back and forth, this is the best we can do.

First 50 people open the first 50 boxes.
Second 50 people open the second 50 boxes.

Or - as they may or may not know their position - they only need a strategy that ensures that each box is opened an equal number of times by the end.

To me that still looks like (1/2)^100..... which by definition isn't the answer - so I'm missing something. Eager to see the answer.

3 points by RiderOfGiraffes 5 hours ago 1 reply      
Some clarification:

Each prisoner finds the room in the same state as each other. After opening the boxes they are subsequently closed again before the next prisoner. I believe this was intended to be inferred from:

     ... they will not know anything about the
previous prisoners' experiences ahead of time.

Hint - the probability of success is greater than 10%.

There is a modification of the "obvious" solution that even works if the warden knows the prisoners' strategy beforehand and behaves in a maximally pessimal (from the prisoners' point of view) manner.

0 points by fleitz 1 hour ago 1 reply      
Easy, first prisoner randomizes the order of the boxes, opens and sorts the first 50 boxes, hoping to find his name. Chance 1 in 2

Next prisoner uses a binary search to find his name in the first 50. Should have to open 6 boxes (log2(50)), if he finds it in the first 50 great. Either way he then sorts the next 44 boxes. Chance around 88%

3rd prisoner sorts the remaining 6 boxes, and finds his name in one of three piles using binary search. Chance, 100%

All remaining prisoners can use a binary search. log2(50) + log2(44) + log2(6)

I don't know how to integrate the 50% -> 88% chance, I'd estimate the answer to be around 44% based on my gut.

If the prisoners don't know the order they enter the room then they should each turn the first unturned box sideways to communicate the state of order. eg. if the first box is turned sideways you are prisoner #2.

I don't know if this is a brain teaser or just asking how to calculate the chances of 1/2 50 times in a row. (eg. the probability of correctly predicting 50 coin flips in a row)

1 point by Someone 6 hours ago 3 replies      
I think you messed up the formulation of the problem. As stated, a strategy would be
- first prisoner opens 50 boxes.
- second prisoner opens the other 50.
- each prisoner finds the box with the paper with his
name on it.

Success rate: 100%. There probably are other constraints but I can only guess at them (do they visit the room one by one, and must they decide on a box to choose before leaving? Who can talk to whom? Must they close all boxes before leaving the room?)

1 point by srgseg 4 hours ago 4 replies      
Found the solution here:



Warning: Don't spend hours of lateral thinking trying to solve this puzzle unless you have a degree in mathematics.

1 point by evanchen 4 hours ago 2 replies      
The first prisoner opens 50 and sorts the 50 in alphabetical order (in an obvious manner). The second prisoner, upon seeing the sort, can quickly see if his name was in the original 50 (My name is Evan, I should be before Henry and after Bobby, etc). If he finds it quickly, he has plenty of "openings" to help sort the remaining boxes (maybe in a second row behind the first).

The rest of the prisoners should be able to easily find their names within 50 trials.

Success rate is PRETTY close to 50%.

2 points by o_nate 6 hours ago 1 reply      
So if I understand this correctly, once the prisoners start opening boxes, there is no communication allowed between them, right?
1 point by RiderOfGiraffes 6 hours ago 2 replies      
I know this, but I won't spoil it for those who don't. It's a staple in some circles I frequent.
Ask HN: Where can I buy/download a recipe database?
5 points by drew_kutchar 6 hours ago   3 comments top
2 points by prs 6 hours ago 1 reply      
Is the data dump available at http://recipes.wikia.com/wiki/Special:Statistics an option that might fit your needs? You might want to check it out unless you already did so.
Request for proofreaders of my P vs NP "articles"
6 points by RiderOfGiraffes 7 hours ago   discuss
Ask HN: Where are the best places to post job opportunities for developers?
3 points by mpiccino 5 hours ago   4 comments top 3
1 point by Raphomet 4 hours ago 0 replies      
There's a Hire HN thread that shows up here about once a month.
1 point by mpiccino 5 hours ago 0 replies      
Thank you in advance for any help. Sorry if this is something I should already know the answer to...
1 point by tmbeihl 4 hours ago 1 reply      
What sort of project do you have?
Ask HN: Are there any startups using/considering Windows Azure?
15 points by rthng 11 hours ago   6 comments top 2
2 points by jhferris3 10 hours ago 3 replies      
I'm not, but http://www.microsoft.com/bizspark/ is a program that gives startups 3 years of product licenses, including some Windows Azure and SQL Azure credits. I don't know too much more about the program, but its at least worth checking out if you're thinking of using Azure.
1 point by neworbit 5 hours ago 0 replies      
I am aware of one that is but so far they're in stealth mode. Most other firms I've asked about that have had some derisive commentary about building on Windows.
Ask HN: Am I doing wrong?
7 points by maheshs 7 hours ago   11 comments top 11
5 points by steveklabnik 7 hours ago 0 replies      
Do whatever will make your stuff work. There are lots of reasons to dislike Microsoft, and plenty of reasons why the culture does not fit. That said, your users do not care how you've created their software, they want things that solve their problems.

Note that many of the articles here are totally stack agnostic, too.

1 point by sdrinf 6 hours ago 0 replies      
Welcome to the fire&motion effect[1]. You now have three problems.

First, by chasing what some other people think is sexy technology, as opposed to going with what allows you do Get The Job Done, and quick.

Second, your misunderstanding on what the markets care (which is, well, marketing for the most part), and don't care about (eg your technological stack). None of these the things outlined in your post will make any difference whatsoever on your ability to chase lucrative market opportunities.

Third. Despite what some people here might write, "Hacking" -fiddling with technologies, and gaining a deep insight into them- is completely technological agnostics. You can be a hacker, even in VB.NET; it just happens, that some of these technologies has a better "average community member insight" factor, than others.

Thus, your question really boils down to something more fundamental: are you into "hacking" for the tech, or for the people? In the former case, it doesn't really matter whether you'll use MS, or Python, or what the state of the current MS devtools are -just that you gain a deep understanding of them.

In the later case, you should put your investment into people -the ones you'd want to connect with, anyway- and let the appropriate tech emerge from it naturally.

[1] http://www.joelonsoftware.com/articles/fog0000000339.html

1 point by damoncali 2 hours ago 0 replies      
The lack of MSFT traction with startups has more to do with cost than cool. (Biz Spark is temporary - they get you in the end).

At my last startup job we used the microsoft stack very effectively - the cofounder was a microsoft guy, so that's what we used. Not a big deal.

1 point by bendmorris 6 hours ago 0 replies      
There's nothing inherently wrong with knowing Microsoft technology well. It's a tool. Learning more languages is a great goal because you can learn to use different types of tools. This gives you the ability to choose which tool is right for the job you're working on, instead of being limited to the one you know well.

My first experience was in VB and then C#, and I love ASP.NET MVC and still use it for some projects where it makes sense. But having learned other languages I've learned what the limitations of that technology is, and for most things I work on nowadays Microsoft technology is not the best solution.

Depending on what you spend time learning and what types of problems you work on, you may come up with different conclusions, and that's totally valid.

1 point by oemera 6 hours ago 0 replies      
You have 8 years of Microsoft development experience that's pretty decent and I bet this will bring you a lot of good jobs because many companies are using Microsoft technologies even the crappy ones (VB.Net, Classic VB).

However you are absolutely right about Microsoft. Yeah they doing good lately but from which standpoint? Microsoft has a really bad reputation under hackers and I think the reason is not that we all love Apple and Mac's. No, I think those reasons become clear if you look at what Microsoft is doing all the time, what are they implementing, how are they implementing new technologies.

For example Internet Explorer 9. This time Microsoft has to be really good cause they are losing market share month after month.
And luckily Microsoft did understand that and they are doing good with Internet Explorer 9 but again they are making things their own way and that's what is bad about them.
If Microsoft thinks it needs something they are always developing it on their own without looking what other developers are doing and how they solved those problems. No, they have always this one Microsoft solution doesn't play really good with the rest of the world (and sometimes even with Microsoft software).
That's Microsoft.

However I think you are on the wrong way. If your profession is Microsoft technologies and you want to stick with that cause you have a job and you like Microsoft platforms then you should stick with it and become better and better.

But look what other developers and hackers are doing, which new thinks are coming, which things are slowly going and compared to that what is Microsoft doing.
Don't turn into a developer who has a Microsoft hammer in his hands that's the worst thing you can do for the world and for your career.

I hope I could help you.

BTW: I learned programming with C#

2 points by maresca 6 hours ago 0 replies      
Worrying about the development language you use is like worrying about using a Stanley hammer versus a Craftsman hammer when building a house. The brand doesn't matter as long as the house gets built.

I've worked in the .NET stack for about 5 years now. It is a real pleasure to work with. When I need to get something done, I know I can do it easily, and without problems. And seeing the recent developments of Java with Oracle, I feel my decision was that much better.

1 point by percept 7 hours ago 0 replies      
I think it depends on your goals. Some ideas:

If you want to work for a startup then you'd probably need to learn open source tools (though startups use the MS stack, too). You might also find that a detour into OSS helps you bring fresh ideas back to your MS work.

If you need a job and/or like working with MS stuff, then stick with that (and be shamed on HN ;).

If you want to build a product, then it doesn't really matter--it's more important to bring something successfully to market.

1 point by skowmunk 4 hours ago 0 replies      
A question you may have to answer yourself might be:

1) Are you looking to have a safe job type career?


2) Are you trying to build something that you have in mind?

1 point by ecommando 7 hours ago 0 replies      
I call BS. A "Hacker" is not bound by a technology or language, despite what the [insert language or technology here] bigots want you to think. If you can create a spaceship from a toaster, who cares if it uses nanotechnology? It's still cool.

Go on working in whatever language or technology you want, and don't listen to the idiot zealots who aren't intelligent enough to broaden their horizons to the point where they understand that ANY language is cool if it provides the customers with a viable solution that scales.


1 point by ryanto 6 hours ago 0 replies      
When most people claim that language X is "not cool" it's a defense mechanism. They do not know or have no interest in learning X, so it becomes worthless and uncool to them.

Spend more time focusing on theory and less on stack.

As for stack advice, pick what you want to do.

1 point by peterbotond 6 hours ago 0 replies      
Learn new stuff is given as the most constant is change itself.

Solve problems with what you are most effective with.

Have fun, use the lang/os/lib/whutnut make you smile while doing it. :-)

Apply above 3 points and hack! (Repeat as needed.)

Can anyone recommend a good SEO / SEM company or individual in the bay area?
3 points by irishman_irl 6 hours ago   discuss
Offer HN: Friendship in the Valley?
16 points by juiceandjuice 17 hours ago   5 comments top 4
1 point by bigiain 3 hours ago 0 replies      
Can I suggest Dorkbot? http://dorkbot.org/dorkbotsf/

Their tagline is "People doing strange things with electricity" - in my experience you end up with a fascinating crowd of people hovering somewhere on the borderline of hardware geeks, software geeks, artists, and pranksters.

They've got a meeting next Wednesdsay in SF - I've made some _great_ friends via Dorkbot in SF as well as Sydney (where I live) and Seattle.

(If you go, find Karen and tell her Big says "Hi!", and there might be an Australian girl named Pia visiting, tell her I say Hi too!)

3 points by scrrr 14 hours ago 0 replies      
You will probably meet more interesting people here than on okCupid. I like this offer and would go for a beer with you if I was in that area.
1 point by rms 14 hours ago 1 reply      
Try posting an intro message on SF Redditors.. it's a very friendly group.


2 points by fbailey 11 hours ago 0 replies      
can't help you, but it's absolutely understandable and not at all retarded :)
Ask HN: Co-Founder split
4 points by cuchoperl 8 hours ago   3 comments top 3
3 points by vessenes 7 hours ago 0 replies      
My first reaction to this plan is 'this is not a cofounder.' While the deal you describe might work fine, you're not setting things up for an equal partnership. I would suggest if you move ahead with this plan, you talk about and consider the relationship to be 'key technology hire,' and carve out 15% or so for him, on a short vest, PLUS make up the difference in his market rate with stock, vesting as he earns it.

Choose a low valuation so that you can be friendly later in life if this is successful.

I personally believe in reverse-vests for a super early hire like this: give him the chunk up front, and execute a (pre-agreed-on) clawback if it doesn't work out in the timeframe you guys agree on.

Anyway, I don't think it sounds like you have the attitude needed about this person to bring him on as a full co-founder. If you call it that, and it's not a co-founder situation (as in, you both bring an equal say to the table and are roughly equivalent in value to the corporation), one of you is going to be unhappy.

My 2c.

1 point by maxdemarzi 7 hours ago 0 replies      
For founders, start-ups are a Binary thing. Either they fail or they succeed. The difference between a 60/40 or 70/30 split is not that important when the pie is 0 or when the pie is 20M. It's nothing or it's enough, so don't over complicate it and just make an offer that makes sense to you.
1 point by kreedskulls 5 hours ago 0 replies      
To me it sounds like you are looking to hire an employee who you plan to give some shares to.

Honestly I wouldn't bring on a co-founder unless the risk was equal. His payment for now should be the Shares that he will get for being the Co-Founder until the business starts bringing in Cash.

Ask HN: Web API for Payroll Withholdings
3 points by dahjelle 8 hours ago   2 comments top 2
1 point by dahjelle 4 hours ago 0 replies      
Some further searching led to at least one additional result. In addition to Suburban Computer Services (http://www.suburbancomputer.com/tips_state_tax.php), there is the Symmetry Tax Engine (https://www.symmetry.com/pages/ste.php). It's not a web service, but rather a library that you can integrate into your application. Pricing starts at $17,500 for up to 50,000 W-2s.
1 point by wuster 6 hours ago 0 replies      
Sounds like a good Gov2.0 open data project.

This may be a good start for someone who finds time to build one =)

Ask HN: How can your WiFi life be made better?
3 points by orenmazor 8 hours ago   9 comments top 4
1 point by bengl 3 hours ago 1 reply      
Some kind of notification that I'm on a paid access point rather than a free one would be nice. Too often I'm on one of my mobile devices and I'll connect to a network named after the location I'm in (say, "Moe's Tavern"), and there's no indication that it's a Boingo, Broadstreet or whatever other kind of paid hotspot. If I'm not using my browser first (say a Twitter client instead), I get "connection refused" or something that makes me think fail whale rather than "I need to open up MobileSafari and cough up some coin to go any further". The whole non-browser hotspot experience could use a lot of work.
1 point by fragmede 8 hours ago 1 reply      
Following the latest trend... Firesheep protection - VPN offering for open wifi; or wifi that's open, only to give you the password for the WPA2 network.

A publically routable IPv4 address...


Ordering drinks/food via wifi...

1 point by adammcnamara 6 hours ago 0 replies      
1. No more time-limited sessions. Baristas always issue you another session when you ask.
2. More explicit directions on how to get "up and running". Every vendor is different. Disclose the business rules of the hotspot on the landing page. Defer most marketing material to after authentication. If I'm on the landing page there's a good chance I already have a coffee in hand. My priority is the internet, not more coffee.
1 point by Haz 8 hours ago 1 reply      
Time online limited to a function of how much you've purchased. $5 at a coffee shop may buy you 30min wireless -- spend more, get your time allotment bumped up. Spend less, get booted off the wifi.
Show HN: Review My Startup, PlusConf - Online conferences
8 points by benpixel 16 hours ago   8 comments top 4
1 point by jeffepp 6 hours ago 1 reply      
Looks great, there isn't much detail on the site. Is this interactive, live or simply recorded messages?

Sounds interesting and you have a great lineup!

1 point by iworkforthem 10 hours ago 1 reply      
Er... having an agenda or topics that will be covered in the conference will be useful for anyone interested. Just a thought.
1 point by lachyg 16 hours ago 1 reply      
I think having the dates on the homepage would work, including the time of day, and run time.
1 point by benpixel 16 hours ago 0 replies      
CLICKABLE LINK > http://www.plusconf.com
Google Wave open source project much closer to being useful
7 points by ajessup 16 hours ago   discuss
Announcing StartupMonth.org (our November "Startup Sprint" project)
48 points by secos 1 day ago   10 comments top 5
4 points by bithub 1 day ago 0 replies      
2 points by mikegreenberg 1 day ago 0 replies      
Is there some way you can make the Lastest Apps list a little more relevant than alphabetical order? Maybe most-recently-active first, or at least most-recently-added first? This way everyone can get a little love "above the fold"?
1 point by brettnak 1 day ago 1 reply      
Is it possible that you can put a fields for two names?
1 point by bmelton 23 hours ago 0 replies      
Can I change the name of the app after I've registered?
2 points by iuguy 1 day ago 1 reply      
I signed up, how do I add my app?
Ask HN: I'm a front-end dev. How do I get started contributing to open-source?
15 points by nicksergeant 1 day ago   7 comments top 3
6 points by stevelosh 23 hours ago 1 reply      
The easy option is to create your own stand-alone project, like a jQuery plugin
or HTML reset.

The harder option is to contribute to an existing project. This is not an easy
question, but I'll try give you a concrete example.

(Disclaimer for others: I'm Nick's coworker, so I know more about him and what
he can easily do.)

I contribute to Mercurial. There are two parts of Mercurial that could use
some help from a frontend developer. The first is the Mercurial website
itself: http://hg-scm.org/

The code for the site is on BitBucket: http://bitbucket.org/segv/hg-website

If you want to improve it, it's as simple as forking, making your changes and
sending David a pull request. The site uses Jinja templates, so you shouldn't
have much of a problem with them (Nick works with Django every day, for those
of you that don't know him. Django templates and Jinja templates are very

Mercurial also has a built-in web server whose templates need some serious
love. The code for those is here (the gitweb, paper, monoblue, etc
directories): http://www.selenic.com/repo/hg/file/tip/mercurial/templates

Mercurial's templating language is pretty much a huge clusterfuck for web
development. We've been talking about replacing it with something else but it
hasn't happened yet.

There are two big, huge, ugly problems with both of these options. The first
is that as a frontend developer you need a designer to tell you what to
implement, unless you've got some aesthetic sense yourself. I know Nick can
design fairly well, so that's not an insurmountable issue.

The other problem is that you'll inevitably encounter people with different
design tastes than your own, and your contributions might not ever be accepted
because they don't like them! Design-by-committee is a Sarlac pit of good
intentions, angry words and ugly results, but unfortunately that's the attitude
of many programmers toward the projects they contribute to.

Even though these programmers may have websites that look like they crawled out
of 1998, their opinions on frontend and design work hold a lot of sway because
they contribute to the guts of the project. I don't think that's a good thing,
but I'm trying to be realistic here.

With backend code it's much easier to justify your patches -- who's going to
argue when you send a patch and say "this improves performance by 20% according
to these benchmarks and passes the entire test suite"? Frontend code (and
design) is much more difficult, and the results (rejected patches) can be

My advice is to do a few things, in order:

* Talk to the project's community through IRC or mailing lists, and tell them
that you'd like to redesign and reimplement the frontend-related stuff in the
project. If they're not at all receptive, move on to another project.

* Find a contributor and talk to them. Make a friend. They'll be useful to bounce
ideas off of and can help you when you get stuck on something backend-related.

* Find a designer to work with so you can make something beautiful that is hard to

* If at all possible, make your contribution pluggable. For example, instead of
modifying one of the theme's in Mercurial's core, create your own theme. That
way people can try it out easily before it's merged into core.

* Submit your patches and be prepared to argue for your design against the guy that
thinks all websites should span the entire width of your browser window.

Good luck!

1 point by jacobroufa 17 hours ago 0 replies      
Take a look at Drupal. Historically it's needed the most help in the front-end department. There are tons of opportunities within the Drupal sphere. Also, Top Notch Themes (developed Skinr and Fusion, some up and coming theme related Drupal contribs) is hiring. Maybe try to get your feet wet there? Link below.


1 point by honza 1 day ago 1 reply      
There are a lot of interesting Javascript frameworks to explore. Contributing to those is challenging, so I would start with writing plugins for those. Learn how to make a simple jQuery plugin. You must have worked with some in the past. Look it up on Github. They usually have their issues listed, pick an easy one, and try to fix it. Start with small fixes. Read a lot of code. Poke around.
Isn't history repeating with the mobile OS?
4 points by skowmunk 10 hours ago   5 comments top 3
2 points by davidw 10 hours ago 1 reply      
I prefer Android to the rest because it's the most open of the bunch, but I'd actually like to see 'the web' win out on phones in relatively short order... it's just easier to work with for us developers, in many ways.
1 point by ericb 9 hours ago 0 replies      
The per-click ad prices for ads that aren't much more targeted than your average banner ad remind me of banner ad prices during the internet gold rush.
1 point by andrewtbham 4 hours ago 0 replies      
i think this time around apple will stay competitive as long as steve jobs is there... especially once they get on other carriers.
Ask HN: How to do online jobs better?
11 points by albahk 15 hours ago   19 comments top 9
3 points by ig1 12 hours ago 0 replies      
Have a look at dating sites, there's much more innovation going on in that space, and they're essentially having to deal with exactly the same matching problem.

However one of the big issues with innovating in this space is that HR departments are generally quite conservative so it's hard to sell innovative products to them (look at the difficulty SnapTalent had with their initial product).

You'll probably have more luck selling to third party recruiters who are more risk tolerant.

There's about a dozen companies currently doing the whole social network recruiting thing, but none of them has serious traction, and I'm not personally convinced it's a model that will work.

I'm working on this problem by building a niche job site, it's not hugely innovative technically, but it should help with the relevance problem and also be traditional enough to appeal to HR departments.

One of the other ideas I had in this space was building a platform for matching recruiters to candidates, so recruiters could send targeted messages to candidates matching a set criteria (+using game mechanic techniques to stop spamming). If you want to talk more about this idea feel free to drop me a message.

1 point by jamii 9 hours ago 2 replies      
I wrote my own job search engine after getting fed up of the existing crap. It pulls in rss feeds and mailing lists and even does a bit of crawling via HN and Reddit to find jobs. I used a trainable classifier to filter out most of the dross.

The main problem with job sites is matching jobs to applicants. As far as I know noone has gone beyond simple keyword searching. If you had an actual userbase you could make use of collaborative filtering techniques (like Amazons recommendations) to provide a tailored service to each user. CVs, personal blogs and github accounts give you enough information to seed each users recommendations even before they start rating jobs.

1 point by arethuza 13 hours ago 1 reply      
Social filtering - pay people you trust to do the filtering of applications for you.

Recruiters literally have no idea of what makes a decent candidate so they have to resort to simple (almost syntactic) measures - 6 years of C++, Oracle etc. where they have no idea of what those terms actually mean or how useful they are (what Oracle product - there are zillions of them).

I'd quite happily delegate filtering of candidates to people I trust and if they get paid for doing it then it is a win-win situation. If you had a site with effective workflow to manage each stage of the process then it could be pretty slick.

[NB I spent quite some time on this idea a while back but parked it to work on other ideas].

1 point by ismarc 14 hours ago 0 replies      
I've given this a significant amount of thought, with the end result being that to make a better experience for the job seekers you need to improve the experience for those seeking applicants as well. My initial thoughts are detailed better over at http://ismarc.tumblr.com/post/1458764869/hacking-the-hiring-.... I don't have a solution, and may never, but hopefully it'll jog your brain in a direction I haven't thought yet.
1 point by noahc 10 hours ago 1 reply      
As a job Seeker, I'm looking for high quality jobs and low noise. What this points out to me is that it needs to be a curated list. You could go with letting users vote up good jobs and vote down bad jobs, but this creates an incentive to vote down jobs you've applied for already hoping no one else applies.

One model might be a curated niche of job postings for whatever niche you would understand the most. Then you need a way to reduce the talent pool the HR department sees.

One way to do this is give the job applicant a way to do a 'quick pitch' and the HR department can click a button called 'Tell me more' and the jobs process can go from there if both parties are interested. Maybe you could display stats as a way to incentive certain actions. If a job applicant has applied to 300 job offers with a cut and past and has only got 3 tell me mores, that would show to to the HR applicant. If however, a job applicant had a 98% tell more more rating on 30 job applications that means he's probably customizing it and the HR department can tell he probably has a pretty good EQ.

0 points by Robin_Message 14 hours ago 1 reply      
EDIT: TL;DR: I see the primary problem with recruitment being far too many applicants for each job, because applicants apply to many, many jobs. Incentivise applying to only a few jobs and the employer gets fewer, better applicants.

For job-seekers, the marginal cost of one more application is too low, so companies get too many applications. With too many applicants, filtering becomes more random, so the reward for applying for a job you are only tenuously qualified for increases. It's a classic hawks vs doves with a big payoff for being a hawk amongst mostly doves

So, make it more expensive to apply for a job. Two ways I can think of doing this:

1. Charge applicants ten bucks to apply for a job. Have companies report if they were good enough but they found someone better. In that case, give them a refund. In all other cases, keep the money. (EDIT: This may possibly be illegal in some jurisdictions, but there are doubtless ways around that.)

2. Show companies how many jobs the applicant has applied for recently (not necessarily where they have applied, but you could perhaps positions/business areas) and/or restrict applicants to N applications per month. Aggressively detect and ban sock-puppetting ā" perhaps you can require verified ID of the applicant's name and get companies to check that is the name of the person applying.

You could also make things less stressful by operating on a say weekly or monthly cycle. Jobs are posted at the beginning of the month, applicants choose which N jobs they want to apply for, applications go out, new cycle starts. This avoids stampedes and requires applicants to be discerning.

1 point by frobozz 9 hours ago 0 replies      
When using such sites, from a candidate's point of view, the two things that get on my nerves are:

a) Ads posted by Recruitment Agents giving me no idea who the actual employer might be.

b) Ads with no sensible salary hint.

On (b), I don't mind there being a wide band (e.g. 25-60K, depending on experience), as at least that is a hint. What I really hate is "Competitive" or "Neg+Bens" and other such non-information.

1 point by scrrr 14 hours ago 0 replies      
Hm. I'd say that is not the easiest target audience to go after. I think you are very likely to fail, even if you produce something revolutionary. If it's that good there are probably hundreds of competitors of which some will be able to copy it quickly. Plus you have to solve the chicken and egg problem, of course.
1 point by iworkforthem 12 hours ago 0 replies      
Er... Whose problems are you trying to solve? Job-seekers or recruiters?
Ask HN: Use of customer Logos
7 points by toast76 18 hours ago   5 comments top 3
3 points by apowell 11 hours ago 1 reply      
I've never done it, but I suspect the easiest way to get "permission" (and I use the term loosely) is to add a section to your standard T&Cs, which customers agree to when they sign up, that allows you to identify current customers in your marketing materials.
3 points by dmitri1981 11 hours ago 1 reply      
I briefly worked for a large bank as a buyer and part of our contract with any supplier was a clause that they could not publicise us being their client without our explicit permission. The main motivation for that was simply that we did not want our name plastered everywhere, since most of the benefit from that would accrue to the supplier not us. I expect most other large companies are the same.
2 points by jeffepp 6 hours ago 0 replies      
It is common courtesy to ask, if you provide a link to their homepage there is an added SEO benefit for them.

When you contact them you should request a proper size logo, be sure to uphold the image quality.

In my experience, companies are generally excited.

Ask HN: Sutherland's Sketchpad for linux?
3 points by kraemate 12 hours ago   1 comment top
1 point by bmelton 10 hours ago 0 replies      
It might be overkill, but the nearest analog (perhaps successor would be a better term) that I can think of is SketchUp.
Ask HN: How beefed up SEO bogs/websites make money, care to explain?
9 points by rick_2047 20 hours ago   10 comments top 3
2 points by coffee 18 hours ago 1 reply      
Oh boy... This is interesting! Never talked to anyone on "this side" before :)

Okay, if you reeeeeaaaaalllly want to learn what's going on. Copy and paste some of the sentences you are writing for people into Google. You will immediately find your articles.

Analyze how those sites are monetizing.

Remember those keywords you centered the article around? Type those keywords into Google. Did you just find that same site? How many Google result pages did you have to click through until you found it. Watch that site in the listings for a few weeks. Is it getting closer and closer to the first page?

If not, dig around until you find one of your articles on a site that is for it's main keyword.

Go to yahoo.com - in the search box type in 'linkdomain:example.com' (no quotes and replace example.com with that domain).

How many backlinks does it have?

Next week, when you search for that keyword again, did the site move up in the rankings? If so, then go back to yahoo and see if the backlink count increased. Did it? It definitly should have if it moved quick enough in the Google search results.

Look at all of the sites that are linking to your articles site. How did that webmaster get those links?

I think I quickly spelled out the complete overview here. The only thing I left out was finding choice keywords to target. That's an art. No ones going to give you anything except general knowledge, otherwise they would be hiring a guy offshore to write articles centered around a keyword ;)

2 points by noodle 20 hours ago 1 reply      
> Can anybody explain how all this works?

you write a small-ish informational website on a topic, you use SEO to try and get your site higher up on the search results list so more people will visit, and then you attempt to funnel people into ads or referral links for products.

> And on another note, what is the effect of domain name on SEO

top level domain is somewhat better, but other things matter more.

1 point by kingsidharth 19 hours ago 1 reply      
>Select a high-paying long tail keyword. Which is hot in google search and PPC Advertisers are bidding high for it.

>Get a keyword rich domain name

>Get some articles going on with that density. And put them on that domain making a mini info site.

>Put AdWords on it (earlier Google did approve their accounts and they can keep using it if they play nice.)

>Submit some articles to article directories and get back links.

>Keep getting back links.

>You rank high for that keywords(S) Traffic Rolls in and they click on adverts. You make the money.

       cached 11 November 2010 01:02:02 GMT