Hacker School announces fall applications and residencies - <AUTHOR> https://www.hackerschool.com/blog/4-fall-2012-applications-open <comment><USER2> For women who get into this program, great! You're set and will probably have an easy time finding work afterwards!

When recently moved back to the US with a basic programming foundation, I really wanted to get into this sort of school. I moved back with the primary motivation of becoming a top notch programmer. As a guy with my background, these kinds of programs aren't easy to get into! In general they all have a pretty strong desire to invite more women, and there are an awful lot of guys that want the training.

Without the option of this kind of top-notch program or others like it, I joined the local ruby meetup group and kept an eye out for any kinds of free instruction... and found that all were railsbridge (women only unless you're invited by a female participant). If you're already at a level where you can build some things, there are a lot more options like going to hack night and asking for feedback on what you've already built, but there's not much if you're not to that point yet.

If anybody reading this now is in the situation I was a couple of months ago, I strongly recommend the Coursera SaaS course through Berkeley. Obviously it doesn't compare to scholarships and in-person teaching, but there are free lectures, automated program graders, forums with active participants, study groups, and even human feeback on the quizzes. It's got pretty much all of the positives of Open Courseware, Code School (also great) and more videos rolled into one. It's open to people anywhere in the world, it's subtitled in several languages and everything except the optional textbook is free.

I'm not trying to hijack the thread-- this is a genuine attempt to help others who are in the same boat I was in until I found this.

<https://www.coursera.org/course/saas>

</comment><comment><USER3> Apparently the only way you can qualify for financial assistance is to be a woman. While I think that's great, and I understand why they are doing it that way (we really do need more women in programming), it leaves some men who validly need a hand up out in the cold.

<comment><AUTHOR> We agree -- we'd love to be able to provide financial support to _everyone_ we accept to Hacker School. It's another "what if" we've asked ourselves. We're not there yet, but we might get there someday.

<comment><USER4> It's disgusting.

You ignore underprivileged male hackers because too many _other_ hackers are male? How is that fair?

 _I'm sorry, but we aren't going to help you. Why? You have the wrong organ between your legs. Next!_

Are you sure what you're doing is even legal? What do you do about trans/intersex applicants, or do they not matter to you?

<comment><USER5> your kidding, right? It certainly is legal, colleges practice this all the time!

They give large grants to women, not because they are better, but because they are attempting to equalize the gender ratio.

The money is an extra. They won't accept you if you don't think you belong there. You are not entitled to any money. They are a private enterprise who are entitled to attempt to equalize the gender ratio... through whatever means they chose.

<comment><USER6> Whether gender-specific scholarships are legal is a question for lawyers and courts.

But regarding "equalizing the gender ratio", the gender balance for college undergraduates in the USA swung far in favor of women 10 or more years ago. Today, most colleges that want to 'equalize the gender ratio' would have to offer male-only scholarships.

<comment><USER7> You're aggregating up over all the possible degrees at all US colleges, in which case you're right, but come on. You know that in departments like computer science and pure math and various engineering disciplines and even physics the gender ratio is still heavily in favor of men. That's what's being addressed by scholarships. At many US colleges the female-only scholarships are typically conditional on entering one of the degrees with a predominantly male population and completing it.

<comment><USER6> So would male-only scholarships be appropriate in all the other female- dominated majors? And, because of the overall undergraduate imbalance, offering more male-only scholarships than female-only scholarships when netted over all fields? Simply to achieve gender balance, of course.

<comment><USER7> Sure, if achieving gender balance is desired. Racial balance also seems to be desired by most places, leading to implicit and explicit benefits for different races as well as genders. Just don't expect to see too many male- only scholarships. Few people seem to be concerned over the gender imbalance in, say for rhetorical purposes, English literature. Why do we want a greater balance in CS but not Eng. Lit? Regardless of why, the fact remains that we do, and thus we'll see tricks like scholarships trying to effect that change. Perhaps it would be better if it was all based on intellectual merit, but if you argue for that earnestly you'll be called any of a sexist/racist/elitist or something else. If that's really the path forward it will be a long time before we get on it.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> "The result? Twenty three of the 51 students in our current batch are female, and Hacker School is much better for it."

Though I applaud HS's initiative and Etsy's sponsorship, it would've been nice to outline why HS is "much better" now that half the students are female.

<comment><AUTHOR> I started writing about the benefits (and challenges) of having many more women in the batch (while simultaneously growing by 2.5x), but I felt the post was already way too long.

I hope to write a separate post on the subject before too long (maybe in September, after this batch ends and I have a bit more time).

<comment><USER9> NPR recently had a great report[1] on women in the sciences they said "When women were reminded — even subtly — of the stereotype that men were better than women at math, the performance of women in math tests measurably declined" so one might think that this living expense would reinforce that stereotype, however they concluded that "In order to boost the numbers of women who choose to go into those fields, you have to boost the number of women who are in those fields." Which is exactly what this stipend will do and hopefully that positive will out way any perceived negative. I think its a great experiment and you might want to reach out to the researchers in this report to see if they would be interested in what you're doing.

[1] [http://www.npr.org/2012/07/12/156664337/stereotype-threat- wh...](http://www.npr.org/2012/07/12/156664337/stereotype-threat-why-women- quit-science-jobs)

</comment></comment></comment><comment><USER10> But how can you be a real hacker when you haven't been steeled by the flames of IRC and newsgroups? Maybe you should do some sessions where the experts call you a noob in very eloquent ways.

Seriously though, I'm glad this happened. I'm glad programming is being taken seriously as a craft and not ending up a side note of the curriculum. Keep us informed!

</comment><comment><USER11> I'm a student in the current batch of Hacker School. I wrote a testimonial that is not up on the internet, yet, so I thought I'd reproduce it here. Hope you guys find it helpful.

tl;dr: go.

There are eight elements of Hacker School.

First, it is unusually supportive and safe. You can ask a question to clarify something you feel you ought to know, because you will get a gentle, illuminating answer. You can write a piece of code that you worry is shitty, then shape it into something beautiful with a fellow Hacker Schooler. You are isolated from all the people whose opinion might matter to you: your friends, your family, potential employers, the internet. In short, there are no negative consequences to showing your weaknesses.

Second, it is structured. If you feel awkward in social situations, you find that you always have a place. When you program on Hacker School days, there is always a desk to sit at. At the social gatherings, you discover that everyone at Hacker School is kind and inclusive. No one is ever left standing on their own.

Third, Hacker School is an uncontrollable situation. You are guided towards the things that it is important for you to work on. This invisible hand is the aggregate of the projects that other people are working on, the fellow students who walk up and offer to work with you on your project, the subjects covered in the Hacker School library, the languages your fellow students discuss at lunch, the juicy problem your deskmates are wrestling with, and the gentle guidance of the faculty. This invisible hand plainly shows you what you have been avoiding learning, what you thought was too hard, what you didn't know you needed to know, what you didn't know interested you.

Fourth, it is a place where programming is the most important thing in the world. Imagine Florence in the fifteenth century, except, instead of painting, everyone is inventing how to program, and instead of being surrounded by Donatello and Ghiberti and Botticelli and Raphael, you are working with the startlingly sharp programmers who no one has heard of, yet. The fact that it is socially acceptable to think about programming and talk about programming and work on programming means that programming is uppermost in your mind. Which means that you get better at it very fast. (This element was copped from Paul Graham's essay on aesthetic taste: paulgraham.com/taste.html)

Fifth, there are almost no constraints on what you work on. Your project doesn't have to make money, doesn't have to build your portfolio of open source code, doesn't have to be useful, doesn't have to appeal to some particular community, doesn't have to be cool, doesn't have result in something commensurate with the effort you put in. There is one constraint: work at the edge of your programming capabilities. Which is to say: work on something that makes you a better programmer.

Sixth, there are people who are better than you and people who are worse than you. Even if you are the most inexperienced programmer in the whole of Hacker School, you certainly know more than others about a particular operating system. Even if you are the most experienced programmer, you certainly know less than others about a particular language.

Seventh, you get to talk to and work with people who have truly brilliant minds. Some are fellow students at Hacker School. Some are drafted in as speakers or co-hackers. All are your peers.

Eighth, and most importantly, Hacker School is an expression of the faculty: Sonali, Nick, Dave, Alan and Tom. They are the people you'd want teaching you because they explain things clearly and they know a lot. They are the people you'd want to be friends with because they are nurturing and fun and funny. They are the people you'd want to have with you if you got into trouble because they would impose themselves on the situation and start fixing it. In short, they examine their environment and make it better.

And:

Having David Nolen explain the ClojureScript compiler was one of the intellectual highlights of my life.

The hours at Hacker School feel precious.

This is the fastest period of learning in my life.

I'm coming back.

</comment><comment><USER12> What's the avg age of the participants? Do you find any interest from 40+ year old developers applying in order to refresh their skills?

<comment><AUTHOR> We're open to and welcome programmers of all ages. We don't ask for age or keep stats on this, so we don't know for sure. Anecdotally, most of our students are in their 20s and 30s, but we've had some in their late teens and a couple in their 40s.

<comment><USER13> I think 50% of attendees being in their 40s would be a desirable goal...

</comment></comment></comment><comment><USER14> Love the residency idea. Good luck processing the next batch guys.

</comment><comment><USER15> Sucks...that you're in East coast..we need to open a better hacker school in SF Bay Area

<comment><USER16> If anybody would like to run something like this at Hacker Dojo in Mtn. View, let's discuss.

</comment></comment><comment><USER17> Do the applicants have to be Usa citizens? Can somebody from Europe apply as well?

<comment><USER5> yea! There are many people in the current batch from Europe.</comment></comment>


How to Be a Better Entrepreneur in the Next 30 Minutes - <AUTHOR> http://www.quicksprout.com/2009/05/25/how-to-be-a-better-entrepreneur-in-the-next-30-minutes/ <comment><USER2> Here is how to Be a Better Entrepreneur RIGHT NOW... don't read link bait fluff like this and get to WORK!

<comment><USER3> When I think of link bait, I think of sites that go after Digg and not really Hacker News. Hacker News is an awesome resource (better than digg imho), but if you get to the top I don't think you get too many links out of it.

</comment></comment><comment><USER4> "putting up motivational posters"

Seriously?

<comment><USER5> As stupid and cliche as this sounds, it's kind of right. I have this quote up, and every time I look at it, I get a boost:

"Get action. Do things; be sane, don't fritter away your time; create, act, take a place wherever you are and be somebody; get action."

-theodore roosevelt

<comment><USER6> I have:

"Around here, however, we don't look backwards for very long. We _keep moving forward_ , opening new doors, and doing new things, because we're curious and curiosity keeps leading us down new paths."

-Walt Disney

<comment><USER5> I have a Disney quote too:

"I can never stand still. I must explore and experiment. I am never satisfied with my work. I resent the limitations of my own imagination."

WALT DISNEY

</comment></comment></comment></comment><comment><USER7> _It doesn't have to be an innovative business that solves a pain in the market place; it just has to be a business that can turn a healthy profit every year._

On the contrary, a business must solve a pain the market place, to become profitable and healthy.

<comment><USER8> But his example, a plumbing business, both solves a pain in the marketplace (people need their pipes fixed and plumbing installed) and is not at all innovative.

</comment></comment><comment><USER9> Smart guy and he gets to the point - great article and thanks for posting.

<comment><USER9> Okay, so I decided my short term goal is to be making $35/day.

Explained: $500/mo apt + $350/mo food + $200/mo entertainment = $12,600/yr = $35/day

I also have a long term goal to be making $835/day. :)

I want to come up with an idea for a business that could be making $35/day reasonably quickly, but also have the potential to eventually scale up to $835/day.

I order to make $35/day, I need to create something that can do 7 sales of a $5/(month)/profit product every day.</comment></comment>


Ask HN: How to stop avoiding hard decisions? - <AUTHOR> I have made a habit of avoiding hard decisions, either leaving them until the last minute or ignoring them entirely.
This is an example of a recent, but frequent episode I have:
—-
I don't want to decline an invitation to a social event that I don't want to go to because:
1. I fear it will upset the inviter and
2. I will start to be excluded from future invitations to other events that I do want to go to
I'll then ignore the invitation while I try to figure out how best to reply.
Over the course of the week I'll struggle to find the phrasing to communicate 1. that I do not want to attend this specific event and 2. but I still would like to be invited to future events without it feeling rude or entitled. I'll then start to procrastinate further with the invitation, contemplating whether I should lie with a made-up excuse to avoid upsetting the inviter and safeguard my invitations in future.
Eventually it will be too late and the event would have passed. Often the inviter is offended that I have ignored their invitation or no-shown because I'm too scared to decline the invitation out of fear or upsetting them. I might as well have just declined the invitation in the first place and burned that bridge at the start of the process because the net outcome from trying to be tactful  about the situation is no different.
Do other people on here struggle with this? How do you manage these situations? <comment><USER2> Is the core of the problem is a party? If so, then you probably should retarget your problem solving efforts from decision making in general to your party issues.

If the problem really is a decision, then you can try to split up decision into smaller parts. The first part is to schedule when you decide to accept or decline invitation, and when you give an answer to inviter. For example, you can give yourself two days to choose between accept/decline, and two days more to prepare youself to write an answer. The trick is to schedule a particular time when you start doing painful things and when you finish them. For example: tomorrow from 15:00 to 15:10. It is just ten minutes of a pain.

A schedule can help you to think about the problem in advance without pain. Or do not think in advance and do not feel yourself guilty for it. It helps also to choose between accept/decline without pain from expectancy of a painful writing of an answer.

Such a way you can reach a minimum amount of negative feelings associated with thinking about problem and making decisions, you can break the negative reinforcement loop.

</comment><comment><USER3> 1 Get a die

2 Decide which numbers on the die represent which decision

3 Roll the die

4 Use that random decision

. ... _time passes_...

5 You _really_ dislike the decision made by the die? Go with the other one

6 Should you dislike the opposite too stop thinking about it and go with the decision the die made for you

7 If you still have not done anything it may mean you don't really care about making a decision, which may have deeper meaning that is far beyond what the Internet can help you with

</comment><comment><USER4> If handling a party invitation is such a hard decision, how are you going to handle changing jobs, getting married or travelling overseas?

Everybody is different. I used to have similar problems trying to find the optimum. Eventually I gave up. A very wise person counselled me to simply be authentic. To get clarity around what I wanted and then go for it.

So to apply this principle to the dilemma you described: I would recognise that for whatever reason I didn't want to go to the specific event. I would contact the host and say "I am sorry, but I won't be able to make it your ____ event. But I am very keen to know about any future events and I hope the circumstances will allow me to attend at least some of those. Thank you for the invitation and looking forward to enjoying your company in the future."

It is unlikely that you would be pressed to give a reason for declining the invitation, but something along the lines of "a prior commitment" or "I'd rather not say" should suffice. Of course, if you have a specific reason you don't wish to go then you could share the reason ... tactfully.

I have to admit that I struggled somewhat with your example as you didn't clarify why didn't want to go. Giving a reason would have helped give you a more specific suggestion on how to handle the situation.</comment>


Why I Don't Want to Learn Go - <AUTHOR> http://arantaday.com/why-i-dont-want-to-learn-go

<comment><USER3> Go is designed for large codebases, which is a problem that the author may not have, and so he may not see the benefits.

One key feature is that the Go compiler itself is the style guide: it automatically reformats your code to remove style guide violations. This makes it easy to work on a codebase the size of Google's because everything looks like it was written by the same person. We try to do the same thing for C++, Java, and Python, but it doesn't work as well because the process is manual.

Similarly, compilation time and runtime for every component, no matter how unimportant, is of utmost importance for Google's codebase. It may not matter how long it takes to run one one-off script, and it may not matter to you how long it takes to compile, but it does matter at Google because we compile every project and run every test after every commit. (OK, builds and tests that are obviously unaffected are skipped. But it's still a lot of code being built and tested.) So your Python project that takes 5 seconds to run tests instead of 1 second ends up wasting decades of CPU time throughout its life time. Same for C++ projects that take many hours to compile. Go tries to be as expressive as Python and run as fast as Java (and compile faster than anything else), and this saves lots of time in aggregate. (Remember, when you break someone's build, the delay between submitting your change and the system knowing about the breakage can result in a lot of hair-pulling for the developers on the project you broke. But if we can know the build is broken before the change is even submitted, then many hours of developer productivity are saved.)

Anyway, don't take this to mean that you're doing software wrong if you don't see the value of Go. Google is a special case and just because we have some problem doesn't mean you should have the same problems. One-man shops should optimize for individual efficiency instead of aggregate efficiency like Google does.

<comment><USER4> _Go is designed for large codebases, which is a problem that the author may not have, and so he may not see the benefits._

Aren't most serious languages designed for large code bases?

 _(and compile faster than anything else),_

So, why not invest in incremental compilation for an existing language? E.g. the ECJ compiler for Java has done wonders in terms of immediate feedback while developing. clang aims to do the same for C code and slowly makes editors and IDEs more effective.

 _Anyway, don't take this to mean that you're doing software wrong if you don't see the value of Go._

I fully agree with the author, on the one hand Go does not provide the performance of C or C++, on the other hand it nearly no useful new abstractions to manage complexity. Languages such as Haskell, OCaml, F# or even D provide a better type system and have similar or better performance.

 _Google is a special case_

Out of curiosity: how much is Go used in Google? What percentage of new projects use Go compared to e.g. Java or C++?

<comment><USER5> SQL isn't, and if it's not a serious language, what is? Perl and PHP are what the web app layer was originally built on, and they seem to be designed to maximize developer efficiency for small projects.

Haskell is definitely interesting. If I wanted to build a large system that was super-performant, I'd look at C, Haskell, and Go. I don't know enough to make a great decision, but all three look good.

Go has the advantage of being designed for the kind of thing Google does - massive concurrency. It's also like C, which make it easier to find good programmers who are confortable with it. Actually, you'd be hard pressed to find good programmers who are uncomfortable with a language that's nearly C. I'm not saying Haskell programmers aren't good programmers, but Google probably doesn't have enough of them, and they'd have to port their existing code to a completely different base (bad idea).

The original article complains about Go's GC. For a single process application, this could be murder. I don't think Google uses a single process.

<comment><USER4> _SQL isn't, and if it's not a serious language, what is? Perl and PHP are what the web app layer was originally built on, and they seem to be designed to maximize developer efficiency for small projects._

I intentionally said _most_ , since, obviously there are serious domain- specific languages. But stating that Go is designed for large code bases, creates a false dichotomy.

 _Go has the advantage of being designed for the kind of thing Google does - massive concurrency._

So, claims the C fan since there's GCD, so claims the Erlang/Scala fan since it has actors, so claims the Haskell fan since it has green threads, STM, and purity.

Also, is Google interested in massive concurrency or parallelism?

 _It's also like C, which make it easier to find good programmers who are confortable with it. Actually, you'd be hard pressed to find good programmers who are uncomfortable with a language that's nearly C._

That's a good point. But as a result it provides only a marginally better type system, at the cost of performance compared to C. Why not make it a lot better than C, with the same performance?

<comment><USER6> Calling Perl domain specific? I think those would be considered fighting words in some places. ;)

<comment><USER7> I love a certain subset of Perl with a passion bordering on mania. While I wouldn't call it domain specific, I _do_ think it's better defined by the domains it's not well suited for. I wouldn't use Perl for GUI programming for example.

It's kind of a domain anti-specific.

<comment><USER8> > I wouldn't use Perl for GUI programming for example.

I would. I used the gtk-perl bindings for a project and I thought they were very well done. Previously I had only used the C bindings and taking the step to a higher level language (and more importantly, one with closures) was a _very_ nice step. It was a much better experience than doing Cocoa with Objective-C, IMO, but that could have also been related to the specific (smallish) project I was doing.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> This is addressed on the Go FAQ: <http://tip.golang.org/doc/go_faq.html#garbage_collection>

The authors believe that they can make GC a low overhead operation in Go and they believe that it's essential to take memory management out of the hands of the programmer to save programmer effort. Lastly, they say that should you need to you can always work around the GC by doing your own memory management (linked example).

It feels like they are trying to honor Hoare's "premature optimization is the root of all evil" by considering non-GC languages to have optimized the wrong thing.

<comment><USER10> Nobody believes GC is a bad idea, it's a canard to suggest otherwise.

It's that it's a contradiction of terms to say that you are offering a "systems" language but the language in question has non-optional GC.

Go isn't competing with C and C++, it's competing with Java and C#.

<comment><USER11> I believe GC is a bad idea. Programmers should know what their objects are doing.

<comment><USER12> You are severely mistaken about GC then. GC means to a large extent that programmers should know what their objects are doing. Perhaps even more so than in a non-GC'ed language.

The inherent problem with GC is when you put it into hands of people without that knowledge. Then the GC will save them and reclaim their data, whereas it would otherwise be a space leak and dead program. This means that you will have programs that work, but they will run slowly. GC-fanatics like me say that the program has bad _productivity_ since it spends all its time in the garbage collector.

The advantage of GC though is this: If you know what you are doing, you don't need to manage memory in about 90% of your program. It is often either good enough or _way_ faster than doing it yourself. Both in raw performance and in programmer time. A hint is that most modern parallelizing malloc routines use garbage collection internally to make them run more concurrently and faster :)

For the last 10%, the solution is the same as in any other language. You allocate large chunks of memory and then you handle that memory yourself. The advantage is that you only have to do this for a small part of your program and that means you can build software much faster.

The only place where GC is provably a bad idea is in hard real time systems.

</comment></comment></comment></comment><comment><USER13> Unfortunately, as much as I want to agree with it, the article seriously lacks any credibility. Go claims to present high-level features (namely GC) for low- level system programming. Obviously, this sounds new and ground-breaking. Simply dismissing it on account that "GC is unacceptable [for low level problems]" is nothing short of stating a disbelief: it doesn't prove anything.

If anyone wants to prove any shortcoming, than maybe they should come up with a more technical analysis, or at least some sort of benchmarking.

<comment><USER14> Do you seriously doubt that the Go GC is significantly worse than the Oracle JVM GC (by the metrics of pause times and throughput)? I don't think I've ever heard anyone suggest that it isn't.

My point with this article is simply that, even if Go's GC catches up to the JVMs (which would be an amazing accomplishment in itself), it would still be too inefficient for serious systems work. I provided several real-world examples to that effect.

If you want benchmarks, check out the numbers from moving some of the critical allocations off heap (and out of the GCs reign) in the Java HBase project: <http://www.slideshare.net/cloudera/hbase-hug-presentation>

<comment><USER15> In C, don't people just allocate a slab of memory for critical paths too?

<comment><USER16> Sometimes, perhaps, but simple malloc/free are much faster and more predictable than what you see in GC'd languages, often mitigating the problem. On top of that, many critical paths can avoid even those by confining their memory allocation to the stack, something that effectively ceases to exist in GC'd languages.

<comment><USER17> > but simple malloc/free are much faster and more predictable than what you > see in GC'd languages

 _More predictable_ , very likely. _Much faster_ , this is simply not true. E.g., quotes from an article by Brian Goetz[1]:

      The common code path for new Object() in HotSpot 1.4.2 and later is
      approximately 10 machine instructions, whereas the best performing
      malloc implementations in C require on average between 60 and 100
      instructions per call. ... "Garbage collection will never be as efficient
      as direct memory management." And, in a way, those statements are right
      -- dynamic memory management is not as fast -- it's often considerably faster.

> allocation to the stack, something that effectively ceases to exist in GC'd > languages.*

Not true, either. With escape analysis, Hotspot JVM can do stack allocation. The flag of doing escape analysis is actually turned on by default now.

[1] [http://www.ibm.com/developerworks/java/library/j-jtp09275/in...](http://www.ibm.com/developerworks/java/library/j-jtp09275/index.html)

<comment><USER16> That writeup is certainly interesting, mostly with regard to escape analysis, but it's entirely untrustworthy with regard to the comparison to malloc. First, it appears to base its assumptions about malloc implementations on a paper dating to 1993 (WTF?!), second is that it thinks "instructions" is a meaningful metric for judging performance.

</comment></comment></comment></comment></comment></comment><comment><USER18> Where Go fits in seems very clear to me. It is a less memory hungry and less verbose replacement for Java, fit for the age of fine grained parallelism.

Go will never replace C/C++ for embedded systems and operating systems. Go will never replace JavaScript in the browser. And Go will never replace Haskell, Lisp, ML, Scheme, etc, for those who have a very deep interest in programming languages themselves.

</comment><comment><USER19> As for the GC speed, how do GC and manual memory management compare to the Automatic Reference Counting system that was introduced recently into Objective-C? It looks to me as ARC has the advantages of both worlds: it relieves the programmer from managing memory by hand and has no overhead, as the decisions are made during compilation. I'm a bit frustrated each time people talk about GC and manual memory management and act like they were the only options available.

<comment><USER20> Check out iGC. The claim is, by tailoring GC to the ObjC runtime in iOS, you can beat ARC's performance with GC. (Look at how ObjC allocates heap and use read/write barriers to reduce the number of roots that have to be traced.)

</comment></comment><comment><USER21> Thanks for the link! The author expresses exactly my thoughts.

In essence: Go is not a system-level language (GC) and for problems where performance does not hurt so much there are other alternatives.

To add my personal opinion: I would not consider Go for another reason - <USER2> will not invest in a language that is backed by one company. I did this once with Java and I will not hurt myself again. Java's start was fantastic but then came all the business crap like EJBs and tons of frameworks.

</comment><comment><USER22> Why I have learned go:

The overlap between problems that I'd like to solve with node.js and go is pretty large and I prefer being able to use a statically typed language with coroutines and multicore support built in.

The libraries are great for server side programming.

Go optimises for both speed and memory usage. Folk who run benchmarks often seem to ignore the latter but given how the cloud is priced, optimising for memory usage can be a big win.

Go's GC is suboptimal at the moment. That said, I suspect that it'll improve pretty quickly. Go benefits from all those lessons learned during the man centuries spent building the Java GC.

</comment><comment><USER20> _And before you tell me that the GC isn't that big a deal: it is. Literally every big project I've worked on in a garbage collected language reserves a bunch of memory off-heap at startup and uses that for allocations on the critical path because the GC kills performance._

You could replace occurrences of GC with malloc, switch the language to C, and it would be just as factual. Basically, what the author is saying is equivalent to, "Real projects have to optimize." Well, yes. This isn't deep. It certainly isn't surprising, and it doesn't strike me as a good reason for not learning a language.

<comment><USER14> It's different, because I'm saying that much system level work has to optimize by _not using a garbage collector_. I've literally implemented off-heap malloc()/free() in Java because GC is so untenable.

I argue that makes a language with has a GC that you can't avoid (as far as I know, it's impossible to allocate an 'object' off-heap in Go) a fairly poor choice for much system level work.

Which means, if Go is to find a niche, it's got to be at a 'higher-level.' And that requires competing more directly against Java or Python - a much higher bar than trying to be better than C.

<comment><USER23> I don't think you're getting his point. I can still replace GC with malloc() and we end up with the same criticisms of C that you have of Go and Java.

> I'm saying that much system level work has to optimize by not using > malloc(). I've literally implemented off-heap malloc()/free() in C because > malloc() is so untenable.

Anyone who has had to write fast C programs that make a lot of small objects eventually ends up here. You end up incorporating some sort of pool based allocator, which I'm sure you can come up with in Go just as you can in C (or Java, or whatever).

<comment><USER24> You could make the same _kind_ of criticisms, but not with the same strength. there are real quantitative differences between the speed of explicit malloc/free and even a really nice garbage collector. (Unless you have a very special allocation pattern, like a whole lot of short-lived allocations and a generational garbage collector that uses stop-and-copy for the nursery generation. That's like the best possible case for GC.)

<comment><USER20> 1 - a whole lot of OO and functional Lisp programs use your "very special" pattern of short lived allocations.

2 - You can rig the game so generational GC beats malloc/free.

3 - It's not a criticism, it's a general principle. One always pays for performance. If your performance requirements are low enough, you can even take out a loan on them, so to speak, by using a more expressive language.

</comment></comment></comment></comment></comment><comment><USER25> I understand and recognize as valid all of the author's concerns. I am personally using Go for things that I used to do in Java. I recognize that this may not be realistic for people heavily invested in the JVM, but I'm finding development with Go to be much more enjoyable than Java.

</comment><comment><USER26> I agree with the GC point. If I'm using a low-level language, my litmus test is "could I write an OS Kernel in it".

I have a naive question: could GC in Go be replaced with something like Apple's Automatic Reference Counting (ARC)? It could be an optional feature backed by inserting real alloc(), retain(), release(), and destroy() calls, so you'd still have full control if you wanted to turn it off.

</comment><comment><USER27> The thing with Go is, it's really easy to write your critical path in C and then write the other 95% of the code in Go and not have to deal with crap like null-terminated strings and a lack of built-in data structures.

Go has better integration with C than any other language I've seen.

<comment><USER28> Better than C++ and D? You must be joking.

<comment><USER27> Ok, not better than C++ and I haven't used D. I should've said "other mid-to- high-level langauge". But using C++ doesn't solve my complaints about the clunkiness of the non-critical path stuff. Still have wacky string handling and I'd rather write my own bintree or hashmap than have to use STL.

<comment><USER28> And throw away years of experience in optimization from the compiler developers?

You surely have lots of free time available.

<comment><USER27> In fact I don't, which was why I said "critical path in C, rest in Go". Usually I do Java but if I need to use C, I'd like to just write the part that needs to be fast, then drive it using something else. Python is also acceptable when it comes to parsing command line options and the like, and it's as slow as dogshit.

"Lots of free time" would be dicking around with cryptic STL error messages.

</comment></comment></comment></comment></comment><comment><USER29> Why can't someone make a language where you can optionally use GC on one chunk of memory and use automated reference counting on another chunk? Tell the compiler which variables should be in which category, and then most of the quick programming is done in GC while all the stuff that needs to be performant will be in reference counting but automatically managed so you shouldn't have to know outside of the one keyword to flag the variable and occasionally breaking a cycle when you want to free a structure (or using weak references like Obj-C allows).

<comment><USER30> I'm not very familiar with it, but doesn't C# or the CLR let you do something like this with managed and unmanaged code?

</comment></comment><comment><USER31> I think a large portion of online life is already ruled by Google. I will never use Go only because it comes from Google. A mobile with Google's OS, a Google browser and Google for email and now we will also code in a language controlled by Google?

I have nothing against Google, but as a community of web developers our interest lies in diversifying and ensuring that no one gets more powerful than us.

Also looking at the features of Go itself, it seems to me that the languages caters to many needs of Google and not many of us may have those needs.

<comment><USER32> I don't like giving over my life to Google either, but there's a big difference between using Gmail for everything and writing programs in Go. Go is an open source project. You can fork it _right now_ if you want, call it Not-Evil-Go or whatever, and BAM it's no longer controlled by Google. They can never make it just up and disappear, the worst they could manage is to do like Oracle did with OpenSolaris and force the community to fork it.

</comment></comment><comment><USER33> I wonder why aren't they using something like ARC in ObjC instead of GC ?

</comment><comment><USER34> Article summary: Go is a "better" Java. Why would it claim to be a systems programming language?

It is a fair point. If anything it illustrates that Google have mis-marketed the product rather than anything else.

</comment><comment><USER35> In light of C++11, I see Go as something rather obsolete. I see absolutely no reason why I should spend my time on a language that's different just for the sake of it, instead of studying new features of C++.

</comment><comment><USER10> I concur with the concurrer and the author with my own more 'positive' addendum:

I just want a cleaned/tarted up C. Something that doesn't make the critical mistakes of Go and Obj-C (adding runtime overhead), but adds _optional_ compile and runtime semantics that can be very helpful and powerful.

Some ideas:

No GC. This is _NOT_ negotiable. I'm tired of belabouring that point.

Give me something nicer than the current C bitfield syntax.

Bounds-checked arrays...optionally. Make the distinction very obvious in the code/type-signature.

Higher-order functions, optionally. I don't really want an object system, just the ability to utilize callbacks in perhaps a nicer way than how function pointers currently function. I'd actually be happy with a standardized syntax sugar for function pointers.

Compile-time (only!) duck-typing and polymorphism. This part I think Go got right, but its sins were too great and the problem it was solving too poorly defined to make up for this.

Unicode-native from the ground up.

Clean up the string/array/pointer conflation, adopt the semantics of the bstring library as the default string type for the language, but leave open the door for 'raw-er' string implementations.

Don't reify language types without enabling people to implement their own data structures at the nitty-gritty level.

Cross-OS green-threads might be nice. Let people define their own concurrency models and semantics on top of what the language provides by default though. Same problem as the language type reification, don't delude yourself into thinking you've solved the world's problems with your subset of solutions. Let people use things like ptrheads without punishing them for doing so.

But most profoundly of all:

Make a language that would make writing a library like libev or libevent less bug-ridden and a lot more fun.

P.S. I sincerely hope someone writes a "pragmatist's" systems language like this.

<comment><USER36> >>No GC.

Interesting that you disqualify Objective C? It use reference counting which should have a more predictable memory handling behaviour.

Or is the dynamic stuff too much overhead for you? To me, it looks cheap (but I'm a scripter since quite a few years).

(Not knowledgeable on this; I'm asking, not making an argument.)

<comment><USER10> It seems most people don't really understand the core of systems programming.

Let me try to summarize:

There can be _no_ limitations of any kind in terms of expressing to the machine, precisely how the machine should behave.

Period. No ifs-ands-or-buts about it.

This means you must be able to define memory layout, management, instruction behavior and semantics, and optimally, be able to predict cache locality (arrays vs. linked-lists are the trivial but canonical example)

The moment the programming language, at any fundamental level, precludes me from defining how the machine should behave with respect to memory, semantics, or otherwise...it ceases to be a language that can be used for systems programming.

Disintermediating the meddling of C compilers is hard enough, languages like Go and Java are 'intractable' to say the least for actual systems programming.

Obj-C is only acceptable in the context of systems programming when you stop using everything that makes it Obj-C and just write C code.

I outlined additions/improvements that could be made to C _and_ utilized in the context of systems (rather than applications) programming.

In a single sentence, it's about fundamentally about _POWER_ and not "speed". That's why the desert-island language is C.

<comment><USER37> _It seems most people don't really understand the core of systems programming. Let me try to summarize: There can be no limitations of any kind in terms of expressing to the machine, precisely how the machine should behave. Period. No ifs-ands-or-buts about it._

Actually it seems you don't understand that people mean different thing by "system's programming".

Not all system programming is about no-compromise, i.e as it would if it was only about driver or OS coding.

I'd trust Ken Thompson and Rob Pike to understand what system programming is better than some random dude on HN.

<comment><USER38> Chances with these 'random dudes on HN' are that they actually know a thing or two, I'd hate to make any assumptions there.

As for your 'what people mean by systems programming', how about you both stick to the definition/description used here:

<http://en.wikipedia.org/wiki/System_programming>

That would make it much easier to communicate. From the looks of it systems programming is all about no compromise, specifically for the reasons outlined by the GP. Now I wouldn't know him from Adam but even outside the realm of driver and OS programming there is plenty of room for software that is 100% deterministic in terms of time and space consumed.

Note that the 'alternate usage' term in the page linked above was specifically not what the GP was talking about if I understood it correctly.

<comment><USER10> You have it right and seems to understand systems programming and the consequences of the necessities underlying it perfectly.

</comment></comment></comment></comment></comment></comment><comment><USER37> For all the talk of the speed benefits of Go, and it being static et all, I don't see much improvement over, say, Python.

A lot of the questions re speed bumps on the mailing list are answered with "those are microbenchmarks, what matters is real cases" and generally a "lalala hands in the ears approach", even when it's obvious that the problem is deeper than some microbenchmark only case.

Like this example:

[https://groups.google.com/forum/?fromgroups#!topic/golang- nu...](https://groups.google.com/forum/?fromgroups#!topic/golang- nuts/HDz5KiG6oMY)

[Downvote? Something very controversial about hashmap O behavior?]

<comment><USER38> You could compare python with perl or php, you could compare Go with C, C++ or Java.

But to compare Go to Python is a bit weird.

Of course, you _could_ do it, but why would you, almost every metric that you'd want to use would be off. You're comparing a compiled language with lightweight threads aimed at just-above-low-level programming backed by a single vendor with an interpreted language that is mostly geared towards single threads of execution with a very high level of expressiveness that is developed by a bunch of open source gurus under the supervision of a benevolent dictator.

<comment><USER39> I think it's fine to compare Go and Python. They're both general-purpose programming languages. When choosing to write a new program, you can often pick either of them. I can imagine problems where either might be a reasonable choice. In fact, there are programs that I've written in both. (Granted, those were Project Euler exercises, not code that someone was paying me to write.)

Don't get too caught up in the marketing.

<comment><USER38> > I can imagine problems where either might be a reasonable choice.

Yes, I can imagine that too. But there are also a very large number of problems where either one is a (much) better fit, and it would seem to me that that is the majority of problems, not of the 'toy' variety.

The biggest factor in picking a language for a specific project is (in my opinion) availability of libraries and familiarity with the language by the team. Python scores very high for a large number of people in both those categories but it has been around for a while.

Go is backed by one of the largest software companies on the planet so it stands a chance but google has a bad rep when it comes to cutting off projects in mid stride.

The devil is always in the details with choices like these and without knowing more about a specific problem and the people that you intend to do the work with it is hard to say which one is the better fit beforehand.

</comment></comment></comment></comment><comment><USER40> The title is wrong. It should be "Why I Don't Want to Learn Go and You Shouldn't Either"</comment>


Show HN: Multiplayer greyhound racing game to play over Zoom - <AUTHOR> https://www.race-night.uk/ <comment><USER2> Thanks for including a link the the Greyhound Trust

<comment><AUTHOR> No problem. Those guys do good work!

</comment></comment><comment><USER3> This looks fun but is this gambling with real money?

<comment><AUTHOR> No - It's just for fun. You just play against your mates.

There's a leaderboard showing who's "Won the most".

Of course if you wanted to all stick a fiver in, winner takes all? :shrug:</comment></comment>


Ask HN: Co-working "nerd-space" in London, UK? - <AUTHOR>

Hi all-
I have a friend in London (who is not an HN member) looking for a shared co-working environment in London. He just needs a desk, internet connection, and some company from time to time. Any suggestions?
I've already found http://london.hackspace.org.uk ... Thanks. <comment><USER2> Well, he should come along to the 'space, because it's an awesome place. But it's not a co-working space.

However, upstairs from the space, there is a coworking space called Rebel HQ - more details here: [http://groups.google.com/group/london-hack- space/browse_thre...](http://groups.google.com/group/london-hack- space/browse_thread/thread/fb3f3fb6aae646f7/4daf6a9aceb0700c) . I've visited before, and it's a nice space full of nice people.

</comment><comment><USER3> Could take a look at TechHub and WhiteBearYard, I think they both do shared working space:

<http://www.techhub.com/>

<http://whitebearyard.com/></comment>


Step Inside FRACT, Part Tron, Part First-Person Videogame Synthesizer - <AUTHOR> http://motherboard.vice.com/2012/2/20/step-inside-fract-part-tron-part-first-person-videogame-synthesizer <comment><USER2> That is just awesome in every way.</comment>


Hacker Monthly: best of the Internet, printed out, and it's turning a profit - <AUTHOR> http://www.niemanlab.org/2012/02/hacker-monthly-its-the-best-of-the-internet-printed-out-and-its-turning-a-profit/ <comment><USER2> Please keep the success of HNM in mind the next time you hear "Pfft, who pays for information you could find free on the Internet." HN readers just like you also do all sorts of weird things like paying money for software, paying money for services, paying money for media, etc etc.

Also might be salutary to remember if sentiment runs, say, 10-1 against doing an idea: <http://news.ycombinator.com/item?id=1261499>

Congrats on the success, by the way.

<comment><USER3> Patrick, at the risk of sounding ungrateful to all your help, I'd like to point out that HNM's success is also a good counterpoint to the advice you give again and again - "Don't make stuff for 20-something Cauc(asian) dudes. It has no hope of making money." In this particular instance, it appears to make more than software for schoolmarms.

_By selling the dudes' own words back to them, nonetheless!_

The more advice I read, the more I'm convinced that if you're in the business of making new things that haven't been done before, ignore all advice. Just fucking do it.

<comment><USER2> I don't recall saying you can't make money selling to the usual suspects. Clearly you can -- that is why they're the usual suspects. I just don't think it is a particularly wise move when more attractive markets abound.

I don't think that comparing BCC to HNM provides meaningful signal on that question. (Philosophically, by the way, when somebody mentions that X makes more than me my first thought is "Ooh, congrats!" and I don't usually bother with a second thought.)

<comment><USER3> My comparison was crude. I know there are finer nuances, such as BCC income probably being much more passive than HNM.

 _I just don't think it is a particularly wise move when more attractive markets abound._

The irony of that coming from the maker of bingo software is not lost on me :-P

In any case, I'm sorry if I misunderstood and misrepresented your advice.

EDIT: It occurred to me that my snide remark regarding the irony could also do with a disclaimer. I'm implying that you yourself chose BCC over other attractive markets. However, I know you did that at a time it made sense to you given your circumstances. You have since moved towards more attractive markets (AR). This example clearly highlights the problem with advice. Unless it is seen in the context of the adviser's whole spectrum of experience, it can be really misleading and confusing.

</comment></comment></comment></comment><comment><USER4> Interesting to see the split of 95:5 digital/print. Not a total shocker but it's an excellent data point. I wonder what the break down of people using mobi/Kindle, PDF, and EPUB is.

It's also a good demonstration of the value of having paying subscribers rather than running advertising alone. While I don't know Lim's numbers, I've advertised in HM before and saw the early ratecards and suspect the amount isn't even a drop in the ocean compared to the subscriber fees. This is why Lim is earning more than twice what I am on 50k free subscribers ;-) A big "D'oh!" on my part..

<comment><USER5> If you have paying subscribers I'm willing to bet that it's also a lot easier to get demographic data from them (after all, they're willing to pay good money for your efforts), which then makes it (IIRC) much easier to sell higher value targeted advertising. Although possibly the HackerNews demographic is pretty obvious regardless :)

(Almost every news site you go to that relies on ad income will try and get regular visitors to do some kind of survey every year or so for this reason.)

</comment></comment><comment><USER6> Y'know what this magazine reminded me of? The glory days of 2600: Hacker Quarterly. Sure, it is still active but... I feel they kinda lost the touch with what we care today.

I got my bundle in Christmas and liked it immensely. Sure, it is aggregated information and you can find it on the internet for free but... sometimes you need to have some articles on print for ease of access and you have to admit finding an old article in HN involves a little bit of pain...

Great job!

</comment><comment><USER7> Is there a plan to profit share with authors at some point?

Will the editor simply continue to rule out those that ask for payment for their work?

Presumably there's some reasonable profit that the editor must take out for himself to sustain and grow the magazine and there are reasonable costs beyond that. What after that?

I fully understand that authors opt-in. I understand that authors have varied reasons for opting-in. Just curious to see if there's a business model that feeds back into the community.

</comment><comment><USER8> I refused to license something to Lim and it had nothing to do with wanting to be paid.

I just felt weird taking a comment in a conversation and turning it into a standalone piece, isolated from the context. Not sure how I feel about it now.

I also thought that the audience for his publication was going to be smaller and less interesting than the audience on HN itself anyway. Clearly I was very wrong. Sorry for doubting.

</comment><comment><USER9> I think this is a great idea but i really do find the price ($88 + shipping of $42 to Canada) a bit high. I'm sure a lot of effort goes into this so i'm not saying its not worth it, i'm just not prepared to pay this much given that there are many other magazines out there (with less direct inspiration, so i can only assume they are harder to generate) that are a lot cheaper.

Having said this, well done...im very glad its working out and turning a profit.

<comment><USER10> I was about to subscribe, the 88$ is reasonable for a nice printed copy. But for the Netherlands (i know, overseas) the shipping is 84$ which really discouraged me.

Great initiative though :)

</comment></comment><comment><USER11> Happy to see he gets permission to reprint each first. That's good.

This seems like a great idea and I'm happy to see it's working well. I thin curation is something everyone wants in some regard. And the interesting tibit is, Hacker News is already 'User Curated' so half the work is being done for Lim already.

</comment><comment><USER12> They should put it on the App Store as a monthly magazine using iBooks Author. Believe me when I say it is really easy to do and the user experience is worth every penny.

I know Lim can do it himself in his sleep but if a helping hand is needed just let me know.

</comment><comment><USER13> I was skeptical of Hacker Monthly when it was first announced. I haven't been following it, but on seeing this article I was so impressed I subscribed to the print edition right away. A great excuse to spend less time on HN. :-)

<comment><USER14> Same here. Don't forget, it's a tax writeoff if you're self-employed :)

</comment></comment><comment><USER15> It's cool to note that any student can get a digital subscription for free (something that I take advantage of).

It would also be cool if he sold a box set of 2011's issues - or even better a bound compilation.

</comment><comment><USER16> Congrats to Lim for his success, I remember my question being featured in issue #1 although I was never mentioned as the poster of the question, not a big deal but hahaha little fame is nice.

</comment><comment><USER17> I love Hacker Monthly — I just subscribed a few weeks ago so I could read it via Kindle, and am making my way through its back-issues (to which subscribers get access).

</comment><comment><USER18> There's probably a lot of opportunities in news aggregation on multiple level. My RSS feeds list on Google Reader is way longer than I can manage to read. If I had a clone (i.e. somebody who knows exactly what I find interesting) I'd definitely have him do that and tell me just the interesting stuff. Absent that, paying somebody to do a good approximation of it would be reasonable, if it's not too expensive.

</comment><comment><USER19> Now, how viable is it to do a reddit monthly ?

<comment><USER20> This would be a humongous undertaking. In fact, a better idea would do one for one of the big subreddits.

The N/S on reddit is much higher than HN thus your task would be much harder.

I really like the idea of HNM, the need for quality editorial guidance in the age of information overload is something that has been discussed many times, starting with Alvin Toeffler.

</comment></comment><comment><USER21> You guys, if enough people vote up this post it will be printed in Hacker Monthly. #meta

</comment><comment><USER22> Can anyone explain something for me.. I'm interested in subscribing to the print edition. Does subscribing mean I also receive the back-catalog to issue #1 in print also? (This is what I'd like).

Thanks

<comment><USER23> Yes, subscribers receive access to all issues, including the back catalogs.

<comment><USER24> Really, for print edition? Surely that's not viable long-term.

<comment><USER22> Yeah.. this is what I'm still unsure of.. what I'd like is to order the print subscription, and then receive all of the back issues to #1, and start receiving the new issues each month.

Im located in australia, so I dont know how this would work. (The $88 subscription price already increases to $174, just for postage to AUS)

<comment><USER13> I subscribed to the print edition from Australia. You get digital-only access to the back catalog. The exchange rate makes it around AUD$165, which is less than $14 an issue.

</comment></comment></comment></comment></comment><comment><USER25> Congratulations on the success, I'd love to subscribe to the print version, but the delivery costs to New Zealand are 95% of the subscription cost.

</comment><comment><USER26> This might be the present I ask for on my upcoming birthday. Yep, I know what I want.

</comment><comment><USER27> This is just astonishing. Many congratulations!

</comment><comment><USER28> wow! i love reading posts like this. kudos lim for doing this, and i love the graphics used too.

</comment><comment><USER29> ok duck, since there are some profits involved, just wondering here when/if HN can go against you and ask you to cease your activity. I am not sure so maybe someone here can answer, but isnt it that HN website owns some sort of copyrights to their website's content even if it was created by other (users)

<comment><USER30> The only thing they could make a claim about is trademark infringement of "Hacker News". Everything else is content from various authors around the web, which have freely given their permission to allow reprints.

All in all, a pretty awesome success story!

<comment><USER31> Hacker News doesn't seem to be trademarked, I see no claim for that anywhere on the site. Even if it were trademarked, the vast amount of sites already using the term Hacker News could cause the trademark to be invalidated since, in order to keep a trademark valid, you must actively defend it from being infringed upon.

<comment><USER29> most sites that use HN content does not generate profits, at least not so obviously.

now, don't get me wrong -- huge kudos to author for pulling this off but me and sure other users here had the similar idea long time ago: a nice, polished thick and colorful catalog full of the 1st page articles even with printed Hackernes comments. The major thing that stopped me, for example, was the thought that if this will get a traction and will bring some profits, most likely HN will come after me to either option A (95% probability) shut this down, or option B (5%) - to work out some sort of a deal.

Major reason why HN, Facebook, Youtube, etc etc does not care about someone infringing is because there is no business behind what they do. So most likely they can only "spread the word" which is a good thing. Now, when it comes to generating some profits off of someone else thats a different story.

once again to underline this: huge kudos for great idea and awesome execution!

<comment><USER31> But which law would HN use to compel you to shutdown your project?

-Not trademark because there is none here.

-Not copyright because you can't copyright facts. You might get them on the structure of the facts (this bit of info is first, that bit is second and this is third) but with a site like HN, there is no fixed structure, except that at one time this link was in the top X. I believe that's a fact more than structure.

-Comments! Now that's the weak link. If you don't get permission from each commenter, you're likely infringing. HN cant shut you down but they can incourage others to and it only takes one commenter to make your life difficult in this type of publication.

IANAL but this is my understanding. If anyone knows different, please correct me where I'm wrong.

<comment><USER29> I'm not sure, as I am not an attorney. The basis would be that without Hacker News website, there would be no Hacker News Monthly. It doesn't take a rocket science to imagine that running busy site like HN takes someones time AND money. HNM editor clearly profits off of it, just leaving all the costs to HN and squeezing essence out of it, making reasonable bucks for himself (again: kudos to the author; had I had time and balls to pull this of.... I'm just pointing out what would stop me from putting my time/effort into it)

I guess time will show (if HNM will keep traction) if HN will somehow, anyhow react.

</comment></comment></comment></comment></comment></comment><comment><USER32> Lim Cheng Soon is a super great guy too. Friendly, down-to-earth, family values, massive work ethic, helpful, appreciation for beauty and aesthetics, good friend, just really stellar dude. Anyone passing through Malaysia should drop him a line to link up. One of the nicest people I've met in the last couple years.</comment>


1/2 second of trading on Johnson & Johnson stock - <AUTHOR> http://www.youtube.com/watch?feature=player_detailpage&v=rB5jJuMP84E&hd=1

<comment><USER2> I know very little about High Frequency Trading. How much can the price of a stock change in half a second? Is this just lots of tiny scale trades?</comment>


Recursive Regular Expressions - <AUTHOR> http://www.catonmat.net/page/2/

<comment><USER2> Dup: <http://news.ycombinator.com/item?id=994064>

The title and link are different, but the page is the same. This duplication would _not_ have been caught by the system I suggested some time ago.</comment>


Are we ready for companies that run themselves? - <AUTHOR> http://aeon.co/magazine/technology/are-we-ready-for-companies-that-run-themselves/

<comment><USER2> I saw Buterin's talk that same year at the Texas Bitcoin Conference. I believe he's laid out the organizational baseline for a distributed future. But I am worried about possible malicious use cases like NSA-backed botnets.

Can someone tell me if it's even possible that these types of contracts be blacklisted?

<comment><USER3> Maybe an organization only trusts friends or friends of friends. The NSA isn't the only one that can put people on lists.

</comment></comment><comment><USER4> Now I just need to finish my AI that founds tech startups...

<comment><USER3> Doesn't need to be AI, just has to automatically execute contracts given certain parameters and human inputs.</comment></comment>


India's daunting challenge: There's water everywhere, and nowhere - <AUTHOR> https://www.nationalgeographic.com/magazine/2020/08/indias-daunting-challenge-there-is-water-everywhere-and-nowhere-feature/ <comment><USER2> A highly recommended talk on the relevant topic by P Sainath [https://www.youtube.com/watch?v=E-l2LvA2dSI](https://www.youtube.com/watch?v=E-l2LvA2dSI) .

I can't think of anyone who has researched and understands rural India better than Sainath. He spends ~200+ days per year touring rural India; he has done this over last 20+ years. His articles are quite revealing.

If you want to understand rural India then I highly recommend these two sources:

1\. [https://ruralindiaonline.org](https://ruralindiaonline.org)

2\. Book, "Everybody Loves a Good Drought": [https://en.wikipedia.org/wiki/Everybody_Loves_a_Good_Drought](https://en.wikipedia.org/wiki/Everybody_Loves_a_Good_Drought)

</comment><comment><USER3> By some reports, India is the largest exporter of water in the world [1]. Almost 100 billion cubic meters, 4 times more than the total household consumption is exported in the form of water intensive crops (mostly rice and cotton). This pales in comparison to the total agricultural consumption, probably 10-15x more. There are solutions to this, of course, but they're politically difficult to implement.

Edit: The total water consumption is closer to 700 billion cubic meters. My guess for agricultural consumption were off by a factor of 2x.

[1] [https://www.bloomberg.com/opinion/articles/2019-07-06/india-...](https://www.bloomberg.com/opinion/articles/2019-07-06/india- is-the-world-s-biggest-exporter-of-water-despite-shortages)

<comment><USER4> This. Many of the most water short areas grow water intensive crops and have droughts. Another thing is bureaucrats love droughts, you get extra money from the center for relief and it is a huge opportunity for corruption. There was even a book written on it called Everybody Loves a Good Drought, by P. Sainath, about his research findings of poverty in the rural districts of India.

</comment></comment><comment><USER5> > "Where is all of this excess water?" Raghu Chundawat, a leading Indian > conservationist, asks me sourly in nearby Panna National Park, a sanctuary > for endangered tigers. "The government won't share its flow data. I don't > think even they know what the impacts will be."

In a quick Google search I was able to find this - [http://www.mppcb.nic.in/pdf/594-English.pdf](http://www.mppcb.nic.in/pdf/594-English.pdf). I'm not an expert on this topic, but seems like there is some amount of flow data.

This is just one example of what's wrong with the article. It feels more like a travel blog than a well researched article.

<comment> hugh-avherald That link (from 8 years ago) doesn't contradict the claim that the government won't share its flow data and doesn't know the what the impacts will be.

<comment><USER5> Can you elaborate on how the report doesn't answer those questions? Raghu Chundawat is asking the question about the Ken-Betwa project and this report is exactly about that project. The fact that the report was out 8 years ago and Raghu Chundawat still says there is no data is surprising.

</comment></comment></comment><comment><USER6> After having read the article i can say that the headline is a misnomer. It is more of a travelogue than about the water crisis. But an interesting read nevertheless.

<comment><USER2> It's indeed a travelogue, a fascinating one at that, into its 7th year [1]. The water story is a sub-plot.

[1] [https://www.nationalgeographic.org/projects/out-of-eden- walk...](https://www.nationalgeographic.org/projects/out-of-eden-walk/)

</comment></comment><comment><USER7> > In total, some 600 million people—roughly half India's population—live > without enough clean water.

I think India is projected to add 350M more ppl by 2050. The challenge is certainly daunting.

<comment><USER8> Lets not forget that they had about 300M people in 1950. It would be 5 times population growth in a century. This is historically unheard of and it is no wonder that it is causing such problems.

<comment><USER9> [https://en.wikipedia.org/wiki/Demography_of_England](https://en.wikipedia.org/wiki/Demography_of_England)

England.

Population in 1800: 7.7 million.

Population in 1900: 30 million.

So not quite 5x, but almost 4x, not that far off.

I'm pretty sure there are many other examples of nations undergoing a huge population boom as they industrialize.

<comment><USER10> Maybe it was 5x. In that period millions of English went to colonies.

<comment><USER9> That's a valid point. What many people don't know about the French-Indian War, for example, is that the British colonists numbered in the high hundreds of thousands (if not a million) and the French colonists were about 50.000. That's why Quebec was doomed regardless of any short term military results.

<comment><USER10> Yes, English had crazy fertility rate. At the begining of the Hundred Years' War France had population of 17 million and Britain(excluding Ireland) had 4 million. By the time of Napoleonic wars Britain(with Ireland) had 17 million people compared with 30 million in France. English also had much higher emigration rate to colonies.

When the First World War started UK had a larger population than France.

</comment></comment></comment></comment></comment></comment><comment><USER11> There are many infrastructure projects that can help a little bit. However historically land acquisition has been very difficult (unlike say China) which meant projects kept on extending. A lot of it is also because of corruption that the system enabled. However it is improving much faster now.

In terms of water security a low hanging fruit is agricultural policy, however due to the politically tricky thing it is , it is not an easy solution.

There are 10s of different problems when it comes to issues such as resolving water and it is not due to lack of will. A classic example in my state is that rich farmers (< 5%) hoard all the resources (land, water, free energy and subsidies) cultivating cash rich crops and poor farmers have to survive on subsistence. Average land holdings are very small and in my state agri output is directly proportional to amount of water you have access to, either by being close to a water body or some groundwater.

</comment><comment><USER12> I think solar power based lift irrigation projects will solve water woes in India

</comment><comment><USER12> Elections != Democracy; India is Feudalism masquerading as Democracy

</comment><comment><USER13> How do I read this article? Looks like it is behind a paywall.

<comment><USER14> [https://archive.is/mb23Q](https://archive.is/mb23Q)

</comment></comment><comment><USER15> Given a complex economic situation pitting the green revolution and the need to feed a billion people versus the sustainability of local ecology and scarce groundwater resources, the article offers this pithy insight:

>Given enough time, water defeats almost anything. Stone. Iron. Bone. Rivers saw through the stratigraphy of time itself. Yet patriarchy endures.

I had to read though half the article to get to this. You're all welcome.

</comment><comment><USER16> Would love to read about this in a more digestible format. This kind of journalism is going the way of the dodo.

<comment><AUTHOR> The author (Paul Salopek) is walking from East Africa to South America, writing shorter articles along the way. The project is called out of eden walk and there is a rss feed you can subscribe to: [https://www.nationalgeographic.org/projects/out-of-eden- walk...](https://www.nationalgeographic.org/projects/out-of-eden- walk/feeds/articles/)

</comment></comment><comment><USER12> Due to lack of will and wisdom; Since 80% people are poor [https://archive.vn/bS2fL](https://archive.vn/bS2fL) in India [https://en.wikipedia.org/wiki/Bread_and_circuses](https://en.wikipedia.org/wiki/Bread_and_circuses) is very effective in India;

</comment><comment><USER17> Getting these problems fixed will be money well spent. Trying to go to the moon is not an example of that.

<comment> a-ve Getting your Govt to fix all the US' crumbling infrastructure will be money well spent. Spending a crap load of money on your military is not an example of that.

<comment><USER18> There is waste surely --but if we don't "police" then people complain the US isn't keeping the peace and they let dictators do as they wish. People want it both ways, they want the US to stabilize the world but they also want the US to keep out of other countries' business.

<comment><USER19> Trust me, nobody wants you to police the whole world. UN was formed for that very reason. US has over the years weakened UN to expand its own reach. So please get the hell out of everywhere and let UN handle.

<comment><USER20> UN is toothless without the US. Alas, US populace is tired of being chastised for spending massively and making mistakes on Pax Americana[0]. So, the US will increasingly isolate and won't have the will to stand up to Russia and China aggression, which they are aware of and increasingly taking advantage of in the last decade. UK, France, and India aren't formidable; not that they'd be willing. As you wish, we'll find out how effective the UN's deterrence is in the next decade.

[0] [https://en.m.wikipedia.org/wiki/Pax_Americana](https://en.m.wikipedia.org/wiki/Pax_Americana)

<comment><USER21> The UN is not much of a mechanism to rein in China or Russia anyway considering the structure of the Security Council.</comment></comment></comment></comment></comment></comment>


Node.js CTC and TSC have been merged back together - <AUTHOR> https://github.com/nodejs/TSC/pull/317 <comment><USER2> Can someone elaborate? I thought this is about the TypeScript compiler and some fork.

</comment><comment><USER3> I kinda figured when left-pad happened this wasn't going to be the end of NodeJS's troubles.

It goes without saying, far older technologies seem more interesting, and have none of the drama Node has at this point.</comment>