skysight-inc/HackerNews huggingface dataset:
Here is some detail on the kind of stuff Wasabi does:

"[H]ow to translate [this bit of VBScript] a(1), which could mean "look up the 2nd element of array a" or "call the default method of the object a passing the argument 1" depending on what type a contains at runtime? This really matters, because we use arrays, and because we use the built-in class RecordSet all over the place, doing things like rs(1) which is short for rs.Item(1).Value, and since VBScript is latebound there is no way to know what code to generate in PHP until runtime, and that's too late! The only correct thing to do in PHP would be to generate code that checks the type of a, and decides, at runtime, whether to do an array lookup or a method call. This is messy and slow and would suck big rocks in the kinds of tight loops where you tend to be using arrays.

How did we fix it? Well, thanks to Hungarian notation, so callously dissed by developers who do would not recognize a superb coding convention if it walked up to them on the Shanghai Maglev train and shook their pants leg, every recordset at Fog Creek starts with the letters "rs". And Thistle looks for the rs and say, "ah, this is a recordset, you're not looking for an array value, you're calling the default method," and generates fast code. Based on your age you will either call this an evil hack (if you're young) or an elegant hack (if you're old); in either case it's a huge optimization made possible by the fact that Thistle only has one program to compile. Outside of Fog Creek it wouldn't work. All hail Hungarian notation!"

http://www.joelonsoftware.com/articles/FogBugzIII.html
Not true. Read the article :)
Technically it'd have to mandate that []-= be atomic, there's a load from and a store to a k:v collection, not just from and to memory.
"From that they decided that the 100% remote workers were not producing as well, or were acceptable to lose."

I'm getting the picture that US has few employment rights! It will be interesting to see if any of those directly affected by this break cover and discuss it in public.
This glosses over how anti-user infinite history is.

The problem of the ever-expanding cache is annoying but easy to deal with - Ctrl+Shift+Del, select only "cache", then "obliterate since the beginning of time".

But if you follow this procedure with your browsing history, your (or at least, my) browsing experience is significantly degraded because all your URL autocompletes are gone, at least until you re-visit all your regular sites. You can tell chrome to delete, say, just your browsing history from the last week, but that doesn't help you when what you want to do is delete all browsing history except that from the last week (to preserve your autocompletes).

It's a real PITA.
Rdio's user interface is significantly better on mobile for anyone who still views the world in terms of albums.

Spotify has a significantly larger catalog.

For now I'm using both. Rdio whenever possible and Spotify for specific artists and releases. Still cheaper than buying all the music I listen to each month.
Pull to refresh. For the web
The feature you know and love on your phones and tablets, now for the web.Super easy to implement on your sites!
My "mod" is drilling the sear pin hole (above the selector), removing the semi auto fire control group, installing a full auto fire control group (including sear and pin). You may need a new bolt carrier to trip the sear.

You can buy AR lowers with (IMHO) ill advised fake sear pins to mimic the look.

The lightning link is even easier. Check Quarterbore's website for details.
Given how many people in California go to Tahoe and Mammoth for a weekend, I think cold weather driving is a must. That would stop me from buying one.
Not counting constructors/destructors toward the total? That's the only thing that immediately comes to mind.
Oh wow, it has sync? I thought all of the proprietary Google features were kept in Chrome; I'm not sure how sync could've been implemented in an agnostic browser...

Thanks for the further info though, it's been awhile since I've updated my Chromium.
When solar flares turn out the lights
Possible, but it seems really dangerous to make statements like that outside of normal disclosure routes. They're a publicly traded company, and the SEC really doesn't like that kind of stuff.
I was so excited to read this..!

I often hear people in the startup community valorize "critical thinking." Most often though, they're talking about creative talents applied to tech (software & business) problem solving.

That kind of critical thinking (which I consider as cleverness with a specific category of puzzles) is readily available though - there are plenty of great hackers in the world.

There is another kind of critical thinking that I find broadly neglected - the kind in this post. The startup/software community needs more of this.

Can you imagine what the world might be like if the resourcefulness of hackers become more strongly intertwined with institutional&cultural critical thinking?
What if "disruption" wasn't 98% motivated by $$$, but originated from studied/steeped desire to move power, class, race, politics, representation, and art?
A lot of people are of the opinion that Musk should not have called out the NYT and taken a much more laid-back line. But consider for a minute the Iraq war - years after the start many people still believe that Saddam was directly involved in 9/11. Once people form an impression, even if that impression is completely, utterly and factually wrong, it will persist for a long time.

Right now is a very crucial time for EVs and Tesla in particular when this popular impression is being formed. If nonsense like "Electric cars don't work in the cold" gains traction, it will be very bad for the industry. And if you think that quote sounds ridiculous, it is exactly the take-away a casual reader would have gotten from that NYT review. Remember, to this day a sizeable chunk of the population still believes Saddam was directly involved in 9/11.

So I say, Musk did the right thing - if you don't defend yourself, you might end up with nothing to defend.
The trick is having enough skill to be able to evaluate the professional you're going to hire. I've been bitten by this before both in my personal and professional life. If you don't know enough about the field even someone with only a marginal amount of knowledge about the topic can seem like an expert.
Sounds good in theory, but login-links are a security issue, because they:

show up in browser history
can be pasted accidentally somewhere
are send usually unencrypted via email

You'll need one-time login links, which is partly okay, partly inconvenient.

Don't get me wrong, I play with the idea of login-links as well, but they have some drawbacks that one should at least be aware of.
This is based off general programming knowledge, as I have never used C++, but I think it is referring to a highly-modulated programming style that uses many general functions.

I.e., instead of writing a few quick lines of code to perform bisection search in the middle of logic flow, you create a general bisection search function and implement that.

This leads to high productivity "a statement per function", and makes code cleaner and easier to update, but can substantially increase overhead costs.
All of that stuff can be turned off though (or in the case of apps & themes, not installed)
I guess I should have been more specific about my strategy for "generated" content in an ecommerce environment. The traditional ecommerce elements that should be real-time are; such as carts, pricing, availability, etc. Everything else is generated on update via our [custom] inventory management software.

The closest analogy I can give is Varnish's Edge Side Includes. It's not exactly the same, but it's very similar.
The risks far outweigh any possible benefits. Perform the modification. Great. Now you have a weapon which shoots expensive ammunition much more rapidly at worse accuracy, and if you take it to a range, you'll probably get arrested. If you ever get caught with it, you will lose your liberty for some period of time, and for the rest of your life be unable to own firearms.

That's why idiot "mall ninjas" (google the term) like to brag about how easy it would be to convert their gun to full auto, but almost nobody actually does it.
The article actually makes a lot of sense. In the case of an organization that wasn't set up properly for remote working and then grew out of control for many years - there's probably a lot of people who simply aren't contributing. It saves Yahoo the negative attention that a round of layoffs would bring.
Editor, Product Manage Thyself
The only people I know who think obesity is complex

Do you think obesity is not complex?

You'll probably be skinny fat

Probably? What if you are not? Do you just not count those people?
How embarrassing for NYT. My goofy cousin ran out of gas on the highway, maybe NYT can publish his story too.
Really?

I've worked on compilers for a long time and the AST generation is typically the easiest part.

Optimizations, and different target backends are easily an order of magnitude harder.

That's why every new language typically begins as a simple AST tree walker, that's the easy part.

They can they "graduate" to byte codes and then to asm generation if appropriate.
Thank you for creating a humane solution. I know of a couple that used a shock collar on their dog. It didn't stop him from barking. So they locked him into a room of their house when they went out - and when they came back the dog had shredded, chewed, gnawed, clawed everything in the room. I'm sending them this link!
Who determines what the decorum for such a dialog should be? Does the informality effect in any way the rationality or defensibility of their choices? Why do people care? I'd much rather read an article in this tone rather than some stuffy technical blog like many other engineering teams sometimes put out.
Wow, you went way off kilter there mate, I didn't "bitch because the main list types aren't threadsafe", in fact I didn't even emit the slightest criticism (let alone "bitch") on that front as it makes perfect sense, you're the guy getting all butthurt because I note in passing that Java's or C#'s core collections are no safer than Ruby's if you're using them in a stupid manner.

Chill and lay off the exclamation point.
I use Rdio right now, but I'm thinking of moving over to Spotify because I hear it will let me play my own music collection through its interface.

It sucks to be in Rdio and not be able to play my iTunes music. I've read that playing your location music collection is a feature that the Rdio team has no intention to ever add because "it's not social". Sorry, but that's a terrible reason. Sometimes you just have to get the Led out, and that's not possible in Rdio at all so you'd have to switch over to iTunes.

The idea that the Rdio team dismisses this feature because "it's not social" probably bothers me even more than the missing feature itself.
Android WebView and ViewPager, and Horizontal Scrollable Content
In this case it was the same - I had complained several times that this individual had contributed absolutely nothing to the project, and this was proof. He asked how to access source control, and then while showing me what he was trying to access source control for it was apparent he didn't even know which operating system we were running on. He had written no code, and had never even successfully run the software. My point is that if people are going to tolerate useless employees, it can happen on-site just as easily as off-site.
I hadn't heard of Modern Tribe before. I like the concept. It's clear that the remote work paradigm can work for small companies. What we need are more examples from large companies (like HP and IBM) to show that it can be done.
The headline is a flat-out lie. The monitoring is being done by content owners, using publicly-available information from torrent trackers and other peer-to-peer networks.
The Science Of Being 'Top Dog'
There's all sorts of different scenarios, including expungment (which is indeed what Randal accomplished):

* Expungment: The records are sealed. It's (mostly) as if the conviction never occurred, since there's no way for people to access the proof that a conviction was returned. But this is a legal construct that only applies in the legal world, they can't go back and erase the newspapers.
* Pardon: You did it, but we just won't punish you for it.

But the only one we can ask would be Aaron, unfortunately. For what it's worth what "felon" means is entirely up to the state you live in, the people you talk to, etc.

I worked with a "felon" (and I'm using this term very loosely here) who had a clearance higher than mine, actually did the kind of jobs where they can't talk at all about it, was able to vote, use banks, etc. No one thought of him as anything less than a valued shipmate, but of course that's just my personal perspective.
Theologically, that would probably be a prophesy that was fulfilled by Christ. Historically, you're correct.
Interesting idea, I hadn't thought of that before. This only increases the complexity of the Makefile though, and for not much reason. Hashing can help in other circumstances (such as possibly skipping a linking step if the object files don't change), and it would really be much cleaner to have it as part of the build system. The last time I played around with generating code through make, it got real ugly real fast, and I don't think your 'install' trick will help much in that regard...
I ran a site (stomped.com) in the late '90s and we did this. We were serving up news items to millions of unique visitors a month and hitting the DB on each page hit. Rather than try to implement a bunch of caching methods we went with generated HTML files. Given how often content changed (a few times an hour at most) it seemed a waste to generate 10s of thousands of db/cache hits when things rarely changed. Simple. Stable.
Here's an idea/concern -- for those of us NOT using our ISP's recursive DNS what will this notification plan look like? My ISPs notifications (as in an interstitial page) won't show if I'm not using their DNS.

Presumably if I'm using OpenDNS or Google DNS for my recursive DNS it's going to be impossible to browse my interwebs if this ever happens. I'd need to assume this might be the case, and then switch back to the ISP's recursive DNS just to proceed through their acknowledgement page. Derp.
I use Rdio instead of Spotify because of its radio feature

Contrary to what the article was saying, whenever I started one of those automatic playlists based on an artist or something, Spotify would seemingly play stuff at random. There would be some coherence, like "songs using the same language", but it would jump wildly between slow, fast, folk, rap, dub, and what have you. Really, it did not work at all for me.

In contrast, the Rdio radio stations work really well for me. You can base them on songs, albums or artists and they will stick to that genre within reason. I had some of those playlists running for days on end without them getting annoying or repetitive or veering off genre.

This has become my most used feature of Rdio.

Well, and then there is the thing about Spotify not being available here. But that is really not something that would stop anyone in the HN crowd.
Chromebooks and Battery Life
Wouldn't you want a bigger car for Tahoe, to fit the skis, snowboards, etc? (Also, Californian roads, snow chains, etc)

But, as for cold, Tesla apparently have lots of Scandinavian customers who live in very cold places and they seem to do okay. I have no idea how to say "My car died in the cold" in any of the Scandinavian languages, so I can't search for reviews.
Not really. The point is that in fully automatic mode, you can blow through a backpack full of ammunition in about a minute, probably not hitting anything because the continual fire and your efforts to control the gun are throwing the barrel all over the place. Now the cops are standing there, they're pissed, and you're out of ammunition. If you were a typical "crazed killer", this is the point where you'd shoot yourself, but you just sprayed all your bullets down the street.
I usually will ask the person I'm interviewing to describe their job or the activity which I am posing a solution to. In the case of my startup, I'll ask them to describe their experience planning and running a conference as if I knew nothing. Their pain points will naturally emerge as they describe their processes, and their real issues usually become obvious by the way they describe their job (even if they don't know their issues consciously themselves!).

I usually go for long interviews (30 minutes to an hour) and look for commonalities between them after every batch of 5 or so.

If more than 2/3 of the people express a pain point, I know there's a real problem there. In my case, I'm trying to craft an MVP with 3 or so main features. Every person I've interviewed so far has expressed the same base 3 pain points (in addition to other needs which varied from person to person) so I know what I'm going to focus on solving with my MVP.

I usually use around 5 questions an interview, but sometimes I've asked as many as 10 or 15 depending on how talkative the person I'm interviewing is.
I'm always curious how Rhapsody gets left out of these conversations. It's been doing what Rdio and Spotify are doing since 2004 (or earlier?). I've tried them all but continued to stick with Rhapsody if for nothing but superior music selection.
> If the solution is so simple why is it so difficult to explain?

Many things which are conceptually simple are nonetheless difficult to explain, particularly to a skeptical audience. Relativity, for example, is conceptually very simple, but nonetheless hard to explain.

> Would it be too much to ask for OP to simply describe the solution?

Did you even bother to read the post you're commenting on? That is exactly what it is about.

> OP can, for example, assume we know what encryption is.

No, I can't. My blog has many non-technical readers. (And, BTW, knowing what encryption is and knowing what public key encryption is are two very different matters.)
Snapchat CEO Warns Ads May Soon Interrupt Your Sexts
Sure, but that "provided I've discovered the issue in time" leaves a gaping hole for a sneaky attacker. If I've got your email password, and I'm camped on your email account while hitting all the other website's forgot password forms, and I delete all the mail as soon as I've retrieved the link - how do you "discover the issue"? In some ways, that sort of attack is even more insidious than taking over the Google account completely - at least being locked out of your account raises the big red flags immediately, how would you even notice I was reading all your mail with a stolen ASP? (While I'm being particularly evil in my thinking, I'm imagining an attacker quietly gaining access to read email, and not actively doing anything to arouse suspicion, then waiting for _you_ to hit passwrod reset links on various high-value-to-the-attacker sites, perhaps forcing that on you by triggering brute force protection on those other sites…)
The only thing we know for sure at this point is that Mayer sucks at PR when it comes to the tech community.

Which is worrying. If Yahoo really wants to attract top talent again, at the very least they would have spun this better. Now there is only a leaked (surprise) internal memo and a complete lack of control over the story, which means they either don't give a damn or they had no clue.

Neither explanation speaks in favor of Yahoo, even though the decision itself might be a perfectly good one.

For most of us Yahoo just earned extra points in the "places to avoid working for" column. Not because of the decision to call in remote workers, but because they apparently don't understand what it looks like to those people they actually want to attract.
I don't see what this scrutinization of stereotypical trendy startup environments has to do with remote working. If a company has budget for it and wants to make its employees comfortable with open space, and the employees like it, it's their business. To suggest that "serious software engineering" isn't occurring because of how you suppose their workspace is setup is, frankly, offensive.
In software engineering, most of the work goes on inside the minds of the developers. Most of the remainder goes on in a keyboard and a screen. If you wanna get down to it, having more whiteboards and less fancy computer equipment is an indicator of better problem solving, not less.
I sit with three 19 inch monitors on my desk at work. At home, I use a 10 inch netbook most of the time. I have not seen a difference in productivity because when I am focused, I don't need screen real estate for more distractions. Everything just tunes out.
If you consider phd-level university computer science research as "serious software engineering" then I'd note that most research labs I came across in my days in academia were largely empty rooms with some tables and some work desks. Most of the students (phd students, mind you) worked on whiteboard and did coding and writing on whatever laptop they had. The workhorse machines w. big monitors were usually time-shared and dedicated to running heavy processing jobs.

As far as working from home goes, it seems you each agree that being comfortable with ones workspace and environment impacts productivity. That said, one is more likely to have a comfortable and productive work environment when it is up to him/her to decide what equipment to use and where, which a home office lends itself to more than an office, especially on a corporate cube-farm level. Sure, some individuals may not be as productive at a comfortable workspace in the home, but that is the individual. Working from home is not for everyone, but those who find they are more focused and productive in the home environment ought to have that choice.
How to generate $2.2 billion/year to charity. Vet us, please.
Hi. OP here.

Thanks for the comments about atomicity vs. thread-safety. Absolutely on point. The article started out demonstrating what happened with concurrent Array mutation, but then I put in that += operation and didn't address it. Sorry for not making the distinction. Atomicity is absolutely a different issue than a thread-safe collection. I'm publishing something new tomorrow that addresses this point.

To bring things back to code, the point I was originally trying to make is that this code is not thread-safe.

array = []
threads = []

10.times do
threads << Thread.new do
100.times { array.push(rand) }
end
end

threads.each(&:join)
# 10 threads each inserted 100 values, result should be 1000
puts array.size

Specifically, too many Ruby programmers won't think twice about this operation not being thread-safe:

array.push(item)

But there's no such guarantee. This is demonstrated nicely when this code example is run on an implementation with no global lock, try it on JRuby.
http://www.chromium.org/getting-involved/download-chromium
Lawyers love debating language while detaching themselves from reality.
As an American living in Australia who likes country music, I'm very frustrated with the choice of artists available in the AU version. Out of the Billboard Top 50, maybe 2/3 of the tracks are available here. I assume this is due to licensing issues, but it's annoying to say the least.

That aside, I agree with the author that the ability to use local audio files and the offline downloading are the killer features. I use both on my phone nearly every day. My recommendation is to go with Spotify (I'm a premium member).
Agreed, although you could argue that Apple provides something of tangible difference i.e. iOS and OSX, whereas Warby still sells the same Chinese glasses but with a better customer experience.