Kindle Edition of The Pragmatic Programmer for $2.99 - <AUTHOR> http://www.amazon.com/dp/B000SEGEKI/ref=as_li_ss_til?tag=httpwwwmatt0e-20&camp=0&creative=0&linkCode=as4&creativeASIN=B000SEGEKI&adid=1B4F8NR9K3WPK0X69RFK <comment><USER2> For the ones that are seeing a different price. There is a small trick workaround for that. You can generate a real US address here: <http://www.realusaaddress.com/> and make that your primary address. As you as shipping digital stuff it doesn't matter that it's not your real address. Prices of the Kindle store should drop immediately.

Watch out when making non digital purchases though that you select the correct address ;-)

<comment><USER3> Yes you can use a fake US address and set your Kindle country to the US, but Amazon monitors the IPs (and credit cards) you are buying from and after a few purchaes to your fake US address, they'll start sending you letters asking for proof you live there and eventually lock you out (force you to change back to your real country) if you can't provide them.

<comment><USER4> You should be able to use a proxy then. Or buy as a gift, for some reason they don't block those.

<comment><USER3> using a proxy/vpn and buying yourself gift cards from another account should give you reasonable protection, yes. As long as you have enough gift card balance, Amazon won't ask you to add a Credit Card. But it's cumbersome, etc.

<comment><USER4> Amazon recently started blocking my Kindle purchases basing on the fact my IP locates me in Japan while my primary address is set to the USA. When I switched to the gift option (using the same account) it worked without any problem even though I was still using the same Polish credit card.

<comment><USER3> heh, good to know, thanks.

</comment></comment></comment></comment></comment></comment><comment><USER5> I hope this trend catches on.

Between my Kindle and iPad, I'd really like to never buy a physical book ever again. But then I still have four full book cases from before Kindle existed. I want to "upgrade" to ebooks, but I don't want to spend the money. At $3 each, I'd at least upgrade some of the better ones.

<comment><USER6> I have this amazing dream of a facility where I can bring in boxes of books and they hand me back a USB drive filled with pdf copies of those books.

I don't know how or when that would happen, but it would be glorious.

<comment><USER7> <http://1dollarscan.com/index.php>

Haven't used them, but it might be worth a shot

<comment><USER8> I had a library of around 1000+ books; any book I couldn't get as a Kindle book, I had 1dollarscan.com scan. They did a phenomenal job.

No relation, just very satisfied with their results.

<comment><USER9> Is it allowed for all books? I've a few physical books that don't have digital versions, it would be nice to scan them and give the physical ones away.

<comment><USER8> I have yet to run into a book they wouldn't/couldn't scan.

</comment></comment></comment></comment></comment></comment><comment><USER10> Awesome price, but worrisome for the state of high quality digital publications. I feel that this is worth much more than $2.99, and I am afraid that it will become a race to the floor .

Does anyone involved in print publications know what the cost distribution is on a book's sticker price?

</comment><comment><USER11> PG could you please change the title to reflect its only $2.99 in the US?

Im in OZ and it's $31.99

<comment><USER12> I wonder if this is yet another example of Australian readers being shafted by parallel importation laws, so that Tim Winton can make a few extra bucks.

<comment><USER13> Tim Winton or his lame publishers?

The sooner the Australian publishing + bookselling industry dies, the sooner a newer, better model can arise from it's twitching corpse.

<comment><USER12> Given that Tim Winton piped up last time abolishing parallel import bans was floated, I'm going to go with ... Tim Winton.

It wasn't for _his_ benefit, you understand. He was _reluctantly_ arguing for the price of his novels to be artificially propped up so that _other_ , less successful authors could also be propped up.

</comment></comment></comment></comment><comment><USER14> Bit bummed that it's not available on Amazon.co.uk for even £2.99... Instead it's £15.30

Think I've got the physical book somewhere anyway. It's just now that I travel a lot, I like to have the Kindle version as well.

Seth Godin seems to be able to synchronise his deals/giveaways between amazon.com & amazon.co.uk... Shame this wasn't as well.

<comment><USER15> USD$31.99 for me in Australia.

</comment></comment><comment><USER16> Be warned that this is a very clunky e-book port -- they don't make much effort to adapt the sidebars and quotes to .mobi format, so you end up reading into the middle of them without realizing it.

<comment><USER17> At the normal price I'd be more concerned (.mobi doesn't seem that friendly to technical books to begin with), but for $3 I'd say it's far less of an issue.

</comment></comment><comment><USER18> This is really an excellent book. I feel like this book was the pivotal thing that really let me see how the small amount of programming I knew could be so much more with the practices preached in that book.

It took me from "OK I get how to program in Java, but how the heck do I build this cool stuff I see everyday?" to "oh, if I wanted to do that I can see pretty much how I would build it (regardless of language)"

It's a must read.

<comment><USER19> Agreed. I've read a few different programming books, and this was the one that did the most to improve my programming.

The material isn't incredibly advanced, so some expert programmers will get less out of it. But I think it's very worthwhile for 90% of programmers.

I would highly recommend this book to most people considering it.

</comment></comment><comment><USER20> Does anybody know of a good PDF version of this book? The only one I've found is at Safari Books Online, which is a subscription site with "tokens". It appears to let you download the book chapter for chapter.

[http://my.safaribooksonline.com/book/software-engineering- an...](http://my.safaribooksonline.com/book/software-engineering-and- development/020161622x)

</comment><comment><USER21> I see a price of $31.47

<comment><USER22> I see $31.99 in Australia. The interesting thing though is that the link has a referral code in it. Maybe the submitter is trying to make some money on it with some bait and switch ?

<comment><USER23> I see $31.99 in Australia too... This is making me rage a little inside. It's a DIGITAL BOOK Amazon. DIGITAL. Bits. I know it's a little bit further to Australia but for the love of...

Amazon is like the Harvey Two-Face -- half amazing and half frustrating. I have a Kindle Fire in Australia, but as Australia isn't an official country yet, Amazon Market doesn't work. And by doesn't work I mean I can't even download free applications without an American credit card. Amazon support know this and just apologise.

When friends ask me about the Kindle Fire in Australia, I won't say good stuff about it. When it finally is released here, do you think they'll be it? No. They'll remember I said it was annoying for some reason. The reason doesn't matter. Bad is bad so they'll decide, many moons ago, that they're not getting it.

Amazon in Australia are horrible. For many, many reasons[1].

[1]: Amazon Affiliate program pays out by gift certificate or check to Australia -- [http://www.problogger.net/archives/2008/11/29/an-open- letter...](http://www.problogger.net/archives/2008/11/29/an-open-letter-to- the-amazon-associates-program/)

<comment><USER24> I'd be pretty surprised if Amazon were responsible for this particular pricing. You're probably better of directing your rage at the publisher.

</comment></comment></comment></comment><comment><USER25> I'm midway through this book and I'm fairly disappointed with it. It's not a bad book, bu much of the advice in it is common sense. And the parts that aren't common sense aren't very convincing (silly metaphors etc). Some of these 3-star reviews do a good job of reviewing it:

[http://www.amazon.com/The-Pragmatic-Programmer-Journeyman- eb...](http://www.amazon.com/The-Pragmatic-Programmer-Journeyman- ebook/product- reviews/B000SEGEKI/ref=cm_cr_pr_hist_3?ie=UTF8&filterBy=addThreeStar&showViewpoints=0)

</comment><comment><USER26> Maybe they meant to type 29.95 or similar but somehow typed something like 2.995?

</comment><comment><USER27> By the by, for those familiar with the pragmatic bookshelf, and were hoping to get it without DRM on that site, this was published by Addison Wesley, not pragmatic bookshelf.

One wonders how much the authors' experience publishing with Addison Wesley led to their founding Pragmatic Bookshelf.

They do have a page for the book on their site:

<http://pragprog.com/the-pragmatic-programmer/>

But the buy link is broken:

<http://pragprog.com/the-pragmatic-programmer/titles/tpp>

In short, just buy the damn thing from Amazon.

I've used my Kindle everyday for two years. This is the first DRM'd ebook I've ever bought.

<comment><USER28> Would ya'll like a DRM-free version of TPP from our site?

<comment><USER29> Most definitely

</comment></comment></comment><comment><USER30> Affiliate tag? Not cool.

<comment><USER31> I honestly think people that complain about referral link are just inherently negative. A free link, that takes you to a promotion, that saves you money, and you want to point out that the guy who brought this to your attention, is gaining something positive, at no expense to you or anyone. You probably pirated the book too.

Thanks OP, great deal and I bought it.

<comment><USER30> Regardless, this type of linking violates responsible FTC disclosure.

[http://www.ftc.gov/os/2009/10/091005endorsementguidesfnnotic...](http://www.ftc.gov/os/2009/10/091005endorsementguidesfnnotice.pdf)

</comment></comment></comment><comment><USER32> To anyone outside the US, you can easily add a second US address (or any other country) to your kindle account.

Go to Your Account > Manage Your Kindle (in the Digital Content section) > Country Settings > Enter any US address and click update

You will now have US pricing. You can go ahead and add different addresses in other countries and you can simply switch between them to take advantage of different pricing, because Amazon remembers your previous addresses. The country you have selected has no effect at all on being able to download the book, you can still download from anywhere.

<comment><USER33> Thank you! This worked for me and you can find addresses and phone numbers on <http://www.realusaaddress.com/>

</comment></comment><comment><USER34> Reading the comments/reviews on Amazon, and I was wondering what peoples take on this book is for non-coders?

I'm purely editorial/product (not project) management - but this looks like it could give me a rounded understanding of best practice.

Those who have read it, would you recommend to someone of my background?

<comment><USER35> Yes. I loved this book, but didn't really get much out of it except affirmation of my own beliefs. I think it would be much more valuable for a new programmer, or a non-programmer who works with programmers, than for an experienced programmer.

</comment></comment><comment><USER36> In the US, logged into my US Amazon account that is linked to a Kindle I see the price of $2,99

</comment><comment><USER37> Wow, so this is the first time I've seen one-click purchasing (It's not normally enabled for me). It's _really_ disconcerting. Not that I want to (and it's only $3) but is there any way to _cancel_ a one-click purchase? It's not obvious..

<comment><USER38> Yes and especially easy for digital orders.

[http://www.amazon.com/gp/help/customer/display.html?nodeId=2...](http://www.amazon.com/gp/help/customer/display.html?nodeId=200144510&#books)

> Books you purchase from the Kindle Store are eligible for return and refund > if we receive your request within seven days of the date of purchase. Once a > refund is issued, you'll no longer have access to the book. To request a > refund and return, visit Manage Your Kindle, click the actions tab for the > title you'd like to return, and select "Return for refund."

</comment></comment><comment><USER22> Any US users want to help us foreigners out by gifting it for the $2.99 price?

<comment><USER39> I have the $2.99 price available to me in New Zealand.

As I'm usually the one getting screwed by regional pricing (on steam), I'd be happy to help out.

Just drop me the funds via paypal and I'll gift to your email via amazon.

Email me: jconnop at google's glorious gmail.

<comment><USER40> I doubt if that will work. As per [http://www.amazon.com/gp/help/customer/display.html/ref=hp_2...](http://www.amazon.com/gp/help/customer/display.html/ref=hp_200555070_kindlegifts&nodeId=200555070#receive) "If the giver and the recipient do not live in the same country, the book may not available to the recipient due to copyright restrictions. In these cases the recipient will be given the option to request an exchange for gift credit on their Amazon.com account during the redemption process, or they may contact Customer Service for assistance in exchanging the book."

</comment></comment></comment><comment><USER41> Must have been a limited time offer -- I got a sample sent to my Kindle, and now that I'm ready to buy it's jumped back up to US$22.79.

</comment><comment><USER42> Unfortunately not available to italian customers, who'd have to purchase it at 19 euros (23 dollars). Is there a legal workaround?

<comment><USER43> The only workaround I see I declaring you have moved to the US. I work for a US corporation and with the company VPN I'm allowed to see the 2.99 $ price, but when I log in I'm told I can only buy titles from amazon.it.

So, no luck, we're stuck with 19 euros (which is still a good price though).

</comment></comment><comment><USER44> $4.99 over here because of Whispernet.... (darn, and it would just use wifi anyway)

</comment><comment><USER45> Crap, I bought it a couple months ago for full price, should have waited.

</comment><comment><USER46> Philanthropy or Strategy?

</comment><comment><USER47> Thanks! That is quite the discount.

</comment><comment><USER40> It's priced at 34 USD in India. :(

</comment><comment><USER48> Croatia - $4.99 - still a bargain

</comment><comment><USER49> This is awesome!

</comment><comment><USER50> fuck you, you just cost me 27$. You should have mentioned (for US only)

My mistake for completely trusting something i read here. next time i ll be double checking. lesson learned.

<comment><USER9> Relax, you can return the book

[http://www.amazon.com/gp/help/customer/display.html?nodeId=2...](http://www.amazon.com/gp/help/customer/display.html?nodeId=200144510)</comment></comment>


Introducing the B3 JIT compiler - <AUTHOR> https://webkit.org/blog/5852/introducing-the-b3-jit-compiler/ <comment><USER5> Really cool article. Posts like this always make me wonder what the state of the programming would be if browsers hadn't sucked up almost all of the world's compiler optimizers.

<comment><USER6> To be fair, GPU vendors sucked up a ton too.

But considering that optimized scalar code performance has moved, what, maybe 40% over the last two decades, I'm going to say "not much". Compilers are sexy, but they're very much a solved problem. If we were all forced to get by with the optimized performance we saw from GCC 2.7.2, I think we'd all survive. Most of us wouldn't even notice the change.

<comment><USER5> > Compilers are sexy, but they're very much a solved problem.

Not for all of the other widely-used languages that still have incredibly simple interpreters. Think how much energy could have been saved if Ruby, Python, and PHP were all as fast as your average JS engine.

<comment><USER7> Exactly. Ruby would probably have massive adoption with JS-like speed.

<comment><USER8> My implementation of Ruby, JRuby+Truffle, is as fast as V8

[http://stefan-marr.de/downloads/crystal.html](http://stefan- marr.de/downloads/crystal.html)

<comment><USER9> Note that usually being "as fast as" a production JSVM means also proving that you can start up as fast as JSVMs do. Have you done this?

<comment><USER10> Search around for "Substrate VM". I see it referenced in some slide decks, and it's designed to make JVM startup much faster.

Here's an old slidedeck that talks about it: [http://www.oracle.com/technetwork/java/jvmls2013wimmer-20140...](http://www.oracle.com/technetwork/java/jvmls2013wimmer-2014084.pdf)

<comment><USER11> Wow thx for the reminder, I have forgotten about it already. I remember the promise of Truffle + Graal + Substrate VM.

My god can't believe it was 3 years ago i read about it on HN.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> Good to see the Webkit team (mostly Apple) continue putting serious energy into JS performance. Take a bit of guts to throw out the whole LLVM layer in order to get compilation performance...

It's also encouraging to see them opening up about future directions rather than just popping full-blown features from the head of Zeus every so often. (Not that they owe us anything... ;-)

(Edit: it's also damned impressive for 2 people in 3-4 months.)

<comment><USER13> Gutsy move indeed. Though I wonder, what was the development cost in real life cash for gaining those 5% of performance?

<comment><USER9> 3 months. Two people working on it (me and @awfulben).

<comment><USER14> Nice work, Fil. Looks cool.

<comment><USER9> Thanks! :-) Looking forward to more write-ups about TurboFan!

</comment></comment></comment></comment></comment><comment><USER15> tl;dr: B3 will replace LLVM in the FTL JIT of webkit. LLVM isn't performing fast enough for JIT mainly because it's so memory hungry and misses optimisations that depend on javascript semantics. They got an around 5x compile time reduction and from 0% up to around 10% performance boost in general.

<comment><USER16> Actually the bigger reason is compile time - better optimizations based on JavaScript semantics are a secondary advantage.

<comment><USER9> I think that's mostly accurate, in the sense that we wouldn't have done this if it was _only_ motivated by specializing for JavaScript semantics. We had gotten pretty good at having our high-level compiler (DFG) burn away the JavaScript crazy and leave behind fairly tight code for LLVM to optimize.

But as soon as we realized that we had such a huge compile time opportunity, of course we optimized the heck out of the new compiler for the kinds of things that we always wished LLVM could do - like very lightweight patchpoints and some opcodes that are an obvious nod for what dynamic languages want (ChillDiv, ChillMod, CheckAdd, CheckSub, CheckMul, etc).

<comment><USER17> But isn't it true that some of the things you ended up doing would make sense for LLVM, or would most of them be invalidated by the kinds of optimization passes that are common in LLVM?

E.g. stuff like making the in-memory IR representation better cacheable certainly sounds like it's all-upside, and LLVM should just learn from your project.

<comment><USER9> LLVM's use of a very rich (and hence not as memory efficient) IR is deeply rooted. Phases assume that given any value, you can trace your way to its uses, users, and owners. The LLVM code I've played with assumes this all over the place, so removing the use lists and owner links as B3 does would be super hard. B3 can do it because we started off that way.

</comment></comment></comment></comment></comment><comment><USER18> >> "tl;dr: B3 will replace LLVM in the FTL JIT of webkit. LLVM isn't performing fast enough for JIT mainly because it's so memory hungry and misses optimisations that depend on javascript semantics. They got an around 5x compile time reduction and from 0% up to around 10% performance boost in general." [1]

Is this a knock on LLVM then?

I wonder then specifically if this brings to light any concerns over Swift (another dynamic language, and was created by the same person who created LLVM as well). [2]

Seems weird that the original creator of LLVM was able to make a dynamic language such as Swift - without any problems.

[1] [https://news.ycombinator.com/item?id=11105231](https://news.ycombinator.com/item?id=11105231)

[2] [http://nondot.org/sabre/](http://nondot.org/sabre/)

<comment><USER9> Swift is not a dynamic language. It's statically typed.

<comment><USER19> This comment, and the parent comment, seem to be conflating "dynamic language" with "dynamically-typed language".

<comment><USER20> What's a "dynamic language"?

<comment><USER21> Dynamic languages are (generally) not compiled ahead of time. It is possible to have static typing in a dynamic language in the sense that the code is interpreted at runtime (but the types are set statically in the code), and there is no "binary" that one runs.

It used to be called interpreted language or "scripting" language - but I think the vocabulary shifted so the word "dynamic" more encompasses what the languages are about.

<comment><USER22> By that definition, AFAIK, Swift is neither a dynamic language nor dynamically typed.

<comment><USER21> According to Apple itself, Swift is a compiled language, and there is no use of the word "dynamic" or "dynamic language" on Apple's website

[https://developer.apple.com/swift/](https://developer.apple.com/swift/)

As to whether it is dynamically or statically typed - it's easy to tell - <USER4> you need to indicate a variable is an int or a char or a string before you start using it? and do you have to cast the variable to different types when using functions that expect a certain type? If so - it's statically typed. Dynamically typed languages allows you to give an character "5" to a function that expects an integer (ie the number 5) and then automatically converts it so for example the final result to 5+"5" is int(10). Or when you try to print it, it gives you a string literal "1" and "0" without you having to recast it yourself.

Obviously having dynamic typing makes things easier for humans, but the computer has to keep predicting what the programmer is going to do with that variable, so it has some runtime and compile time weaknesses in performance, memory usage, as well as less strictness in compile-time checking - <USER3> might allow certain types of errors to sneak by, whereas static typing is very direct - you have to instruct the computer to do every casting from one type to another, etc., and the statically-typed compiler is a sadist - it will fail all your code over and over again until you get all the types right. The difference is extremely noticeable even for a novice programmer.

[https://developer.apple.com/library/ios/documentation/Swift/...](https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/TheBasics.html#//apple_ref/doc/uid/TP40014097-CH5-ID322)

says that Swift is "type-safe" (compiler is a sadist and will halt on all type errors) but has type inference so you don't have to explicitly indicate the typing of a variable. I would consider it to be heavily on the statically- typed side though - since it seems the language won't let an integer variable all of a sudden also be a string - you have to cast it properly first.

Not sure where the confusion comes from, probably from people putting buzz words to everything that is new regardless of applicability.

Either way, you are correct, swift is not "dynamically-typed" and neither is it a "dynamic/interpreted" language.

<comment><USER23> > As to whether it is dynamically or statically typed - it's easy to tell - <USER4> > you need to indicate a variable is an int or a char or a string before you > start using it?

Modern statically typed languages often don't require this, because type inference, so its a bad test.

> and do you have to cast the variable to different types when using functions > that expect a certain type?

Modern statically-typed languages may not require you to do this (e.g., Scala if the types involved have appropriate implicit conversions defined.)

> Dynamically typed languages allows you to give an character "5" to a > function that expects an integer (ie the number 5) and then automatically > converts it so for example the final result to 5+"5" is int(10).

That's the canonical example of _weak_ typing; many (maybe most) dynamically- typed languages do not do this type of conversion.

A better test for a dynamically-typed language is what kind of error is produced by sending a value of an unexpected tpe (including, as expected, anything that can be handled by the applicable implicit conversion rules) to a function: if it is a compile-time error, the language is statically typed. If it is a runtime error, it is a dynamic language.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER24> It's worth noticing that most of the optimizations here are for "space" \-- reducing the working set size or the number of memory accesses. CPUs have gotten much faster than memory blah blah. This is the sort of thing where microbenchmarks may mislead you, because you WSS is probably not realistic.

I think we don't have great tools for helping with this sort of optimization. One can use perf to find cache misses, but that doesn't necessarily tell the whole story, as you might blame some _other_ piece of code for causing a miss. Maybe I should try cachegrind again...

</comment><comment><USER25> Cool stuff! Does anyone know why the geometric mean is used for averaging benchmark scores rather than the usual arithmetic mean?

<comment><USER26> I would say that geometric mean is the usual way of averaging benchmark scores. It has the property that a given relative speedup on a component benchmark always has the same effect on the aggregate score. With an arithmetic mean the component benchmarks with a longer runtime will dominate the aggregate. Normalizing the results before applying the arithmetic mean doesn't really help either -- the first X% improvement to a component benchmark would still be valued more than the second X% speedup.

</comment></comment><comment><USER27> Interestingly, much of their complaints around pointer chasing, etc, are things LLVM plans on solving in the next 6-8 months. i'm a bit surprised they never bothered to email the mailing list and say "hey guys, any plans to resolve this" before going and doing all of this work. But building new JITs is fun and shiny, so ...

<comment><USER28> LLVM instruction selection is _slow_ , there is a "fast-path" which hasn't received much attention (it is only used for -O0 in clang). The new instruction selector work just started and will take a couple of years, considering the tradeoff between spending 3 months on it and waiting a few years for LLVM to be improved (without any guarantee of LLVM reaching the same speed as what they did). See also some thoughts from a LLVM developer on optimizing for high-level languages: [http://lists.llvm.org/pipermail/llvm- dev/2016-February/09546...](http://lists.llvm.org/pipermail/llvm- dev/2016-February/095463.html)

<comment><USER27> The problem with the path they've taken is it has a finite end.

This is why, when they compare it to v8/etc, it's kind of funny. They all have the same curve.

Basically all of these things, _all_ of them, end up with roughly the same deficiencies once you cherry pick the low hanging fruit[1], and then they stall out, and get replaced a few years later when someone decides thing X can't do the job, and they need to write a new one. None of them ever get to a truly good state.

Rinse, wash, repeat.

The only thing these things make _real_ progress, is by doing what LLVM did - someone works on it for years.

Let me quote a former colleague at IBM - "there is no secret silver bullet to really good compilers, it's just a lot of long hard work". If you keep resetting that hard work every couple years, that seems ... silly.

TL;DR If you really believe they've totally gotten everywhere they need to be in 3 months, i've got a bridge to sell you

[1] For example, good loop vectorization and SLP vectorization is hard.

<comment><USER29> Danny, you mentioned loop and SLP vectorization. One thing that bothered me while watching the development of the SLP and Loop vectorizers over the last two years was that developers who cared about SPEC added functionality that increased compile time. I remember one change that added a second phase that scans the entire IR in the SLP vectorizer to get a 1.4% win in one of the SPEC programs. I hoped the FTL project would be able to enable the vectorizers, but to my disappointment the vectorizers are too slow to justify the boost on javascript workloads.

</comment></comment></comment></comment><comment><USER30> tl;dr

[https://webkit.org/blog-files/kraken.png](https://webkit.org/blog- files/kraken.png)

[https://webkit.org/blog-files/octane.png](https://webkit.org/blog- files/octane.png)

seriously though, dang, how many years of coding to get to that level of expertise

</comment><comment><USER31> I'm really wondering about the politics behind all this. I mean both LLVM and WebKit are Apple projects (even though they're Open Source). So it would have been reasonable to expect an improvement of LLVM instead of ditching it altogether.

<comment><USER32> I highly doubt there are any politics behind it. LLVM is an AOT C/C++ compiler at its core, and the tradeoffs it makes don't always make sense for dynamic, JIT compiled languages with extreme emphasis on compilation speed like JS. Personally, I expected this to happen.</comment></comment>


Found a bug in Gmail, Cloudy fixes it - <AUTHOR> http://www.milouchev.com/blog/2012/11/found-a-bug-in-gmail-cloudy-fixes-it/

<comment><USER2> Haha. Super cool. Cloudy just fixing all of gmail attachment problems.

First saw Cloudy a bit ago; it let you attach a file using filepicker.io which means attachments straight from Facebook, Gmail, other cloud sources. Nice job.

</comment><comment><USER3> Super cool use of filepicker.io</comment>


If you have a Google offer, what are things to watch for? - <AUTHOR>

Assume one has an offer from google?  What are things to watch for?  Someone mentioned earlier that it's important to land on a "right" project since you can't move projects in a year or two.  What is considered "right" and "wrong" project types there?  What else to watch for?  Thanks! <comment><USER2> Although I have no actual experience with a 'Google Offer' I'd say that it'd be important to land on the project that you want to work on, that you're committed to and believe in.

Looking back at say Wave, I bet some developers thought that it'd be a winner, and even though it was awesome, the consumers didn't like it, even being loved by people such as ourselves. So I'd say, don't go for something because you think you'll be recognized for working on a project, do it because you want to do it.

<comment><AUTHOR> Thanks!</comment></comment>


AppHarbor (YC W11): "Azure Done Right" - <AUTHOR> http://techcrunch.com/2011/01/20/yc-funded-appharbor-a-heroku-for-net-or-azure-done-right/ <comment><USER3> As a fan of Heroku and Git I love seeing this and other efforts to duplicate their ease of deployment and process for .NET developers.

However, I question whether there is enough of a market for these services to be truly successful. There are plenty of .NET developers using Git - but for the most part many of them are just now getting to Subversion - or even worse going with TFS (Microsoft's mess of a SCM). MS developers are also traditionally inside medium to large companies - the majority of which want their applications hosted in their own data centers. MS might be able to convince them to use Azure - but a small startup is going to have one helluva time convincing them to host their LOB app with them.

<comment><USER4> Exactly. The .NET "community" is home to mostly enterprise devs who only ever code to pay the bills. Any developer that is hip to Herkou, and loves Git and automated testing and deployment, is not going to be starting a new .NET app. They'll start an app in Ruby, Python, Clojure, Haskell or Smalltalk (or something).

I'm only speaking from experience here. It's just not a community of tinkerers that's on the cutting edge. I can't think of a single exciting .NET open source project. All of the good stuff that I know of in .NET is commercial: Stack Overflow, Unity, umm... anything else? It's a community that waits for the next thing to be handed down from Microsoft.

Show me Heroku for Seaside... now we're talking!

P.S. If anybody wants to show me some vibrant cutting-edge open source projects built on .NET instead of just downvoting, I'd love to know. Thanks!

<comment><USER5> I very frequently start new .NET apps, and I by no means "only ever code to pay the bills" (in fact, I don't work as a programmer at all anymore). Here's a list of a few interesting .NET projects: <http://easyhook.codeplex.com/> <http://ccimetadata.codeplex.com/> <http://www.mono-project.com/Cecil> <http://daeken.com/renraku-future-os> <http://www.assembla.com/wiki/show/nethooker> <https://github.com/daeken/Dotpack> (The latter three are mine, so I'm a bit biased there)

The .NET community may not have the number of hobbyist developers that Ruby, Python, et al have, but we do exist.

</comment></comment></comment><comment><USER6> Seems like a winning strategy to take a popular language/framework and make it incredibly simple and easy to deploy. As long as you have a very strong technical team I think this will be a successful YC exit every time. Either it can get huge due to great marketing, or the technology will be desperately sought after by larger hosting companies.

</comment><comment><USER7> Why would you use Git on Windows instead of Mercurial?

Also, it seems to me that SQL Azure alone may be worth using Azure instead.

Disclaimer: I was an intern in the Microsoft SQL server group last year. Since I'm normally a POSIX kernel developer the rest of Azure was only mediumly interesting, but it seems like SQL Server is one of the really strong advantages of the Azure platform.

<comment><USER8> I made a similar comment the first time I heard about these guys. We're a .Net based startup currently hosted in Azure and was really excited to learn about AppHarbor. But like you mentioned, there are some other very valuable services in Azure such as SQL Azure which still seem to make it much more attractive.

We committed ourselves to the Azure platform because we also needed things like Table Storage and Message Queues. I'm not quite sure what their road-map looks like, but before claiming to be 'Azure done right' I'd like to see some tips on how I would run my Azure app within their service.

I have to also admit that the GIT stuff basically prevents me from actually being able to play around with it right now.

<comment><AUTHOR> One of the things we'd like with AppHarbor is to endorse best practices. This means that you'll probably not be able to run your Azure application in AppHarbor without modifications. This is not due to special requirements for AppHarbor, but because Azure requires special code. On the other hand, you are able to create a template ASP.NET MVC application and push it directly.

Another thing is that we will never provide the full range of Microsoft solutions. Microsoft already does that. Our edge is that we can offer more than just Microsoft products, and as we're running in EC2, there's a whole range of providers offering additional value as well. For instance, we're going to support memcached, because it's industry standard. Microsoft will support Velocity, because that's what they make. I think this is a substantial and important difference.

To sum it up, we're going to support file storage, message queues and what you need to build a scalable web application. Some may be the Microsoft flavor, and other may not.

<comment><USER9> Hmm, being on EC2, are you going to provide access to SimpleDB, S3, SQS, and SNS? Seems to me that would bring it pretty close to Azure's feature list.

</comment></comment></comment></comment><comment><USER10> This seems like a pretty cool service for those of us who prefer .Net and want cool things like everyone else gets.

<comment><USER11> I kind of have to take exception to that. .Net is a phenomenal platform to develop for and has plenty of cool things to work with (including Silverlight and WPF). Everyone I talk to that has tried to do Android development and WP7 development comments on how much nicer and easier WP7 is to work with. And I call ease of use and eye candy pretty "cool".

<comment><USER12> Now you just need some people to actually buy WP7 phones.

</comment></comment></comment><comment><USER13> We're using Azure heavily for Socialblaze.

At first this seemed great, but for us to even consider switching we would need to know a few things:

\- How backups work \- How does well does it scale \- How is the MsSQL organized, shared db with thousands of users? \- SSL is a must \- Can't run any real web app without services, background processes \- Pricing (bandwith, storage, etc.)

</comment><comment><USER14> I'm doing some very light work with .NET and am using AppHarbor right now. So far it's been fantastic.

I wouldn't go so far to say that I'd choose it over Heroku or other stacks.

<comment><USER15> Since you're obviously happy with the setup, I'm curious about what specific setup you used for git in Windows. Last time I tried it, it was (literally) a cluster-fuck which completely set me off git.

Do you just use cygwin'd git wrappers? Do you use any additional tools? Any advice would be appreciated as I'd love to try this service out on its own merits (and not biased by git's lacking merits in a Windows environment).

<comment><AUTHOR> One of the things we do to make it easier is our support for basic authentication when pushing. This removes any requirement for getting SSH to work on Windows, which is usually the issue you'll run into.

<comment><USER15> Thanks for the reply. That sounds great and should definitely address one of my two major problems with git on Windows.

The second one (with \'s vs /'s in paths) can iirc be fixed with some simple bash aliases for the git-console, so it should probably work out.

Looking forward to try the service out :)

<comment><USER16> A bigger problem is newline handling, which no one can seem to agree on.

</comment></comment></comment></comment></comment><comment><USER17> Anybody knows if AppHarbor is using Windows based servers or Linux+Mono?

<comment><USER18> The application and build servers are Windows based

</comment></comment><comment><USER19> This is great. I think a good payoff for all the work they've put in would come from acquisition by microsoft instead of selling this as a service to customers.

Probably that's exactly what is on their mind.

<comment><USER10> Why would Microsoft buy them? I'd imagine someone else in the space would be interested in adding MS support to what they offer.

<comment><USER19> may be to make Azure and other cloud products/services better.

</comment></comment></comment><comment><USER20> Very cool. It will be interesting to see how successful AppHarbor can be without first establishing a competitor to Azure Appfabric.The service bus and access control inherit in Appfabric makes cloud computing palatable for enterprise companies.

</comment><comment><USER21> The problem for them of course is they've chosen a dying platform. Microsoft's operating systems, mobile toolkit, and their entire technology stack as a whole is coming to a dead end. I have never met a developer younger than myself who uses any of Microsoft's technologies to build anything, and I don't see this ever changing.

<comment><USER8> Ah yes, because you've never met anyone then that must mean its dead. I'm curious, how old are you? I'm 26 and working full time on a company I founded running completely on .Net and Azure.

<comment><USER21> Well I'm older than you are. And I didn't say it's dead. I said it's a dead end. Microsoft's dominance has absolutely been on the down slope for the past decade, and this time they will not recover. Your business will succeed if it does not depend on the particular technology stack you've chosen (eg a retail site). But for a hosting company that is dependent on the technology stack growing in popularity, Microsoft's stack is absolutely the poorest choice of all available programming systems to build a cloud hosting service.

<comment><USER22> Could you give some examples of why Microsoft's stack is so bad and which ones are better?

I often see these things thrown around but very seldomly with any good examples. We use Visual Studio + .NET + MSSql/SqlAzure and from time to time I take a look at what else is out there but I have a hard time seeing how any of it could make us more productive.

<comment><USER23> Well, one example that recently irritated me terribly is the performance of VS2010 - on this laptop I'm using at the moment (which is a perfectly decent machine and runs VS2008 perfectly well) it just _doesn't_ run acceptably. The OS has been rebuilt and just about every tweak possible has been applied - even a quick Google search shows that I'm not the only one having this problem.

Now in the past I've used a lot of different development tools and in those cases there is a loose coupling between things like editors (e.g. emacs, vi) and a particular development platform. Now I rather like VS and C# - but the prospect of buying completely new hardware (work and home) just to make up for deficiencies in Microsoft's tools is driving me crazy.

With .Net you really _do_ have to use Visual Studio - if you don't then you probably have lost 70% of the benefits of the platform. If I was to move (actually move back) to using emacs or something as my main editor I might as well move completely to JavaScript, CouchDB and node.js - which was a direction I was moving in anyway for my own projects.

<comment><USER22> It's a fair point, but I think that has mainly to do with the developers Microsoft are targeting. Buying new hardware every two years costs next to nothing compared to the salary of developers almost anywhere in the world.

<comment><USER23> Of course, having to buy hardware isn't a huge problem, but it is just an example of a growing feeling that I've had with using a Microsoft stack - <USER2> you are completely dependent on the whims of one supplier and if they do something that causes you grief you really have _no_ choice.

<comment><USER24> Agreed.

However, I find myself tripping up because I'm using the wrong language's syntax or intricacies of library functions often enough with the portfolio of languages I work with already.

I need to know .Net for work. The idea of adding yet more platforms and more variations on the same theme just to be able to play doesn't appeal.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER25> What makes me mad about Azure is that they support PHP but not Asp "Classic". I might try it, if it supported my favorite technology.

<comment><USER12> Why in the world would they support a 10+ year old technology that's been replaced by a technology (ASP.NET WebForms) that's now also widely considered outdated?

<comment><USER25> Because there is a customer base who would pay for that. I pay $350 a month for a 1/4th rack colocation space and 15mbps bandwidth. If there was a comparable and compatable "cloud" option I might consider it.

</comment></comment></comment><comment><USER26> They lost 95% of the .NET developers. There's a command line involved.</comment>


Ruchi Sanghvi, Dropbox VP, testifies on immigration reform [video] - <AUTHOR> https://www.facebook.com/photo.php?v=10100789294634021

<comment><USER2> I simply chose not to bother with the US. I find the UK much more pleasant and it was trivial to study and start working here.

Vote with your feet, as the Americans say.

<comment><USER3> Personally, being British, having looked at the sheer diversity of jobs in the US job market for software developers, the UK job market really doesn't seem that exciting.

<comment><USER4> Having worked in both countries, and being British myself, I'd probably disagree with you. Of course, in terms of sheer numbers there are more jobs in the US, but I don't see the US having any sort of USP in terms of the jobs themselves.

For example, if you want to go start-up there's lots of opportunities to do so in London, and Microsoft, Google, Facebook, and the like maintain engineering teams in the UK if that's more your thing. And the UK's a highly respected base for computing gaming, visual effects, even hardware design (ARM, for instance). I don't see the UK software engineering market being any less diverse than the US, but perhaps if you're working in a particularly niche area this could be true?

From my personal experience, the biggest difference between the UK and US job markets isn't the diversity, but the work culture in general. The UK has 5.6 weeks paid vacation as a legal minimum, whereas this is very much not the case in the US (you may view this as a pro or a con).

</comment></comment></comment><comment><USER5> The main issue with H1B is gross misuse of it by outsourcing companies like Infosys, Wipro and body shopping firms that pimp out low quality talent at higher rate and pocket the difference.

Just ban these companies from applying for H1B. For outsources, create a separate and temp visa category for them and tax them at higher rate or have increased fees whatever.

Increase penalty for these body shopping firms. Right now the risk associated with running a body shopping firm is so less that it makes business sense to flout all H1B regulations. USCIS is definitely getting better at cracking down but still lots need to be done.

</comment><comment><USER6> I guess they forget a lot about immigrant entrepreneurs. I am currently trying to immigrate in the US, I have a working business in my home country with a few employees and I am applying to an entrepreneur Visa. But, OMG, the paperwork is so boring and huge, I don't understand why I have to go through this. It's already hard to create your business and to change your home country but to also have to be dealt like a ______* criminal or something, that's unfair.

</comment><comment><USER7> Nothing like the CEO's of the top tech firms saying Americans are unfit for the job, lets bring in the younger cheaper labor. Still waiting to see the boatload of 35+ H1B's at top tier salaries to come in, since frankly there are no 35+ American developers ready to do the job. Free trade or we die. Hey Manufacturing, how lucky are you that NAFTA was passed 20 years ago?

</comment><comment><USER8> Ron Conway also shared this[1], and pointed to a great page where people can send a letter of support to Senators[2]

[1] <https://twitter.com/RonConway/status/332334439084478464>

[2] <http://www.fwd.us/senate>

</comment><comment><USER9> I want to thank Ruchi for this testimony. Like Ruchi, I feel extremely fortunate to be able to work in US.

US will continue to be 'the' destination for engineers of all kind for many years to come. Right now, a sheer number of open engineering positions and superior pay alone are attracting qualified engineers around the world. But other countries around the world are closing the gap slowly. In order to continue the domination in attracting engineers, it would be in US's best interest to simplify immigration process for qualified engineers.

<comment><USER10> I might be wrong here, but is not their reason to be strict on VISA so that they give better chance to actual Americans to try and land the jobs which would be normally be taken up by people coming in from outside US as students and staying back ?

<comment><USER11> You're writing as if you believe there are a fixed number of jobs. That's not true.

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

<comment><USER12> It is more that there is fixed number of people qualified to do job , regardless where they are. Main issue I see is that companies are more then willing to sacrifice quality by paying lower price. I don't mind competing with anybody in the world but there is a quality/price ratio I will not go below and that is different for anyone. For sure why would some in right mind drive price down and hurt himself in long run is for longer debate.

</comment></comment></comment></comment><comment><USER13> Obviously this is something good for the millionaires and billionaires and heirs in the US, and bad for workers. Workers are in an economy which is still at a historically high unemployment rate that has not been seen since the summer of 1992, and before that 1984. In a profession with a mass of data of age discrimination over the age of 40, with plenty of able older programmers looking for work. With interviews where candidates with necessary programming experience and necessary language experience and even necessary API experience are nixed because they're not so familiar with the specific areas of the job required API that people need. Unemployment is at a historic high, and they want tens of thousands of more open jobs on the market to be whisked away. Means more unemployment, lower wages, longer hours.

There is no argument here, there is nothing to argue about. It is not like some scientific enquiry where scientists sit around and argue a matter all honest and searching for the truth. This is a struggle over how the pie is divided up. The heirs who provide the majority of money to VC funds and the public markets are the ones who created and wrote this legislation. It is for their benefit and against your benefit. If one makes "arguments" against this in this struggle over money, in this carving up of the pie, it all basically boils down to the statement "I am, or on the benefiting side of, the billionaires looking to profit off your labor". Those opposed are those doing the work like myself. There's no real arguments, just declarations of which side of the fight you're on.

As for maudlin, mawkish comments about the dreams of immigrants and the like - fine, we will keep the H1-B cap where it is, and make a lottery of all people who seek to immigrate, of any skill level, and let more people in that way. I'm sure immigration will mean more to some poor Guatemalan then some Indian IIT graduate who can live a decent life in India with his CS diploma. These mawkish comments about how the H1-B visa is for foreigners never mentions that these people making maudlin comments are blocking the poor people who could really benefit the most from immigration from immigrating. Some "humanitarian" move.

<comment><USER11> > It is for their benefit and against your benefit

Because immigrants just "take jobs" and add no value to the world, right? You can't think of any Americans who have become wealthy thanks to companies founded by immigrants?

> This is a struggle over how the pie is divided up.

This is economically illiterate. The economy is not "a pie", because it's not a zero sum game. The pie can grow, leaving more for everyone.

<comment><USER14> > The economy is not "a pie", because it's not a zero sum game. The pie can > grow, leaving more for everyone.

The interesting question is: what causes the pie to grow?

There is really only one thing that can fundamentally increase the size of the pie and that is natural resource income. The other thing that increases the _virtual size_ of the pie is improving the efficiency of converting natural resources to things people want (standard of living).

It's also important to remember that after natural resource income (mainly energy) the next economic fundamental is food, housing, and basic utilities (heat/water/sanitation/electricity).

Workers are required to convert natural resources to improved standard of living. But workers also have wants and needs.

<comment><USER11> Generally, productivity is a better match to a country's wealth than natural resources. Certainly, at some ultimate level, things depend on the latter, but what you make with what you've got seems to matter far more in practice. That's one of the reasons a country like the Netherlands is rich despite not having a great deal in the way of natural resources.

<comment><USER14> > Generally, productivity is a better match to a country's wealth than natural > resources.

It's not an either/or question. The natural resources are still the foundation of the economy, even if you don't gather them directly yourself. And in the Netherlands I suspect a very important natural resource for the local economy is land. I don't have time for research at the moment but I would guess that simply to live in the Netherlands is very expensive.</comment></comment></comment></comment></comment>


The Mystery of the Prime Numbers - <AUTHOR> http://www.secretsofcreation.com/images/inside1.html

<comment><AUTHOR> You can buy a paper version of the book here:

<http://www.secretsofcreation.com/></comment>


Show HN: The SaaS CTO Security Checklist - <AUTHOR> http://cto-security-checklist.sqreen.io/ <comment><USER2> Really useful!

For some reason, I've found the content on this area really lacking for early stage startups (FUD from security experts, fear of revealing gaps).</comment>


Any tips for integrating sms into your web app ? - <AUTHOR>

 I was wondering if anyone has experience with integrating this in sms in their web app.  Any services out there that I should know about ? <comment><USER2> For real time, reliable two way messaging you'll either want to peer with the carriers you support (using SMPP) or use an aggregator. There are a lot of aggregator options and you'll want to shop around to get the best price.

Using SMPP I've seen round trip times as low as 10 seconds.

If you want media (pictures or video), you'll want an MM7 connection.

I'd link to wikipedia but I'm on a mobile phone, sorry.

</comment><comment><USER3> You could go down the SMS/email gateway route, or use a company like Clickatell to send messages for you (though I don't have any personal experience with them). But seriously, [http://www.google.com/search?&q=sms+site:news.ycombinato...](http://www.google.com/search?&q=sms+site:news.ycombinator.com)

</comment><comment><USER4> One approach should be finding out what carriers accept Email2SMS. That's a very (and cheap) approach. That's what RememberTheMilk does.

<comment><USER5> Yeah but won't that only work for pushing out messages to phones? What if you want two-way communication with your app?

<comment><USER6> try sending a text message to an email address. I think this works. Ill test it out.

Nm, cannot do it on iPhone. By that's because I can't type an @ in the recipient field.

Pretty sure I did it with my last phone.

<comment><USER7> email to email@example.com / messaging.sprintpcs.com / etc... once you receive the text, a reply will (should? works for most major carriers - att on my iphone tested) send the message back to the original email address.

</comment></comment></comment></comment><comment><USER7> getting your own dedicated short code is expensive and takes a while (~2-4 months).

i'm not familiar with the process, but in theory you can apply for a direct connection to EACH carrier (i think you need insane volume to even attempt this and even then approval is not probable).

after you get your dedicated short code, most people turn to aggregators that solve the volume problem for you (i.e. clickatell).

others bypass the dedicated short code route for cheaper / more immediate results with a shared short code (i.e. textmarks) -- accessible with a vanity keyword.

you can also try setting up your own SMS gateway w/an open-source like Kannal. add nokia phones for extra style & fun points as desired.

</comment><comment><USER8> <http://en.wikipedia.org/wiki/Teleflip>

</comment><comment><AUTHOR> What does twitter do ?</comment>


Map of America's Mass Shootings - <AUTHOR> http://jordanstaniscia.com/2012/07/americas-mass-shootings/

<comment><USER2> Seattle has some very accurate mass murderers.</comment>


Water-pump failure in Illinois wasn't cyberattack after all - <AUTHOR> http://www.washingtonpost.com/world/national-security/water-pump-failure-in-illinois-wasnt-cyberattack-after-all/2011/11/25/gIQACgTewN_story.html?hpid=z3

<comment><USER2> Wow, OK. So it was just an old pump in bad condition that failed due to lack of maintenance or some such. And the "hacking" was a legitimate employee accessing the system from Russia where he was traveling and had no connection whatsoever with the pump failure. But they didn't bother to verify this. They just checked logs, found a Russian ip address, and without doing an investigation started shouting "Russian Terror Attack!" and went to full on red alert.

Well at least they managed to create a lot of publicity in the international press about how their systems are on the internet and use three letter passwords which may or may not be the default three letter password set at the factory. That information should be helpful to someone I guess.

<comment><USER3> any time someone says something about "the attack came from X", you should think back to this event

<comment><USER4> This proves again how tremendously paranoid we have become in the west. Everything is an attack, and more generally a reason to distrust each other more. Even if the blame is on ourselves for disregarding maintenance.

(not to say that they shouldn't have used a better password, but please, please media stop shouting "cyberwar!!!" at each possible instance)

<comment><USER5> I'm going to give this the hand-in-the-air rocking-back-and-forth "ehhhhh, welllll" treatment. The media has freaked out about "hackers" more or less continously for the past 30 years. It's not new.

Remember, The Hacker Crackdown [1] is from 1992, and the news then was still not that the media freaked out about this sort of thing, but the huge arrest wave it represented.

[1]: <http://www.mit.edu/hacker/hacker.html>

<comment><USER4> But it did change. "hackers" used to be kids, tricksters and sometimes even criminals. Now, it's "cyberwar", and foreign countries are supposed to be involved even in the most trivial hack. Ooh they used a Chinese proxy so it must be the Chinese!

</comment></comment></comment></comment></comment><comment><USER6> So if I route my traffic through a Russian host, suddenly it becomes a terrible danger? Sounds like a pretty badly informed investigation team, who leaped to conclusions without justifying their claims properly.

<comment><USER7> The investigating team said that they were collecting information but had no evidence that it was an attack.

The _media_ ran with the attack angle.

</comment></comment><comment><USER8> the FBI said right away that they don't know it is a cyber attack yet. it was the media and blogs that got carried away with the hot story.

</comment><comment><USER9> Fake cyberattack is the new fake terrorist threat.

<comment><USER10> SOPA is the new Patriot Act?

</comment></comment><comment><USER11> So this is not the incident that pr0f confessed to being involved in?

[http://nakedsecurity.sophos.com/2011/11/22/interview-with- sc...](http://nakedsecurity.sophos.com/2011/11/22/interview-with-scada-hacker- pr0f-about-the-state-of-infrastructure-security/)

<comment><USER12> Obviously not, from the article:

"Last week I wrote a story on the compromise of an industrial control system in Illinois that destroyed a pump at a water processing facility. The same day a hacker came forward and posted internal information on pastebin.com from _another compromised utility in South Houston, Texas_."

"Within hours of publication I was contacted by the hacker involved in the _Texas_ incident and I was able to ask him a few questions via email about the state of critical infrastructure security."

</comment></comment><comment><USER13> I can't even imagine what kind of abysmal state of security must be employed when a "security expect" can't see any difference between a legitimate access to the system and a cyber attack and then eventually come to conclusion that it was a typical hardware failure.

<comment><USER14> Truth is, most/many publicly accessible (or even private) technological infrastructures it's very difficult to discern between external attacks and self-inflicted damage, or even system/component failures.

It's probable that you're under a constant low-level attack -- bots and script kiddies at the very least. If your infrastructure's interesting enough, there may even be targeted attacks. Your own ops / eng team is probably your biggest threat (just plain shit happening, though intentional damage does happen). Parts breaking, or various buckets overflowing generally don't help matters much. Since you're talking about a system with usually at a minimum hundreds of discrete subsystems, let alone the number of physical components, interconnects, and external dependencies, it's difficult to monitor it all let alone have a solid sense of what's going on. Your best bet is some overall metric of system/site health.

I worked for ... a large Internet presence where an apparently unauthorized access to an admin tool (unknown username) and resetting of system parameters was traced (with the help of the internal security team) ... to our own office. The dipshit doing this sat two chairs over but hadn't piped up during several days' worth of "WTF is going on / who's accessing this system as 'username'".

Don't ask me how my Thanksgiving went.

</comment></comment><comment><USER15> And this is how the next major war will start...

Seriously, this pretty much sounds like a test run to see if the media will still take the bait without asking questions.

</comment><comment><USER16> Quelle surprise.

</comment><comment><USER17> Next thing you know... the government will start accusing terrorist repairmen of sabotaging our duct work.</comment>


Why do professors deplore enterprise?  - <AUTHOR> http://tigerhawk.blogspot.com/2009/01/why-do-professors-deplore-enterprise.html <comment><USER2> The philosophies are very different. You have:

1\. Low hanging fruit (business) vs. high hanging fruit (science). Businesses can not pursue leads which may only have long time payoffs.

2\. Only leads with visible benefit are pursued by business. Whereas science believes that discoveries may have benefits far beyond any visible benefit.

Thus if a society ditches research without any immediate benefits academics believe society would advance much slower.

</comment><comment><USER3> This is understandable of course. Go to any nonprofit or charity, and I'm sure that most workers there will justify their job choice as humanitarian, compared to for-profits. Academia is similar.

In reality though, many professors (particularly in engineering and CS) think highly of industry (most students end up there), and many professors have even started companies of their own.

To view students as impressionable is doing them a disservice. Students are free-thinking adults. To consider that "liberal" professors (whose political stance rarely if at all enters the classroom) could drastically affect their views is absurd.

<comment><USER4> I'm going through this crisis as we speak.

I was lured to IT during/after high school, and it seemed ridiculous to go to college at that time. Eventually I was persuaded to take classes after work, and managed to knock out most of the degree (PoliSci) alongside my full time job. I had an opportunity to do some consulting work for an NGO in Amsterdam while studying there, so I took it. Changed my life.

Now I'm finishing a Masters (back in Holland) and trying to decide what to do. IT work makes me happy in that I have a high sense of confidence about my work, and of course it pays well. But something's missing. A cushy IT manager position doesn't bother me... but remaining there in 20 years does.

Making the leap to some vague non-profit job is also scary as hell, but sexy from some sort of greater-good point of view. Unlike my IT capacities, the tools I gained from university are (mostly) soft skills that aren't directly applicable to specific job functions.

I've shared these thoughts with many professors and industry mentors, and one thing I will say is that many of them view the world as pretty polarized between "Enterprise" and "Altruism".

For my sake I'm hoping it isn't really so.

<comment><USER5> Try looking for a think tank (perhaps in the energy or environmental sector) with a technical emphasis (Rocky Mountain Institute springs to mind as an example) where you could combine your skills with your aspirations.

</comment></comment></comment><comment><USER6> What an interesting question. Well, as the post mentions, we have three sectors: public (government), private (business), and social (non-profit).

Does a society need all three to thrive? Yes. Government is the entity entrusted with creating the currency. Private business is entrusted with assigning value to that currency, creating "wealth" through competition. Efficient enterprises create wealth better than inefficient ones.

And out of it all, the social sector is . . . well, I can't quite figure out what the social sector is supposed to accomplish, but people do like causes. Most "causes," if they're able to claim fulfillment of a goal that the public sector could but doesn't, seem to revel in the fact that they're doing for society what government could/should do, all the while claiming to lack the motivations of the private/business sectors.

<comment><USER7> I think the non-profit sector provides a relief valve and helps keep society honest. Non-profit like Open Source Software can channel peoples desire to fix problems without fighting the rest of society. Government has a lot of power, but it is highly susceptible to outside influences and everyone wants to spend other peoples money. At the same time they don't force the customers to pay for the service which limits how corporations could get involved.

PS: Consider the three types of news organizations and how they fit into our society. Or blood banks, you can't pay people for blood or you get diseased donors, you don't want to force people to donate and you don't need that much, so you just ask people to help and it works fairly well.

</comment></comment><comment><USER8> This article explains it: <http://www.cato.org/pubs/policy_report/cpr-20n1-1.html>

</comment><comment><USER9> First of all, most of them don't. A lot of them consult or run businesses on the side.

Second, it's the moneymen in administration who decided to run academia as a business, destroying it. The moneymen in charge of the universities have managed to jack tuition up 7% per year while cutting tenure-track professorships to such a degree that academia is no longer a viable career.

In general, I think professors object to 1950s-style hierarchical corporations, which are inhospitable environments for intelligent, creative people. And they object to the moneymen who are ruining their lives, and gutting academia, for the very-short-term benefit of the university profit margins (never mind that they're supposed to be non-profit). I don't think, by and large, they have any opposition to their students going to work at startups.

<comment><USER10> Additionally, professor wages are among the most compressed. At my university, it is often cheaper to keep on professors who are old enough to retire, instead of hiring fresh talent.

<comment><USER11> I think there is also an incredible amount of competition for the junior faculty positions as well. One of my friends, who recently started a physics post-doc at Caltech is convinced that he will have to eventually go into the private sector to support his family, since there are so few faculty job possibilities and he can't be a post-doc forever. Luckily for him, he has computing and finance work experience from before he was in grad school.

</comment></comment></comment><comment><USER12> Professors prefer

1\. Distribution of Wealth rather than Creation of Wealth

2\. Socialism aka Preventing Race to The Bottom

</comment><comment><USER13> Well for starters you could at least use your buzzwords grammatically -- 'enterprise' as a singular, article-less noun makes no fucking sense. It's acceptable as an adjective, or as a mass noun if pluralized.

What should be the collective noun? How about an _incompetence_ of enterprises?</comment>


IFixit tears apart new Mac Mini  - <AUTHOR> http://www.ifixit.com/Teardown/Mac-Mini-Mid-2010-Teardown/3094

<comment><USER2> I do lots of crazy CNC machining, own a mechanical engineering/industrial design company, and think this housing is unreal if its really machined from a solid block of aluminum. The undercuts, the thin walls, the perfect finish, a mass produced part... they are really pushing the boundaries.

<comment><USER3> Would you mind expanding in this a bit? I think it's really interesting.

<comment><USER2> For a unibody macbook pro, they stamp the underside curvature (I think...), then put it in a fixture and hog out the aluminum in similar fashion to this- <http://www.youtube.com/watch?v=kHTQG_7bdbg>, then they finish the sides, add tapped holes and cut out the cd slots and ports from the side with a small endmill.

For this, <http://s1.guide-images.ifixit.net/igi/SiKdJKFBvUOZvqYK.huge>, they either put it on end and machined the inside with a big, long endmill, then followed with some smaller ones to get those inside radii... or came down through the big round hole with an upside down T-shaped cutter and hogged out the material with underside cuts. Then cut out those little features near the end opening, somehow I don't know, and then detail the mounting features on the disk opening and cut the slot for the CD and laser cut the the little eject pin next to it.

Then they sandblast them, probably robotically b/c its so perfect, and then hard anodized.

</comment></comment></comment><comment><USER4> The robotics company I'm working for uses the mac mini for one of our robots, and we had just finished a chassis overhaul based on the old model.

Time to go hit the CAD program again...

<comment><USER5> If you ever want to know where a product is in the Apple refresh cycle, check out this link. I find it invaluable when considering an Apple product purchase: <http://buyersguide.macrumors.com/>

</comment></comment><comment><USER6> I look at these teardowns from a different aspect: once upon a time I worked as a computer technician, and built and upgraded hundreds of systems. When I see these pictures, I see a monolithic block of really hard to work with pieces. An appliance, not a computer, in other words. They make me less inclined to purchase.

</comment><comment><USER7> I had been holding out until the next iMac refresh to buy a new computer; the 27inch screen and the Core i7 were pretty darn attractive.

However,a server model paired with two cheap 22inch screens tempts me greatly, given the smaller dent on my wallet...

</comment><comment><USER8> It would be great if getting to the hard drive were easier. I love that they made the memory easily upgradeable, but I would really like to put an ssd in one of these.

<comment><USER9> I was checking out the tear-down with an eye for the same. With the base cover off, you can see most of the HD, but it looks like the curved bottom part of the case covers it enough so that the motherboard must slide out to replace the drive.

</comment></comment><comment><USER10> I was really hoping for an i3. What is the deal with Apple and old CPUs?

<comment><USER11> Apple doesn't want to ship a computer with a crappy integrated GPU, because they want to ensure that users have OpenCL-capable GPUS. Intel is not offering i3s or i5s with good integrated GPUs, and Intel won't let NVidia make chipsets anymore, so in order to offer an i3/i5/i7 system with a good GPU, they need to use 3 big, power hungry chips (CPU+chipset+GPU). During the Core 2 era, Apple took advantage of the great combo of a Core 2 CPU + NVidia chipset with good integrated graphics to offer reasonable performance in smaller packages. They no longer have enough room for a 3 chip solution, so until Intel either improves their GPUs or starts playing nice with NVidia again, Apple faces the choice between using older CPUs or regressing to older enclosures and higher power consumption.

<comment><USER12> My Core2Duo 1.83GHz mini has an intel GMA 950 GPU. Are the current GPUs worse than that?

<comment><USER13> The 'GMA HD' GPUs in the i3/i5/i7M are better than the GMA 950 (or even the GMA 3000 & 4500 series as far as I know), but they're still massively inferior to the nVidia Geforce 320M or its predecessor, the 9400M. There aren't any OpenCL drivers for the Intel GMAs as far as I know, although to be honest I can't see an obvious technical reason for that in the GMA 4500 and HD. Maybe there's no point as using the CPU in the same die is just as fast. Or maybe it's because Intel are rubbish at developing decent GPU drivers - their OpenGL implementations are pretty poor.</comment></comment></comment></comment>


Ask HN: How do I sell my startup? - <AUTHOR>

I have been running a startup for about a year now, and we're profitable and fairly low maintenance. I don't necessarily feel burnt out about the idea, but it would be nice to cash out for a few hundred thousand and put that money away and spend some stress free time hacking at whatever I feel like hacking on (I am like most here and have dozens of ideas fleshed out in my notes).
Our revenue is about $7500/month, with profits at about $6000/month. I have plans to rebuild a lot of the product and grow the userbase this summer, simply because I think it's possible and more revenue would be nice. I think by September, we should be able to double our current revenue numbers via an optimized funnel and some new marketing channels.
Ideally, I'd like to sell for something between $250-500,000. I don't really have anyone inquiring about buying us but that's possibly because we haven't hit "the big time" in terms of brand recognition in our niche.
All that being said, how do you just up and sell a company that probably exceeds a site like flippa or ebay? I feel like I've never seen a "For Sale" sign on a site so I assume that's not kosher, but do I approach a broker or approach people I think would be likely to acquire us if they knew more about us?
TL;DR: How do you proactively sell a profitable startup? <comment><USER2> First of all, before pricing your startup it's important to know what type of service it is as the multiples you can achieve for various monetization styles varies greatly e.g. Membership Fees, Advertising Revenue (with subsets of Affiliate/Adsense/Display – these also vary greatly as well!) etc.

Secondly, having used Flippa since it was part of Sitepoint Marketplace I know that Flippa actually sells a lot of sites around your $7500/month revenue (with $6k/month profit) margins.

In fact, sites have sold for over $1MM on Flippa e.g. <https://flippa.com/2677949-planetrx-com> which sold for $1.2MM. Likewise, [https://flippa.com/102961-bloggersunite-featured-blogger- net...](https://flippa.com/102961-bloggersunite-featured-blogger- network-51k-page-views-featured-on-cnn) sold for $450,000

There are many other sales on Flippa in the several hundred thousand range.

Generally sites are sold for a multiple of around 12-18x monthly revenue (although this can increase to as much as 36X depending on your site & how stable these revenues have been over a period of time).

For some relevant comparison:

Inquisitr sold for $330,000 with $15,000/month revenue - [https://flippa.com/138899-the-inqusitr-rare-opp-to- buy-15k-m...](https://flippa.com/138899-the-inqusitr-rare-opp-to- buy-15k-month-news-site-with-1-5-million-uniques)

A file host just sold for $300,000 11 hours ago on Flippa (at the time of this comment) - [https://flippa.com/2747329-one-of-the-largest-and-most- valua...](https://flippa.com/2747329-one-of-the-largest-and-most-valuable- file-hosting-site-on-flippa-w-huge-profits) with profits of $XXXXX.XX per month

<comment><USER3> Sites that sell on Flippa typically sell at a discount, a privately negotiated sale within your industry will almost certainly sell for more. If you end up going to a broker or a site like Flippa it sends a strong negative signal that you can't sell it directly which has a significant downwards impact on the price (also the people likely to buy in those scenarios will lack the value- add that an industry player would have).

<comment><USER2> Agreed, generally I believe that in this type of scenario that its far better to reach out to potential competitors or to companies (where appropriate) who can incorporate the product horizontally or vertically into their service/operations.

The comment was just providing some perspective over Flippa, that its not necessarily a place to sell sites for a few hundred bucks which I should probably have made clearer.

</comment></comment></comment><comment><USER3> I think the general pattern is to go for drinks with potential buyers (typically bizdev people at your competitors) and drop hints. If they're interested they'll bite.

Avoid giving away too much information at the early stage though to any interested party, whoever you end up selling to won't want the sites core stats to be known to all the competitors.

</comment><comment><USER4> I sold one time a company. It worked out for me because I had some relationships. It is always good to know your competitors. Competitors are always potential buyers.

And there are always companies who would like to extend their portfolio. This companies have always 2 options. Make it or buy it. Buy it is always faster and you know what you get. I sold to a company which wanted to extend their portfolio.

I hope my answer was helpful.</comment>


Camelot Unchained Kickstarter tech demo - <AUTHOR> http://www.kickstarter.com/projects/13861848/camelot-unchained/posts/451168

<comment><AUTHOR> They seem to be doing a really clever thing developing a full scale demo as Kickstarter progresses. They are making a graphics engine for mass scale battles and network/server piece separately. Then they want to put it together and make available probably at the last KS week.</comment>


Ask HN: Which YC startups have launched before joining YC? - <AUTHOR>

<comment><USER2> I know COLOURlovers had been around for a while before joining YC. Airbnb did a re-launch after joining but had been around perviously as well.

</comment><comment><USER3> As far as I know rapportive also already launched. They did just write a blog post on that: [http://martin.kleppmann.com/2010/12/21/having-a-launched- pro...](http://martin.kleppmann.com/2010/12/21/having-a-launched-product-is- hard.html)

</comment><comment><AUTHOR> Hipster (<http://usehipster.com>) is one.</comment>


Spine: an animation tool that focuses on 2D animation for games - <AUTHOR> http://esotericsoftware.com/spine-in-depth <comment><USER2> I used Spine a while back. It's such a lovely tool with a great UI, and compatible with Linux.

It's neither free nor open source though so I don't know if this is very suitable here on HN.

In any case, I wrote an exporter for Inkscape since they only had an Illustrator plugin for vector graphics:

[https://github.com/jleclanche/inkscape-spine- exporter](https://github.com/jleclanche/inkscape-spine-exporter)

<comment><USER3> fwiw, Spine is made using libgdx [1], which is open source. The various stretch-goal animation runtimes are also available [2] on Github.

AFAIK the team behind both libgdx and Spine are quite good at giving back to the community. After libgdx they quit their day jobs and went full-time as Esoteric Software [3] and did an excellent job following through with Spine's two kickstarters.

I think this is very relevant to HN not only because of the guys' open source contributions but also their entrepreneurial history (success?).

[1] [https://github.com/libgdx/libgdx](https://github.com/libgdx/libgdx) [2] [https://github.com/EsotericSoftware/spine- runtimes](https://github.com/EsotericSoftware/spine-runtimes) [3] [http://esotericsoftware.com/](http://esotericsoftware.com/)

(I'm not affiliated with ES but was a backer of Spine and am a user of libgdx)

<comment><USER4> I think Spine was started by one of the libGDX guys, Nate Sweet, and someone else (I can't find an About or Team page on their site). The other primary libGDX developer is Mario Zechner ('badlogic around here) but I don't think he's on the Esoteric team. I think he works for RoboVM now, in fact.

</comment></comment></comment><comment><USER5> Our company seriously pursued using Spine for all of our in game 2D animations in small to medium sized budget projects. Unfortunately the runtime license was far to costly and restrictive to use for work for hire type client work, of which most of our work is. Really wish we could just pay a flat fee rather than cause all sorts of red tape and recurring payments for our clients. Most of the games we produce are for not for profits that can't really justify those kinds of recurring costs. Ultimately, we built our own tool that I'm sure is far more primitive but gets the job done.

<comment><USER6> Not sure I understand - are you referring to $299 Pro license or are you a 500K+ enterprise and have an issue with $2200 license?

<comment><USER7> I guess he's talking about $2200 (+259$) per user per year for the use of the program and runtimes. I'm not sure what the "use" constitutes of (especially in context of runtimes).

<comment><USER5> Yes this is correct. All of our other tools and libraries consist of us paying up front for the version we need for our release. If they release a new version, and our application needs that new version, then I am all about paying for it, but having to come back and pay every year whether we've incorporated a new version or not is very challenging for us and our clients. What if every piece of software and library we used required this? It would be an absolute nightmare.

</comment></comment></comment></comment><comment><USER8> A similar animation tool that I use regularly is Flump, which exports nested Flash animations as texture atlases and XML. It is a fantastic tool if you are an ex-Flash developer looking for a fast workflow with great animation performance.

I have just released a runtime that supports canvas/webgl through PixiJS. It is currently available for Haxe developers but I will be releasing a bower package soon.

[https://github.com/tconkling/flump](https://github.com/tconkling/flump)

[https://github.com/jackwlee01/pixi-flump- runtime](https://github.com/jackwlee01/pixi-flump-runtime)

</comment><comment><USER9> I backed the kickstarter for this tool back when it came out and I'm glad I did. I don't do a lot of this type of thing, but overall it's the quickest and easiest one I've used! It's been a boon for making small animations for many of the quick projects I've worked on. Keep meaning to do something real and proper with it, but I've yet to take the time.

Every time I go to use it, it's getting an update and new runtimes. No complaints at all!

</comment><comment><USER10> Spine is really neat, and they have a lot of features that enable you to make cool animations really quickly.

I remember some of the rendering functionality stressed the Xbox 360's garbage collector back with the XNA version. I'd be curious to hear if people have used it with MonoGame on mobile devices.

</comment><comment><USER11> Works pretty well with in the browser with A-Frame too: [http://joshgalvin.github.io/post/project/aframe- spine/](http://joshgalvin.github.io/post/project/aframe-spine/)

</comment><comment><USER12> We considered Spine. It was easy to use and enjoyable to work with. For 2D, we ended up with Maya LT exporting to Unity, not only was Maya more versatile as a 3D engine, I believe it ended up being more cost effective.

<comment><USER5> I'd be interested to hear more about your experience using Maya LT for a 2D art flow to Unity. Does your art start in Maya or are you importing from another application?

<comment><USER12> The artists used, I believe Photoshop, to create their textures, and Illustrator for cleanup.

In Maya, textures were dropped onto planes, rigged, animated and exported via fbx (the pipeline was very similar to how we would have done it with Spine, with Spine exporting to JSON + Unity Runtime, while we imported the fbx directly into Unity).

<comment><USER5> Thanks a lot for the info. Any games that used this pipeline that you can share?

</comment></comment></comment></comment><comment><USER13> Anyone have experience using this with Unity? What's the workflow like? Does it use much memory? How does it effect the framerate?

</comment><comment><USER14> Where is the button to play the animation in the trial version?

<comment><USER15> If you click "Setup" in the top left it will switch to animation mode and you can play from there.</comment></comment>


Show HN: Anna – Your Personal Assistant on Google Chrome - <AUTHOR> https://anna-assistant.github.io/ <comment><USER2> Its very limited in what it can do for now, worth downloading to try out. I am surprised this has not been available for a browser sooner.

</comment><comment><USER3> This is incredible actually. Probably gonna fork it :)

Ok i just took a look at the code. Do i see this right that you are sending literally everything to google to see if starts with hey?

<comment><USER3> I tried the last 2 hours trying to get the trigger word triggered by ([https://github.com/zzmp/juliusjs](https://github.com/zzmp/juliusjs)) and do the rest like you did. But i cant get it working.

This would be amazing tho, if you want to give it a try :)</comment></comment>