skysight-inc/HackerNews huggingface dataset:
Thought this was a day early for April fools until I realized he uses UTC on his blog.
Just passing by..

http://nightweb.net/#type=user&userhash=a4ehmznzujb4iiai...
I wanted this to be real so bad!
Emacs?

<ducks>
No you wouldn't, that's a huge conflict of interest in the modern world.
This is fantastically useful. Not so much for zooming in- you can already double tap for that. But to be able to zoom back out... brilliant.
Stross announces movie and innovative new business model
To me the purpose of ThingManager is perfectly clear--to manage miscellaneous or common functionality that doesn't belong in Thing. In our apps we call it ThingService, and I'm sure other groups have a different convention.

For example, we're using a legacy codebase now where there is some complicated logic involved in managing attributes for products. ProductService is a singleton with no internal state that does things like removeAttribute(product, "foo") and serves other purposes. Before we introduced this pattern this kind of functionality was copy-pasted all around our controllers.

In short, I don't see the harm in this convention. Perhaps Manager or Service is bland name, but it's immediately clear to our developers what it does, and if you want to see if something has been done before with products, you look in Product or ProductService.
Obviously, they already are. The LO installer places them into %windir%\Fonts during installation
Free course: MongoDB for Java Developers (starts May 13)
Same here, thanks for confirming that it works in Android!
This smacks a tad too soundly of meta-prank.

If not, the nature of the internet is the straightman. The fact that your web prank is prepared and launched privately means that your prank, if crafted well, will fool people -- and often they won't speak up so much about it, but might ask people if they saw it.

You don't see this happening so much because there's so much slapstick bullshit that it's no fun at all. It just means you have a whole day of groan-style attempts at comedy.

I don't want a day of having to figure out how to get around everyone's new prank frontpage. I totally don't mind something that actually fools me. Hell, I'll take it if it fools more than 35% of the people that see it.
I don't know about everything on forbes, but contributor (i.e. random blogs hosted on forbes.com) writing does seem to be low quality with linkbait titles.
Introducing Atlassian JIRA junior
I'm reminded of a similarly circular phenomenon, known as "fairy ring," where mushrooms grow in a circle. They appeared on our lawn in Saskatchewan from time to time; apparently it happens all over the world.

http://en.wikipedia.org/wiki/Fairy_ring
> the purpose of ThingManager is perfectly clear--to manage miscellaneous or common functionality

Ironic, isn't it? :)

PS. Don't get me wrong - a Manager, or Util, or Helper is not the greatest crime against software design. The intention here is clear, functionality - no, not really. However engineering is about tradeoffs, and it is sometimes practical to have a dumping place for miscellaneous stuff. Just keep in mind that it is a "be careful" territory, those places do tend to turn into ugly and hairy mess over time.
Same here.

If it's a nice day in NYC, I'll often opt for a very long walk between meetings. If I stop for a coffee, as I tend to do, I usually try to memorize the directions to where I'm going. Failing that, I have to either put my coffee down for a moment or attempt the dreaded thumb and index finger zoom maneuver.

Now that I've written that, I'm hesitant to post it. This is probably the most "first world problem"-ish thing I have ever said. I don't even really rely that heavily on Google maps since I know the major streets in the city pretty well. However, this mini-dilema has really struck me several times. I guess that means life is good!

Anyway: Thanks to the guy who discovered this. And extra thanks to the dev who implemented this. I don't know if it's an accessibility feature (limited use of second hand) or a debugging feature (second hand on the keyboard). Either way: awesome!
Show HN: RSS feeds to Kippt
> I do not appreciate the hand-wringing over every tiny thing that seems so common on HN.

This is so true, so much pedantry now to get cute little karma points. Hopefully someone does a joke involving Yahoo or PHP 5.8 to really get everyone going tomorrow.
It took me ~1 hour to compile on my MacBook Air.
There are two kinds of sounds, "celesta" for transactions and trades (e.g. http://www.listentobitcoin.com/sounds/celesta/c003.ogg) and string swells for blocks (e.g. http://www.listentobitcoin.com/sounds/swells/swell2.ogg).

Looking at the source, you are, however, correct, that the pitches are selected at random.
Not Capitalism, not Communism
Here ya go:

http://www.listentobitcoin.com/sounds/swells/swell1.ogg

http://www.listentobitcoin.com/sounds/swells/swell2.ogg

http://www.listentobitcoin.com/sounds/swells/swell3.ogg

You could write a script to play these randomly!
Personally, I like to pull my April's fools pranks on January fourth. When people ask why, I tell them it's how we celebrate April fools' outside the US.
I'm not sure why I'm getting downvoted. Many of us are doing startups. Punishing me now can have significant business impact, because it basically means slower development. In many startups, that future punishment may never come!

Also, I've spent over two years working with a schema-less database and we don't have the corner cases the OP is mentioning. Most of them are rather easy to avoid.
Nice example of "ecosystem engineering" or "niche construction". It's increasingly considered to be an important evolutionary mechanism.

http://en.wikipedia.org/wiki/Niche_construction

One of the most significant inadvertent "engineering" events was the biologically-induced oxygenation of Earth's atmosphere:

http://en.wikipedia.org/wiki/Great_Oxygenation_Event
How funny: Just yesterday my friend (whom I met on StackOverflow months ago) mentioned that someone in the JavaScript chat channel was asking about some canvas tutorial, one that I just so happened to write. He summoned me so that the questioner could in fact, chat with an expert. (Or at least the author.)

The (none-too-interesting) transcript as proof:

http://chat.stackoverflow.com/transcript/message/8574110#857...

Unfortunately the question wasn't particularly interesting and concerned an old tutorial. But I love SO because it really does let you chat with experts (Skeet being the most obvious), if not always in real time.
http://pgeoghegan.blogspot.com/2012/06/towards-14000-write-t... may interest you
I understand this was a joke, but what's the real reason python does not have a "string".length
So what if you want to have a list of pages to jump to - send back 80 links?

What is a client supposed to do when a new "nextToLast" appears? I've yet to hear of any API consumer that is driven like a browser.

What's the actual point, other than some purity to some abstract concept? Just make it part of the API to take /api/things?page=x and do the right thing.

What's "tomorrow it may well be a computer" supposed to mean? We'll have AI? Or there will be some sort of new WSDL "... for REST" invented?
China is the new France

http://www.nytimes.com/1991/09/14/news/14iht-spy_.html

(which was the new Japan in 91 or so).
> Your original post said "Fog Creek doesn't have it's own Wikipedia page". Then you edited it to say Kiln project after you saw these links.

Wrong, my post originally said "The Fog Creek project" (as opposed to the OP's project). The only word I added was "Kiln", to make it clearer.

> How about some integrity?

How about stopping to think before making accusations about other people's integrity, rather than shooting from the hip? I see you're new to HN. Why don't you learn some etiquette by reading the HN guidelines, it'll help you to avoid the banhammer: http://ycombinator.com/newsguidelines.html
I wish I could pop these bubbles.
It's only awful because I've been used to the way they've been doing compose for years. They only made very gradual changes so it didn't affect my flow too much.

With the new interface, it makes me pause for a second when I want to get something done quick. I imagine I'll get used to it and you all will too.
So, is this a prank?
Gmail's April 1 launch comes to mind, the "prank" being that the 1 GB e-mail storage was real at a time when other webmail providers gave 1-10 MB.
That was exactly my point. Most of the bubbles on the screen on MtGox trades, not blockchain transactions.
Who are the best engineering leaders on HN?
Use your GitHub code as a website background
I'm pretty sure the folks who have amassed "hundreds of thousands of reputation" did it merely by answering 1000's of questions.

http://data.stackexchange.com/stackoverflow/query/105837/how...

Sure there are a few questions with highly voted up answers because they are widely useful, but there is certainly the minority of high rep earners. Even the new people who are gaining lots of rep are doing it by answering hundreds of questions.

http://stackoverflow.com/users?tab=newusers
Show HN: See the number of DOM elements on a web page
Yeah works on my Galaxy Nexus as well. Sweet !
Although it is rather unfortunate that it only zooms to the center of the view rather than where you double-tap.
See the first answer:

http://stackoverflow.com/questions/83983/why-isnt-the-len-fu...
> I'm almost at the point of thinking of "hack" as a standalone word to be a negative indicator of signal.

Cool English hack!
Never knew about this. It'll probably be something that will catch on fast in different (non google maps) apps over the next few years.
Class names are pretty much meaningless to me. It's hard to name classes, so in my experience, I tend to look past them and understand the responsibilities of the class and pretty much ignore the name. If it's too hard to understand the class responsibilities without a lot of work, then the class is definitely poorly designed, most likely too complicated.
This is great, because you know the most annoying feature of google maps? When pinching to zoom, it also rotates.

The map not rotating is great!
I am learning how to code, and one important thing that I have realized recently is that it can be bad to focus on building specific projects too much. I have spent a lot of time banging my head into the wall on specific implementation problems that might have been spent more efficiently learning from tutorials or books. Since I have started setting aside time for "pure learning" I have gained the background knowledge in languages and libraries to figure out how to solve problems that come up.
First, all they see is that is I2P traffic(or rather they see it's encrypted, as the protocol has no magic bytes anymore afair).
And secondly they haven't done much work in regard to blocking UDP afaik, so unless that has changed, they can't really censor I2P once you got it up and running.
There's a Kiln for Ring app context management in the Clojure world too.
Hmm, this fits the bill as far as the 1GHz CPU and 1GB RAM... fairly trivial to add a 1TB hard drive: http://www.extremetech.com/computing/146765-amd-launches-giz...

However, at $200 without the hardrive, it gets a bit pricy.
There is built-in len function and there should be only one way to do stuff according to Python philosophy.
HBO is down
Maybe they couldn't handle the Game of Thrones load today?
Mine was similar, if a little less cynical: "Holy shit, Fog Creek is open-sourcing Kiln? On April Fool's Day?"
Agreed. The worry here is that eventually in the coming centuries as more and more days are assigned various meanings that the HN frontpage will decline dramatically in quality. We must nip this in the bud.
I got it! This post is a prank itself! LOL
Once you add extra stuff, it's not JSON any more. If you pick a convention, document it, and then serve it as some other type ( like application/foo+json ) then you're good. It's true that there's no reason to throw away the _serialization_ format that JSON provides you, but if you serve application/json, then you can't have extra 'conventions.'
How long before this is considered obvious? Does Google have a pending patent on this? I can honestly say I wouldn't have thought of this.
This is basic stuff.

It works fine until we realize that the app requires multiple simultaneous connections to the server. Now because you have a ConnectionManager, you go ahead and introduce an array inside the class which maintains the state of all the open connections to the server.

No competent programmer would make this mistake solely because the class is called ConnectionManager.
Or, you know, lighten up. If it bothers you so much, I'm not sure what to say. Other sites will have plenty of these too.

"Keeping the front page pure", really? It's only ever as "pure" as we as a community want it to be. It's not your own personal RSS.
To point out the old adage: "Amateurs backup. Pros recover." While backup day is a great reminder for folks, "make sure your backup can actually recover" day seems like the one more people would benefit from.
> What's the actual point, other than some purity to some abstract concept?

The actual point is decoupling. It's generally considered in software architecture that design that's decoupled is a little harder to build upfront, but survives change over time.

As a 'real life' example, because Twitter exposed internal details (a tweet ID), clients sorted based on that number, because they assumed it'd be monotonically increasing. Once sequential IDs became a problem with Twitter at scale, they had an issue: if they switched to GUIDs, clients would break, because they were sorting based on the ID value. They had to invent an entirely new algorithm (Snowflake) to adapt to this change. This wouldn't have happened if they hadn't leaked internal details. It's basic encapsulation.
> one of the things I dislike about link relations is how they presently fail to mention the method you should use

Link relations can absolutely say this. See ATOMpub as one example, it's `edit` relation specifies that you should use PUT.
This isn't all about the Ivy's recruitment. I am from a small (10k population) town in Mid Missouri and currently an MIT student. In my graduating class of 150 there were maybe 6 that went out of state and only a couple that didn't go to a neighboring state. I was always gunning for "top tier" because my parents were professors and had gone to top tier colleges as well, but the high school counselors were absolutely useless to me. They didn't know how to deal with the common app and none of the scholarships that they could point me to apply to were eligible for anything out of state.

I got the same amount of advertisements from out of state schools as in-state after taking the ACT, but there was a feeling at my high school of anti-elite schools.
Getting the length of a string is a bad idea. Usually you do this because you want to iterate over the string one character at a time. But getting the character at a particular index is an O(n) operation, so iterating over a string this way is O(n^2).

This is 2013, strings are Unicode now, and we have to stop thinking of them as arrays of characters. The most widely used Unicode encodings, UTF-8 and UTF-16, both have variable-length characters.
How to capitalize on your most underestimated asset
Yeah, I'm starting to feel like I'm not part of techcrunch's target audience.
yup, me too.
Introducing Noom Weight Loss Couch
You don't think the top users on SO are experts?
Because that's not secure, it's just a nightmare waiting to happen.
Brilliant. Wonder how long it is until this sort of thing is standard on iOS (a la pull-to-refresh).
It's a shame that one got flagged, it's a well done hoax with some amusing yet highly plausible examples:

http://www.intercaloninterstates.org/examples.html
BaseWidget is useful when it's an abstract class, to differentiate it from the actual implementations WidgetA and WidgetB.
San Diego Airport Limo by Seal Transportation 858-224-5474
Results of the HN "thinkerspace" poll
All April Fools' Day Website Jokes from 2013 (and back to 2004)
Too many people trying to stream Game of Thrones, eh?
You can, depending on your location. http://pizzaforcoins.com/

I know you were really trying to be snarky about Bitcoin, but in case you hadn't heard, you can actually do things with them. Also notable are https://wrapbootstrap.com/ and Reddit
This is awesome, great work! However, and I don't mean to be rude, lemme just give you a tip about your documentation.

I'm not a "documentation expert" or anything, but IMHO I'd say there is too much information on your "landing page" and not a clear "call to action":

- How about some installation instructions?

- Basic usage? (addressing the main features, those which most users will probably use most of the time)
If I were you I'd put the details about plugins somewhere in the Wiki.

I don't have a lot of spare time to check out your thing, so the project becomes increasingly unattractive as I have to waste more and more time to figure out how to use it / how to get it up and running for a basic test.

Again, IMHO, I believe this applies to most hackers, and to open source documentation in general. Very often I see great hackers who can code 1000x better than I do, but fail to write 'attractive' documentation for their projects.
Google and whois are the minimum threshold for picking names these days. If you intend to start a business, add a trademark search to that.

There's also no law against picking descriptive names.

Did you develop an egg smashing simulator? Where's the harm in calling it "Egg Smash Simulator Kit" instead of "Humpty" or some other confusing bloody puntastic name?
Bohw.org: Things I Learned at SXSW Interactive 2013
Dear game makers: please tell me in a clear and easy to find way on your landing page what platforms you support. I shouldn't have to drill down into a FAQ to find this. Microsoft and Apple even provide handy icons to help.
> The to-JS languages are lining up to become the C++ of the web.

What I find funny about this remark was that I think it was intended to be disparaging because the meme these days is that C++ sucks.

But C++ is actually wildly successful and is the bastion of many very large, complex, fast, applications that would be very challenging to write in vanilla. Yes, you can stick to just C, but many many programmers have profitably switched to C++ instead. Almost the entire game industry, most desktop applications that people use for their jobs, web browsers and even JavaScript engines themselves are all written in C++.

If the new crop of compile-to-JS languages are in a similar boat, then sign me up!
The problem is in OO, or rather how people learn OO.

They learn that objects encapsulate behavior, and soon start deriving all kinds of non-objects to hold their actions ("ConnectionManager", "ConnectionHandler", etc.), while the state is kept all over the place.

You should look at objects as just another data structure. Once you realize this, it's pretty clear that you should have a "Connection" that keeps the state and a bunch of methods to manipulate it. This comes natural if you program in C or other paradigms, where a "Connection" would be a struct or something like a hash.

Another code-smell is a codebase littered with singletons.
it's actually better this way, it's harder to aim when you're double tapping but easy to swipe one area to the center.
In pictures: Syrian refugees' most important things
Ask HN: How to learn Node.js & Frontend JS Frameworks?
So I have a basic understanding of JS and jQuery. I'd like to expand that to the backend with Node.js, Express, etc., as well as some frontend JS frameworks. I've tried a couple times to learn, but the tutorials or books that I've used have been either too simple or too difficult.

What are some good resources out there and how do people become better at JavaScript?
In my opinion, the HN community is always best served when posts and comments rise and fall on their merit, not because of flagging rings and ideology.
The harm done by tests of significance
Freenode April 1st quiz
ActiveMQ Message Priorities: How it works
My code has ManagerControllers everywhere!
In the first decade of the 1900's, governments around the world were spending hundreds of billions (at today's values) to develop the first viable aircraft. Yet they lost to a couple of hackers working out of a bicycle repair shop.

Money != and will never == innovation.
This might be a stupid question, but I don't see how to view or edit any marked end points on the map you linked to.
The title of this article is very exaggerated and needlessly so. The only reason you see awful retention numbers is because it's so easy to sign up. Even if I'm only partially interesting in a class, I'll sign up. I often sign up for 4 or 5 classes that I'm interested in and will finish 1 or 2 per term, just so I don't miss the chance to sign up later/have access to course materials.

If you have issues with the class, that's a personal problem and you simply need to work on your willpower.
I kinda look forward to them. It's not a big deal. I basically assume that all posts are April Fools' jokes for this 48 hour period. It's a nice change of pace. It'll be over soon.
I did. Look at the picture provided it's the authenticate step that's the problem. Alice wants to send Bob a message. Alice contacts public key authority and says give me bob@bob.com's private key, encrypts the message and sends it. So far so good.

Now, someone contacts the key authority and says I am Bob@Bob.com what's my private key. Without prior communication between Bob and the key authority there is no way to do that exchange over an open channel securely. Assuming email addresses are public information and someone can get bob's email address before he communicates with the key authority.
uptoke
This is actually the startup I'm working on. We applied to YC a couple of days ago. My cofounder and I believe that there are better ways to find out where you should go and what you should study than the traditional routes of nearly guessing, getting a postcard with your name on it, or taking a tour around campus with a student worker. (Though, honestly, schools love the last one because attendance rates, once you get the student to set foot on campus, are above 70%. So as much as I knock the idea of a tour with a student worker making less than $10 per hour, it does seem to seal the deal.)

Anyway, we're going to change college selection for a lot of students. I'm sorry we're not ready, yet.
Wouldn't a "Widget" abstract class name also be differentiated from "WidgetA" and "WidgetB" implementations? Then APIs could take parameters of type Widget instead of type BaseWidget. "Widget" is a shorter, cleaner name and avoids documenting implementation details like names such as "BaseWidget" or "AbstractWidget".
Google Maps for Android has had this since September (version 6.12). But in every other way, I'm always jealous when I see GMaps on my friends' iPhones.