skysight-inc/HackerNews huggingface dataset:
In the smartphone world you don't need to remember to use the service. Service can use well targeted contextual notifications to remind you when it is relevant. Obscurity is much less of an issue for intelligent services (even if they are rarely used).

I believe that there is probably an opportunity to build these services that have never worked in the desktop world but can work in the mobile world.

Travel planning has other problems (e.g. all the money is in bookings and not itinerary creation). Hotel bookings are super profitable - and hence expedia can spend > $1B per annum on adwords to re-acquire customers.
Rate limit is up to Firebase. We'll see if we can get them to answer.
Props to Rust for tackling this head on, more languages should provide resource allocation that's deterministic, predictable and syntactically convenient.

CPython's behavior is nice, but it seems to me it came about by accident. Big heavy resources use refcounting because everything uses refcounting. Plus, if CPython had true concurrency, across-the-board refcounting probably wouldn't have lasted nearly as long (reason being: multithreaded refcounting requires atomic ops which make them much more expensive).

But in the general language design world, IMHO, refcounting is actually a pretty good compromise for resource management. Because:

1) The efficiency lost compared to Rust's approach is probably immaterial (since the Big Expensive Object that you're mananaging dwarfs the refcounting -- syscalls and file descriptors are expensive). So I don't think zero overhead is critical.

2) Cycles are pretty easy to avoid when you're only refcounting Big Expensive Objects (FDs, mmapped buffers, etc. etc.) For a general runtime, refcounting is tricky. But if it's a special part of the language that's small, simple, and only for resource management, it's pretty convenient. I think it's worlds better than the approach of mixing GC and resource management -- language designers should admit that's a terrible idea.
In order to sign up for this student pack, you need to be part of a larger institution. You can still learn to code without signing up for this student pack.
Definitely doesn't qualify.
This eminently reasonable - Basically all Twitter wants to say is we have received X requests of Y type. Right now they are restricted to broad categories 0-999, between 6 & 8 thousand etc.

I thought they were going farther - that they wanted a per account notification ability; not the case.
Giving students gratis access to proprietary software is anti-educational. There are plenty of top-notch free software programs that students (and everyone!) should be using instead of relying upon SaaSS and other types of proprietary software. Having the freedom to read and modify the source code of the programs you use is a great way to learn to be a better developer.
[Firebase founder here] This is pretty exciting for us, we're glad kogir, dang, kevin and sctb chose to expose HN's data through Firebase. We're seen quite a few startups (and big companies like Nest) do this, since building, maintaining, and documenting a public API often isn't a easy task.
I don't think anything in that Reddit thread was conclusive, nor did they capture all of their properties (early termination, cleanup step).
Adobe's e-book reader sends your reading logs back to Adobe-in plain text
It was probably for manual line-breaking on an unsophisticated word processor, and it got by their copy-editor.
As soon as someone uses this API to create a replica of the site where everything else is the same, but the design is responsive, I want to know about it :)
I used MSN. Now I use XMPP 'cause they wanted me to use skype instead... pffff...
Does this guarantee that the alert will be on top of the html elements on the current page? Sometimes this is important if you are building a browser plugin and need to show dialog to the user. For example, I use alert instead of a modal html dialog because when you are injecting it on some pages it won't show up properly.

Chrome supports the <dialog> element which is guaranteed to appear on top of whatever page its injected on.

Javsacript's Alert, prompt, also guarantee it will appear on top.
If the compiler is applying reasoning before the program is run then it is by definition performing static type checking.
You don't need an edu email to participate. You can sign up with any school issued email address, student ID card, or other official proof of enrollment.
Video Poker is basically solved, i.e. for this type of video poker game, use this strategy for a return of 100.76%.

http://wizardofodds.com/games/video-poker/
If something is immutable (and doesn't own something else), it doesn't matter whether it's passed by value or reference. That's a decision the compiler can, and should, make, as an optimization decision. In Modula, where pass-as-read-only was the default, small items were passed by value and large ones by reference. "Small" is a CPU-dependent optimization and should be left to the compiler, not "user intuition".

The default should be pass as read-only reference. If you want a copy of something, you should have to explicitly make one. If you want write access, you should have to say so. Rust has all the right concepts, but the defaults aren't in the safest direction. The experience of "const" in C/C++ teaches us that they should be.
I am just making point of "explosive growth of internet" might be the beneficiary ....in the process we might become more westernised...I don't mind that as long as it can remove poverty of 500 million Indians.....more than 200 million people live in abject poverty( poorest of the poor)...Internet penetration is known to uplift most people out of abject poverty...wish more Indians are online ...and the world will come and invest big billions...imagine both Europe+Usa = india market size..it's possible...but it takes effort and discipline..
I'm a little bit confused. Every object that gets allocated has to be freed at some point. That cost is the same no matter how the memory is managed.

Are you talking about an additional cost beyond "freeing memory that was allocated"?
Oh man you guys, patio11 has generated massive amounts of content: https://hacker-news.firebaseio.com/v0/user/patio11.json?prin...

I count 8,483 submissions. I'm sure there's something interesting to be done with all of this data. A word frequency chart?

---

Edit: So apparently there's a ruby gem that lets you feed it a body of text and generates pseudo-random phrases based on that text.

I present to you the patio11 impersonator: https://gist.github.com/christiangenco/e8d085e47479be0131e1

One of my favorites:

A nice set of challenges -- kitty at a school with tens of thousands of bucks a year or less immediately.

---

Also, a word count on patio11's submissions: 1,052,351. For comparison, all 7 Harry Potter books total 1,084,170 words. patio11 has written the entire Harry Potter series worth of content on HN. Just... wow.
Great news! Can we add endpoints for "Show HN" and "Ask HN" too though? I don't see an easy way to get them.
Could Microsoft Upset the Mobile Landscape?
That doesn't worry you at all? Were any alternatives considered?
I enjoyed Dr Ordersky's course (of course, it's based largely on SICP, which I also enjoyed), but there's a world of difference between the code you write for those exercises and the code you write in the real world.

I'm on record as being a Scala skeptic; I've already run into things that the type system seems to encourage but causes headaches, and the size of the language means that no matter how small a subset you write yourself, you can't help but page out when someone else's subset is different than yours. I know that C++ or Perl wizards eventually get to the point where this isn't a problem, and I guess that Scala is positioning itself as Java++, so the same caveats apply.
Only because it is designed in such a way to allow for it.

The problem is architectural issues, which are far too often glossed over.
This was only true up until recently. In the last year B of A and JP Morgan settled for $17b[1] and $13b[2] respectively. Each settlement was more than their net income for the preceding year. That hurts. A lot.

Furthermore, the settlements since 2008 have largely not precluded the banks from facing criminal charges[2]. The Justice department needs to get these initial settlements out of the way before they can pierce the corporate veil and pursue criminal action against individuals and these giant banks unsurprisingly have spent lots of money and lawyers dragging these investigations out for the last 6 years. I'm ever an optimist, but I think it's inevitable that some criminal charges are still coming. Those charges will likely fall on scapegoats, but still.

[1]http://www.masslive.com/business-news/index.ssf/2014/08/bank...
[2]http://money.cnn.com/2013/11/19/investing/jpmorgan-mortgage-...
Correct, and we're planning to move to the new official API ASAP (instead of the legacy one -> it was not web crawler but far from perfect) for the indexing.

Regarding the REST APIs, let's keep both for now :)
Great stuff, I wonder if theres anything similar out there for other countries?
You don't need to know the seven deadly sins to know anything about types. They could have had 5 or 8 sins having to do with types and the content wouldn't have changed. That's pretty much the definition of unnecessary.
In the case of most progressives, there is just a single bank of machines, and they are communicating in realtime (wire delay) between them. When I quit the industry, the Megapot was the first server distributing money across sites in realtime (network delay). There was a similar product offered by IGT at the time, but the incrementing counters were entirely based on play within the casino; casino jackpot sums were batched and shared across the casinos according to a fixed schedule. Our displays were certainly based on real money, and I suspect anyone else in the industry would have to do the same to be legally in the clear.
Yes it's the antidote for our poorest of the poor 200 million Indians...hope internet penetration removes that many Indians out of poverty...it's possible and most likely solution.
Nothing, as far as I am concerned. That is what all the LED light bulbs on the market are currently doing. The price has come down substantially in the last 2 years. I am replacing all my bulbs as they build out with LEDs.
These guys did this all wrong. They could have kept this going indefinitely if they found a team of people who all agreed to go in and play these machines at random times, at random casinos and never together. Better yet, rotate the people so they never go to the same casino within 6 months of their last visit so they don't get flagged for winning a jackpot every month.

Just send someone in, play for a bit and then win a jackpot and leave. $1.8k to $10k jackpots so ~$6k/casino per session per person.

You could easily get everyone to an annual $50-100k/year salary with very little play and be under the radar forever.

You would have to use people you trust since it's naturally a greedy endeavor.

I'm sure there are holes in my system, but those would be filled with a group of 10 people analyzing and iterating on it every week quite easily.
Can having a diary help to beat procrastination habits?
It's pretty, well, stupid to issue from a root. That means the root has to be connected to the internet, and the CA would have to have trust revoked in the entire root should it be compromised.

COMODO provides all the files in the ZIP sent to you via email. Don't know about others.
In February, I did an analysis on all Hacker News stories: http://minimaxir.com/2014/02/hacking-hacker-news/

Yesterday, I published an analysis on all Hacker News comments: http://minimaxir.com/2014/10/hn-comments-about-comments/

There's a lot of interesting trends in the data. Let me know if you want to know anything in particular and I'll get back to you. :)
This... is cool, but also kinda sucks for me. I've invested dozens of hours into writing an extremely complicated scraper for my Android version of HN.

https://play.google.com/store/apps/details?id=com.airlocksof...

The newest version (still under development, probably a month or two from release) adds support for displaying polls, linking to subthreads, and full write support (voting, commenting, submitting, etc). I'm fine with switching to a new API (Square's Retrofit will make it super easy to switch), but without submitting, commenting, and upvote support I have to disable a bunch of features I worked really hard on. Also it would've been cool to know this was coming about 3 months ago so I didn't waste my time.

Anyways, quick question on how it works -- when I query for the list of top stories

https://hacker-news.firebaseio.com/v0/topstories.json?print=...

it just returns a list of ids. Do I have to make a separate request for each story

https://hacker-news.firebaseio.com/v0/item/8863.json?print=p...)

to assemble them into a list for the front page, or am I missing something?
Having a Mobile Strategy Is Like Having a Laptop Strategy 20 Years Ago
Can the CEO Be Fired If His Company Is Hacked?
Video poker has been solved.
Urban legend? I had heard that while most of the industry struggled to develop a blue LED, someone eventually asked this guy to look in to the problem and he had a solution rather quickly. Like they just had to ask the guy with the right background to solve the problem an viola. Is there any truth to that?
> It is far more predictable than GC but I don't believe that it isn't more expensive.

A GC has to determine liveness of objects, so it has to traverse the object graph (or at least the most recent generation if the GC is generational) to know which objects are still alive and which aren't. That's what "GC scaling" refers to. Then it still has to deallocate dead objects, and pay the same deallocation cost as scope-bound free.
Plastc Card
But what it's reasoning about coincides with the dynamic type which will exist at run time, so that means we cannot say the two have nothing to do with each other. It's the same knowledge, just known at different times, right?

Just because we have stuffed some knowledge into tags that exist at run time (and chosen suitable machine representations to make that possible) doesn't mean it's a different class of knowledge.
I agree that automatic, deterministic resource management (as opposed to GC plus a dispose pattern of some kind) is highly desirable. But I think for the vast majority of projects, I would prefer automatic reference counting with the occasional weak reference to break cycles, particularly if that were the default for the language. I can appreciate that being explicit about resource ownership is an advantage in situations where one needs to absolutely minimize performance overhead. But for most applications, I think a system of ownership and borrowing like Rust's would just add extra cognitive load for the programmer for no appreciable gain. Of course, Rust isn't a language for most applications AFAIK; it's a systems language for performance-critical infrastructure like Servo. And Rust is probably not a language for blub programmers. But I think this blog post is absolutely right about the problems with GC plus a system for disposing of resources. It sucks that mainstream, blub-friendly language have mostly chosen GC over reference counting; I think automatic reference counting provides the right set of trade-offs for most applications.
Trust me, their rate limit will be much higher than anything we'd easily be able to provide.
For my twitter bot https://twitter.com/hn_bot_top1 I use http://api.ihackernews.com/ at the moment. This works but the site (and the API) is quite often not available. So I'll probably switch to the new API as soon as I have some spare time...
I love firebase!
Amazing for a company that is primarily about a user base they can't charge for, or data mine for advertising.
According to Wikipedia, Harris's slot machine hack wasn't discovered. He turned to Keno, finding a flaw in the pseudorandom number generator, and when his accomplice went to cash in a high-value winning ticket in New Jersey, the casino got suspicious, alerted investigators, and everything came out after that.
Close5 – Local buying and selling
Quite sure, in a dynamically typed language there is only a single static type inhabited by all values. If the compiler is reasoning about classes of values at runtime then it does indeed have nothing to do with static typing.
An analysis of the cost of raising a child like Calvin from Calvin and Hobbes
:-]

I thought of a similar thing for an mp3; a computer would produce every possible "song"..but even at an incredibly low resolution of 100 kilobytes for a 3 minute song, you're looking at 2^800,000 possibilities. (1e240000).

Another cool one is possible games of Go, ~1e768. This is one reason top computers still can't touch top humans at winning the game.

Big numbers are fun. :-]
So, does it mean I can get the top stories, and then get a top story item with all the comment expanded ? I mean, at first it look like it just send me the id and I need to fetch the detail for each of them. Again, this is just looking at the REST API, not the iOS SDK for example.

I'll need to "convert" SwiftHN (https://github.com/Dimillian/SwiftHN) either to this new API or adapt my scrapping engine to the new site layout.
[Firebase Dev Advocate here]
We don't currently have rate limits. I'd recommend using our SDKs, they handle connections more efficiently than dealing with the REST API. You can also run your own server process using our Node (https://www.npmjs.org/package/firebase) or Java libraries (https://www.firebase.com/docs/android/quickstart.html).
It strikes me that for something like knee surgery, at least, the recovery routine might be what provides the benefit. What if you took a group and did not pretend to give them surgery but made them rest and go through physical therapy as if you had?
It sounds like they are talking about a semi-space collector, which I can imagine might in theory be faster than scoped allocation since allocation is a simple pointer bump (just like stack allocation) but when garbage collecting you only have to traverse the live set. However, semi-space collectors can't collect non-memory resources without additional metadata, and they have a memory overhead of at least 2x the maximum live set. I have a hard time imagining even a semispace collector outperforming stack allocation.

Of course if your program is short-lived you can just allocate a sufficiently large heap, pointer bump the whole way and free all non-memory resources on program termination, which ought to be cheaper (but probably not that much in practice due to cache effects).
There is an important distinction in Rust: ownership.

Copyable objects are (by definition) simple enough that copying them does not introduce aliasing. Objects with heap pointers or destructors cannot be copied, because now there would be two "owners" of those values.

For what it's worth, I've found that a lot of these assumptions ("it doesn't matter, let the compile optimize it") really remove the programmer from important power.

And before you find yourself saying "are you saying everyone should write everything in assembler?":

1. There is a distinction between writing code in assembler and having to use a `&` sigil for "by-reference" in a language that has lambdas, traits and many other high-level features.

2. You should generally use Rust for cases where performance characteristics are important, and where control over memory is important. If you're sure it's not important, by all means go with a higher-level language that abstracts it away.

I made this point (perhaps more clearly) in my talk at GoGaRuCo: http://www.youtube.com/watch?v=ySW6Yk_DerY
While the value here is nice, I maybe would not suggest investing too much of your time on learning proprietary temporarily free developer tools. There are great open source tools for many developer tasks that are not just good options, but can even be industry standards.
Quite right, but you are sharing the service and hardware with thousands of other users.
They probably meant to write Tumblr, which Yahoo does own.
> About Scala specifically? No, indeed. About languages which make it possible to create custom ASCII operators? Certainly.

IME, its possible to be just as unreadable with the more verbose custom alphanumeric operators (functions/procedures) that every structured/OO/functional programming language lets you create as with terse non-alphanumeric symbolic operators; all that eliminating the latter does is to limit how concise [1] it is possible for even a well-designed DSL to be.

[1] Note that concise isn't just terse, but also clear.
Yeah, learned this one the hard way :)
I had the same thought. Occupational hazard (security consultant).

If security is properly managed, risk should be acceptable, in the sense that only the most unlikely umanageable disasters would remain, and the impacts of the worst of these would be such that few if any of us would miss the Magna Cartas for a long, long time.

If security is properly managed. I sure hope they've done thorough TRAs (threat-risk assessments) with independent review.
Very old news. Surgery for "Gastroesophageal reflux disease" was an famous example: http://en.wikipedia.org/wiki/Placebo#cite_note-198 . If I remember correctly in one study symptoms dissipated in 50% of patients, who got sham surgery - just skin incisions.
It's pretty likely that the techniques being used fall under the term AI as used by people in the field. Actually, I'd be quite surprised if that wasn't the case.
The two gamblers in this story broke no laws and did not steal anything yet they were treated as criminals (and still are by the IRS). How is that fair? If anything, the casino should sue the maker of the machine.
Depends. For read-heavy sites, it's possible. If you have a relatively small working dataset, you can load everything into RAM and periodically sync it to disk.

Dealing with multiple writing threads with SQLite is really annoying.

If you need to scale beyond a single host to serve the workload, something else will probably be easier to manage.
IMHO the far larger injustice is that the federal treasury bailed them out. I'm OK with Goldman Sachs assholes living outside a prison; it's the taxpayer-funded luxury in which they live that really bugs me.
In this case I read that purely as saying "It's okay for there to be contradictions - life really is that way, even if you look at science."
Ask HN: What is the most incredible UI you have experienced and why?
Every now and then, I'll come across a site/app with a UI that completely pulls me in. It seems flawless. Most of them have a healthy blend of imagery complimented perfectly with other front-end components.

Are there any UI's that you find incredible, either from an artistic or technological perspective, and what is it about them that captures your attention?
Just received an e-mail stating TWC is automatically upgrading 100MB/sec users to 300MB/sec as long as you get the new-ish Motorola or Netgear modem.
This is a big question for me too. It sounds like you need to fetch every id from the REST API. I need to test the iOS (and you Android) SDK.