skysight-inc/HackerNews huggingface dataset:
Microsoft has it the easiest, and the result has been mediocrity in reliability (largely on account of bottom-dollar driver authorship), even given its monopoly power in the OEM market. Clearly, "just" locking up the entire OEM market is not enough to Achieve Results. Hence, the signed-driver certification programs we're seeing in recent years, although I have no idea how effective they are.

Apple does a crapload of work to make sure that the one, tiny blessed subset of integrated hardware they select every so often works well during the span of its useful life. Sure, they lean on driver authors of suppliers pretty hard, something which few can do, but they are not nearly as hands-off as Microsoft: the buck stops with them, and a bad integration is Their Fault. And, on the flip side, if you are not an Apple supplier you don't give even two bits about supporting their operating system, for obvious reasons.

If there was a Dell distro and it Did Not Suck, I'd seriously consider it. I consider Ubuntu good-enough, so it could be Ubuntu but carefully tested and with divergent kernel and driver releases when appropriate.

> For what it's worth, I'm pretty sure the support for laptops is more dependable than the support for desktops, especially if you go for an unexciting configuration with Intel graphics etc.

Doubtful, having not long ago possessing such a laptop and sitting next to a colleague in the current-day who has kept with the faith, although with increased grousing. He was, of course, careful with his hardware purchase, buying an ostensibly well-supported Thinkpad. The monitor on his desk still sits unused.

There is so much more to go wrong in common use cases that are eliminated on a desktop (because you can't even do some of them, or wouldn't want to). Wireless chipsets, power management, suspension and hibernation, fiddly bits like special softkeys, hot plugging displays, you name it. The weakest link on the desktop side is the video card, and this has proven to be bad enough for me -- crashes have come and gone for me with each Ubuntu release on a pretty plain-jane NVIDIA card.
I worked for a streaming media startup that partnered with old-line media parents. Parents killing their new-media spawn is by now well-established practice, and nobody should be surprised about the struggles of Hulu.

The media giants depend on their existing distribution partners - cable companies, DVD sales and theatrical. They aren't going to put these channels at risk. Streaming media won't be first-class until a new streaming-centric content power emerges, or until the strength of cable is broken.

Eventually the transition will happen. But when. In our lifetime? Not sure.
How often do you push to production?
“I’m not sure they’re going to volunteer if they don’t feel that they’re protected legally in terms of sharing information. So our hope is that ultimately we can get Congress to adopt that kind of legislation,”

Translation: Before we loot their databases, we have to reassure them that they are not liable.
Then write something better.
As an Australian I find this hilarious. Britain and Australia have been picking up Americanisms for a long time. I've even heard younger Australians refer to the "boot" of their car as a "trunk". Horrifying.

To see some cultural imperialism going back the other way is very satisfying!
As someone with no particular experience other than backing a few Kickstarter projects, app.net, and Star Citizen, I like the uniform visual layout, structure (regular updates by email, money is always refunded if the project isn't funded), and regulation (no possibly misleading renderings of hardware) of Kickstarter: it increases my confidence in something inherently full of uncertainty. But I don't know how much of that is real benefit and how much is merely emotional. At least Kickstarter would have prevented robertsspaceindustries.com from falling over from load yesterday was harmful, and it wouldn't have allowed them to have "refund if not funded" unchecked by default...
They need to make Hulu Plus more appealing. I am currently subscribed to it but I have no reason to resubscribe. I can't find any of the shows or movies I want to watch on it that aren't already on Netflix.
Urban Zombie App
The blogger put the post up on Wordpress.com. It now resides on a server wholly owned by Wordpress, which is serving up the blog to the entire world.

I'm trying to avoid making a third analogy, because analogy usually takes you further from the specifics, but apparently I can't help it: It's analogous to suing YouTube when a user uploads copyrighted content. What is YouTube's responsibility to stop serving up the "illegal" content? Or a mail host's responsibility to stop customers from sending spam?

Hosts can not wash their hands of the content that they're sending out just because it was user-generated.
Due to the recession, the train companies have taken to making money on the side by turning every fourth carriage into a traveling meth lab.
Are you a scientist or an engineer? You said "we" for both.

They do not follow the same logical processes. Science begins with observations and uses inductive reasoning to create theories. Engineering starts with formal rules and proven facts, and uses deductive reasoning to prove the correctness of a particular solution.
The money wasted on these pork bills and civil rights violations that will probably pass with flying colors regardless of who wins the election could be better spent buying every 0day for sale. Imagine a few billion in a fund just for buying zero days for sale and forcing the companies with the vulnerable product to tell its customers that it had vulnerabilities and that they've now been patched. Heck, tax companies that write insecure software more.

Instead, we'll see some federal guidelines that do nothing but enrich connected defense IT contractors milking the endless cow of defense spending.
Detecting types (in the way an engine like V8 or SpiderMonkey does it) is not completely solved by type annotations. Combine that with the fact that annotations could end up being wrong, and what you'd really need here is a language with something approaching static types where the compiler can accurately infer types for most locations without you giving it any help.

The 'add' function in the linked article is one example where type annotations would be useless without more sophisticated underlying machinery: The function is intentionally generic and accepts multiple input types, and this results in degraded performance for generated code. Adding type annotations wouldn't fix this; you'd need a more sophisticated type system such that individual function signatures have individual types and it's possible to do dispatch by matching the available signatures for a function being called against the arguments provided (essentially, runtime dispatch for overloaded functions).

Another example (not really covered in the linked article) is the way function calls end up working in V8 (and to a lesser degree, SpiderMonkey). To generalize a bit, when you go 'x.foo(y)', a bunch of steps have to occur:

The engine has to identify the type of the expression 'x'

The engine has to identify the type of 'x.foo'

The engine has to identify the type of 'y'

Based on those three types it is possible for the engine to figure out whether it has already generated usable assembly for the function being called. (the type checks against argument types may occur within the body of the called function, but that's more of a minor detail here.) More importantly, when I say 'type' here, I mean the complete identity of each expression involved - in a language like C# or C++, I could define foo like this:

void X_Foo (X * this, Y & y);

And then represent the function call with:

X_Foo(x, y);

The problem is that X* and Y& are not actually complete descriptions of the values being passed in. If you have derived classes from X, X* is only a partial description of the type being used and doesn't tell you anything about the body of the functions that might be called through that interface. Likewise, X or Y could both contain dynamically typed values and the type of the containing class does nothing to tell you the type of the values.

This is the kind of analysis a JavaScript engine has to do - it needs to be able to distinguish between an array containing two floats, an array containing two integers, a Vector2 containing two floats, and a Vector2 containing two integers. Hidden Classes (and SpiderMonkey's equivalent, Shapes) are a way of tracking some of this finer-level detail on the fly and making it accessible to optimize things at runtime.

As a thought exercise, given what I describe above (even if it's only partially accurate), what do you think has to happen if you write 'x.call(y, z)' in JavaScript (if x is a Function)? Figuring out the steps actually involved might be surprising!
Marissa Mayer Ready to rumble at Yahoo
Contrived desperation?? I don't think it's possible. If you're going to be genuinely desperate you can't have any choices. Desperation involves a lot more than money. You can't fake yourself into fear, hurt, depression, anger yet these drive many successful people. That's why a lot of them either a) are never satisfied or b) get even more messed up when excess money enters their lives.

Always being honest with yourself and developing continuous and methodical discipline that leads toward your goal is the best approach I can think of.
Online content should be so much more valuable than broadcast content, both to consumers and advertisers

This assertion is not correct. Yet. The reality is that as an advertsing medium, the internet is far inferior. There are reasons for this. For lead gen and seach, online is good. Unless you can make the case otherwise, though, this does not hold in other areas. You can't just assert that they are similar.

Source: Its been refuted by the market. To date.
Our tendency to minimize cognitive dissonance has a lot of terrible consequences, but the Wikipedia article points out a few ways besides magic tricks that we can exploit it for good: http://en.wikipedia.org/wiki/Cognitive_dissonance#Applicatio...
I was going to post almost exactly this--Stripe is seriously doing everything exactly right. They really need to _not_ get purchased by anyone: keep this A-team together!
AFAIK that only applies to government organizations, as long as you get paid the same amount each month, and all the time you can easily avoid that by getting paid (Salary-X) one month, and (Salary+X) the following month, X needing to be just two dollars.
Happy to. I was 15 at the time, so I had limited knowledge of algorithms. So, I invented my own :)

IIRC I packed each character into 6 bits, using the first 26 values for A-Z, and the rest of the values for the common 2-3 grams that I found in the back of a dictionary in the local library. I had some other scheme for building words from stem + suffixes (eg flood, flooded).

What I learned the most from that experience was mostly around reverse-engineering and perseverance. I had to figure out what the 1541 drive did by disassembling its ROM and following the boot sequence. When comparing it to a 2040 drive (a older dual drive variant that was much more expensive - something like $2500 in 1981 dollars) I knew quite a bit about the sector interleave spacing - the disk could do sustained 2 sector reads per revolution. So I knew there was room for improvement if I could just get the transfer rate between the disk and the C-64 to go faster. I did that by improving how it transferred bits down the wire. To cut costs, Commodore had a serial interface vs. the parallel IEEE-488 interface used in the 2040 / Commodore PETs of the previous generation. They had a super inefficient algorithm where they did a handshake for every bit that went down the wire. This was due to the VIC chip in the C-64 stealing cycles from the 6510 CPU whenever it needed to read from shared RAM. Since they weren't clever enough to figure out when the VIC chip would steal cycles they did a handshake for every bit.

I improved this by asynchronously transferring 2 bits at a time using the clock and the data lines for ~3 bytes. I could read a register on the VIC chip that would tell me what scan line was being processed and from that I could tell when the VIC chip would steal the bus. Also on the vertical flyback I would be able to transfer bits with impunity.

This speed boost made it possible for me to hit the interleave on the disk and get the transfer back up to ~25Kbps.

These were pretty low level hacks (that worked quite well) to get things to go fast. Not sure how any of that transfers to the things we do today. One thing's for sure, I don't think I'll ever understand a modern computer as well as I understood those computers of my childhood.

The spell checker was completely IO bound. The 1541 stored ~170KB of data. The words on disk were sorted and I generated a unique sorted list of words in memory. It was, at the time the fastest spell checker for the Commodore 64, it was packaged with a popular word processor of the time called WordPro 64. Most of the other spell checkers had much smaller dictionaries and took a LONG time to read the disk. I could read 170KB in something like 70s, which, using my data transfer improvements was 5x faster than any other spell checker at the time. I'm pretty sure I had more words in my dictionary too. But things are a bit fuzzy - that was nearly 30 years ago!
Maybe Amazon would be in the best position to do it.
Media companies suck. CBS now delays start times by 2 minutes to break DVRs. And certain shows (ie person of interest) don't exist legally on the Internet.

What do they expect people to do?
$40/month for membership and the video made it seem like those little bed pods were included. Sounds like home to me
That's why I said "should be". Individual targeting should be really powerful--just look at google. But Hulu so far hasn't been able to do a good job of individual targeting.

I'm sure there are reasons why; it'd be interesting to hear what they are rather than just "there are reasons".
The problem was that the 6504 in the disk drive only had something like 2KB of RAM. It was better to transfer the data to the C-64.
Maybe TV advertising is a speculative bubble for big brands just as interested in "branding" than measuring any kind of conversion funnel, the second they get onto something like Hulu they can much more easily see a campaign failing.

The other aspect could be that online TV show streaming is still new technology and the early adopters are the same kind of people that don't respond well to traditional TV advertising.
About the browser Memory leakages.
Even worse! They could derail passenger trains loaded with lethal chemicals and nuclear weapons!
Geez. Just use shim - https://github.com/mjg59/shim
I am Waiting for the interesting topic's about the " browser Memory Leakage "
Hey Rick, you've been nice to share your experience. As someone in China, some free advice --

I'd be aware when paying upfront, that it's almost certainly a when not an if that a shipment won't go through and your broker will disappear. Standard operating procedure here is to always screw with the money in the last batch before closing out of work... it's not always even the provider's fault, it can happen anywhere in the supply chain that you don't know about, but you'll feel it. So just budget in cash/inventory, and probably mentally/emotionally too, for your contact to disappear with your cash someday and you getting no product. If it doesn't happen, so much the better. But it could ruin your day if you're not prepared for it.

(I love China anyways... it's just the standards/controls aren't there yet. Ten to twenty years from now it'll be a non-issue. But take a couple minutes to protect yourself in the now.)
How streaming should work in 2012: a provider-agnostic protocol allows any video producer to place content online, either for streaming or download. There are no codec wars or patent issues. Digital video "warehouses" collect all these sources of video, providing bandwidth and an open API for purchasing streaming and/or download rights to a video, with a simple algorithmic pricing structure. Frontend websites and applications then compete for user attention, mixing and matching video from any source they please, with the only requirement that they pay the streaming rate to the video aggregator. Any video, any time, with any UI.

Instead we have ever-increasing ad durations, limited episode selection, proprietary players with terrible video quality (e.g. some of them use nearest neighbor scaling in fullscreen, there's no vsync so there's massive tearing and jitter, the latest versions of Flash for Linux and YouTube swap the red and blue color channels, etc.). Television as a medium is broken, IMO: advertisements are timed to start right at the point your mind starts to get absorbed into a show, causing frustration and a desire to change channels or close the tab.
Ask HN: Project based pricing or try and build a Saas app?
Don't know which way to go on this one, client needs a work order + inventory app. I was about to simply quote a price for a bespoke app, then thought why not charge them nothing... build the app ourselves and have them subscribe to it as the first customer. I would ask that they pre-pay a year on sign up.

One possible issue arises if they decide they don't need it after I've already paid to build it.

There has been a lot of discussion on project/value based pricing vs hourly, but how about we throw subscription based pricing in as a third option?

Thoughts or suggestions?
I agree - integrated design coordination, manufacturing and fulfillment is just waiting to happen.. and explode.
This is wrong.

I can't talk about this case specifically for various legal reasons, but:

In general these bonds are exactly to pay for lost sales due to a preliminary injunction that wasn't deserved. The injunction does not even become effective until the bond is posted.
The only case you wouldn't recover is if the injunction wasn't upheld but you lost the lawsuit anyway, and even then, it depends on what "lost" means.
This should be rare, since injunctions take into account "likelihood of success on the merits".

Additionally, if you win, it doesn't even matter whether the injunction was deserved at the time, you can still recover on the bond because you were enjoined from doing something you had the right to be doing.

As for whether it matters if it was the judges fault or Apple's fault: For patent cases like this, there are no grounds for reversing a preliminary injunction except deciding it was an abuse of discretion (since that is the standard of review for this kind of injunction). So all reversals are because it was granted improperly by the judge.

I am a patent attorney.
When are you shared plans going to be available in US West?
And lions and tigers and bears! Oh my!
I used to be a Hulu+ subscriber until they introduced the "brain-spray awesome" experience last month. Now I am not a subscriber and since there is no free Hulu to watch on TV - not even a customer.

They took away the ability to add an entire show to queue and the notifications of the new episodes in the shows in your queue among many other things. I am not sure who thought the removal of these features is somehow making the service better but I would be really surprised if it were its parent companies.
Seeing how the company spends money to cripple whatever UX it had before and lose customers I imagine Hulu has much bigger problems than the influence of its parent companies.
Your quote:

Let me get this straight, you do not know how to set up version control, therefore knowing how to set up version control is useless?

What I said:

Professionally, I've never set up version control.

I also never said it was useless. In fact, I use it at work AND at home on my own projects religiously.

However, I don't feel a need to ask about it in an interview. If you haven't used one you will be soon and if you know how to manage one it's just gravy. I might not even ask it's so inconsequential. Continuous integration is the same.

And no matter how you spin it, it's not software engineering. Not in the ballpark, not even the same game.
Thanks for the amazingly detailed response! I'm still unclear about one thing:

Couldn't you simply throw an exception if the type annotation did not match your usage of it? For instance:

/* v8-type: string, string -> string */
function append_strings(a, b) {
return a*b; /* exception */
}

Similarly, the underlying library could gradually get type annotations, as Erlang has been doing progressively for the past year or two. As more and more code gets annotated, you can "lift" that knowledge into any code that calls, for instance, String.substr(), and assert that the types match when they are provided.

To me it seems that even the complications caused by multiple types of arguments to many built-in functions would be less complex to resolve at runtime than the hairy, "lazy" logic they're referring to in this article.

Iterating through an array of type specs and resolving the correct underlying code (only in the specific case of annotated functions being invoked - usually 'hot path' code that has a simple breadth and call structure for other performance reasons), throwing an error if there's no match, seems easier than Hidden Classes, in my admittedly naive view.
I wish that every headline of this type had windows in parentheses ... "Panetta Warns of Dire Threat of (Windows) Cyberattack on U.S."

How many years ago were we up on that stage at defcon while bo2k was demoed ? And 12 years later nation states (Iran) are getting owned by the same old autorun.inf.
Huh, it took me a while to realize you meant "significant other". I was thinking "stack overflow" but that didn't fit the context well...
Google search quick view shows that he died on Oct 9, 2011.
I am currently running a Kickstarter campaign and I must say that this is far from being a trend. The run away success campaigns have a track record and a following, which is leveraged to create the initial PR push. Without hitting 20% funding very early on the project has very little chance of succeeding (kickstarter stats).

A lot of our pledging happened from traffic coming directly from Kickstarter. My guess here is that people that come to Kickstarter have an intent to back and they become shoppers. User lands on one cool project, gets excited, browses, which leads to other projects being discovered and potentially backed as well.

At the end of the day, it's a funnel and your project has to be discovered in order for some users to convert to backers. It's also about connecting your project with the right audience. By cutting out Kickstarter you cut out a large portion of users that are more likely to convert, reducing chance of initial social sharing, crazy trends that create press stories, etc. This is why I don't think this is a trend.
Curiosity finds Mars rock surprisingly earth-like
Just to point out:
You shouldn't read into the federal circuit from this opinion. This was a 3 judge panel out of 12 judges (well, 11, there is one vacant seat).
They are likely trying to keep their docket sane by not having another appeal on this part of it.

I mainly say this because this is the same court that has brought you patentable DNA, etc.

If you wait a month, y'all will hate them again.