skysight-inc/HackerNews huggingface dataset:
> How does it know that something can never be null?

It can see every place it gets assigned. If it's never assigned from something that can be null, it can't be null. Of course, that requires global inference to determine the possible types that the RHS can be. dart2js does that with increasing sophistication.

> Maybe an external caller sends null to a method not expecting it.

dart2js is a whole program compiler so it can make closed world assumptions like this. At the point that it's compiling, there are no "external" callers. It can see every callsite in the entire program.

> Or, can you not call Dart compiled code from JS?

Yes, Dart does have a JS interop story[1]. We're still working on it, but, by design, it's not as seamless as say CoffeeScript. It's an actual interop process and not just "it's all JS so it can all call each other". I think that helps dart2js control the places where unknown values can leak in from JS.

[1]: http://www.dartlang.org/articles/js-dart-interop/
Doing nothing about it is a good thing.
> Doesn't a 30% performance improvement (I'm just talking dart vs. JavaScript, not dart2js generated code vs JavaScript) seem like a pretty weak result given that they've created a new language?

Well keep in mind that every other language that compiles to JS is generally slower, so any improvement here is pretty impressive.

Note that this is just the performance of the Dart code compiled to JavaScript. Dart code running on the native Dart VM has very different, better perf.
Elephant - an S3-backed key-value store with querying powered by Elastic Search
I just played canabalt on my OUYA devkit (I'm making a game for the OUYA), and I didn't experience any latency from the controller. A bunch of people played it last night when I demoed the OUYA at gamecity in Nottingham and no one complained about it then either. I haven't played canabalt on iOS and I'm not a big console player, so maybe I'm just not attuned to it
2. He's been proven kinda correct on everything he's warned us of in this industry to date...yet for the most part it hasn't really mattered all that much.
Assembly language is just a high level description of machine code: each assembler statement maps to one machine instruction. Those machine instructions are nothing but sequences of bytes. It is certainly possible to create executable code during runtime; you just write the appropriate bytes into a buffer, mark the buffer as executable, and jump in.

Back in the old days, before memory protection, we used to do all kinds of code-as-data-as-code tricks. I remember dynamically generating trampoline functions that effectively did partial application. I'd write a little stub of assembly code that would push a bunch of literal zeros onto a stack and then jump to zero; when I wanted to use it, I'd copy it, poke actual values into the literals, and then pass it along as a zero-parameters function pointer.

You don't change the language syntax; that doesn't really make sense in assembly world. It's more that assembly code lives in a world of bytes and pointers, and is itself very directly composed of bytes and pointers, and so it's as easy to use the same bytes-and-pointers concepts on code as it is on data.

This style still exists on microcontrollers, where there is generally no operating system. Instead, your compiler produces an image which you flash onto the controller chip. The controller has some startup sequence which jumps to some address in flash and runs. The chip's subsystems are controlled by registers located at specific addresses; in order to drive such a device you have to know how its address space is laid out, where your code is placed in it, and how your code interacts with the different types of memory and registers located in the address space.
i feel like a dog, i don't know what should i do with so many cars and no RSS reader to subscribe!
Visa issues in the US can be very hard for companies to deal with. Established companies normally have good protocols and departments for overseas hires. However, startups barely have departments, let alone a dedicated department for overseas hires.

Normally, the best path for an Indian to get to the US is to study a degree in the US, gain some work experience in that year you are allowed H1-B work after your degree and then hope that the company you worked for wants to retain you (they usually do..). Plenty of people I know have followed this path.

May I ask though why you are restricting your search to the US ? There are many startup hubs around the world and interesting companies in Europe (Berlin, Amsterdam, etc.) or even South America (Santiago, Chile).

Also, there's a vibrant startup community in India as well. So what's wrong with India ?
No, don't. C-b is a much better shortcut than C-a.
Hiring a programmer for my small business?
I have a small business and we have been outsourcing our programming for years. We are growing and thinking about hiring a programmer fulltime in house (in Burlingame,CA.) Everything is written in .Net.

Our business runs solely on our website so its a core aspect of our business.

Where I could use some insight is:
1- Can we afford to hire someone here in the bay area and would they want to work at a small albeit growing business (are we priced out of the market?)

2- Will we only be able to get a dev that does not have much experience?

3- What have your experiences been with switching from outsourced dev. to in house? Was it worth it?

4- How to go about finding this dev. since its highly competitive? Where to look and post?

Thanks so much for any insight you can share.
If you bring a copy of the ISO you can have them all on starting from the same Virtualbox install (takes 5 minutes to set up without knowing the software + Ubuntu installation time).

But I've heard Vagrant is good for use cases like yours, though I haven't personally used it.

That sounds like a fun activity by the way, have fun with that :)
"Who cares what statistics show? Look at medicine. 80% of people with pancreatic cancer die within 5 years and 95% of appendectimies occur with zero complications. But we both know cases of pancreatic cancer patients that lived and appendicitis patients that unfortunately passed. Statistics mean nothing to the individual"
- Dr. Cox (Scrubs)

That quote has always stuck with me since I saw that episode, if you enter a situation knowing statistics of outcomes, it can affect how you perform.
Hacker uses Evernote account as Command-and-Control Server
Perhaps the most surprising to me is how much difference the

array.map(function(item){ return parseFloat(item); })

statement makes. Removing this gives almost a 100% speedup.

Using the Cluster api to have one process per core results in another almost 100% speedup.
Of course, I did not say assembly is just like Lisp in every respect.

But as long as we're picking nits --

It is of course completely possible to create executable code during runtime, using assembler. Often not advisable. (Recall the punch line of: http://www.cs.utah.edu/~elb/folklore/mel.html)
Steve - You are probably in a unique position because of your visibility, at least within the community itself if not to at least some subset of recruiters. Recruiters that read the tech news have probably (hopefully?) seen your name a few times, though I could still imagine you being approached by a freshly minted recruiter for a junior level Rails job in some far off town.

Surprisingly, I too go back and forth on the value of most recruiters. My business model is so much different than pure contingency recruiters that it's not an apple to apples comparison. The industry is plagued by a well-earned bad reputation in some cases, but there are some that are worth the time. If you are ever interested in having a discussion with another recruiter (that probably won't have a job for you, but perhaps some insight), I'm easy to find and I'd be happy to take your call.
Sometimes, a low-tech Post-it note beats a high-tech queuing system
An uplifting and inspiring app.
This is just wrong - see the Hal Finney attack. Basically, an attacker can pre-mine a block with the double-spent coin in it but not announce it. Once an attacker spends the coin and gets something of value, they can immediately announce their block, pay the coin to themselves instead, and keep the goods.

It's true that it would be hard to get a lot of value this way, but it's still the case that the person accepting the payment must be wary of the possibility and, as you say, be able to reverse the transaction if the coin ends up double-spent.
Kubrick’s Lost Holocaust Film
In-app purchases from 'freemium' titles account for 71% of iPhone app revenue
Although I like the sentiment, I disagree with the accuracy of this.

Attrition is a group statistic. It doesn't apply to you if and only if you are exceptional in some way. Otherwise, it applies to you even more.

In the specific example, his brother knew he was so much harder than his peers that he could do something incredible, like run for miles with a broken ankle. That mental toughness is how he was exceptional, and why he could be confident that he would be one of the people that made it.
Being a police officer isn't a job that you can just take off.... if you are willing to be an agent of state violence, don't be surprised when people who have problems with that situation have issues with you personally.
For those who have forgotten, US dollars used to be certificates backed by silver:

https://upload.wikimedia.org/wikipedia/commons/7/70/US-%245-...
I agree, am i the only one using C-a in bash?
Coding in Sinatra over Rails won't make you ill. What are the implications when the only apparent downside is that a non-technical person is getting the product in a different framework than he wanted?
I think that sounds like a fair price based on other acquisitions taking place. You can see how many DAU they had on FB, they were thriving.
Sorry I can't reply to you directly, but:

EXACTLY. HDMI encodes frames and pipes them to the TV which has to render them. There's no guarantee this will be instantaneous (indeed it's virtually guaranteed that it won't).
Don't sacrifice
A slight disagreement: the advantage of a ZFS online consistency checker would be to help ensure that there are no bugs in ZFS.

It appears that ZFS lacks a full consistency checker -- scrub only walks the tree and computes checksums; notably absent in this procedure appears to be validating the DDT. While ZFS claims to be always on-disk consistent--and I certainly believe that the intent is that it be so!--I seem to have tripped over some bug ( http://lists.freebsd.org/pipermail/freebsd-fs/2013-March/016... ) which corrupted the DDT, and now I have no way of rebuilding it, so I dropped $$$ (for me) on a new disk array and zfs send | zfs recv so that everything rebuilt. That's sort of crazy, if I may be so bold.

I suppose I could take the pool offline for several days and poke at it with zdb, but that is not really desirable either.
If I may repurpose an old comment of mine:

"The console industry used to sell high-end wedding cakes. Now they sell wedding cakes, some sheet cakes, and occasionally a pre-boxed slice if there are leftovers. These are your only options for snacking in the living room. You order a wedding cake, go pick it up in a few days, and hope it tastes good.

They are about to find out what happens when piping hot cookies are hand-delivered in 30 seconds or less to the living room, for free.

The only thing Microsoft, Sony, and Nintendo have going for them right now is that the iPhone and iPad are drawing away virtually all of Apple's not-inconsiderable attention.

Here's how it will work: Apple will release a $99 controller. It'll look like a SNES controller mated with an iPhone 3GS: 4" standard-resolution multitouch screen, D-pad, four buttons, two shoulder buttons, and a Lightning port. (Inside is NOBODY CARES. gyro, bluetooth, Wifi, iOS SOC, battery.) And, naturally, it will be the least embarrassing looking item in your living room.

You'll take it out of the box, type in your Wifi password, log in to iCloud, and THAT IS IT.

The Apple TV (of which there are millions already installed) leaps into action. All the plumbing is silently set up, the App Store icon appears, a free showpiece game immediately offers to install itself, and Apple connects a half billion users to the television overnight.

Most of the Wii U's best controller ideas are co-opted, the overall controller complexity is a scant third of anyone else's, it retains all the power of touch controls, it requires no complicated setup whatsoever, all the game state is cloud-backed, dozens of touch-resistant game genres suddenly find a home in the lowest-walled garden of any shipping console, customers can add more controllers if desired, and the whole panoply of mobile software can infiltrate the last screen standing.

The Apple TV is a freaking trojan horse, if Apple wants it to be. Nobody else has the UX to stave them off, or the ability to hit the price points Apple can, or their sheer distribution power, or their sheer brand power, or anything.

Free cookies. Not nut-and-raisin filled wedding cakes. Which one is your kid going to reach for?"
For those who hit a wall with C when it came time to learn pointers, I'd like to plug a YouTube video I made that people seem to really like.

https://www.youtube.com/watch?v=IkyWCOUY8V4

The terminology may not be completely accurate (although I did try very hard to not say anything incorrect), but I honestly think it does a good job of showing you how to actually use pointers. I know the resident C experts will probably find something wrong, but I've received tons of comments and emails from people saying they finally "get it". It's something I'm proud of.
I wish I read this earlier today. Good article.
The key to prosperity is printing money to fund productive activities. Eg: hire people and pay them.

Instead, we print money and give it to Wall Street and the super rich.
Thanks, yeah I know all about BC, I have a few..
Here [0] is a nice introduction to the newly introduced zoomed panes feature in tmux 1.8 by Tom Ryder.

[0] http://blog.sanctum.geek.nz/zooming-tmux-panes/
Re Valgrind: Last time I worked through CTHW, I couldn't use Valgrind because of missing OS X 10.8 support and I felt like I was missing a lot by not using it. I'm tempted to go back and work through it again, this time with a VM.
EBay Every Day Several Items Are Offered For Sale
Mobile-Computers-Accessories-Clothing And More
That's a Wall Street guy. What is your point? Everyone go to Wall Street and contribute to society in a positive way? :)
Comparison with neo4j?
You are way too deterministic.
Which implementation of Prolog does Joe use I wonder?
I would say its fraud. It completely ignores what the client is asking for. Although unlikely in this example there may be other reasons they pick that technology that you're not aware of.

If I hire a contractor for to put in lead pipes and I get copper pipes that's fraud. Lead is bad and its my job to help them, but if they insist I can either do the job or leave. For all I know maybe they need lead cause they are a lab and the lead does something for them.
I did not have $10000 med bill coming my way, but I lived a very frugal life during my university days. Some of it is written here (https://news.ycombinator.com/item?id=5371702).

With that said, I think you could have saved money on several things. $900/month is a lot for students. I decided to go to school in small city instead of a large one because I knew it would be cheaper to live there. By sharing rooms with 4 other students, I only paid between $325/month to 375/month. This was including, heat, water, power etc. Did you have cable TV or internet? Cut it. You spend minimum $40 on it. Did you ever eat out? Never do it. You can save $1000/month there. You mentioned that you drove. Sell the car. Car costs much more money that you think.

$16000 is not a lot, but that's actually enough for many students. I made less than that during 4 month summer internships, and I paid my tuition and living expenses without any problem.
Hooray! I love bitcoin!
It wasn't broken to begin with. I honestly don't even understand why they felt like this was necessary. Make it optional, if anything.
"Have all the right things fall into place..." is a misconception that is actually far from the truth in my opinion. Most successful startups win because they go after SUCH a large market that they're able to be quite wrong about a lot, but they're right about a few key things (one of which is often thinking it's a massive market when others don't).
Sounds like it's not worth the money to spend on advertising unless you know for sure you have a really good app/game.
Animated Web Series for Captain Canuck on Indiegogo
My oncologist told me "Statistics are not people."

I was about to undergo a bone marrow transplant. At the time, mortality within the first year was 90%. But I was much healthier initially than most other patients, because I had different medical history.

Plus, I'm one tough SOB.
One of the considerations when choosing a framework is how difficult it is to implement in the first place, but another consideration is how widely adopted it is. It's a lot harder to find someone who can maintain Sinatra code than someone who can maintain Rails code.
Why do we even ask this question?

How do we feel when people figure they know better than us and makes decisions on our behalf? Hopefully we don't experience this to often after we grow up (except by our governments ; ) and we shouldn't do it to anyone else.

And: What if the developer WAS mistaken? The client was smarter than he thought, just didn't tell the dev about future plans because of business secrets? If the developer makes decisions behind the customers back I'd also be fair for him to be prepared to pay the customer if it turns out that Rails was in fact needed (3.rd party integration etc.)
> The idea that your code cannot be beautiful unless you use system knowledge to optimize it "within an order of magnitude [of] the most performant possible code", before you even know there is a noticeable performance problem with it, is bad advice.

I disagree, but the key phrase here is "within an order of magnitude." I don't think it refers to squeezing out CPU cycles but rather to choosing the right general solution.

Using a cursor in sql when you don't need to is ugly programming whether or not the specific module has a real-world performance problem or not. Similarly, looping multiple times through a singly-linked-list when a hashset was called for is ugly code as well, regardless if that particular method has a significant real-world effect on performance.

I'm not sure we really disagree here except on semantics. Choosing the right data structure or language idiom for the job at hand isn't premature optimization, at least not the kind that should be avoided, and it's essential to beautiful code IMO.
Yeah, I realized visa is a major problem and started looking at those that can offer Visa sponsorship.

Start-up community in India is vibrant. I agree. But right now it's in age of infancy. Most of them are too much carried away by 'titles'. The products being built are mostly mashup of existing APIs. Most founders lack long-term vision, lot of people do it as a cool thing. There are few companies with real innovative products.

Mostly the tech-culture that you find in here is nowhere near to that in Valley.

All experiences are personal. I have worked in a very good start-up in Bangalore, attended couple of speed-dating sessions with startups where I interacted with around 20 startup founders. And I attend meetups in New Delhi often.

I am really not so much aware of startup hubs in Europe. Do you know which of them are visa friendly :)
My intention wasn't to suggest people use Freicoin, it was to highlight that there are people experimenting with designing cryptocurrencies, and that Bitcoin isn't necessarily the end-all. Apologies if that wasn't clear!

I took a huge topic and reduced it to bite sized pieces, and likely did make a few mistakes in the process. And for those mistakes, I want to apologize, and would love some feedback so I can improve this discussion in the future.

But I think it's important to distinguish factual errors from economic opinions. Economics IMHO, like psychology, is fundamentally a behavioral science (there are a lot of people that even disagree on this topic!), so it can be hard to model it. That's one of the reasons why economists (like psychologists) can differ so radically in their views.

But feel free to disagree with my opinions of course! Vigorous debate is very important to understanding what's going on here, and I'm very comfortable with changing my mind. My goal is to get people to start thinking about the ideas of economic exchange, so that they can have a framework to truly understand what Bitcoin is trying to accomplish. If you demystify how every other currency in the world works, then you can compare them to how Bitcoin works, and make up your own mind if Bitcoin is a crazy idea, or the real thing.
I wonder when governments will start cracking down on Bitcoin holders for unpaid gains taxes.
Rackspace Interview With Joe Armstrong (Erlang's Creator)
How do I get my old company back?
I helped to co-found a website some years ago which was eventually acquired by a public company. The public company has fallen on hard times and it has become a possibility to buy the website from them. I have not communicated directly with them about this but I know they are open to the idea.

I know hacker news is typically about startup news (and advice), but I'm wondering if anyone has had experience in successfully pulling this off? If I had to guess a price I'd say between 1 and 2 million, which is beyond what a small business loan would provide. Who should I be talking to? I am sure the website is still profitable.

Any thoughts on where to look next, general or specific advice, anything would be greatly appreciated. Thank you!
cool! Hehe, ya, one less key to press FTW! :D
Hello? Hello? Anybody home? Think crazygringo think
Yeah, it's Apache 2.0 (https://github.com/thinkaurelius/titan/blob/master/LICENSE.t...), and it's the first native Blueprints implementation so it integrates with the entire TinkerPop stack (http://www.tinkerpop.com/), which is BSD.
I work in house and want to freelance from home. My commute is terrible.
I think that it's simply a matter of getting what you believe you paid for. The implication of an alternative choice may not be clear to the contractor, but it might be important to the non-technical person (even if they don't specifically know what the technology is).

Perhaps the non-technical person had a trusted friend who is a Ruby on Rails expert -- and this person was not available at the time of initial development, but available later to maintain the app?
I agree. BTC is a great forerunner to a system that addresses some of its more serious issues, but I don't think it's practical for widespread proliferation.