skysight-inc/HackerNews huggingface dataset:
I was taught about XML, XSD and XSLT. When I got to industry, this made me wonder why we stuck with unstable JSON APIs and hand-coded validation, instead of using schemas for validation.

I was taught about SQL. When I got into industry and started using MongoDB, I wondered why data would go missing, and then realised it's because transactions are often a very good thing to have.

I learned some Modula 2, in 2011. Not because we were writing Modula 2, but because we were writing a compiler for it.

I've found quite a few times that while the technology we learn is old, there are many beneficial lessons to take away from it. Not just general theories and processes, not just learning how to learn, but there are actually some seriously good ideas in software development that new technologies haven't got, and often we in the startup/SV scene either haven't learnt them, or don't think they are important because they're 'old'.

I have several times found myself speaking to engineers who proudly 'didn't go to university' or taught themselves, to be hugely behind in terms of knowledge, and they just end up re-inventing things which have been around for decades, usually in Javascript. Re-invention isn't always a bad thing, it often injects new ideas, and the new versions can be really great to use, unlike some older technologies, but I think a significant number of people who think colleges are teaching outdated technology probably need to go to college.

Disclaimer though, this is based on my experience at one university, in the UK. I understand it might be different in the US and at other universities. I just find it frustrating when I know that my degree has taught me a huge amount of very useful stuff that I know some people in industry are lacking.

As far as getting a job goes, if you actually look at what most places want, it's Java, XML, C#, etc. Maybe not in the startup world, but the enterprise market is considerably larger, and ultimately where many people end up working.
Firstly, routing is not inherently hierarchical. It's a process of mapping pieces of URL to variables with the purpose of figuring out which action to call. So your argument that implies routing it inherently related to URL paths (by the virtue of their names) is invalid. It can and often does involve queries.

Secondly, if you ever tried to implement a web framework from scratch, you would quickly see that routing something like "?controller=blah&action=blah&id=123" is MUCH easier than dealing with virtual paths. Aside from relative URL issues in templates, you also need to deal with differences between real assets and everything else.

Thirdly, my proposal does not go contrary to rfc3986. "The query component contains non-hierarchical data" is not the same as "query component must not contain any hierarchical data". If it did, you could also argue that it's "wrong" to put an address int query string, because, hey, it's a hierarchy. (And again, routing is not inherently hierarchical.)

Fourthly, base tag doesn't deal with the original use case I described and is a PITA to maintain.
FYI, FWIW: Canadian federal web sites are subject to similar requirements - and they now have an open source toolkit to make this easier.

The government site for the toolkit is probably the best place to learn more: http://www.tbs-sct.gc.ca/ws-nw/wa-aw/wet-boew/index-eng.asp
Interesting rabbit photography
A very cute picture of a rabbit that you will like.
>"Also, there's a lot of subjectivity here."

This feels like a case where subjectivity is the PRIMARY consideration. All of the proposed metrics are trivially gameable, and anyway don't represent "goodness" in any way.

I'd throw this one to the users with a typical popularity/voting dynamic, with a twist: separate voting and leaderboards for "best neocities site" and "best geocities site", roughly corresponding to "good + modern" and "entertaining + retro". It would be sad to have the top sites populated entirely by slick parallax and flat design when Neocities is supposed to be a direct descendant of the weird and wild Geocities.
Ashampoo Burning Studio 14 v14.0.5
Trademark "Sound Mark" Examples
Zip archives (as opposed to .tar) are usually like that.
This is Android TV
It's an interesting suggestion, but I'm not sure I clearly see the value, especially compared to the other things we have to do.

(I'm going to demote this thread now, rather than kill it, so anyone who wants to can continue discussing.)
Although he talks a bit about formal specifications and tools for writing and verifying them, his talk has a few really great parts about informal specs.

I'd recommend watching 23:22-30:42, where he gives an example of where an exhaustive semi-formal spec was critical for writing good code.

I'd also recommend 44:00-54:00, which I think is the most broadly applicable part of the talk, where he discusses the need for thinking as writing, and writing specs before coding.
My point was about "accussation" rather than about "poaching".
Oh, and I was thinking Google were just disagreeing with somebody in Wired's management on some personal viewpoint. Silly me!
I'd love to try some of these. One thing though: the bars from both brands are relatively low in protein (10g for Exo and only 5g in the Chapul bars). I wonder why that is?

If they want to appeal to the high-protein/power athletics crowd, they need to bump up the protein a lot. As of now, there's not much to distinguish these from a much cheaper Clif bar.

Higher protein bars, like the BioX bars, use a lot of soy protein, which is sub-optimal. It would be great to get a ~20-30g protein bar with cricket protein.
I could learn 10 times more in my own time, about Node.js and MongoDB.

It would take me 10 times longer, if I ever got around to it, to learn about theories of computation, languages/grammars/parsers, operating systems, discrete mathematics, evolutionary algorithms, cryptography...

There's more depth to the subject than the technologies that are popular right now.
Why would they turn down the expected payment for their free services ? That would be stupid.
I expect Greenwood was as influenced by that sound growing up as the rest of us - the bits of the TWbB score that echo DN are probably homage.
While LYAH is a lot of fun, if you've gotten your feet wet with Haskell for a while and want to see some really powerful examples of "functionally solving problems" I cannot recommend more highly Richard Bird's "Pearls of Functional Algorithm Design"[0].

All of the "Functional Pearls" papers are worth a read, but Bird's book is such a compressed, convenient, powerful collection of advanced functional problem solving style that I think anyone interested in "thinking" functionally should strive to read it.

It's not exactly for the faint of heart, to be clear. Bird's idea is that we can establish certain mathematical rules which allow us to transform "the simplest thing which could possibly be correct" to an efficient program through a series of steps, each one maintaining correctness as an invariant.

[0] http://www.amazon.com/Pearls-Functional-Algorithm-Design-Ric...
Not so much when it's cold.
I'm sure there are many more useful changes that could be made which would bring greater benefit to the community.

Adding the 'initial scale' meta tag so that people can more easily use the site on their mobiles would be a great start.
I wonder what sort of interesting things you could do with a large number of cheap webcams?
Mathematicians find way to put 7 cylinders in contact without using their ends
I looked at this earlier - on the one hand, I like that they're directly tackling known pain-points in the language. The declaration expression "out var x" thing is, imho, great. The TryParse syntax has always been a problem because you have to declare the variable the line before, which means no type inferencing and whatnot. Also, good for casting as they show.

Using static is great - finally we've liberated the verbs in the kingdom of nouns.

However, some of them have really ugly syntax. I know they wanted to get rid of the boilerplate problem of declaring and setting into a read-only member, but the primary constructor syntax is monstrous - declaring local variables inside of your constructor? Really? I feel like just having a "readonly set" access modifier on properties (both auto and explicit) would have been sufficient.

The new dictionary accessor seems silly.

Exception filters seem just as pontless in C# as they did in VB (nesting an "if/else throw" into a catch clause wasn't too hard).

The crazy null ?. operator I'm unsure about... that one I'll have to use. I've run into the problem enough times to see why they did it, though.
If you just want to play around with RPN a bit, I made a simple (regex-based) RPN calculating Perl script a while back:

https://github.com/dbb/math-scripts/blob/master/rpn_calc.pl
Why is compile to JavaScript any different than compile to byte code? Is the "frail" comment from experience or intuition?
It could also be just part of our zeitgeist and the link you are making is coincidental and not influenced or paid for by shark tank's investors. I think to prove that there is a shark tank connection, you need to research the author's bio a bit more, article history, and prove that this author repeatedly writes pseudo articles that are marketing pieces... and you have not done any of that research.
They had some technical issue this morning, but it's supposedly fixed now. And they're just waiting for Chrome to unflag them.
Weird, I must have had a cached copy (which is really strange since Chrome was blocking Wired for me.)
Sorry to hear that. Cycling is usually considered good for the knees provided they are kept in warmth.
Maybe I didn't say this in the right way. What I'm really saying is that I will 'tolerate' or accept any view point as being fine, and entirely a persons right to hold, unless they are holding one that is actively intolerant to others. I don't think part of being tolerant is to sit back while others are abused by those who don't share our views.

It's his personal right to hold his belief, but once he put that into action by making the donation, or if he had voiced his views publicly, that now means we have a duty to hold him accountable, rather than sit back and let him do what he wants. In this case, I think demanding Eich not lead Mozilla because of his views is an appropriate way to hold him accountable.
Those Who Lack Courage Cannot Behave With Integrity
I think the tone of this submission is below the typical community standards of Hacker News.
Would Democrats really be more OK with a Democrat doing things they don't like? I don't think the recent scandal was because Eich is a Republican (no idea if he is or not, just seems irrelevant).
This Is Android TV [photos]
Winter biking in Minneapolis is real. I bike 5 miles to work most days. This was a cold and snowy winter, but it was better than last year because there was more snow and less ice.

[In Minneapolis, nothing stops bicyclists — not even winter](http://www.latimes.com/nation/la-na-minneapolis-winter-bikin...)

[Biking is up, even — and especially — in cold weather](http://www.startribune.com/local/minneapolis/236827801.html)

[Twin Cities winter bike community feels the pinch](http://www.startribune.com/lifestyle/247300181.html)

[Why would you bike commute in the winter](http://www.mprnews.org/story/2014/01/29/why-would-you-bike-c...)

[Ride on in Winter (2011)](http://www.startribune.com/lifestyle/114216374.html)
I'm not sure I'd go all 'stooge' on them. Its an interesting story and it resonates with a lot of current issues (Warming, farming, PETA, Etc) Of course if the story comes from some young hippie looking guy, as a reporter, you're less likely to report on it than if it comes from some 'known successful' person. Its a characteristic of our society that things the 'cool people' are doing is worth talking about. Is that stoogeism? Or is that someone vetting the idea for some reporter who doesn't want to waste time on otherwise suspect idea?
Are you saying that being opposed to SSM can't be homophobic because some gays are also opposed to SSM?
I was going to comment that Steve Ciarcia did this in the 80s, and then I see he is credited on the page.

Byte September / October 1983 Steve Ciarcia: "Build the Micro D-Cam Solid-State Video Camera"

ftp://164.41.45.4/pub/electronics/circuit_cellar/BYTE_Projects/D-Cam2.pdf
A solution to your objection is that other countries should follow suit, so everyone has a similar requirements.

How does this help startups, which are often building things speculatively? That is, they're not even completely sure if the things they're working on will pan out for anyone.

Your solution is just to hobble everyone, and that strikes me as incredibly unjust. Everyone is born with different abilities. Some of us are able to do some things, and others of us are not. That's just a fact about the world, and it will always be that way.

Where we differ is what that fact means. You are relying on the premise that those of us that possess a given ability are born in hock, in a sense, to those that do not possess that ability. It's exactly this idea that I don't accept.

Now, I don't mean that we shouldn't have audible crosswalks on public streets, wheelchair ramps on government buildings, etc. Nor do I mean that it's wrong for people to privately work on assistive technologies, such as screen readers, closed captioning, etc., if that's something they wish to do.

What I am against is the idea that I, or anyone else, owes part of their lives (creative works are a huge part of a person's life) to redress someone else's misfortune, inability or disability, which they had absolutely no hand in creating themselves.

In the debate on "equality," some say that the only way to make us all truly equal is to hobble the able. Some people find a statement like that implausible, but after reading what you say, I have yet another data point that confirms it.
So what features sets F# apart?
Google App Engine adds support for any language
> I'd really love to see some other kinds of regex tools

I'd really love to see a better regex syntax. The current obviously is deficient beyond repair. The tools cannot address the root of the problem.
Have you ever noticed that in every post about fp languages there is always a mention about using f#. I've never seen any language-advertisements at this level.
Did you not owe tax earned by CA companies consulting? It was my understanding that work in the state for an in-state client was income taxable (yes, that understanding came from my accountant).

If yours thinks differently, I'd like an intro.
The example on the Flask tutorial with the app at module level is really only viable if you cram everything inside one module, it gets old soon. You should use a factory pattern, like this:

def app_factory(config):
app = Flask("yourapplication")
app.config.from_pyfile(config)
# ...
return app

Then whenever you need access to your app object, you use the provided proxy:

from flask import current_app as app

You can't use it at module level though (because there isn't an application context setup by that time), so this doesn't work:

@app.route('/')
def home_page():
# ...

Instead, hook up views inside your app factory:

def app_factory(config):
# ...
app.route('/')(somemodule.home_page)
# ...

For the test suite, you can now instantiate apps with a different configuration:

from flask import current_app as app
from myfoo import app_factory
import unittest

class MyFooTest(unittest.TestCase):
# ...

if __name__ == '__main__'
test_app = app_factory(test_config)
# The app proxy will point to that inside test cases
unittest.main()

TL;DR: The factory pattern is your friend. Parametrize all the things. Avoid singletons at module level, this leads to spaghetti. If you need convenience, create proxies.
Aside from the taboo and the (heavily, if not completely, cultural) disgust, I have to say that I've never liked seafood (prawns and such, but also oysters, clams, etc), and this is the main reason I'm not willing to eat insects; I suspect they would taste similarly. I sometimes say half-joking that I only like to eat hot-blooded animals (I do eat fish, but just because it's healthier; I don't enjoy it). So yeah, I position myself along Randall Munroe.

Here in Spain, snails are considered somewhat of a delicacy (they're usually served inside their shells, with a somewhat spicy sauce); I don't think that's too different than, say, eating oysters and other sea bivalves (also heavily consumed in many varieties), but I think that the cultural shock for Americans (and possibly most Europeans) is similar to that of eating insects.
You don't have an issue with people protesting, but you do have an issue with internet mobs.

How then do people protest en mass on the internet and boycott without being labeled an internet mob? Only if all sides reach for each other?

If that's the case, then what happens when one side doesn't do enough reaching? When do you place the blame more on one side, instead of apportioning blame equally across all participants? Since that's what I think you're doing.
Have you ever noticed that in every post about fp languages there is always a mention about using Haskell. I've never seen any language-advertisements at this level.
The ones I've been envious of (as a Haskell developer) include .Net library integration, type providers, and active patterns.
.NET Foundation Established to Foster Open Development
Maybe it's not likely to get much support from HN users, but I do find it very interesting to find parallels between sociopolitical labels and software attitudes. So while some may find a label like "fascist" to be very loaded, it does seem strangely apt to describe proponents of a software design that favors a big monolithic daemon that wishes to be in charge of everything, does not let the end user to customize as much, etc., in contrast to a more anarchistic traditional Unix approach emphasizing the opposite attitudes.
From what it looks like, if anyone wants to build one they'll need:

- An IC (the one he used seems to be http://www.ebay.com/itm/5-Rare-Vintage-GOLD-NEC-044-D4164D-4...)

- A small lens to place over the IC (http://www.ebay.com/itm/MTV-6MM-CCTV-IR-Lens-For-Security-IP...)

- A parallel to USB cord if you don't have a computer with a parallel port (http://www.ebay.com/itm/USB-to-PRINTER-DB25-25-Pin-Parallel-...)

Please correct me if I'm wrong about any of these parts - I haven't tried to build one myself.

Here's my rudimentary understanding of the pin connection: (to connect it yourself, use https://upload.wikimedia.org/wikipedia/commons/b/b3/Pin_numb..., https://upload.wikimedia.org/wikipedia/commons/e/e0/Parallel..., and https://upload.wikimedia.org/wikipedia/commons/e/e1/25_Pin_D... as guides)

IC-Parallel

2-1

3-14

4-16

5-8

6-4

7-3

8-18

9-9

10-7

11-6

12-5

13-2

14-12

15-17

16-25
Language And Leverage On Twitter
The link is a chapter from "Learn You a Haskell for Great Good", which I recommend a lot if you want to learn Haskell. However, if you click through to the table of contents, you'll see immediately one of my problems with Haskell as a language: guess in what chapter you finally get to write hello world?
Web Apps Every Web Designer Should Know Of
You'd think this would be obvious. It's an inefficient and poorly designed "bytecode":

- The only number representation available is floating point.

- Concurrency is impossible except for the nearly useless web workers API; this prevents a language author from exposing any other type of concurrency mechanism.

- Anyone wishing to implement the "byte code" specification must implement or integrate a full Javascript parser and runtime.
Ha ha, there is probably some potential for a crazy project, however, the problem is that USB hubs and extension cords are comparatively expensive.
I am the original author of this writeup.

Did this hack together with my brother twenty years ago (look at the file dates)!

Strange to see my 1994 hack at #1 on hacker news twenty years later..

It was done with 64kBit DRAMs in a ceramic package. Descrambling the physical chip layout was a pain..
> Yes, gays were certainly free to marry opposite sex people if they chose to.

This is a glib, assholish way of putting a point, a point that makes no sense if you phrase it more clearly. Civil marriage is about two people deciding to form a partnership together. For example, you could claim that an interracial marriage ban is perfectly equal, because a black person can marry any other black person they want, and a white person can similarly marry a white person. But that's gluing a thin paper smiley-face on over a white robe and hood; it deceives nobody.

> This is something that should be decided directly, not through the rational basis test.

I can't imagine what you mean by that. The rational basis test requires that laws have a... rational basis. That's a pretty low bar. If you read the MMA decision or the Federal Prop 8 decision, you'll see that those trying to prevent gay marriage had no rational basis for doing so. In particular, they could demonstrate no harm to society. They tried, but the science wasn't on their side.

> According to the links posted in a sister comment, gays could have civil unions in california, prop 8 just codified that they wouldn't be called marriages.

That is incorrect. Prop 8 initially stripped all marriage rights, exactly as it was intended to. The proposition was necessary because California's constitution provides for equal protection, so a constitutional amendment was required to make an exception so that gay people could be treated unequally.

Once it made it to the CA Supreme Court, civil union rights were restored, and it was only the term "marriage" that was left as a sop to the will of the voters. But even that was seen -- correctly in my view -- as a violation of the 14th amendment.
Well that was well worth my time. Awesome.
> Spoken like a true scumbag apologist.

Personal attacks are not allowed on Hacker News.
I believe Chrome is much more strategical than that.

Google could lose enormous market share if any major browser decided to change the default search engine. So they created their own major browser.

Chrome is not an information source for Google, it's a way to maintain Google as a default search engine.

They fund Mozilla for the same reason.
Since when has "readability" been a fatal flaw in any discussion medium? It simply doesn't matter, and there's no reason to apply distinct IDs over a collector or a simple piece of text like Reddit does.
For extremely high availability systems like this it is generally better to choose both consistency and availability at the expense of partition tolerance and then mitigate the possibility of partitions with meshed multiply redundant interconnects.

Moreover, you don't strictly need a distributed system. You could instead elect one exchange at any given time as the primary and clear all inter-exchange trades through that exchange.
The issue is California's law to make the contribution public. It forces people to make political decisions based on who's going to pay them in the future.
Limited VPN celebratory offer £1.50/year VPN
Impressive! I tried to make a comment that explained how to do it - how accurate is it? https://news.ycombinator.com/item?id=7538035 I'm going to try and make one myself.

My main questions are:

1) how far from the RAM should I put the lens?

and 2) is the lens I mentioned in my comment going to be an adequate lens?
In addition to the many other languages listed here, Go allows side effects on import.
In comparison, the modern "quintessential" Deep Note which (by my ear) is a lot more intense http://www.thx.com/consumer/movies/8286511
I remember something along these lines came up quite a while back on HN, and later some Facebook data scientists satirized the Princeton researcher's methodology where they showed how Princeton would have only 4 students in 2017.

On a more practical note, I despise Facebook, but I don't think it is going to fade into oblivion. It may become less relevant, but it will never fully disappear, especially as it snaps up these new social networking channels like WhatsApp and Oculus.