skysight-inc/HackerNews huggingface dataset:
This is really stretching the meaning of 'hack'

Since when is following good convention, and doing what you're supposed to do considered a hack?
I think two things needed to be covered in this list but weren't:

1) will crowdsourcing (Kickstarter and IndieGoGo) continue to change the industry or has it peaked?

2) will indie titles continue to gain steam or was their meteoric rise this year just a fluke?
Many people into serious gaming are not necessarily on the PC platform. The other aspect is that the majority of those that are are buying into the Steam ecosystem. As I said in my OP, I expect those players will follow Valve away from Windows to Linux if Valve courts them (and developers) aggressively.
If you're a workaholic, like I was 6-7 years ago, where you only can think about work (meaning stress) then any time practicing being out of that space - creating stress-free space in your mind - will bring you into a better place. Doesn't take much to start. Just 30 seconds of focusing on slowly breathing in and out of your nose, and then challenge yourself to see how long you can do it.. Yoga is very complementary too.
The Expert at the Card Table by S.W. Erdnase

It was written over one hundred years ago (1902) by a mysterious author who many, including the late Martin Gardner, have been obsessed with identifying.

I originally bought it years ago to learn sleight of hand techniques but found that the book increased my ability to detect subterfuge in many areas and not just crooked card games. There is something special about the book.
Marcus,

Thanks for your response. I'd, kindly, disagree with you on #2. I'm a serious home automation user - and have it deployed in multiple locations for myself and family. I won't buy a controller that banks it's existence on Internet connectivity - there are use cases for having controllers air-gapped, and in my book forcing an API in the cloud is a big miss. Hope you'll reconsider, until then - you won't find me as a customer.
You misunderstand. I said inequality was fundamental. It cannot be "overcome". You cannot make people equal. I != You. We have different skill sets, experiences, relationships, ideas and other thoughts that make us all fundamentally different. As a result, we are each treated differently.
Fair enough, I forgot about that part by the end.
Point taken.

However, as a random person on the internet I can afford to make a bold prediction:

Both Microsoft and Sony consoles will prominently feature a Rift-like device (licensed or cloned) as their primary selling point for Christmas 2013.
I just glanced at several of the headings, and it looks like that page is just a list of reasonable things to say.
This dogshit should never have been posted. 1, 2, and 4 are not hacks at all. 1 and 2 are simply copying twitter. And cross network posting???

Even 3 is arguable as it's just uploading the photo before capturing the meta. YouTube has been doing that since I can even remember.
This isn't the first time that I've seen anti-white racism on Hacker News[1]. The emotion behind theories of class privilege gets separated from its intellectual content, and people think it is okay to say things like this to their fellow hackers. It isn't.

[1] For example, a previous comment thread blamed Elon Musk's success on the fact that he is a white male (as if every white male were a billionaire). I didn't comment at the time because I was logged-in to my main account, and defending white people against racism is un-PC. But I do worry that this kind of attack is accepted here and goes uncommented.
I agree that avoiding schema doesn't solve the problem. My point is that your schema exists in your code one way or another (explicitly or implicitly), and even without a database schema, you still need to either handle the schema differences in your code, or you need to migrate your data into the new schema in some way or another.

The best use of schema-less data storage I've heard of is Craigslist of MongoDB for their archives. Apparently migrations on their MySQL servers was taking way too long, and switching that system to Mongo made a lot of sense and apparently has worked out pretty well.

In the end it's about understanding the use of the right tool for the right job.
Windows Vista had tiling somewhat hidden away (you had to use ctrl and select 2 windows in the taskbar, right click and select 'tile horizontally/vertically'), and in 7 it's hidden even further (you have to open up task manager, hold ctrl, right click, and tile).

It was there, just not particularly well implemented. I've seen some really good Linux tiling WMs, as well as extensions for GNOME that make tiling simple, I can't understand why Microsoft is incapable of doing the same.
> If your language has classes, you should probably be using them for your entities and domain models.

Two years ago, I would have agreed with you. Now after some heavy, realistic usage of Clojure, I don't think I'll ever go back to modeling my domains with classes.

Maps are just so much more flexible! Granted, you frequently have a "type" like key. In the ClojureScript compiler, for example, AST nodes look like {:op :if :test ... :then ...} You can say that the :op :if is a "type", but in reality, the type of that object is a Map.

I'm working on a system now where there wasn't an obvious discriminated union or hierarchy of types. I fought the urge to introduce a type-like key in my map; the result has been quite pleasant.
Might be a matter of funds... They might be closing their Seed funding round and until they do so they might want to reduce risks.
Don't dilute a potent term, please!
Especially the door handle. I've seen enough people not wash their hands after using the urinal or even the toilet to ever want to touch that when leaving a public restroom.
So now Facebook isn't passe because of secret groups, which aren't visible outside the group of people who are communicating privately? That was the same argument which pro-Facebook partisans pooh-poohed when it was made about Google+, interestingly enough.

The only difference was that G+ started with private circles, and later added circles which could be shared and public communities, whereas Facebook started with the "let it all hang out" model and then grafted privacy on later. The problem with this, though, as Randi Zuckerberg discovered to her discomfort, is that like security, grafting privacy onto a product design afterwards is fraught with peril and often doesn't work well (if at all).
Of course we can't know the true motivation of any of the parties involved.

But as big a problem as this has obviously become, I'd rather err on the side of calling out apparent sexism when I see it rather than giving everyone the benefit of the doubt and giving sexists the impression that this shit is ok.

And if I'm wrong, oh well. Worst case, some people might stop to think about the language they use and how it affects others.
ShowHn: Nychood, where you should live in NYC based on foursquare checkins
Man, I've heard horror stories of the L, but 25.5 hours is ridiculous.
Having done this for a while, I can solidly say that the relationships and structure of data has been consistently better when designed as a set of schema tables than as a set of classes because they are especially constrained. The constraints forced people to actually think about the relationships between facets of their data, and the resulting classes were much cleaner and more maintainable. Should we ever decide to move aspects of the classes into a database, the transition requires little code refactoring; this comes up fairly often for us, since we are trying to give users more customization powers.

People should be doing that when they design classes, but the flexibility tends to work against them. It could just be a mindset that makes it work well, and this might be a more appropriate approach for larger projects than for smaller types.
You may want to avoid setting Expires to greater than 1 year, RFC 2616 (HTTP), section 14.21:

"To mark a response as 'never expires,' an origin server sends an Expires date approximately one year from the time the response is sent. HTTP/1.1 servers SHOULD NOT send Expires dates more than one year in the future."

If an agent is precisely following the RFC, anything set to more than 1 year in the future is an invalid date and:

"HTTP/1.1 clients and caches MUST treat other invalid date formats, especially including the value '0', as in the past (i.e., 'already expired')."
US public charities (which means donations from the public are tax-deductable) are limited in the percentage of their income they can receive from private foundations and families. The amount of the large donation may have been contingent upon receiving enough funds from a broader base of sources. Too large of a donation could have caused the FreeBSD Foundation to fail their public support test for the year and be reclassified as a private foundation.

IANAL, but I am the chairman of a 501(c)(3)
Very true. I always chuckle when some NoSQLer tells me how much time he's saved by not having to define and update a schema. Then he tells me how all he has to do is check whether fields exist or not in his code, and enforce constraints, and provide default values, and so forth. He has to do this in the Ruby code that he's writing, and his colleague has to do the same in the PHP code she's writing, and then there's the analysis team who has to write the very same code in their Python scripts...
> That is never going to happen, given how much influence Microsoft has on the corporate world, it would be equivalent killing their golden goose.

You stopped reading when you read the sentence you wanted to read. I wrote:

Windows 8 is Microsoft's parting gift to the desktop. I'd put money on Windows 9 going Metro only, and perhaps a revival of the NT brand for enterprise buyers to keep the desktop around.

Enterprise will be given something, but I don't think it will be Windows 9. It'll be something else, maybe a new fork from Windows 7.
Completely agree. And how is making business decisions "hacking" again? We don't have enough jargon to contend with nowadays?

ICWUDT. "'Hey, let's post a writeup about stuff Instagram did!' 'But why would people care? It's boring.' 'I know, maybe if we put HACKED in the title, more people would click!' 'Yeah!'"
Great. I gave this some more thought and what I'd actually like, along with a great universal experience, is an email provider that I can really trust. Or rather, an email provider that I don't have to trust. By that I mean that it'd be great if I could get all of my email through Inky and that I'd have the option of having you keep a strongly encrypted copy of those emails while deleting the emails you collect from external providers' servers.

I could have my email everywhere with less worry over wanton snooping over my email archives this way. That would be a very valuable service.

It might require some compromise on data security if I wanted to be able to perform search on my archive via the web service though. Perhaps for people who are willing to give up zero-knowledge you could upsell a service which allows the data to be decrypted server-side in an in-memory store while they're logged in only. I'd be happy without search when using a browser client though.
You could have written that article at the end of 2011. It didn't happen.

For one thing, that's just too much to happen in 2013, even if it were all eventually to happen.

For another, I'm really beginning to think it's time to update the increasingly aged idea that mobile is just going to steamroll over all other gaming. Honestly, if that were going to happen, we shouldn't be theorizing about it, we should be seeing it now, as a done deal that has been done for a year or two. We're up to something like the sixth or seventh iPhone iteration. Cell phones are currently available that have plausibly have more 3D power per pixel than existing consoles. This is not a new product category any more. I'm really of the idea that you can't build a huge gaming platform on top of a foundation of an input device that requires you to cover half or more of the screen with your hand to inaccurately input a command. Scale up to shrink the amount of the screen you're covering, and you increase the muscle strain required. It hasn't taken off because it isn't going to, or perhaps rather, it has succeeded to the extent it is going to succeed in the genres it is going to succeed in, but it just isn't going to displace dedicated systems out of the market.

It's about the IO, and unassisted phones and tablets can't compete with the dedicated input devices. Put a dedicated input device on your phone or tablet and it's not a phone or tablet any more, or not portable. And there's still the O part of the IO to talk about; hook your phone up to the TV and it's, again, not a phone anymore. Now it's a console again, and suddenly people who have been making consoles for a couple of decades are once again looking like they may have an edge or two over the newcomers, however well funded. (Who cares what OS the console runs, it's just about the software.)

(Oh, and I wouldn't advertise my claims about gesture technologies taking off with somebody holding their hands in an "my elbows are in pain, ow" posture like that. That's taking a bit of a cheap shot on my part, since people have been making that prediction for a very long time now.)
I guess my experience is a little unusual. I went to check out and possibly buy one of the new Surface tablets. But next to it was an Asus laptop, about the same size as the tablet, with a touch screen, and a real keyboard. All for $499. A Surface, with the add-on keyboard that seemed a bit flimsy, cost more. The laptop seemed pretty sturdy.

So I bought the laptop. I like having a laptop with the touchscreen interface.

Win8 now includes a pdf reader. But it bizarrely does not remember the last page read, and there's no way to go directly to page 147 without hitting the arrow key 146 times, making it a real pain to read books with it.

That's probably my main complaint with Win8 :-)
There is a whole lot of derailing going on here.

http://www.derailingfordummies.com/complete.html
> Innovator's Dilemma gave me the "super-power" of identifying what kind of businesses will succeed or fail in the tech industry, much earlier than most people (or even big companies' CEO's)

Give us some non-trivial predictions or I call BS.
Nintendo has the reverse side of the Apple RDF; no matter how much money they make or how many more consoles they sell than anybody else people insist they are failing and on the verge of doom.

It's probably one of the most clear examples of substituting ones personal opinions for facts that I know about. The Wii is my personal least favorite console of this generation too... but that doesn't change the fact it was very, very successful.
>By using the phrase "big bad men" you are engaging in precisely the sort of gender-oriented down-talking that she is complaining about.

But that's absurd. He only used that phrase in response to a claim that men in tech are incorrigibly sexist and hostile.
And I apologize if you really do see this as an issue that needs to be tackled, and if you do something about it whenever you are in a context to do so.

But to often I see this same response to allegations of sexism online - admitting that it's a problem in the general case while undermining the woman's argument in the particulars. You could even possibly be right in this case, but by taking the approach of poking holes in women's complaints, you're undermining their point in general.

Worse, it strays dangerously near "blame the victim" mentality... "if only she hadn't been so inexperienced/emotional/womanly". Regardless of the truth of it, it's actively harmful to genuinely addressing the problem.
Whether or not this was built as a joke, there could be real benefit from a service like this.

Imagine you need a UUID in JavaScript. Here's a function that does it:

function UUID() {
return "4444-8888-FFFFFFFFFFFF";
}

What's that you say? You want a randomly generated UUID? Okay, here's a clever one taken from http://stackoverflow.com/questions/105034/how-to-create-a-gu...

'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8);
return v.toString(16);
});

That should be pretty good, right? Well, it's pretty good depending on your needs. If you need a UUID that is (practically) guaranteed to be unique within a single HTML document, and that UUID never leaves the scope of that page, then this function is a great solution. But if your client-side-generated UUID is sent to the server where it meets up with many other UUIDs generated from the same JavaScript code that ran in other browsers, then this function won't cut it. Why not? Because generating a random UUID in JavaScript relies on the use of Math.random(), which in most browsers uses the current datetime as a seed, and that's only a fine seed if you're building Tetris.

Given enough time, two browsers will eventually generate a UUID at the same moment, meaning they both use the same seed and therefore generate the same UUID.

So, why not seed a pseudo-random number generator in JavaScript yourself with something better than the current time? Because client-side JavaScript doesn't have access to good sources of entropy. Within the browser, your sources of entropy are limited to things like the current time, the window dimensions, the user agent string, the number of plugins installed, etc. You could capture mouse movements and keyboard clicks over time, but it would take a while to generate sufficient entropy for a cryptographically secure random number. Also, if you need to generate a UUID on page load you can't wait for the user to jiggle their mouse.

Meanwhile, the server has access to better sources of entropy. For example, many /dev/random implementations use the time between hard drive seeks as a source of entropy. Of course this entropy pool would be exhausted quickly, but you could replenish the pool with outside sources of entropy such as white noise from a radio ( https://www.random.org/history/ ) or even radioactive decay ( http://www.fourmilab.ch/hotbits/ ).

I don't know what sources of entropy http://uuid.me is using to generate random UUIDs, but it might be better than what JavaScript is capable of on its own. If uuid.me served its UUIDs in JSON, then you could make a JSONP call in JavaScript, providing you with a UUID that is much less likely to ever collide with another client's UUID.
Applies to many of the comments on this thread, so just posting it separately. TL;DR the language we use to discuss and analyze these kinds of issues is not neutral.

http://www.derailingfordummies.com/complete.html
> in schema-less DBMS you really have as many schemas as
> changes you've made.

Unless you migrate data with each change, which is actually easier when you don't have a static schema. The choice to do "lazy migrations" is the unusual, not typical case, as it has all of the implications that you've mentioned. Bottom line: Data normalization doesn't suddenly go out the window just because it's MongoDB.
Kids will grow up on iPads and might...perhaps...graduate to macbooks when they go off to college. Then they'll use a PC at work and come home at night to their tablets/devices...

Alas, there will be no one to program these PCs/devices in the future because kids won't grow up with code capable environments (well, maybe they'll be able to code on the web ala Kahn's academy).
If the vast majority of people are unemployed there won't be anyone to support said automation and it won't exist.
Ask HN: Solo app-developer, to incorporate or not incorporate?
So I'm working on an iOS app that could bring in a fair amount of revenue (compelling product with no direct competitors).

What I'm trying to ascertain is whether it makes sense to try to incorporate/start an entity or to publish as an individual. Anyone with some experience on either end care to chime in? I don't ever expect this project to go beyond me and the single app.
Are you saying that crpyto is not available to people who aren't white guys?
This looks really interesting. Some random thoughts:

Your homepage says the Ninja Block contains an Arduino-compatible µC and a BeagleBone. It took me a while to understand that the former is for communicating with sensors and the latter is for communicating with your API. I didn't realize they worked together at first - I thought it was some sort of "we used Arduino initially but then had to upgrade to something else in later versions" thing.

Interesting use of USB connectors to pass power and IO to accessory boards.
I havent given up on getting rich, but I recently thought about what David Deida said: Whatever it is that you really want, imagine you have it, pretend you have it, right now, and think about what would be different. Act like you have it. Not just money - fame, a huge mansion, three ferraris, or maybe you want a harem full of sex slaves. Whatever it is.

I thought about $100M in the bank and I realized that it would solve only one problem in my life: The problem of not driving a Ferrari. Now frankly, put it this way, it sounds like a pretty idiotic, petty "problem" to have. There are certainly many other challenges I face every day that are worse than "not driving a Ferrari", pretty much anything, relationship issues, balancing time with my kids, figuring out what I really want, etc - none of these other things would be any different with money. In fact money and more worldly possessions would be yet another time sink. It would have to be managed, things would have to be managed, managers for the yacht and the 5 houses would have to be hired and managed, and fired, and so on. Likelihood of having more time to do whatever: Low.

Maybe Id get a bigger house - but I am on the verge of building a new house anyway and its going to be big enough until the kids move out. Also "not having a bigger house" is not an issue I think about very often. Or ever. Same with not having a super yacht.

Do you want to change the world? You dont need money. If youre telling yourself that you are just making excuses. I guess maybe that is why we all strive for money - because we can very conveniently tell ourselves that we would be these super people if only we had a bit more money. Yeah right. Stop making excuses and start living your life.
Just code.

Seriously, just write code.

You will come across a lot of books that influence your thoughts, behaviors, patterns. I have, everyone does. But the only thing that actually has any effect on your psyche is doing, whatever the doing is. So you want to learn how to build a better body, great, read books on building muscle.

It won't have nearly as much effect as going to the gym and swimming for a half hour three times a week. Obviously you won't get a bodybuilder physique this way, but it'll make you stronger, faster, better, and smarter.

You want to code better.

Great, read SICP, On Lisp, Learn You a Haskell. It will make you think differently. They'll make you smarter, faster, better. They will, seriously, but they will have a negligible effect relative to just sitting down and coding up your idea. You probably won't do it better or smarter than you've done it before, but you will learn the problems. Then you read the books, find out how you could do it better.

I've been in the position of trying to figure out what to read, the best way to write code, the perfect test framework. All of it pales in comparison to just doing. Reading, agonizing over "the best", all of that seems to be the sugar that the mind gravitates to when it avoids doing. The spinach is sitting down, doing the activity, or thinking through the hard details.

Slash soapbox.
What is the difference? As far as I know any program that translates code from one language to another is a compiler.