skysight-inc/HackerNews huggingface dataset:
Rails creates the database tables for whatever ORM you're using using its Migrations. Rails keeps track of which migration files have been run.

The usual syntax for creating these migration files is in Ruby, as this makes them database-independent, arguably more easily readable, and in newer versions of Rails, reversible.

Of course, you can put plain old SQL in these migrations if you want to as well.
Why virtual reality is hard (and where it might be going)
Yes, put complete trust in the same judicial system that moves judges off of cases when they don't like the rulings. Especially when those rulings are centered around the exact handwavy unjust fourth amendment violations that justify the program in question here.

http://www.democracynow.org/2013/11/1/court_blocks_nypd_stop...

I don't know if you're seeing what i'm seeing, but there appears to be a war going on over this issue. Why should i trust the very capable people on this side of the fence, and not the very capable people on the other? Because you said so?
I wonder how many of those innovations at the time AT&T was involved in bringing to market.

Also interesting to see the analog nature of things prevalent in the ads-- how the images flicker into place on the screens.
Scientific Approach To Marketing
Evan Booth can build weapons out of post-checkpoint things. AMA.
For the politically inclined - the GQ interview with Kim Jong-Il's sushi chef is brilliant (and will probably become a movie someday because the arc is so crazy).

Excerpt: "The chef's name, an alias, is Kenji Fujimoto, and for eleven years he was Kim Jong-il's personal chef, court jester, and sidekick. He had seen the palaces, ridden the white stallions, smoked the Cuban cigars, and watched as, one by one, the people around him disappeared. It was part of Fujimoto's job to fly North Korean jets around the world to procure dinner-party ingredients—to Iran for caviar, Tokyo for fish, or Denmark for beer. It was Fujimoto who flew to France to supply the Dear Leader's yearly $700,000 cognac habit. And when the Dear Leader craved McDonald's, it was Fujimoto who was dispatched to Beijing for an order of Big Macs to go."

Fogus, thanks for sharing this in your list:
http://www.gq.com/news-politics/newsmakers/201306/kim-jong-i...
It's fine that you didn't watch the talk, but you shouldn't comment pretending that you did. I think you just wanted to take a shot at Greenwald. He made some interesting points about PGP and OTR. Both of which he uses now.
Yours have not been restricted. Freedom isn't always about YOU. Assuming you are white, for a moment, would you have disregarded the struggle for civil rights in the '50s and '60s because Jim Crow laws didn't restrict YOUR freedoms? Would you feel good about that decision today if you had?

There have been hundreds of cases discussed on this web site in which the the limitless security state has had a substantive impact on the lives of innocent people. Going beyond that, it is pretty clear that people change their behavior when they are being watched, and not for the better (https://encrypted.google.com/search?hl=en&q=privacy%20nothin...).

Your liberties HAVE been reduced, you just haven't bumped into one of the new walls yet, or you didn't notice if you have.
I was about to suggest the same thing. And if you go with foreigner, then you can / should also use the aptly-named immigrant[1] gem to automatically detect where foreign keys are missing and create the migrations for you.

[1]https://github.com/jenseng/immigrant
Ripple’s Big Move: Mining Cryptocurrency with a Purpose
I had the fun of programming a this machine at the University of Virginia during the 1970s, and the Grishman book linked there was our textbook. It's a very pleasant and entertaining read.

The key to understanding the architecture is to realize that you are not writing assembly language as much as microcode. I think the architecture would have lasted longer if it had chosen to have registers be a multiple of 8 bits rather than 6. As important as number crunching was to that machine, the limit of 64 characters per 6-bit "byte" was really annoying and made interoperability a mess.
There is a level of detail where things sort of fall down. And I have fallen into that sticky pit a few times so I am getting better at recognizing it.

On the one hand, it is useful to know everything about the CPU construction, on the other it is efficient to use something with other people helping out.

My current plan is a compromise position, early in the project there are basic concepts on computation, but once the basic concepts are presented they are "mapped" over into an ARM implementation. This takes the reader from "Ok, I get how computers do their thing..." to "Ok, I see how this type of computer does its thing." At the end of the day I felt that both were important concepts, the how, and the how to match with existing practice concepts.

That said, my board design that goes along with this has an FPGA which is there to implement a simple frame buffer. That was before I found the STM32F429 which has its own simple frame buffer, and so I'm digressing at the moment trying to figure out if I should go that route or not. One of the benefits of having the FPGA on board was that for some definition of "easy" you do some stuff in the FPGA, the scare quotes though are there because FPGAs bring their own pile of complexity to the problem and that defeats some of my goals of keeping it only as complex as it needs to be.
How about you start? Why don't you seed this discussion with at least something other than just a question and "I'd like to hear your side projects..."? Show us that you're invested in this by giving us your thoughts/ideas instead of asking us to "do all of the heavy lifting" here and I suspect you'll get a lot more response.
'Eye of the beholder, as always. To my grandmom, I'm an elite weapons-grade hacker because I hit Ctrl-B to bold something in MSWord rather than clicking the button for it.
Code to Read When Learning Go
This is only partially true. A C++ reference can outlive the object it references.

I didn't mean to imply that it couldn't, just that by using a reference instead of a pointer you are disclaiming responsibility for lifetime management of the referenced item since you can not delete a reference.

C++ being what it is, one can ref = *(new object());, delete &ref;, but the intention you are expressing by using a reference is more hands off in nature. It isn't retargetable, no built-in ability to new\delete, etc.
"How to be a script kiddie" is more apt of a title.

This is embarrassing to actual infosec specialists and penetration testers.
Building Deckset for Mac: Beautiful Presentations from Markdown
>How about "DARCS did some things right that git could learn from" as a different way to present this material?

git could not switch from their history centric model to darcs' patch centric model and fix the schizophrenic ui without breaking everything built around git. In such a case a different project is useful. See python2 vs python3.
> 2. For much of this, we can thank the loosening standards imposed over the past two decades by a specialized patent appeals court that has given overblown significance to what once was a highly specialized field of tremendous importance to the competitors immediately involved but not to average people.

Since (AFAIAK) you're an attorney but not a patent attorney, I'm curious, are you speaking from experience, or basing this opinion on a certain Ars Technica article?
If you honestly think you've been downvoted for "asking a question", take a moment to think about the type of question you asked and the way you asked it.
The Man Who Created Aids : ‘Robert Gallo’
Please enlighten me as to the point of this article then, because from my POV, it's a list of 'hacking tools' that you can use to be an entry-level 'hacker'.

This notion of being a hacker due to using a tool is preposterous. The only thing the article does is perpetuate the flawed understanding of computer security and hacking for the general public.
Chrome Version 31.0.1650.63 m (Windows 7)

Aw Snap screen when I clicked download polaroid image.
This is really a very tidy analogy, I like it! It can even be generalized to other problems, such as crime, where the response to some threat (real or imagined) yields an outsized response that ends up making the problem itself much, much worse. The war on drugs would be the best example here.
The Daily Show December 18, 2013 - John Beale, Corrupt EPA Official
You can take a hybrid approach:

https://github.com/erlyvideo/rack
>The implications of my comment were not simply that gamma is reduced to zero, but that the whole problem is thrown out the window because the entire pool would be banned from the network (blacklisted).

Ah, but even if detection worked perfectly (and did have a false positive rate of 0), who precisely do you blacklist? The Bitcoin wallet? It's trivial to generate more. The IP address? Which precise IP address? Even if you could locate the IP address of the submitting node accurately, a pool has many, and it's possible to get more.
Think about shooting with a shotgun at a target. If you have a thousand pellets, the distribution of pellets at the target will be quite smooth. Now, shoot through a narrow aperture that takes out 99% of the pellets. Now you have ten pellets. The distribution can not be smooth. The sampling frequency (pixel size) at the target does not matter much. It is the aperture size.

I realize that is a very flawed analogy but it's the quickest I could come up with.

Here's more:
http://en.wikipedia.org/wiki/Shot_noise#Optics
Blog should point to the full hourlong piece. Coincidentally, I just watched this a few days ago and it was excellent.

http://www.youtube.com/watch?v=MHb9gjOFEbA
This year I ended up focusing on an open resource for teaching and learning Python, http://introtopython.org. In 2014 I hope to bring that project to an appropriate level of completion.

After that, I'd like to go back to another project I started, http://opencompetencies.org. This project aims to help educators build and maintain their own sets of education standards.

These projects have been well-received so far. I just need to keep making time for them, and see them through to maturity.
There is such things as "free" software, that so far, has done really well. The example that immediately jumps to mind is the "Free-to-play" game. You download the game for free, but you can buy stuff to enhance the game via micro-transactions.
So, not having prostitution, will create opportunity?
Time to go publish 50 $.99 android / ios apps.
Couldn't people build your app and compared it to what's on the phone? Don't know anything about windows.
That's not an issue, that's freemium. You can pay if you want to.
I would also add that, sadly, rdio has not kept up with Spotify's library. It also seems built less around the user's interest and more to get new music in front of people. Probably great for the artist's reps, but when Drake and 7 Days of Funk shows up under Heavy Rotation and I've never listened to anything resembling either, they've already failed.

And while I applaud their attempts at a native wrapper around HTML5, you can hardly claim that Rdio has "nailed it" with regards to their native app. It's a whole different product.
I am curious to know if today's modern TCP stacks (windows, popular linux distros,etc..) are coded with the same approach. Does anyone know?
The patent says "about 3 feet" instead of 3 feet, and while that's vague enough to be stupid they've helpfully provided images of their classes that represent a camera at that height in the post. Skimming that video it looks to be a very close match.

I'd be interested to know whether arguments used defending against prior art are legally binding afterward. For example if they said "nope, the camera looks to be 1m, not 3ft", would they be unable to consider something at 1m infringement forever?
Norwich vs Man Utd Live Stream
Even if you had 100% efficient sensors, photon shot noise would still be an issue. You are sampling the photons emitted by the target. After having reasonably efficient sensors, it's a baseline you can't go under.
I cancelled my two-year Spotify membership when I finally reached my breaking point with them continually removing key features.
Yes, take a look at the "new" page. On it you'll see 30 recent submissions, most of which are just as appropriate as those on the home page. But, they don't get any votes, why not?

I don't think it typically matters whether the submitter has name recognition or karma, but rather how many friends and colleagues the person can rally to their cause. All it takes is about 10 points in the first hour to get to the front page and then it can "ride the wave" from there. This is an easy threshold for people with large professional networks, companies, with friends in SV et al. Many people here know each other. Yes, there are some technical counter-measures, but there is only so much that can be done.

This is not to say that a user acting alone has no chance of reaching the home page. However, after a few years of frequenting this site, I believe that most of the posts hitting the front page have had a boost such as I described above.

My personal experience anecdote is that, over several years (also considering prior accounts), working as a "loner", that I've never been able to get more than a few meager votes on a submission. Even if they were highly on topic, even if I got up at 6am Pacific, supposedly the best time to do it.
Maybe I'm unlucky or my submissions suck, but I rarely bother any more.
Very nice and not complicated at all -- good work!
This was an awesome article filled with a lot of lay science! I only wish the author did a follow up with any strategies learned on how to combat this.

Does anyone experience this phenomenon and have any strategies to prevent it?
In general, no. Corporate code "in the wild" is typically a pile of shit. I've worked at several companies and between mismanaged projects, team conflicts, time/requirements constraints stuff just gets messy, hacked and crazy really fast.

Open source projects, particularly smaller 1-3 person projects on github typically have more consensus, dedication, vision, etc and come out better. I think there's a lot to learn from that process and how business code could be managed better. I'll save that for my book.

The general shittiness of code makes me wonder at times about stuff around me. Stuff like the machines in a hospital keeping people alive, traffic lights, etc. It's kind of scary when you see examples of how badly some people think through problems.
Those are good suggestions, but I'd mention that it's much easier for me now to analyze my situation in retrospect, understand what happened and the mistakes I made, and turn it into a cohesive narrative. At the time I didn't really understand why I was doing poorly or what the root causes were, so while I did seek "support" on a number of occasions, it didn't help. I simply assumed I wasn't smart enough to graduate, much less do physics. In retrospect I see this obviously wasn't true, since I'm happily reading a quantum field theory book in my spare time now and, as I said before, ended up being one of the better students in some of my classes. But if you'd asked me at the time I'd have probably just rambled a bunch of guesses and speculation. I suppose my point is that, even following those suggestions, some people will still fall through the cracks. And also that most of these institutions are just bureaucratic monoliths that aren't built to be flexible with every students particular needs and such. The bias there tends to be heavily towards the institutions, too, since students who do poorly are just deemed slackers or unfit for college, instead of considering it a systemic or structural aspect of the system that favors certain people and situations over others. Even the stereotypical "partiers" who drink their way through college could be viewed as a systemic result of a toxic social environment. I believe there was another comment here to the effect of "this is college and you're done with baby hand-holding," which is true in one sense, but it shouldn't be used as an excuse to disregard anyone doing badly in the system or a particular school as acceptable attrition for a just-good-enough educational system.
Guerilla marketing Brad Feld Style
> If there were independent movie rental stores (which I assume had some sort of agreement to be able to stock their titles), why aren't there (specialized) independent online movie streaming stores?

Independent movie rental stores were viable for the same reason as chains with multiple locations were viable: you needed geographic proximity to customers to rent them movies. While some independent stores may also have had a degree of genre-focus compared to, say, the national chains, IME it was usually a fairly weak focus that reflected the local interests and demographics (and, actually, the chains would stock different titles in different stores the same way.)

A genre-specialized Netflix would have much of the fixed costs of a full-fledged Netflix, would be competing with Netflix and other full-spectrum streaming sites to acquire content, and would have an uphill battle getting the visibility to attract users.

Scale often has advantages.
How is it that FreeBSD has such great documentation[1], now this while Linux is stuck with random wikis and blogposts, usually out-of-date?

[1] https://www.freebsd.org/doc/handbook/
This thread looks like a confusion of what "thinking big" means.

It looks like half of you define it as "think of a problem lots of people have" and the other camp defines it as "think of a big idea" (i.e. "Lets get the human race to mars" or "I'll build a social network for the whole planet to do all of this stuff on).

The people who oppose "thinking big" see it as thinking of big problems that require impossible to complete (with a small group, small budget, and reasonable amount of time) solutions. The people who are for "thinking big" seem to be defining it as thinking of problems with solutions that will impact a large amount of people, regardless of the size of the solution required.
IMO, Spotify has some really large gaps in usability.

In general, there is no good concept of a music collection (despite the UI having words "Collection" and "Library" in it). While you don't own albums in Spotify, I still sorely miss that concept. Starring entire albums makes for a fairly useless/unwieldy Starred playlist, so that's a no go. I've resorted to starring single songs, then later selecting a song from the starred list and then switching to playing the whole album (if I starred the first track of the album, I have to select another album track, then back to first track, to make it play the album and not just continue on the Starred playlist).

Basically, where's my damn list of Artists and Albums I've liked? In iTunes (or mp3 folders back in the day), I would scan the list of artists and select an album to play.

No, I do not want to have an all songs/genre playlist and then sort by artist and then page thru pages of tracks.

The mobile app has poor information architecture. Going back to the starred playlist (or any other playlist) takes 6 taps if I'm on the info screen.

Oh, I freaking hate the mobile info screen. To me, it always feels awkward to hit the song name at the bottom to bring up the "now playing" screen, then tapping "i" to show the info screen, just to select the album or the artist of the song I'm listening to. As far as I can tell, the whole point of the "i" button is to allow me to see the album art--but, bizarrely, seeing album art is the default (so always requires an extra tap to do anything related to artist or album).

Basically, it's a damn tapfest. It's frustrating when you want to switch songs or do some navigation quickly--for example, while in the gym on an elliptical or while running.

Also, there is no search history and the app is forgetful. Periodically, at unknown intervals, the mobile app forgets the album/song I was playing, and I have to re-enter a long artist name all over again. Not to mention there is no fuzzy search. Yeah, try spelling "Irresistible Force" correctly, quickly.

There are the things that make Spotify merely a very convenient music discovery service, as opposed to a complete, fulfilling replacement to owning your own music library.

Finally, there is general bugs, like crashing and streaming getting stuck now and again, which can be very frustrating in the middle of an album (the next song streams, this song is stuck).
Discover is absolutely useful, but I think Pandora is light years ahead. Is there no way to play the suggestions as a playlist?

* iPhone app gives way too little feedback when it becomes unresponsive. I'm never sure if I should click again, wait, try another song etc. Why not add some "gathering data, please wait..", "Low bandwidth/reception.." or similar

* iPhone audio cues are hard to differentiate between. Why not make them less similar? When I click the headphone button I'm not sure if that sound meant that I paused, or skipped to the next song. It's like trying to learn morse code

* iPad interface. I don't have anything constructive to say about this, but it's just confusing and hard to use for me, and inconsistent with the iPhone.
I bought an ErgoDox[0] keyboard and switched over to a modified Colemak layout with common programming symbols on and above the homerow, triggered with a thumb layer key (think "fn" key on laptops).

I think that the symbols are the biggest win for me, as they keep my right pinky away from the cluster at the top-right of a std QWERTY keyboard, and generally reduces finger travel. That, and having the thumb clusters for sp/enter/del/bs are great.

I did it cold turkey and the first few weeks were a bit of a grind, but Colemak keeping QWAZXCVB in the same place helped with common shortcuts (quit, close tab, copy, paste, undo, etc). Now I don't think I'd ever switch back. I bring my keyboard around with me for any serious work. The nice thing about having your layout as a part of the keyboard is that there's no configuration of a different computer - just plug in your keybo and you're gold.

I'd highly recommend the ErgoDox with a custom layout (you can program your own[1]). I don't know if I would recommend just using Colemak/Dvorak on a standard keyboard. Programmer Dvorak[2] seems like the best option out of all of them though.

I wrote an article on my experiences: http://jjt.io/2013/11/25/why-any-developer-should-check-out-...

[0]: http://ergodox.org

[1]: https://github.com/jjt/ergodox-firmware/blob/master/src/keyb...

[2]: http://www.kaufmann.no/roland/dvorak/
Why bother with victims smart enough to fight back later, if you can have poorest of souls, incapable of reasoning that behind shoddy website might be a shoddy business?
Ask HN: I'm moving. What's the fastest way to sell all of my possessions?
And obviously give away the stuff no one wants.
Using Flipped Classroom with StudySoup
"We started with Linux" (that's a subheading, mind you!) — "That’s crucial for hackers, because although the temptation is to focus on their tools, the job is as much art as science" — "If you can get physical access to a network"...

Like, you're just not reading the article. You're just not. The fact that the OP mentions "getting physical" is an obvious counterexample to your criticism and reduction of "it's a list of "hacking tools"'. Can you see the narrative (the forest)?

No one calls Linux "a tool" in the sense you're talking about. The OP is saying, with that subheading, "If you're just some Windows [power?] user, you've got to radically change that" — or even further, "If you don't know that OS X is *nix, to say the least, you've got to radically change that".

I mean, it's The Guardian for Chrissake. What do you expect, a list of dotfiles with rich comments?
Is Evernote’s RESTless API Approach A Model For Other API Designs?
What are they removing? I find that they're constantly adding more and more. They're recommendations particularly just keep improving.