The Cognitive Short-Circuit of 'Artificial Consciousness' - <AUTHOR> http://www.scienceandnonduality.com/the-cognitive-short-circuit-of-artificial-consciousness/ <comment><USER2> The author's dismissal of the "emergent property" argument on the grounds that it is a convenient explanation without proof is intellectually dishonest. We have no universally accepted, measurable definition of consciousness - how can this solution be dismissed for simplicity?

I think about a hard drive with a fresh version of Ubuntu installed to it. If an alien civilization found the hard drive, perhaps they'd be able to measure all of the physical properties of it. But they'd have no idea that an operating system was an emergent property of the drive because they didn't have an understanding of, at minimum, the following:

        - Binary representation
        - Processor architecture (including the specific processor for which this was compiled)
        - Big-endian / little-endian representation
        - Disk formats
        - File systems (hell, the concept of files in general)

It's entirely possible that we could observe and measure consciousness if we knew what to look for.

<comment><AUTHOR> An operating system isn't an emergent property of a hard drive. An operating system emerges out of the minds of the many programmers who work on it, out of the interactions these programmers have with each other and with their users, and out of the society in which they live. It then gets installed on a hard drive by a human, after which it can function by interacting with the computer's hardware.

This is really the point the author is making. There is no reason to be certain that consciousness (the reflective, emotional, inner experience that is distinct from logical intelligence) emerges out of the hardware of human (and other animal) bodies and brains, as no empirical evidence for such a process has yet been found, after several decades and vast sums of money invested looking for it.

Just as an operating system is a separate entity that needs to be installed onto the computer for it to be able to work, it (in the view of the author) is plausible that consciousness is something distinct from the physical matter of the body and brain.

 _It 's entirely possible that we could observe and measure consciousness if we knew what to look for._

Well yes, exactly, and Kastrup's point is that the conventional fixation on matter (which to date has proven fruitless) is a distraction from other possible answers.

<comment><USER2> > An operating system isn't an emergent property of a hard drive. An operating > system emerges out of the minds of the many programmers who work on it, out > of the interactions these programmers have with each other and with their > users, and out of the society in which they live. It then gets installed on > a hard drive by a human, after which it can function by interacting with the > computer's hardware.

Perhaps I am using the term "emergent property" incorrectly, but your argument does not seem to contradict my point. That the operating system exists because many programmers intentionally developed it while interacting with one another and society at large, and that the OS only functions when the drive is connected to a functioning computer is immaterial. Intelligent consciousness was crafted by evolution rather than human hands, and it requires the hardware of a human body to function (as far as we know) rather than a computer, but the result is the same, is it not? That is, under the right conditions, a unique property appears that was not readily apparent from the existing components.

Incidentally: I should have said, "...an emergent property of the particular arrangement of bits on a hard drive" to be more precise, but I think you knew what I meant.

> Just as an operating system is a separate entity that needs to be installed > onto the computer for it to be able to work, it (in the view of the author) > is plausible that consciousness is something distinct from the physical > matter of the body and brain.

Ok, consider the example of just the core components of a computer; CPU and RAM, and the hardware for them to communicate. This can be thought of as a very complex circuit from which the emergent property of computation arises when interpreted correctly. Without an understanding of clock timing, the CPU's instruction set architecture, binary and many other concepts, the ability to measure the voltages of various components does not make the large operation or organization apparent.

Ultimately my point was that the author was incorrect in stating, "We can deduce the characteristics of all known emergent properties by examining their constituent elements", and I wanted to give an example of a system for which we would likely not understand the emergent property had we not built it ourselves. Although I agree with the author's point that we cannot be certain of the origin of consciousness, I disagree strongly with his certainty that it is not an emergent property.

</comment></comment></comment><comment><USER3> Oh, "consciousness" again.

Here's an new counter-argument: self driving cars are conscious. They're aware of their surroundings, in considerable detail and with useful understanding. They're not passive, waiting for questions; they have an ongoing stream of intellectual activity, so they have an "inner life". They learn from experience. They have goals, some of which are more important than others. They try to predict the future ("will that car ahead try to make a left turn?"). They interact with others (lane merging requires this.) It's not human-level consciousness, but it's consciousness.

So there.

<comment><USER4> Exactly this.

The more interesting question might be: "What is the nature of our experience of consciousness?" and from there "What is the experience of a self driving car, if any, and at what degree of complication (or other metric, interconnectedness, etc) does this experience exist in a way familiar to us"

Similarly, "what is the experience of a rock?".

<comment><USER5> The word you're looking for is Qualia.

</comment></comment></comment><comment><USER6> The author lays out a case that consciousness can't emerge from mere matter. The better explanation, of course, is that consciousness somehow _is_ the universe (like Spinoza's God), and humans obtain a portion of it... somehow.

Characterizing Turing's argument this way misses the mark: "We can test whether a machine is intelligent or not purely by observing its behavior in the environment."

Turing (and _Ex Machina_ ) argue that this is the only possible test, largely because arguments about consciousness dissolve into circular meaninglessness. Daniel Dennett dispenses with this best in his essay Quining Qualia: [http://cogprints.org/254/1/quinqual.htm](http://cogprints.org/254/1/quinqual.htm)

<comment><USER7> > The better explanation, of course, is that consciousness somehow is the > universe...

What is love? How can an uncaring chunk of bones and flesh feel love? But we do fall in love, so it must exist in some form. Hence, love is the universe itself. Checkmate

<comment><USER8> Baby don't hurt me, Don't hurt me, No more.

<comment><USER7> Just say the safe word

</comment></comment></comment></comment><comment><USER9> I don't see how the author can reconcile his (implied) belief that consciousness cannot be created with the entirely reasonable assertion that some beings are inherently more conscious than others. A fertilized egg, for example, contains little to no consciousness, but over time it develops a "full" human-level consciousness. Where does this additional consciousness spring from? Surely, if a being can become more conscious, then it stands to reason that there is some as-yet-unknown physical property or process that we can associate with consciousness. And once it has been identified, it can be replicated artificially.

<comment><USER10> The correlation of consciousness in with certain physical structures doesn't necessarily mean it's created or even caused by them. This is where the distinction between 'intelligence' and 'consciousness' becomes crucial. The more we study the brain, the more we can identify things that are obviously the result of physical processes and the less remains to be explained by 'consciousness'. However the question becomes 'once thinking and intelligence is fully understood, does anything else remain?'

This is why thought experiments about zombies and chinese rooms are interesting. It's about exploring what would be left out (if anything) once a full physical explanation had been achieved.

</comment></comment><comment><USER11> tl;dr + opinion:

The usual metaphysically couched argument that consciousness is a primary substance and matter is secondary, ergo scientists/engineers pursuing a materialist explanation/synthesis of consciousness are fools barking up the wrong tree, all topped off with this <sarcasm>gem of a</sarcasm> conclusion:

"The computer engineer's dream of birthing a conscious child into the world without the messiness and fragility of life is an infantile delusion; a confused, partial, distorted projection of archetypal images and drives. It is the expression of the male's hidden aspiration for the female's divine power of creation."

<comment><USER12> Yeah that's a pretty painful conclusion. It may well be the case that the materialists are wrong, and artificial intelligence in silicon can never achieve consciousness—I'm not arrogant enough to have a strong opinion either way—but the minute you start broadly ascribing motivations to an entire field based on very specific social hot button issues you lose all intellectual credibility regardless of whether you are coming from the scientific or philosophical perspective.

<comment><USER7> > I'm not arrogant enough to have a strong opinion either way > ...you start > broadly ascribing motivations to an entire field...

Do you see a contradiction? You're broadly calling a bunch of people "arrogant", who may have a very well informed and valid opinion on a topic.

<comment><USER12> Uh, I'm saying it's arrogant to be self-assured about the nature of consciousness, I'm directly addressing a specific line of thinking. That is very different from ascribing psychological motivations to a swath of people who almost certainly have a wide variety of motivations.

<comment><USER7> You're making a broad statement about a bunch of people without knowing what they know or don't, and one might say that statement is insulting. Right after that, you're criticizing a guy for making blanket statements about a bunch of people.

Saying "I'm not arrogant enough to have a strong opinion either way" about any statement A is itself a pretty arrogant thing to say (you are making a statement about the collective knowledge of everyone else on the topic of A not being too far from yours).

<comment><USER12> I'm not saying _anything_ about a group of people, I'm saying something about _a specific belief_. For those two things to be equivalent, there needs to be a layer of indirection, eg. if I were to say: "people who claim to know the nature of consciousness are doing so because they aren't comfortable with the idea of not knowing something"— _that_ would be an equivalently arrogant statement. As it is, my statement is definitely _not_ in that league. Do you not see the difference?

<comment><USER7> Hmm, let me see how I can explain this more clearly. "I'm not arrogant enough to do X" implies "Those who do X are sufficiently arrogant". Do you follow this far?

Here's an example relating to your experience. I could claim: "I'm not arrogant enough to use RoR for serious web development".

On the surface, I'm making a claim about myself / my beliefs. You shouldn't feel upset over my statement, it's not about you or any other people...

<comment><USER12> I find the pastime of trying to pin somebody as a hypocrite on the internet as a loathsome and destitute form of debate that has become all too common.

But you're still not getting it, if you actually went back and read my replies and attempted to understand them maybe you would see, but you don't seem to have any interest in specifics, only in generalization. Still, I'll feed your troll on more time.

> Here's an example relating to your experience. I could claim: "I'm not > arrogant enough to use RoR for serious web development".

> On the surface, I'm making a claim about myself / my beliefs. You shouldn't > feel upset over my statement, it's not about you or any other people...

This is a fallacy to assume that just because I am attacking an idea, that no one will be offended. Of course someone can be offended if they have a belief that I think is arrogant, that is not in question, it's a phenomenal strawman you've set up there.

Also, it's absurd to equate the belief that it's arrogant to use some mundane tool to the belief that the nature of consciousness is outside the bounds of human knowledge. Is it the case that you are fully aware of the nature of consciousness, and I'm just an ignoramus who is clueless about the state of human knowledge? Okay, enlighten me then, I'm open to arguments about the nature of consciousness and why we be certain about it.

Your assertion boils down to the idea that it's arrogant to believe that any belief somebody else holds is itself arrogant, regardless of how preposterous that belief may be. Fine, you got me, go get yourself a cookie.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER13> Sigh, the writing style is off putting but there are some interesting conjectures in there.

One of the more interesting papers I read on this topic involved neural nets with a set of neurons associated with 'pleasure' and 'pain' such that firing a neuron in either the 'pleasure' or 'pain' group would externally activate a strong enhancement signal for learning and bind in a positive or negative association. So that future things which triggered values in that learned net would then get modified by the enhancement signal in proportion to how strongly they correlated with the net. The math was very obtuse but as far as I could tell it boiled down to creating an out of band signal from the activation of specific neurons within the matrix which could influence the weights of future associations.

<comment><USER11> The out of band pleasure/pain signal is a super interesting idea, but it's still fundamentally materialist, which is in direct contradiction with from the author's (IMO silly) central claim that consciousness is a phenomenon based in some non-physical medium.

<comment><USER13> I believe it depends on how you articulate it. The author is taking the traditional 'inner life' definition of consciousness, which is to say that entirely internal thinking is occurring, and arguing that AI based on external stimuli will never include that.

The pleasure/pain internal path is basically adding additional stimuli sources within the network itself. So you can modify the training just by re-running the previous training.

A made up example of how that might work is lets say you had a 'funny' neuron. Basically anytime its weight was adjusted by the network you got an immediate feedback on that association as 'funny'. Now you re-run a previous association that shares weights with the one that was tagged as 'funny' and that weight back propagates through the network giving a previously 'not associated with funny' association a proportional association.

What I got out of the paper was building neural networks that were pre- disposed, though an internally hard wired linkage of some neurons, to learning a particular form of association. The idea that an identical set of training values would train differently on nets based on this sort of internally forced messaging for some neurons, is the closest thing I've seen to the 'inner life' notion of consciousness.

<comment><USER11> It's fascinating to consider that an AI should have a mechanism of internal stimulation in addition to its external stimulus.

Maybe this could be simulated by concurrently running the AI's existing models in feedback mode on internally generated stimuli, themselves sampled from those models, with some variations, but with limited ability to control the AI's actuators.

The biological analogy for this might be dreaming, where our neurons seem to engage in activity (hence experiences) which are similar to but also different than our waking mental models, and does so while we are in a state of self- induced paralysis - so we don't actually jump off a bridge.

</comment></comment></comment></comment><comment><USER14> >For all practical purposes, dissociation is metabolism; there is no reason to believe it is anything else.

We have very little in the way of evidence on the question of consciousness, so we can only really conjecture very simple ideas. The idea that everything is consciousness is a simple idea. Metabolism is not. What is even meant by metabolism? Creating the magic ATP spirit molecule?

<comment><USER15> This makes me want to write a glossy trade paper "self-help book" about "Your Spiritual ATP Cycle" But I just can't bring myself to be that cruel.

</comment></comment><comment><USER16> Truly, a piece of writing with zero value or insight.

<comment><USER17> Oh, it wasn't that bad; just very self-conscious.

</comment></comment><comment><USER10> I think I've developed a foolproof method for detecting whether someone is a zombie - in the philosophical sense of the word. (Detecting whether they are a zombie in the '28 Days Later' sense is much simpler and consists of detecting whether the person simultaneously rotting and homicidal).

My method consists of giving the person a basic education in a Artificial Intelligence or Philosophy of Mind and then asking them whether they believe that either consciousness can potentially be explained using concepts we already possess or that in fact it isn't even in need of an explanation.

If they answer yes, then they are probably a zombie.

</comment><comment><USER18> IF there is a true physical reality and the universe is not only in our mind, then artificial consciousness is a foregone conclusion. Not only that, artificial consciousness will be many orders of magnitude more complex and rich than anything we experience today. This is because biological consciousness has emerged through randomness. Imagine when consciousness can be evolved through technological means. It will be the difference between the flight of a bird, and a SpaceX rocket.

<comment><USER19> Hmm, imagine nature evolving "non-technological" creatures capable of space- flight... but I better leave the reasons for and implications of such developments to ppl. like N. Stephenson ;)

</comment></comment><comment><USER19> Way too late to the party, but this cries simply for it:

How would this guys argue against this way of thinking about consciousness:

Michael Graziano, evolution and non-magic description of consciousness

[https://www.youtube.com/watch?v=peHcu8LEgEE](https://www.youtube.com/watch?v=peHcu8LEgEE)

Ah! I guess he simply questions, right out denies materialism. This is borderline religious, right?

</comment><comment><USER5> Simple rules yield complex and unpredictable interactions. This is the nature of emergent behavior. An apotheosis of this axiom would be the behavior of leaf cutter ants. Are they conscious? I believe the concept of consciousness is deeply intertwined with the concept of randomness / sport. A machine defies this notion.

</comment><comment><USER20> I guess his answer to that Zen koan - when a tree falls in the forest and no one is there to here it, did it make a sound - is a simple no :D

This started out interesting, then went absurdely tentative, and finally turned into Sokal affair material with the ending (the male's hidden aspiration for the female's divine power of creation, lol).

</comment><comment><USER21> Fundamentally this is about your belief system. Many people hold a dualist core belief which precludes 'artificial consciousness'. This is mostly a holdover from a certain type of religion.

I think there should be some variant of panpyschism that disguishes between the consciousness of a mammal and that of a rock.

</comment><comment><USER22> Wow! If consciousness is as simple as using organic materials and having them metabolize then the problem of consciousness is a hundred times easier than the problem of intelligence!

But the way the author describes consciousness it sounds like a bad thing. Like a shared delusion. Maybe the robots are better without it.

</comment><comment><USER23> The foreword is by Deepak Chopra.

</comment><comment><USER24> >Consciousness – whatever it may intrinsically be – is the only carrier of reality anyone can ever know for sure.

> If that is the case, there is absolutely no sense in talking about creating > consciousness, since consciousness is already there from the start. It is > what there is. It can't be created for it is that within which all creations > unfold.

> If something is fundamentally beyond all forms of experience, direct or > indirect, it might as well not exist. Because all knowledge resides in > consciousness, we cannot know what is supposedly outside consciousness;

Just because there are limitations on our own ability to perceive the physical world does not mean that there is a fundamental limit on what can be perceived. For example, the Hubble space telescope can perceive light that is beyond both the ability of us to observe inside of our atmosphere and the wavelengths which we can see with our own eyes.

>According to my system, reality unfolds in one stream of subjectivity that I call 'mind-at-large.'

>As such, what we call 'conscious entities' are merely dissociated alters of mind-at-large. An image of that dissociation is a human body.

>Therefore, our feeble attempts to engineer an entity with a private, subjective inner life similar to our own aren't really attempts to create consciousness. Instead, they are attempts to induce dissociation in mind-at- large, so to create alters analogous to ourselves.

After creating a veil that is unpierceable by human cognition, the author conveniently hides his metaphysical "mind-at-large" creation behind it. It is as if some great mind is doling out consciousness to each animal according to its share. Because we are but fragments, mere images of this great mind we can never hope to be able to recreate anything more than cheap reproductions. Sound familiar?

> Going further down the chain of biological complexity, it isn't unreasonable > to infer that metabolism itself – that process common to all life – is the > most basic image of dissociative processes in mind-at-large.

Engineers design chemical processes that harness chemical energy broken up into individual steps to produce some useful product, just like metabolism does. Indeed, chemical engineers use enzymes in some of their steps. In fact, there is even work on creating artificial metabolisms. We are better at replicating this mind-at-large better than the author is aware.

>Based on this understanding, do we have any reason whatsoever to believe that the mere mimicking of the information flow in human brains, no matter how accurate, will ever lead to a new dissociation of mind-at-large? The answer to this question can only be 'yes' if you think the kidney simulation can make the computer urinate.

False equivalence much? Creation of a physical substance from thin air is impossible. However, given the right inputs, the Cloaca machine can create poop from food by simulating the digestive process.

*edit - formatting</comment>


An Introduction to the Go Language - <AUTHOR> http://blog.smartbear.com/programming/an-introduction-to-the-go-language-boldly-going-where-no-man-has-ever-gone-before/

<comment><USER2> > In fact, Go is probably the only language that can claim to have a fully > working Web server as part of its standard library.

 _Seriously?_

Python has SimpleHTTPServer to serve a directory plus the associated, less- well-known modules BaseHTTPServer (which SimpleHTTPServer is based on) and CGIHTTPServer, and wsgiref as the reference implementation of the WSGI interface, which makes it a fully-fledged web server.

And I find it impossible to believe that there would not be many more languages with a web server in their standard libraries.

<comment><USER3> > _Seriously? Python has SimpleHTTPServer to serve a directory plus the > associated, less-well-known modules BaseHTTPServer (which SimpleHTTPServer > is based on) and CGIHTTPServer, and wsgiref as the reference implementation > of the WSGI interface, which makes it a fully-fledged web server._

All of which is beside the point. Those servers are (even in the documentation) not suggested to be used in production. And they are not.

Whereas Go's server serves thousands of requests per second in large deployments already.

The only other I know of is perhaps Node.

So, yes, seriously.

<comment><USER4> Isn't Node a JavaScript framework for webservers?

<comment><USER3> Well, it's mostly THE way to use Javascript (or ECMAScript if you wish), the language, on the command line.

As such, I consider it as much a platform as it also is a version of the Javascript language for the backend.

Languages ARE platforms anyway -- we never care just about their core syntax and semantics but also for all the libs stuff they come with. So Python includes batteries, and Java includes the kitchen sync.

</comment></comment></comment></comment><comment><USER5> Go is one of the least exciting languages introduced in recent years but is still one of the more popular languages. I think that it really is a selling point how boring go is, there are no quirks, no unexpected side effects, no amazing flexibility and when something compiles, it very often does exactly what you wanted it to do.

With php and python I always felt very clever for doing some things in amazing ways. With Go I never have that feeling, but when I look at the code I imagine that the developers of Go themselves were extremely clever, I can make concurrent programs with little extra effort. What's going on in the compiler, I don't know (and probably don't want to know), but it is one heck of a language for it.

Event-based programming without all the callbacks and event loops.

<comment><USER6> > no unexpected side effects

No one ever expects the side effects

</comment></comment><comment><USER7> _Boldly Going Where No Man Has Ever Gone Before_

Eh.. where?

<comment><USER8> I agree. These absurd claims are increasingly disturbing.

Seems like a lot of Go fans have lost touch with reality.

<comment><USER9> It's a (rather poor) take on the name "Go". Boldly GOing. But by all means, ascribe it to some mental failing of Go programmers, any more so than say Scala programmers.

<comment><USER8> At least I'm acting better than people who think they need to stalk my comment history before replying.

And, no, not all communities are behaving like Go fans do.

</comment></comment></comment></comment><comment><USER10> Bizarre that the HN audience are self selecting articles like these with their upvotes. How many more introductory blog posts on Go do we need?

<comment><USER11> Specially if they tend to ignore most Go features were already available in the Pascal/Modula/Oberon language family.

They might be new features for all script kids seeing a strong typed compiled language for the first time, but for us old timers, it is a repeating deja-vu.

<comment><USER3> > _Specially if they tend to ignore most Go features were already available in > the Pascal /Modula/Oberon language family._

OK, Go is not Oberon/Modula, we got it already man!

</comment></comment></comment><comment><USER12> To paraphrase Alan Kay:

 _Go_ makes you think that the new ideas are like the old ones. _Go_ is the most distressing thing to hit computing since Java.

<comment><USER13> Why is Go "distressing"? If you don't like it, you don't have to use it?

<comment><USER14> My understanding is that Go haters take issue with three things:

\- Lack of generics (this will be resolved in the future)

\- nil exists

\- interface{} is a *void style type safety loophole

These are all very minor issues, but the Go haters just love to harp on them. 99% of the time, I find they hold up ml-style languages as some sort of Holy Perfection. (lulz)

<comment><USER15> It's not that nil exists... it that it exists _everywhere_ (on the types that support it), with no way of restricting it. It's actually the one criticism I find the most frustrating because, unlike generics and unlike interface{} (which is sort of a repeat of the generic complaint, that's an effect), it's so _easy_ to fix that during the initial design, and it would not have profoundly affected the rest of the language. In fact it could still be bolted on after the fact, it's that easy and low-impact. That not all types support nil in Go is itself an interesting point; zero types are better than nil, so why didn't we propagate the idea that is _already in Go_ through the language consistently, and not let anything be nil unless we explicitly request it in the type?

With most of the rest of the criticisms it's not necessarily clear how to fix Go (that is, it may be fixable but there's no one obvious solution that just works), but that's not the case for non-nullable types. They were _always_ possible, have been for decades, and there's just no reason not to have them and use them as much as possible in the standard lib.

Also, I'm not a hater... unless your definition of "hater" is "doesn't like every last detail about Go", in which case, sure, under that degenerate definition I'm a "hater". You really shouldn't sling that term around in a preemptive attempt to marginalize your opponent like that, for a topic like programming languages. Save it for politics.

( _" Programming languages ARE politics."_ Well, they shouldn't be. Don't fall into that trap.)

<comment><USER14> Well I think part of the problem is that most of Go's target audience come from languages where nil/null are used to be meaningful. They recognize it to be "wrong", but the languages in use (e.g. Java) force them into situations where, for example, returning null to _mean_ "this entity wasn't found" is substantially more productive than catching and processing EntityNotFoundException.

I think the Go designers wanted the language to be approachable for people who habitually use null to indicate meaningful state. Multiple return values offer a way out, while still allowing newbies the option to abuse nil. (although, sum types would be nicer)

I think on balance, getting people from the 1970s to the 1980s _who otherwise would not have gone there_ is a positive thing. Even if it's not the ideal thing.

It's not out of the question that Go will make your suggested fixes once it acquires enough mindshare.

<comment><USER15> Go look at C#, or any other language that has this concept. The point is not that there would be no nil, anywhere, ever, the point is that you would have to _ask_ for it, and by default, you get a type that can't contain nil.

C# even proves it can be profitably bolted on after the fact (contra pcwalton)... because _that 's how unobtrusive this change is_. It's not like this is a complicated idea, unlike the other suggestions.

</comment></comment></comment></comment></comment></comment><comment><USER16> > Go has a rich standard library which covers a lot of areas.

The last time I've looked at it there wasn't queue, deque, stack libraries in standard library. There wasn't even a UUID library. I'm not sure if it has these libraries in 1.1.

> In fact, Go is probably the only language that can claim to have a fully > working Web server as part of its standard library.

Python has a built-in HTTP server (including a CGI one too).

> Go has built-in concurrency, which allows parallelism in an easier way than > is possible in other languages.

How does Go make it easier than those unnamed languages? Go didn't even have race detection tool until 1.1.

<comment><USER17> Python's built-in HTTP server isn't well-suited for production apps. Golang's HTTP server is the production standard. That's not an apples-apples comparison.

Ruby and Python "have" stacks, queues, and (in Python's case) deques, but they're rarely used, because, like Golang, they have a flexible variable- length array ADT and a table ADT.

Golang has lists and rings, along with slices and maps, which capture "queue" and "stack" easily. More importantly, unlike Python and Ruby, Golang provides direct control over memory layout and a safe pointer abstraction; it's much better suited to building fussy data structure libraries than Ruby or Python.

I'm not sure I'd choose a language based on the richness of its UUID libraries.

It's funny to critique a language for "not even having" a tool that few other development environments have "until 1.1".

<comment><USER18> > Ruby and Python "have" stacks, queues, and (in Python's case) deques, but > they're rarely used, because, like Golang, they have a flexible variable- > length array ADT and a table ADT.

When all you have is a hammer...

<comment><USER17> The reality is that Python lists usually work as serviceable queues and stacks. Criticizing a _language_ for not having a standard queue or stack is a little weird.

</comment></comment></comment></comment><comment><USER19> Funny that the link to Java page on Wikipedia is for the Indonesian Island :)

<comment><AUTHOR> Ahhh damn!

I mean... you've found the Easter Egg, congratulations!

[Fixed the link]

</comment></comment><comment><USER20> The really sad thing about Go is that it actually is mostly better than its (non-obscure) competitors. I am disappointed in Google because they could have done so much better. All the problems in Go are basically "solved" problems. They just chose to take the "New Jersey" approach. This article summarizes the situation pretty well:

[http://monoc.mo.funpic.de/go-rant/](http://monoc.mo.funpic.de/go-rant/)

<comment><USER9> Do you know the origin of the name, "New Jersey approach"? It was these guys. These guys invented the New Jersey approach. Go is the result of 40 years of OS and programming language work primarily done at Bell Labs in Murray Hill.</comment></comment>


For newbies like me who don't Vim nor Emacs - <AUTHOR> http://chen.do/blog/2013/09/16/editing-files-on-a-remote-server-with-sublime-text-2/

<comment><USER2> Is $terminal-based-editor really that bad to learn?

</comment><comment><USER3> Title editorialized. Makes it less useful.</comment>


Red Cross shelter page iPhone only - <AUTHOR> http://www.redcross.org/m/templates/render/render.jsp?pageId=4400138

<comment><AUTHOR> Also, I cannot seem to get the full site to load on my Android device. Works fine on my laptop, of course.</comment>


Farewell Stack Exchange - <AUTHOR> http://www.codinghorror.com/blog/2012/02/farewell-stack-exchange.html <comment><USER2> I feel like all of us owe a big thanks to Jeff. It's hard to imagine writing any code these days without Stackoverflow. It definitely made the web better for me, and I suspect, any other developer out there.

<comment><USER3> Seriously. The best case scenario when I google an error is that a Stack Overflow link pops up. I wasn't big into coding when Experts Exchange was consistently #1, but I somehow stumbled into it regardless. I also can't stand mailing lists.

Anyone involved in Stack Overflow should rest assured that they made the world a better place for a lot of people.

<comment><USER4> The worse case scenario is when you see an experts exchange link. That's when I truly cringe and brace myself for the popups.

<comment><USER5> You should get an adblocker and popup blocker. Unless that was hyperbole.

<comment><USER6> Have you ever visited expert's exchange? It's like the predecessor to StackExchange but you had to pay to get answers. Not even an adblocker and popup blocker would solve that problem.

<comment><USER7> For the last few years now you can just scrawl to the bottom to read the answer. They had to put that in otherwise Google wouldn't index them.

<comment><USER8> Yes, but only if your referer indicates that you're coming from Google, otherwise you _only_ get the offer to buy the answer, with no indication that it's available for free. Slimy. This is why I avoid ever linking to them, because anyone who is unfortunate enough to follow a link to EE gets a question with no answers.

<comment><USER7> Scrolling to the bottom works from anywhere and has for many years. There was a short period of time where it only worked from Google, until Google nailed them for that.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> One day when I worked at Rockstar Games I was walking through the lobby and bumped into the technical director's wife and kid. I said "hi," and the wife was very apologetic, explaining that she knew their daughter couldn't see her father for yet another night in a row, but just wanted to spend 15 minutes with him. I just remember walking away thinking "I'll never be that kind of father." I left a few months later.

Outside the games industry, though, the usual response when a company grows, and you can't give significant equity to new hires to justify crazy hours, is to change the company culture to have closer to 40 hours a week. Both ITA software (which PG mentioned in Great Hackers) and Endeca, two successful pre- liquidity-event companies when I joined, had normal working hours. Is that only true in Boston, or in SF too?

<comment><USER10> >explaining that she knew their daughter couldn't see her father for yet another night in a row, but just wanted to spend 15 minutes with him.

Dude, reading that just makes me want to cry. I may be an IT enterprise schmuck doing java development for the man, but at least I have a life outside of the 8-5. Man I have so much to be thankful for: a job that's 5 minutes away from where I live, pays me very well, and I can be home for lunch with my girls every day and home for dinner before 5:30. I'd love to have my own startup (hence the HN trolling) but not at the expense of my family. I guess the lifestyle-business/startup is where I'll end up eventually.

<comment><USER11> Frankly, some of this "family time" stuff can be taken too far by fathers. What are you going to do, sit around the house reading Dr. Seuss and playing Lego? That's fine to a point, but you also need to be setting an example as a provider and you do that by spending a reasonable amount of time at work. Kids absorb and internalize their experiences as they grow, and when they are adults (past the turbulence of adolescence) those internalized behaviors are how they live. If they have not had the experience of growing up with a parent who displays the discipline to sacrifice, work hard, and succeed, they won't tend to have that either.

This is NOT a critique of Atwood's (or anyone else's) decision specifically; he has clearly been a success and maybe the work/home ratio in his life _was_ out of balance. Like many good things, time spent at work can become a negative. But on the whole I don't think a parent, particularly a father, needs to feel guilty about spending a reasonable amount of time at work. You are teaching your kids how to be a provider, even if you are not physically "there" 24/7.

<comment><USER12> I came to this same conclusion recently. It's great to spend time with the kids but there's a lot to be said for setting an example. I changed jobs to be closer to home after my second child was born. It's been over a year now and I'm realizing that being a good father is not just about spending quality time with your kids. It's also about teaching our kids to follow their dreams and find work that they truly enjoy. What better way to teach them this? This is why I'm making an effort to change my situation ASAP.

<comment><USER13> Jonathan Coulton comes to mind. He left his boring job as a programmer to pursue music as a way to make a living. He does not sacrifice family time for his "dream", but provides an example of a dad doing something he enjoys to make money for the family while having fun with the family.

<comment><USER12> My situation is a little different. I actually enjoy programming. What I miss is the satisfaction of building solutions to real problems and working with other developers who are as passionate and dedicated their work as I am. We put a lot of effort into becoming the best we can. It's nice to have the opportunity to put those skills to good use.

</comment></comment></comment></comment></comment></comment><comment><USER14> > _It's been almost exactly 4 years_

Funny how often you read that in resignation posts. Four years is typically when one's shares become fully vested. At this point there's no way for him to make significantly more money from working at Stack Exchange.

It's perfectly logical to quit now, to either 1. Relax (maximizing family happiness) or 2. Start a new company (maximizing economic opportunity).

Considering how recently they pivoted into a VC-backed company it seems rather too soon for a co-founder to be jetting though. Wonder if Spolsky regrets backdating their vesting schedule (if that's what they did). Might be a bit of a cautionary tale for founders.

<comment><USER15> I've always been slightly surprised that founders accept vesting at all.

What is to stop the VC from firing you the day before your options mature?

Then you would effectively have worked for them for free for 2 years, and for a low salary for a year and 51 weeks after that, all at 70 hours a week.

I would never give anyone the opportunity to do that to me.

<comment><USER16> The stock vests over time. Four years isn't the typical time for stock to vest; it's the typical time to be _fully_ vested. Usually it's 1/4 per year for 4 years.

Vesting doesn't just protect investors. It also protects cofounders. Suppose you start a venture 50/50 with a buddy. After a year, he leaves, and three years later you've bootstrapped the company into a $100m business. Without vesting, your cofounder would still be entitled to 50%. With vesting, he would get 25% of 50%, or only 12.5%.

<comment><USER17> Sorry to be nit-picking, but the percentage of shares _issued_ that the departed cofounder holds after 4 years would be 20%. It's not helpful to look at percentages during the calculation: look at absolute number of shares. If 1 share vests each month, the remaining founder has 48 after 4 years, the departed one retains 12, hence 20%.

Of course, this ignores any further shares the remainin founder might issue to himself by investing his own money or assets (he holds a majority stake, so that shouldn't be too difficult)

</comment></comment></comment></comment><comment><USER18> I deeply respect Jeff's decision to put his family first. I have a general question though. I am an ordinary programmer at an ordinary job working ordinary hours. From those of you who have started their own project full time, is it impossible to run a start up and work ordinary hours? Or is it really necessary to sacrifice all other aspects of your life to be successful?

<comment><USER19> That depends on what you qualify a "startup."

My husband and I run a SaaS/infoproduct business which grossed right around $600k last year and we do not work long hours (or even 40 hours/wk). In 2011, we invested heavily in our next product, a new office, a lot of lawyering & tax accountanting (and made a couple rather big (hiring) mistakes with money), so our take-home wasn't glorious, but next year it will be.

We:

* built the product in a hack day a week or so for 3 mos * worked pretty hard the first year, since we were doing it alongside consulting; but literally there were weeks, and months, where we did nothing, and our business survived & even grew for a time * quit consulting in 2010 (me in Jan, my husband later)

To put this in perspective:

In late 2009, I had mono, which knocked me out for a few mos. I got better for a while, but then a series of viral infections landed me with chronic fatigue syndrome. Several times since then, I've been incapacitated for 1-3 mos.

Now I'm mostly better, but every time I get sick, I'm unable to work for a week or two. I don't make it up by working long hours when I'm well, either. We're talking 20-30 hours a week for me, max. We haven't worked more than a 40-hour work week for more than two weeks at a time in nearly 2 years, and our biz is 3 years old.

In short: it's totally doable.

Focus on solving a pain people will pay for. Build something simple, which doesn't require a lot of maintenance. Choose customers who aren't needy fuckers. Pick your hours.

Example: Our 1st product is a time tracking tool. Unsexy but it's got a run rate of just over $300k/yr now, just over 3 years old. We had 8% growth in revenue month over month from Dec to Jan. Which is totally sexy.

And… right now we're on a month-long trip to NZ. I've been working an average of an hour a day because I'm running a course to teach people how to build this kind of biz. (That's in 2-4 hour stretches, not actually 1 hour a day, which would be useless.) My husband hasn't worked at all on this trip except yesterday he had to reset one of our (redundant) servers because of an apparent hardware failure. That'll probably take a couple more hours of his time this week.

Sure, we could work more, hit it harder, and probably earn more money. But we're nicely on track for $1.5m in yearly revenue inside of ~2 more years (when I turn 30!) so I figure, why bother? What could we NOT have with $750k/yr of sustainable _household income_ , even if we spent _half_ the gross revenue on overhead (which is ridiculously unlikely)? We already get to touch thousands of people's lives every day. We can already invest in charities and nice things.

As Felix Dennis, who's ludicrously rich (in my mind), wrote in his very excellent How To Get Rich:

"Ask me what I will give you if you could wave a magic wand and give me my youth back. The answer would be everything I own and everything I will ever own."

He says no less than 3 times in his book that if he could go back to his youth and live a different life, he would have spent way, way, way less time accumulating his obscene (hundreds of $mils) riches and more time living. I take him at his word.

In short, it's totally possible. You won't believe it if you spend too much time reading HN, however. Or people will tell you that your ambition is too small… and sneer that you run a "lifestyle business." But then, you will have a life, so you can laugh all the way to the bank.

NB: I blog about this stuff at <http://unicornfree.com> in case you're interested.

<comment><USER20> Hey Amy - I just read your travel post. How do you guys handle support while you're both on the road? Do you just make it clear to customers that there's a multi-day response time, or do you hire temporary support staff?

<comment><USER21> I'm interested in hearing about this too. Support can be one of the most time consuming parts of a web app. Maybe because your apps are simple they have less support requirements?

<comment><USER19> Ah! Good question. So, previously, we'd do support ourselves. It doesn't take more than 45 min - hour a day total, most days less. Part of why it's fast is we use our own custom-rolled tool (coming soon to a public launch near you: <http://charmhq.com>).

This time, we have part-time help in the form of an international business major at a local university. She's not an expert on our app, BUT for hard q's, she'll just let the folks know we'll get back soon.

Last summer, we had hired 2 full-time staff to do this and a variety of other things, but that was a major mistake for many reasons and we had to let them both go this fall (soooo stressful; now I am anti-hiring).

The other reasons our support load is so fast/light:

It's a mature product, without many bugs.

If things do go wrong, it's a time tracking tool, not the end of the world.

The UI of the product is really quite amazing, if I do say so myself; and that creates less confusion.

The look & feel of the app, our name, our marketing materials, our philosophy, our feature set attract and groom a certain kind of customer who is much more friendly and laid-back than the average SaaS customer. We get a tenth of the angry emails of friends who have a similar number of customers.

Finally, we ourselves are chill. Lots of folks with a business act as if the customer is a gunslinger shooting at their feet to make them dance. We do not. Early on in Freckle's life, we totally abandoned it for a month or two at a time, support included. Nothing terrible happened. I wouldn't do it again, but it puts it in perspective.

</comment></comment></comment></comment></comment><comment><USER22> Jeff's presence will be missed, but the man can't be faulted. His priority is his family, and he's sticking to his guns. Good for him -- seriously!

Honestly I had been on the fence about changing jobs until recently. I'm single and I realized that I haven't been on a date in a long time. Wolfram Alpha places it at about 3300 days (just over 9 years). I've made a good chunk of money, but all in all it's not worth the sacrifice of everything else I care about. I'd rather be at home trying to make video games and start dating again while I'm still (barely) in my 20s, so that's what I intend to do.

<comment><USER23> Your sacrifice may be worth it. I only have a tiny glimpse into your situation, but you may want to reflect more on what you'd like medium and long-term, to avoid short term decisions that might not help. Life involves tradeoffs and sacrifices, and the best time for some of them is before relationships, children, family. The money you've made could very well help you spend time with your relationships and family.

</comment></comment><comment><USER24> Very few things have changed the face of programming as much as Stack Overflow did. I'm not sure that the Exchanges foray into other subjects will yield as successful products, but one can dream.

For fun, I even did a quick look at my Chrome history for last month: only 2 days had my not visiting StackOverflow.com.

<comment><USER25> Stack Overflow are even kind (cheeky) enough to provide a calendar on a user's profile showing the day they've visited (or not).

<comment><USER26> Thanks, I never knew the calendar appeared by clicking on the visited value!

</comment></comment></comment><comment><USER27> There is much to be said about this. Personally the story is extra important as I am about to do probably the exact opposite.

I am 38, have a son at 2 and a girlfriend. Co-founded a company in 2005 here in copenhagen and grew it to 60 people in 2008 and now around 30.

March 1st I am out of there. I sold my shares in stable company and is going to New York and work with another company there.

I will leave my son and GF back in cph and hopefully convince them to move with me later on. Until then its going to be 3 weeks out of every month in NY.

It's not a rational choice it's certainly not a 100% a popular choice.

But my take on this is a little different than Jeffs and that is perhaps because I still feel I have something to prove :)

But I am thinking that even though I want to be around my son I also want to be more than a dad for my son. This I believe is going to be important especially when he grow older.

Perhaps if I did a huge exit I would think differently, perhaps I am being selfish.

But life is short and complicated and at least for now this seems to be the right thing to do all things taken into consideration.

<comment><USER28> I know this is highly subjective but I would think that every son would like for his father to be above all, a dad. I wouldn't give a fuck if you drove two mercedes instead of one or if you gave away a billion dollars to cancer research if you couldn't find the time to play LEGO with me. Just my opinion, and I wish you the best of luck in your endeavors.

<comment><USER29> It's a really complicated question.

My dad went the other route - he had an MIT Ph.D in nuclear chemistry and gave up his career to be a dad. He was always, always there to play LEGO with me or take me to the playground or drive me around to after school activities. And I really, really appreciated that - I probably appreciate it more now that I'm grown and he's dead.

The thing is - he still had something to prove, and because he had given up his professional life for me, he transferred that need to prove something onto me. And so for most of my childhood, I felt like I _had_ to do well in school, and when I grew up it was up to me to win that Nobel Prize that he never had a shot at. And it went like that until I was in around middle school, at which point I basically said "Fuck that shit" and started sabotaging myself just to prove to everyone that I wasn't this super-genius who was destined to change the world.

And that wasn't really fair to me either.

I don't think it's really a matter of outcomes, of affording the big mansion in a gated community. I think that every kid deserves to have a dad who can be proud of who he is and what he's accomplished in life. If you can honestly feel that you're not _giving up_ anything to be with your kids, but rather _gaining_ something, then you should do it. But if you would otherwise be bitter and resentful for what you couldn't accomplish in life - it's better to have an absent dad than a bitter one.

<comment><USER30> What would have been the correct balance for you Dad to strike between working and being with you?

<comment><USER29> Ideally, I would've liked it if he had done exactly what he did do up until about age 8 or 9, and then gone back to work. As I grew up, my needs shifted from someone who would love me unconditionally and give me lots of attention to a role-model who could teach me how to interact with the outside world, and someone whose life is completely coupled to yours is neither the best role model nor someone who knows a whole lot about the outside world.

</comment></comment></comment></comment></comment><comment><USER31> I, and many others I'm sure, owe a huge thanks to Jeff. 99% of the time, searching an error message from a compiler/framework I'm less familiar with + "stackoverflow" yields a well written, well explained solution to the problem - this solves a huge problem with overcoming undocumented code, and corner cases.

Not only that, but StackOverflow is often the de-facto place for a response to a technical problem of any kind. Heck, some companies even use it as a method for responding to queries about their product - one example I noticed the other day: <http://blog.appharbor.com/2012/02/02/announcing-pricing>

This is a result of such a thriving community, which Jeff has made possible through StackOverflow. So I just want to say thank you, for advancing the pace of development on the web and beyond.

</comment><comment><USER32> Good call, Jeff. From someone who made a similar decision not so long ago, you've made a very good decision.

As was explained to me with my own family: your job/company/career will never hug you back.

I used to approach my career with the standpoint of figuring out how to manage my time to wrap my family into the schedule. Now I do the opposite -- I figure out how to manage my time to put my career around my family.

Interesting thing I've found: I'm _better_ now than I was before. Making a family investment decision, for me, has paid off in spades.

</comment><comment><USER33> I followed the entire genesis of StackOverflow pretty closely via Jeff & Joel's blog posts and the first go 'round of the StackOverflow podcast.

During that time, and to this day, I never ceased to be impressed by Jeff's committment to making the web a better place for programmers and the general public too. He never got mired in startup-speak; you never got the idea he was just in it to sell it, and even once they got some VC backing, you never got the idea he was planning to just sit back and collect the money. Just a no-BS guy in every regard.

It's obvious to me that when Jeff does something, he does the shit out of it, and I can't imagine that parenting will be any different. We could use more people like him in every part of life.

</comment><comment><USER34> As a relatively recent parent myself (with another on the way) I can definitely relate to wanting to put family first. It's terribly cliché, but little people really do grow up quickly, and it's all too easy to assure yourself that next year is the year you'll slow down.

Good luck Jeff, and thanks for heping to rescue us from experts exchange.

P.S. Am I the only one that found the accidental relevancy of the post footer amusing?

> [advertisement] What's your next career move? Stack Overflow Careers has the > best job listings from great companies, whether you're looking for > opportunities at a startup or Fortune 500. You can search our job listings > or create a profile and let employers find you.

</comment><comment><USER35> The timing of these posts amazes me sometimes.

I just turned down an opportunity to join an early stage startup (would've been employee #4, engineer #2, leading a team) that was uncommonly well backed, led by a seasoned founder, and tasked to build some truly bad-ass technology. I've always been drawn to startups, and this was indeed a rare one, unique in my experience so far, and particularly well suited to my sensibilities and to the direction I'd been wanting to go in my career. Closest thing to a perfect opportunity yet, to be sure. But it required some travel (half-dozen or so trips a year overseas, week or so each, give or take, probably more), and would've surely required longer hours than I work now (generally 40, sometimes less). We have two young boys (ages 1 and 2 1/2) and a third due in August. My wife, ever my champion, did nothing but encourage me to take it.

But I couldn't do it. My dad traveled constantly while my sisters and I were growing up (still does, actually -- very successful, but physically and often mentally absent), and I've always promised myself I'd never make that mistake. It was by far the toughest professional decision I've ever had to make, was emotionally and physically draining (I lost much sleep over it, spanning several days), but ultimately right -- for me, anyway. Much as it might restrict me career-wise, I work to live, don't live to work, and I'm not willing to risk regretting lost time with my boys because of work I chose for myself over them. I can't imagine a future in which any of us would look back and say that was worth it.

Many thanks indeed to you, Jeff -- you all did build something awesome. As my dad would say, Now go have fun.

</comment><comment><USER36> Whenever I saw vBulletin used for programming questions (the most common option before SO), my heart ached. vBulletin may be good software for discussions, but it sucked as a programming Q&A site.

I always wondered why we, programmers, do not have an amazing software to ask questions about our craft? Jeff gave us the answer in Stack Overflow and it was everything I would have hoped for. And then some. I love the fact that Stack Overflow (and sister sites) attracted experts in their field and following their answers, I learned a lot.

Thank you Jeff and I wish you all the best for your next adventure. :)

<comment><USER37> > vBulletin may be good software for discussions,

You know, I really think it's not. It may have been in the '90s, but the times have changed and it hasn't. Sites like HN and Reddit are _much_ better software for discussions, but I'm sure these forms are just temporal as well.

<comment><USER38> The Reddit/HN style is better when there are small number of most interesting or most correct replies, forums are better when there are a large number of valuable contributions. They're also better for long-running events and the ongoing discussion of broad topics.

Basically, Reddit style is better for "New Star Trek Movie announced", forums are better for "Let's talk about Star Trek".

<comment><USER39> I get where you're coming from, but I really don't think this is the case. I can churn through 400 reddit comments quickly, but 20 pages * 20 threads/page with [bulletin board software] is nothing short of a pain - not to mention the quote within a quote within a quote and tons of wasted space for avatars/signatures, which can only be disabled on some forums. I can see the benefit for long-running events (a reddit thread over the course of a few weeks would be hard to read chronologically) but I think there's a lot of room for improvement, much of which is probably up to the designers as much as the developers.

Also, I think the barrier to entry in a 400 comment thread is largely different as well - with reddit, the issue is whether your comment will receive any visibility, whereas, IMO, in a [bulletin board] thread, catching up on 400 comments of discussion seems daunting and almost pointless.

</comment></comment></comment></comment><comment><USER40> "Success at the cost of my children is not success. It is failure."

I can already tell this post is an instant classic that I will return to many times in the coming years. I was left with almost exactly the same thoughts as he was after reading Jobs' biography - and kudos to him for following through.

Seeing Jobs' life being lived at the expense of a meaningful relationship with his kids (especially his daughters), for me personally it made his Stanford speech about "following your heart" being the most important thing ring hollow. What happens when your heart values your job more than your kids? Is that just bad luck for your kids?

Perhaps our own gut instinct is not the final authority we should follow. Maybe loving our kids is something that is more important than "succeeding" at our job, even during times in which we don't feel like it is.

<comment><USER19> What's to say he didn't learn from his mistakes? I think that was the point of the speech. Sounds like he spent wayyyy more time with his "second round" of kids.

<comment><USER40> Actually, reading his biography, it didn't sound like that to me at all. "More time" as opposed to complete ignoring and acting like he wasn't the father, yes. But the reason he had the biography written was because he wanted his kids to be able to read why he had so little time for them and to get to know him a bit better that way. And those are his own words, as far as I recall.

</comment></comment></comment><comment><USER41> Why is Jeff retiring? Couldn't he simply semi-retire? work only 2 days a week and the rest of the time with his family?

I think he was exhausted...

maybe this books is worth a look: The Big Enough Company: Creating a Business That Works for YOU [http://www.amazon.com/Big-Enough-Company-Creating- Business/d...](http://www.amazon.com/Big-Enough-Company-Creating- Business/dp/1591844215)

</comment><comment><USER42> This exit is too convenient. Jeff left SE because Joel's a bit of an ass and Spolsky's focus is back at FogCreek with offerings like Trello.

With VC cash drying up, Manhattan office space, and fifty employees that aren't exactly cheap. Jeff (to his credit) is exiting gracefully while he can. Kudos.

<comment><USER43> Probably just coincidence, but the Microsoft Bizspark licenses he blogged about 3 years ago [1] are probably close to finished.

1) [http://blog.stackoverflow.com/2009/03/stack-overflow-and- biz...](http://blog.stackoverflow.com/2009/03/stack-overflow-and-bizspark/)

</comment></comment><comment><USER44> I'm a little surprised by this. I can understand Jeff wanting to "slow down" a bit and spend more time with his family etc but unless he has enough money to basically retire I can't see how his workload will reduce from not working on stack exchange.

Stack exchange I believe is developed mostly by programmers working from home and there are enough of them and SE is well developed enough that I doubt it requires Jeff to be glued to his keyboard at all times so it would seem simple to reduce his hours at his current job. In many ways it is the ideal job for somebody with a family since he's working at home and he's already done the hard part. I imagine it's now more a process of making gradual improvements as the money comes in.

I wonder what is next for Jeff, I can't see him taking a cubicle 9-5 with BigEnterpriseSoftwareCo and if he joins/starts another startup type business he's back to square 1 in terms of workload.

Perhaps he will focus on his blog/writing more now? He doesn't seem to worried about the prospect of being unemployed with a growing family so he must have stockpiled a fair amount of cash.

</comment><comment><USER45> I can't believe they have been here for just four years... I would take centuries to debug if it weren't for stack overflow... I can only thank you for what you have done Jeff ;-).

</comment><comment><USER15> > _Farewell Stack Exchange_

When I first saw the title I thought "Oh no, why is Stack Exchange closing down?"

Maybe the title should be changed to the more accurate "Jeff Attwood quits Stack Exchange"

<comment><USER46> I saw the heading after I read "Stack Overflow is out of space" so I got even more scared.

</comment></comment><comment><USER47> I think this is the right move for Jeff. It's good to see someone with such a high profile, putting family (and life in general) over working.

</comment><comment><USER48> I don't think the impact that stackexchange has had on the programming community is even well understood or appreciated yet. Still for many of us it is already hard to imagine a world without something like stackoverflow.com. It is a tool that we rely upon every day, not unlike Google. Thank you Jeff.

</comment><comment><USER49> Thank you Jeff. Rock the future and I hope you find the balance that eludes too many of us.

</comment><comment><USER50> I basically learnt how to code c# through stack overflow. An amazing resource that has given me and so many other people so much. It really has impacted a lot of peoples lives. I admire Jeff for getting his priorities right as well.

</comment><comment><USER51> I never even knew of Jeff, but StackOverflow has helped me more than I can even begin to talk about. Everything from stupid questions about using Linux to valuable conversations that helped me understand $LANGUAGE in a different way.

</comment><comment><USER52> Good Job, Jeff!

I routinely disagreed with your blog, and self-promotion -- but in the end -- you delivered a slick site and built a great community.

It doesn't matter that I didn't like your opinions, or thought that Joel's column became pointlessly self-promoting.

All those things thrive in the tech-blog-o-sphere, and there is no shortage of people with unpopular opinions, fanbases, or self-promoting start-ups.

Instead, you guys did all those things, _and_ delivered a kick-ass tech Q&A site on _windows_ with a team of, what 4 people in the initial development?

Anyway, congrats to a job well done!

Take some time off, you've earned it!

</comment><comment><USER53> My workplace recently upgraded all devs to a dual-monitor setup. Now when I walk around the office the most common thing I see is one monitor for the IDE and one for Stack Overflow in the browser.

</comment><comment><USER23> _Stack Overflow and Stack Exchange have been wildly successful, but I finally realized that success at the cost of my children is not success. It is failure._

As others have said, thanks Jeff for all the lessons and time saved with Stack Overflow! Super happy for your success and hard to imagine how it could have worked better. Your twins are only months old, your son is less than 3, so your success affords you all the time with your family. Your success story is well balanced and positively enviable.

</comment><comment><USER54> The Stack Exchange podcast will not be the same without Jeff.

<comment><USER15> I will be surprised if it continues at all.

</comment></comment><comment><USER55> Stack Overflow has been brilliant not only for finding answers, but for encouraging people like me to contribute our own answers in return.

I'd say it made me a better programmer.

</comment><comment><USER56> Never, ever underestimate the ridiculous amount of time, energy and willpower you invest to raise children. Just because billions of other people do it doesn't mean it isn't the single most demsnding, time-consuming thing that will ever be asked of you.

Perhaps you plan to outsource to a very understanding wife / girlfriend / grandparents, but if you want to do it yourself then bear this in mind: Jeff's was the only option on the table.

</comment><comment><USER57> Why not make SE a family-friendly company instead of just leaving? I'm guessing at this stage he has already lost control and can't influence that decision?

</comment><comment><USER58> I love the ad for Stack Overflow Carreers at the bottom.

</comment><comment><USER59> Thanks is just a word, yet, all my apps, servers, desktops and smartphones, been well supported by stack exchange sites and community.

With StackExchange, getting the correct answer is one post away, and that is a revolution!

So I will use that word of "thanks" to express my gratefulness towards Jeff and Joel and all the community members(!), and want to wish Jeff the best of time with his kids.

Thank you StackExchange!

</comment><comment><USER60> I've always been amazed how the stackoverflow (and various other stackexchange communities) turned out so much better than the other communities on the internet.

Jeff and the stackoverflow team have put together something really incredible. Congratulations... and thank you.

</comment><comment><USER61> Great call if his heart wasn't in it any more. You need to look forward to going to work and going home. Leave one out of balance and things fall apart.

I am curious about the culture there. FogCreek seems very family friendly. Did it not bleed over?

</comment><comment><USER62> Farewell Jeff! I wonder how many other people have had the epiphany since Steve died that no matter how much money or power you have, nothing can keep you alive?

I say good luck to him and his reasons could not be more justified in my eyes.

</comment><comment><USER63> It's amazing how Steve Jobs affected this generation of technologists. I wish I could expand that sentiment beyond tweet-length without fear of starting a flame war, but I'll leave it there.

</comment><comment><USER64> Jeff, understand our point about prioritizing family over work, etc but clearly lots of people reading it but cannot afford to retire are going to end up sad and demoralized today :(

</comment><comment><USER65> Which contribution is greater? Building the canonical Q/A engine or setting an example for tech professionals that family is #1?

Thank you Jeff, I'm glad you shared some of your awesome with us!

</comment><comment><USER66> Who has the means to take 6 months at home with the kids, anyway? Even one month would be luxury for most... Is he telling me I'm failing my son?

</comment><comment><USER67> Hats off! Congrats on getting your priorities right. You have done your job, now teach your kids to do their jobs :)

</comment><comment><USER68> Well, I just became addicted to Stack Overflow and for that I really owe big thanks you to Jeff: THANK YOU!

</comment><comment><USER69> Best wishes from a programmer addicted to stackoverflow.

</comment><comment><USER70> a big surprise!

</comment><comment><USER71> I'm going to go out on a limb here and say that this was uninteresting for the same reason that the Stack Exchange Podcast is uninteresting: it was just a guy talking about himself (SE Podcast occasionally has interesting shows, _sooo_ much of it is just them ruminating about themselves, with a bunch of background racket). I didn't learn anything from this post, except that a Nerd Celebrity is leaving somewhere, with no technical information, no insight, nothing.

<comment><USER72> Exactly. Is he taking 6 months off to do nothing? How is he doing that? Did he cash out something during the last investment round? Retainer? Sell some SE stock? How's he paying the bills?

<comment><USER73> What is this celebrity gossip channel?

<comment><USER72> I was just looking for a little more practical insight. If he's in the bay area, with a family, surely it takes significant personal capital to take a mini-retirement. PG has written before about startups being a compressed career, so I see Jeff executing that here and it's something in the back of my mind too as I toil away at day job and personal/startup projects.</comment></comment></comment></comment>


How To Choose A Board Member - <AUTHOR> http://blog.eladgil.com/2011/12/how-to-choose-board-member.html

<comment><USER2> Great post on an important topic. I also like Fred Wilson's advice:

"Above all else, look for great judgment and ethics."

<http://avc.blogs.com/a_vc/2008/02/thoughts-on-cho.html>

</comment><comment><USER3> Why not make every employee a board member, with one vote each, and equal ownership of the company?

Decisions would be made based on what is in the best interest of the employees of that company. A real democratic way to run a business.

<comment><USER4> Two words : corporate politics. Working former ex-communist company (~300 workers) where workers own the majority share of stock turned me from a idealistic socialist to a cynical libertarian in just two years.

<comment><USER5> Can you share the experience?

<comment><USER4> Oh, the memories :)

Essentially the place was overstaffed, it had >300 employees, 200 of them were actually doing _something_ and if done optimally that number would be ~150. Everyone focused on the immediate benefits (their pay check, their department, etc.) and ignored the costs (company profitability). There was classic division and warfare among departments, that lead to somewhat comical situations. For instance, at some point they realized they cannot raise the salaries anymore because the company would not be profitable, and all department heads naturally agreed, but they also wanted their friends to get the benefits - so instead of raising paychecks they started giving fictitious promotions. At one point the department managers had 10 "replacements" (whats the correct term here ?).

There was a guy in my department that _literally_ did nothing, he would check in, surf the internet and check out every day for 7 years. His job was removed when the production line was upgraded and he was not skilled anyway, but he was a friend of the department manager and he was 50 so they decided it would be "unfair" to fire him. I'm not exaggerating the doing nothing part, I worked in the same office for two months.

The IT department was hilarious. These guys ordered 150K$ worth of servers (this was 10 years ago) only to figure out (when they arrived) that they don't know how to connect them to the existing system because they fired the only guy who knew that system (because of politics). So instead of admitting their incompetence they just hid it - and nobody noticed ! I saw the servers in the boxes when the guy was telling me the story. They had 100 IP telephones (that was ~100€ a peace) in boxes because they didn't want to bother connecting them and setting up the servers, but it sounded nice as a presentation to the board to clear the budget. At one point the network got hacked and the hacker ransomed 100K$, and nobody got fired for that !

Production department regularly sabotaged upgrades that would threaten their positions, for eg. they had a production line tuning/control server that would replace ~4 workers and increase the product quality, they actively sabotaged the introduction calming it didn't work. Finally they made a deal with the IT department to just drop it, and there it just stood there in the server room. It actually did work since a former production department manager decided to test run it with a friend after work (to verify their claims) and got it running fine. Needless to say, his ideas about reducing the numbers of employees to a more sustainable level got him to the _former_ part in few months.

People were regularly stealing products, gasoline from distribution vehicles, equipment, etc. Even when caught on few occasions nobody was fired/it was quickly covered up within the department. Nepotism was common practice. People were sharing gigs of porn and pirated movies trough dedicated network servers.

There are so many incredible stories from that place, most people don't believe me when I tell them.

The company was able to survive all this because they got out of communism as a monopolist and the board/management was still connected to local politicians so they got shady deals from local government regularly. But when government got in to financial troubles, the demand dropped and competition entered the market workers decided to sell their stocks, and now the new owner is firing >50% of workers and outsourcing a part of the production.

This all ignores the people that actually did the grunt work and got screwed over because they weren't the relatives of some manager or the ones with social connections (and I wasn't among the hard working, actually, that's why I decided to quit after a while, there just wasn't anything to do for me there).

The worst part was that during all that perversity, everyone thought he was justified in doing what he did, even morally superior for "saving others". After that I figured out that (market) profit isn't such a bad thing after all, and that politics is a far more perverse game.</comment></comment></comment></comment>


Ask HN: How do you keep the best talent? - <AUTHOR>

I've seen a number of posts here and elsewhere on recruiting top developers, but it seems one of the great challenges of building a strong dev team is keeping talent.
For anyone who is running a team (or has), what have you done to keep talent?
For everyone else, what entices you to leave and what can be done to keep you on board? <comment><USER2> I've spent roughly 22 years in this industry and I've never had more than 3 or 4 of the items I ask for in the list below at one time in one job.

1) Tell me what you want (You'd be surprised how many managers do not know the answer to this)

2) Leave me to my work (Almost impossible to find)

3) Periodically ask me if I need anything and provide what I ask for (I've had requests for lint and Boundschecker turned down. Both can rescue a bad product)

4) Periodically tell me what others are doing in case I need to adjust my strategy (You're a manager. Manage!)

5) Tell me immediately when conditions change (See #4)

6) Pay me reasonably well (No brainer)

7) Be at least as flexible as you expect me to be (You can ask me to stay late at the last minute. Things come up in life at the last minute too.)

8) Don't drown me in petty bullshit! (Expense reports, time reports, tracking others work that relates to mine, meetings about use of the bathroom)

9) Stop worrying me about how much time something takes unless it's obvious I'm slacking. You hired me, trust me enough to do the work without having a nanny.

10) Don't give me shit insurance and then complain when it takes 3 Dr. visits to accomplish in an HMO that would take one visit in any other plan.

</comment><comment><USER3> From running a team here is my 2 cents:

Transparency, Empowerment, Challenges and provide Leadership

Transparency: This doesn't mean provide lip service to being transparent or saying you have an open door. It means truly being transparent and sharing the good and bad, helping the team see why both are normal. Shared pains and shared wins make the team feel involved and appreciated, and will endear them to the leadership and the goals of the team.

Empowerment: Empower the team and each individual to solve problems and don't force decisions down their throat. To many people say empowerment but than dictate to the team what they want or interfere by trying to directly micromanage the project. Requirements are great, if there are specific non- negotables share them, but get out of the way of your team. If you hired the right people this will pay off in spades, if you didn't, it won't take long to figure it out.

Leadership: Notice I said leadership and not management. The difference is drastic and a leader has a team that is focused and performing at their best, meaning they will almost always stick around. Managers, not so much. I could write a whole post on just the insanity I have seen around this one point alone. Here is something I always tell my team: my job is to support you and remove roadblocks for you, your job is to get stuff done and tell me when you have a need.

Challenge is a no brainer, smart people want to use their talents, your job is to help them do that.

One last point on my own teams, I refuse to ever ask them to do something I won't do. Of course, I am not always qualified, but I use it as a compass, if I am asking them to do something I won't or wouldn't do than something is wrong and they will know it and I will lose their respect.

For why I have left a team:

First, I always like to give it time to see how teams gel, cause nothing happens overnight. This could mean a 6 months on the low side to a couple of years on the high side. It is tough call to pull the trigger and bail for me when I have great teammates but poor leadership (read managers) above me. BTW: I have found getting the team together outside of work, usually for a few beers, helps speed the gel process regardless of what my role on the team is.

Poor leadership: or more directly, a manager. I am a smart guy, I don't need you micromanaging my work, if you want to micromanage me, then do the damn stuff yourself. You hired me to do a job, support me and get out of the way.

At the same time, I want feedback and preferrably often and regular. If I am going off track, show me where and _teach_ me why you made that call, don't bitch, don't just say "cause", teach and inform.

Ok, I have rambled too much. Can you tell I care deeply about this? lol

</comment><comment><USER4> Being on both sides of the aisle, here are my 2 cents:

\- Pay well and pay good. If you want the best, you have to pay the best.

-Identify the strengths and weakness of everyone in your team. Then work with them accordingly.

\- Always encourage a culture of open and honest communication from both sides. Do regular team meeetings and also periodical one on ones with individual members. Encourage them to talk about anything.

\- Trust in your team. You hired the best, now let them do their job. Don't micro manage.

\- Give positive feedback whenever you can openly. Saying "You did a great job" adds a lot of value and don't underestimate these words. Equally, provide constructive criticism if necessary and always do it in private.

\- Be flexible with the team's work styles and hours. If someone takes a 2 hour lunch break but stays late and gets shit done, thats fine. As long as important deadlines and deliverables don't slip, do not be a time police.

\- Last but not the least, understand that a good manager/boss is one of the most critical factors in deciding whether to stay or leave a team/company. People seldom quit a company, they quit their boss.

</comment><comment><USER5> The only way to keep someone is to be their best option. Pay more, offer more growth potential, offer a better work environment, offer a better vacation policy, offer better teammates.

No one leaves for a worse job unless it's a short term strategic transition towards a larger goal.

</comment><comment><USER6> 1\. Make sure they live & breath the company 2\. Keep challenging them 3\. Transparency as much as possible 4\. Make them be part of the decision making process in the company</comment>


Don't blame the framework: my experience with AngularJS and ReactJS - <AUTHOR> https://www.ckl.io/blog/dont-blame-the-framework-angularjs-and-reactjs/ <comment><USER2> Cool review!</comment>


Basecamp's cache-friendly local time - <AUTHOR> http://37signals.com/svn/posts/3691-basecamps-cache-friendly-local-time <comment><USER2> This is a great idea and a good Rails engine!

A minor, humble suggestion is to print the date including time-zone information in the html-only case (the component that's adjusted by javascript).

I.e. `November 27, 2013 11:43pm` could be written `November 27, 2013 11:43pm -06:00` or `2013-11-27T17:43Z`.

If js is off for some reason the time zone information is still there.</comment>