skysight-inc/HackerNews huggingface dataset:
In this instance, NFC stands for Near Field Communications, a two-way RFID technology built into some cellphones [1].

This is not adequately explained in the Kickstarter, nor is it mentioned in anyone else's HN comments so far. That two-way RFID is implemented in commonly-used smartphones is a bit of tech trivia I didn't know until this article convinced me to Wikipedia [2] NFC.

In retrospect, I'm not sure why I even clicked on this -- to people in the US, an "NFC ring" is given to the winners of the NFC Championship football [3] [4] game [5].

[1] http://en.wikipedia.org/wiki/Near_field_communication

[2] If Google can be a verb, so can Wikipedia.

[3] If you're not from North America, odds are that the sport you call "football" is actually soccer.

[4] https://news.ycombinator.com/item?id=5872981

[5] http://en.wikipedia.org/wiki/NFC_Championship_Game
> Yeah, that is what she said.

Wow, what the fuck? Was there any reason for that?
Some people are still turned off by online dating.
Plausible explanation doesn't help much if it fails to match the circumstances "fan death" (a.k.a. phlogiston) is used to explain.
The question is whether prisoners who don't have someone to speak in their name in front of law makers will be housed in ethically designed buildings that might cost more.
Live what you teach
You're making a common mistake. Detroit has 700,000 people. Metro Detroit has an additional 3.5 million.

I don't have the stats but there's a much larger number of young professionals within easy commuting distance of downtown Detroit.
Without looking I'd bet this is some kind of "anti-hoarding" provision, probably intended to prevent single manufacturers from cornering the market. As is typical, it caused exactly the opposite of the desired consequence.

In your first sentence you admit you don't know what's going on, then in your second sentence you claim that "it caused exactly the opposite of the desired consequence." The point being, this could be an old rule that's worked well until just recently, as far as you know. It's possible it's done more good than ill.

In any case, it's described as an "industry rule," not a government regulation, as your quote makes clear. It's the result of industry "self-regulation." The article mentions this.

The shuffle of stock is an end-run around that rule, but it's not the cause of the higher prices. The delay-to-raise-prices scam would be easier to run and more profitable if the rule that makes the shuffle necessary didn't exist.
You're right, I'll look into a smart solution for this. Thanks for pointing it out! I have a very large monitor, I rarely run into problems like these.
Wikipedia Wars: The 10 Most Controversial Articles on Wikipedia
> If you know that the only possible values for a certain column are between 0 and 100,000 then you don’t need to slap a BIGINT data type for that column when a INT would do just fine.

What conceivable column could have 100K possible values but not more than 4B? Factoring in gaps in sequence numbers, wasted ids for testing, parallel generation of ids, etc, it's not that hard to crack the 32-bit boundary.

If you're dealing with something you know is of a fixed small size, for example surrogate keys for a constants table that is manually created by you (the app designer) then you can use an int (32-bit), short (16-bit), or even an single byte (8-bit). For anything else though just use 64-bit ids.

> what about those NCHAR(2000) columns that are storing mostly first and last names? How much extra overhead for those?

This makes no sense. Using VARCHAR fields the size is just a max. You should still pick a reasonable max but just because its defined as VARCHAR(256) doesn't mean it's stored as 256 bytes.
Pretty amazing and perfect execution. Runs perfectly in OSX Chrome.
I think this is very much a cultural problem within the PHP community. phpBB in particular is notorious for its unsustainable code and I think I figured out the reasons.

There are better ways of doing things (despite PHP's inherent warts) that some other projects have used quite successfully, and more importantly sustainably, but there's a very long history of doing things "because that's just the way it's always been done" and I don't see that changing anytime soon, I'm afraid.

I mean if you look at some of the tutorials out there, a lot of it is just appalling in terms of maintainability, efficiency and security (and that includes some very popular frameworks). There are a lot of cases where short-term, and often short-sighted, convenience trumps long-term goals.
That's a pity. Surprisingly, a lot of what makes innovation work has to do with the law.

Bankruptcy law for example really plays a big role when it comes to innovation.
Is Most of Modern Society Run by Linux?
I tried to learn Java when I was kid and spent almost 3 hours trying to get Hello World to compile. I tried again for an hour the next day, and couldn't do it. I also didn't understand what words like "void", "static" and "main" meant. It was all voodoo mojo I didn't have in me. I thought I must have not been talented enough to understand these words.

You need to compile a program to get any feedback at all.

I did learn some HTML and JavaScript, because it was so easy to get started. I made table-based layouts and all that. But JavaScript wasn't a serious programming language at the time-- I really wanted to make a Java applet. The toolchain was just too complex and intimidating for me, so I gave up. Years late, I picked up the old Java book again and realized it was no good anyways.

I could have learned C from K&R when I was a kid, especially if I used Linux. I was always interested in Linux, but my family was paranoid about "breaking" the computer. I would have also been plugged in to open source culture at a much younger age. With Windows, it was all about freeware.
If you finished a post-secondary program you're (probably) entitled to a post-graduate work permit. Beyond that, there's Federal Skilled, Federal CEC programs and BC PNP. Are you sure that you've explored all your options? You may want to talk to an immigration lawyer if you didn't yet.
Metal exchange spot prices for Al are affected by the length of time the stock has been stored; the warehouses dilly-dally to raise the price, the powers who could do something about it (the metal exchange) get a cut for ignoring the whole scam.
I'd like to add to this that the US recommended screening PSA screeening for prostate cancer, whereas there's no screening program in the UK because the medical evidence suggests it does more harm than good. A huge proportion of older men have prostate cancer (30% of men over 50, apparently) but in most of them even without treatment it never progresses to the point of affecting them in any way before they die of something unrelated.

Similarly, the US screened women for breast cancer and cervical cancer earlier and more frequently than the UK, which again does more harm than good but improves the 5-year survival stats.

The US Preventative Screening Task Force has since recommended that screening should basically fall in line with what the UK's doing, but that happened well after that article was published.
Robert Mugabe's Zimbabwe cannot survive an era of Internet openness
I dunno, my negative reaction to it isn't that the designer is breaking the limits of feasible materials and mechanical engineering...it's that, given no such limits, the designer proceeds to create something not terribly original or interesting.

But to be honest, what really annoyed me was a designer who proposes a Retina2 type screen yet in his showcase work here, uses low resolution fonts. It's just hard to give any serious thought to a designer who overlooks one of the most critical -- yet trivially easy to do right -- aspects of a prototype design.
In the long-term, I think you may look back at the 'replace the hard drive' statement as on par with Bill Gates 'a computer in every home'.

If all of your apps save directly to Dropbox your 'hard-drive' and thumb-drive are no longer important, and in that way they are 'replacing' the hard-drive, even if not in technical terms, the sentiment is correct.
Sounds like a call to action to me. Sooner than later someone needs to make a PHP based forum that isn't crap.
Okay so what can I say ... from my experience I disagree with his conclusions for 3, 4 and 5.

3. If you are building any kind of table that you expect to horizontally partition, do NOT use sequential things like autoincrementing ids! The mutex lock will be your bottleneck. Instead, use this algorithm to generate ids:

10: id = GENERATE_UNIQUE_STRING(20)
20: IF ( SELECT_ROW_BY_ID(id) ) GOTO 10
30: INSERT_ROW_WITH_ID(id)
(yeah, it's written in BASIC just for fun)

20 lowercase alphanumeric characters gives you 26^20 combinations. And the chance of a clash becomes around 50% only after you have filled 26^10 ids (birthday "paradox").

If you really have to have a sequentially incrementing "ordinal" field, e.g. for messages posted to a stream in a specific order, then use transactions and lock only one row, in the related table, which will contain the max value of the field. For example in MySQL use InnoDB which implements row-level locking, and have stream.message_count field, which you use when you INSERT into the message table.

4. Again, when you are sharding you probably don't want to have foreign key constraints defined in your database layer. If this guy is shocked he must have not really done sharding before.

5. While you can use surrogate keys, that limits your horizontal partition to the way you generate these keys. Oftentimes you will want to look things up in your shards by a certain RANGE, and for that you want to preserve the ordering in your primary key (up to normalization).

So tehre you have it, it's not that simple :)
Paragraf is a great app to make graphic shaders. It's easy to use touch x/y coordinates and the camera feed as a texture.

The results look beautiful on retina displays. I've gotten several kids hooked on it, even overcoming some of the GLSL syntax hurdles to get their programs to work. I also gave them cheap $5 jeweller's loupes so they could inspect pixels as the program runs.

Lots of kids genuinely want to create stuff.
You don't need to read or write zone files to write DNS servers. Zone files are irrelevant unless you want to be able to import Bind zone files for interoperability.

So why exactly do you think this "operates at one of the lowest levels of the internet"? It does not.

DNS servers do not talk to each other using this format.
If you remove the edge, you get a cylindrical display.
For most people I know, it replaced email attachments more than anything else. Previous standard was sending stuff back and forth as attachments with names like Proposal_v2_john_edits_2.0_updated.doc
It also seems like there was a large shift in (or discovery of) the willingness of individuals to participate in the way that makes sharing work.

The "large shift" was when people started getting paid. People will do anything to get paid, including inconveniencing themselves by illegally renting out rooms in their apartments.
I can understand the need to re-design something in attempts to get exposure, I think someone attempted a Facebook redesign relatively recently on Behance and they got a ton of exposure from that, but this iPhone concept is completely impractical, starting with that screen curving over the borders (fragile, slippery, higher costs etc). I pretty much agree, if he was so committed to the idea of a 'better' iPhone, a little more research into industrial design wouldn't have hurt.
Dao, an embeddable lightweight programming language with big features
I'm pretty sure Americans can come to Canada without a visa. I know (firsthand) that Canadians can definitely go there without one.
https://peerby.com/
Eh? How would you judge a man who put the world's first scripted interracial kiss in a series during the 60's?

The criticism wasn't about Roddenberry, but what's done to his work. A lot of fans know what kind of womanizer he was, I mean the guy had like 3-4 mistresses at a time. The vast majority of sexism in TOS was actually due to network execs who couldn't (wouldn't?) let certain things fly.

This was also a time where a female lead was nearly unheard of and a black one more so. This was a man ahead of his time, whatever his faults.
Thanks - I wasn't award that I could hide the info (it certainly wasn't made obvious by the dialog). I still think that forcing me to fumble around in G+'s settings to do this is unnecessary (although I can see why Google is doing this!).
In the next day or two, the LeapMotion input device ships[1] allowing all sorts of handwavy detection with a tiny box.

Apple have patented gesture recognition detected by the cameras for, e.g. page scrolling.

What does this "unlimited imagination" future iPhone have for an input improvement? Nokia feature-phone soft-buttons from 2002.

[1] https://www.leapmotion.com/
Reminds me of https://peerby.com/ which is also definitely part of this.
I think you will need a passport though. Visa no.
Also, you get to live in France... :]
Doh. Of course - that would have been easy and effective.
That doesn't sound like a very good "primary benefit" since Google's strategy is clearly to get as many people to use G+ as possible. Either a) they'll be successful and your G+ stream will be barraged by "photos of cousins and aunts" anyway or b) it's not successful and they pull the plug.
Ubuntuforums used vBulletin, which as of 2006 used MD5 + salt: http://www.vbulletin.org/forum/showthread.php?t=178091

Not sure what vB is using today.
The AirBnB founders are one of the hardest working teams I've ever seen. When you think of all the incredible feats they pulled off in the beginning, it's hard to conceive of another team managing it.
We've ufortunately DDoSed the site.

From Google cache: http://webcache.googleusercontent.com/search?q=cache:mr8RddZ...

This is not available yet, and appears it will only run after the developing company, WigWag, completes their Kickstarter campaign and start shipping products.

The nice thing though is that besides being able to run on their proprietary device, it will also run on Raspberry Pi.
However, if you tug on it, there is a chance that it will not disconnect with a Lightning cable. There's still a good amount of force needed to actually pull and disconnect the cable. This means that if you, say, trip and fall, there's still a chance the cable will still be connected and limits the amount of distance the phone will travel.

With a Magsafe-like cable, it'll disconnect after the tugging happens, and if the pull from the tug is strong enough, it'll cause it to potentially go a greater distance, since there's no cable connected.
tourist visa and business visa are two different thing, it isn't a tourist/business visa.

As a Canadian travelling to the US for business, we have the same process. But if you're going to a conference, you're fine, I used to do it all the time (from Canada to the US).

Who told you it was going to take two months?
Wow, I can't fathom how this works. Where do you store the relationship, then? Say you have posts and comments. I would want a posts table and a comments table, with a post_id foreign key in comments. How would you do it without a foreign key?
At the risk of self-promotion:

http://stackoverflow.com/questions/621884/database-developme...

To add some points:

> Multiply those rows by 4 bytes and you have 8 million bytes, or roughly 7.8MB of wasted space.

I have a hard time imagining any installation where this isn't a ludicrously small amount of space, particular in relation to the total data size.

As for using too big a type, another factor is to consider is "how easy is it to expand this later?" If it's easy, sure use a small type. If it's hard, err on the side of too large.

> Now, for reasons I can’t explain, people just love GUIDs in database designs.

There are some pretty good (or at least understandable) reasons for liking GUIDs for keys. Firstly you need to understand how the database generates IDs.

The first camp is typified by MySQL with it's auto-incrementing keys. This is super-convenient in many cases and generates ordered and mostly sequential keys but it comes at a cost in that you typically have to round-trip to the DB and insert something to get a key. This generates spurious round trips if you need this key as a foreign key in other entities.

The other school is sequences typified by Oracle. A sequence isn't otherwise tied to a particular table. You still need a round trip to the DB to get an ID but it doesn't require you to insert anything. Sequences are in-memory and generally fast (round trip notwithstanding). Sequences are mostly ordered and partially sequential depending on your setup (this is less true in a clustered environment).

So, GUIDs. They're 128 bit. Collisions are unlikely. OSs tend to come with decent GUID generators (so you're not just using a 32 bit PRNG to generate your supposedly 128 bit keyspace items). They require no DB round trip and they have one other property that can be important depending on your setup and your database: scattering.

If you have a partitioned database then you want to evenly spread your data as much as possible. There are many techniques for this that might or might not be data dependent (eg first character of email address has poor scattering properties but a good hash of an email address will probably be spread much more evenly). GUIDs neatly spread elements in your keyspace for very little effort.

> If you are using a surrogate key (and, ideally, one that is sequential)

I don't see sequential or ordered being strictly better properties for keys.
Considering all the smart but disenfranchised white boys I knew growing up in rural oaklahoma who gave up on programming because no one supported their bizarre interest in something other than NASCAR, and ended up working at Walmart, I think we have bigger problems that transcend race and sex. But I'm not opposed to campaigns like this, even if they are based on neandrethalic logic and all this time and effort would be better spent finding a general solution to the problem of poor people staying poor while openings for coders go unfilled.
Why Canada Has No Big ____ Companies would be a more interesting article/video. The biggest Canadian company seems to have an annual revenue of "just" 50 billion. On the list of largest Companies, Canada is not even present: http://en.wikipedia.org/wiki/List_of_largest_companies_by_re... I am not trying to bash Canada, but compared to others in the global arena, Canada isn't really known to be a player with large corporations.
I don't know about you, but a Lightning connector is one of the easiest I've used. There's no "futzing around".
This is awesome! Very well made, I hope someone from Apple HR is watching...
Bronte Capital: Self assessment Tuesday: Alan Jones and Facebook... #fail
Uh, yeah, fortunately that isn't how it typically works. In most of my experience the engineers do the innovating & ask the designer to pretty it up, or work in conjunction with the designers to make sure the final product looks & performs well.

Anyone telling engineers to build it or get fired will soon be or is already talking to an empty room, or somehow have engineers hostage
What is updated every 3600 seconds here? The entire breckyunits.com zone? The "ipv4" record? the ipv6 record? both?

Zone files can express all of those easily, and need to. To be able to replicate their functionality, your DSL would need to be able to handle TTL's for each and every record.

To me, your example is extremely ambiguous. It is certainly not self documenting. Because I happen to know DNS, I'd assume you're assigning a TTL for all the records of 3600.

But how can I set the TTL only for one of them?

And how do I add records for subdomains? Do I have to repeat the full name every time? Because that's a non-starter.

And do you realize you've actually made this massively harder to work on with simple tools? Bind zone files keeps all except the SOA record on one line. This means that with some simple conventions, a site can easily format everything so that a single record can always be manipulated simply by operating on a single line of text. That makes it trivial to e.g. modify zones files in shell scripts with tools like "awk" etc.

Almost anyone that needs to read and write zone files have advanced requirements - or we'd use a more user friendly, high level tool. And so a replacement would need to meet those requirements, including being able to write records on a single line, and being able to refer to the origin and use relative names.
I can remember setting up a osCommerce site years ago, and the _official_ way of installing 'extensions' was literally to follow instructions telling you to open XYZ file and add this code at this line number, etc.
Quite funny. I attempted to load this in Chrome and I still get 'This site is running only on the world's best browser' with a link to download, ironically, Chrome.
This part:

> Sorry to be crude, but there is a very non-arbitrary reason for pink to be associated with females (and to a lesser extent, blue with males).

I thought the unstated crude, very non-arbitrary reason the grandparent poster aluded to was clear, but spelled out what I thought it to be in case I'm either wrong or someone didn't draw the inference.
1. INT32 is fairly natural and generally a default goto in most higher level languages that, you know, actually USE the data... anything smaller, or larger than INT32 should be discouraged unless absolutely necessary... Yes, storage should be considered, but you also need to consider the friction such design can cause with different client languages. Beyond this, you can go with Unsigned values, but again, this can cause a lot of friction.

2. This is precisely why I don't like my RDBMS talking directly to each other. In fact, I like my RDBMS to be as stupid as possible. As mentioned above, the most common structure to your programming environment is likely what you should use... for time insensitive date/time I always store/read in UTC offset, same goes across boundaries. For events, I use the local time (no offset specified) and/or with the location or offset. It depends on the use.

3. Most databases that support UUID/GUID fields support a generator that will create an index friendly sequential UUID, where the main portion is sequential, with most of the value still random.

UUIDs are essential for many offline access/creation, synchronization and sharding systems. The biggest mistake a DBA tends to make is to assume that a single server will run everything well enough for everyone that uses a given application.

4. I tend to always have primary and foreign key constraints.. additional indexes should only be considered once you have typical use cases in place. After you have done the necessary profiling to determine which indexes will be the most benefit.

I would state that not understanding how indexes work in your given RDBMS can be a big issue. I think MSSQL tends to be one of the most forgiving in this area, and Oracle least so.

5. (see my response to number 4)

The arguments for 1, 2, 3 are argumentative at best.. there are perfectly good use cases for using a datatype larger than necessary (reducing friction in code is huge), not to mention UUIDs being absolutely essential in many use cases. MSSQL with create a UUID field, and a unique constraint when you enable replication if a table doesn't already have it for example, so it may as well be a primary key, if it makes sense.

As to 4-5, this comes down to understanding index strategies, which is a separate learning issue imho.
Thank you! Has since been fixed.
Source? (all I've ever heard is that Google considers someone an "active" G+ user if they have a G+ account and have used any Google product over the period in question)