skysight-inc/HackerNews huggingface dataset:
I think you're still conflating resource with representation.

I would consider /customers/byDate to be a resource. It happens to be a collection containing references to other resources (customers) which you can then navigate to directly if you want. You can get the byDate collection/resource in varying represenations; JSON, XML, etc. Same with the individual customer resources contained within the collection.

Here's a thought experiment. Say you write a client for version 1 of a URL-versioned API. While we're at it, let's encode representation in the URL as well (/api/v1/customers/1.xml, /api/v1/customers/2.json). Say your client stores references to these resources, maybe the user can add them to a list of favorites. Now there's an API upgrade and you point your client to /api/v2/*. Do you just go in with a regex and munge the stored URLs? If you call what you're doing REST, now you're breaking HATEOS. What if the URL scheme changes with the new version? Seems quite likely when the developer already doesn't subscribe to the notion of having a single URL for a resource. What if you want to store a representation-neutral link to a resource and the user can toggle their view between them? Do you make the assumption that you can munge the "extension"? That's a lot of brittle, in-band assumptions to make with URLs which are supposed to be opaque identifiers. Seems more flexible to have separate, well-defined mechanisms for handling this stuff.

Disclaimer: I don't have a lot of experience in this area, I'm just arguing for what makes sense to me to explore the ideas. I also acknowledge that plenty of sites use URL-versioned and content-negotiated schemes and have little interest in arguing what's "true REST" but it seems to me that following a stricter interpretation of these concepts does come with some nice benefits.
writing serves two purposes: telling the reader something and helping the writer think. i think joel is mostly talking about optimizing for the latter purpose, which is very useful to the writer.

that said, i can relate to the sentiment. most pieces that help authors think just add noise when they become published. it can be hard to tell, though, and since information is cheap nowadays you might as well publish everything and leave it as a problem for the reader to filter.
Unless I'm missing something, it seems that the goal would be to maintain the illusion that different pages have loaded, and therefore the back button would bring you back to where you were on the previous page (as it would for non-pjax/non-Turbogears pages).
> Did Diaspora go anywhere after the security flaws were pointed out?

I think Diaspora sort of fizzled out due to a plethora of issues--not the least of which was the suicide of one of its founders.[1]

[1]: http://en.wikipedia.org/wiki/Ilya_Zhitomirskiy
Go does not have pattern matching. There are type assertions, but obviously that's not the same thing.

Go has higher order functions in some sense, and the standard libraries use them for some things. But I wouldn't say they're nearly as ubiquitous as they are in Ruby or your average functional language. My read is that Go is pretty firmly grounded in imperative-land.

Regardless, since Go 1 came out relatively recently, I doubt they're going to make substantial changes to the language anytime soon. Obvs I don't speak for them, etc etc.
Ruby vs. Python: Part 4 (n00b's perspective)
If you read Doug Crockford's talks, he refers to JavaScript as a Scheme with braces.

Erlang is common enough as a language on a server to warrant a mention. It is not purely functional, but comes close. Immutability (no shared memory) and message passing are the key points.
I wonder if it will work from mobile?
A somewhat similar corollary - 'Lovaza', sold by GSK. It contains Omega-3-acid ethyl esters.

Also widely known as fish oil, and is prescribed for the same reasons fish oil is recommended in supplementation. Only difference is fish oil is marginally less concentrated, much cheaper, doesn't have the 'pharma' tag and isn't prescribed.

In the industry it's known as one of the biggest cash cows for GSK - it's earned them many billions.

http://www.omegavia.com/lovaza-vs-fish-oil/
Interview with erc-griesemer Go co-creater
16 Ways to Write Kickass Copy for Your Startup
>even a pass phrase with 12 dictionary words has substantially less entropy than a random key

Actually, 12 random dictionary words is incredibly secure. If you choose 12 random words from a pool of 100k words, then your entropy is:

100000^12 == 10^60 =~ 2^200

In other words, 200 bits of entropy. It would take an attacker longer than the history of the history of Earth just to count to 2^200. So, even if an attacker knew that your password was 12 random english words, they're never gonna crack it using brute force.
I have a GSII (T989) in the US, and the latest official release is ICS (3.1).
s/(driveway|garage)/$WhateverSpaceYouCurrentlyParkYourCarInThatWillBeEmptyIfYouAreRentingInsteadOfOwning/
SupportBee launches web tool for headache-free email support
I highly doubt much of anything is going to come of this. The US Gov't was that afraid of MegaBox to rush a raid on Dotcom? Not likely IMO. Grooveshark hasn't been paying artists for a long time and isn't enough of a threat to raid as of today.

Most likely more BS self promotion from the Head BS'er.
It's just marketing. IMO, the GSIII is not a bad device, but pure nexus with Jelly Bean from google (hspda+ version, not the verzion nexus which should not be called a nexus device) is the best android (or any mobile OS) experience.
I see Rust has ADTs and strong static typing, how much is enforced at compile time?

One thing I love about OCaml is its exhaustiveness checking. I've been doing a lot of Erlang and it feels so dangerous without the compiler telling me if I've missed a pattern, or if a clause might return the wrong type. (Dialyzer and typespecs help somewhat, but aren't nearly as nice.)

If I could have that sense of safety with Rust, I would be persuaded to investigate it sooner rather than later.
"The direct comparison to competing tools just begs questions you don't want to answer."

I agree. Additionally, I'm not sure who would actually subscribe to the paid version of this. Startups generally don't have a plethora of websites for testing. Someone with 250 urls to scan per month is likely going to be asking: what about my other (non-website) assets? Furthermore, if I were the IT person on site for a 250+ website installation I would be asking: what do I get out of this I don't get out of running another free tool such as Nessus (the answer, I'm afraid is going to be "less")? Sure, having to to go through the Nessus install process is kind of a pain (although this realistically represents < 5 minutes of my time); but as soon I saw that I had to add some kind of website verification I stopped there as well.
1: That is not entirely what he's saying though:

A frequent question about the sort of techniques presented here is, "How does this scale to real-world programming?" This is somewhat like asking how the internal combustion engine will benefit horses. The question assumes the wrong kind of change.

Here is a more useful attitude: Programming has to work like this. Programmers must be able to read the vocabulary, follow the flow, and see the state. Programmers have to create by reacting and create by abstracting. Assume that these are requirements. Given these requirements, how do we redesign programming?
He mentions the context being needed for a function call, more than once -- it makes me wonder, doesn't anyone use IDEs? (I don't know vim/emacs are so popular when they provide no context - much more crucial to me than editing power. There's a plug-in for vim that uses ctags to provide context, I hear, but I don't know of many that use it :/)
FWIW, the dreams of the 'end-all pill' fall short for a wide variety of reasons - one of the major ones being volume of ingredients necessary.
For many recommended doses of vitamins / minerals, you simply need more than the total weight of those ingredients than can fit into a pill. The magnitude of this depends upon which supplementation schools of thought you believe in, but there is a limit to how much you can cram into a pill you can swallow.
Indeed. I actually try my best to find good research, and by my nature of reading many other blogs of founders much more successful than me, I often have great insights in my mind to include in my articles.

My intention with this point was to take away the pressure. I think a personal blog often can be more about the individual's thoughts than about solid studies with large sample sizes. Even just a thought that comes into your mind and you write down and publish within a couple of hours can be very interesting to others.

Completely understand how this point could come across, but it's much more about making it easier for a writer and showing that an article can be thoughts rather than solid "evidence".
Light Table - Embracing Abstraction
> "They're late on this, but agencies always are."

Months-late could be attributable to the somewhat understandable slow wheels of over-careful i-dotting and t-crossing. But we're going on years-late. And the court had to order the TSA to give so much as a status update after 13 months of failure to comply and official silence.

That's well into egregious disrespect.
1)He shows an example of this. The last one in http://worrydream.com/LearnableProgramming/#react

2)I think the examples with the various timelines, wrapping code in functions or for loops, and replacing constants with variables came a long way in that direction
Thanks to Hacker News for all the inspiration and feedback along the way. Starting with this thread 637 days ago - http://news.ycombinator.com/item?id=2048588
Rust is a very cool language, but I've never been able to get all of it in my head. Maybe part of that is because I've never actually used it, but it seems quite complex.

Maybe it's not an issue in practice, and maybe there are just not good enough docs yet, but it makes me wonder if it will be worth the complexity in the end unless your alternative is C++.
Equiso - We make your dumb tv smart
Google doesn't care if android is a "second-rate" OS. Google makes money from people using google. More smart phones = good for google, regardless of the OS the phone runs. Android has been hugely successful in getting phone carriers away from their antiquated systems (remember life before the iPhone?).

Yes, the iPhone is massively successful, but there's billions of people in the world who will never own one, and that's the market that Android is capturing so well. And to do that, they don't need to be perfect.
But if it's on the web, doesn't it belong to Google now?
There is nothing new here. Before you downvote, this is actually a huge complement to Bret. As he's said before he is inventing on principle not inventing for you to download and install his latest hack. His principles have been consistent (and, imho, right), and this is another view into them. But, if this opened up some huge new insight for you then you haven't been paying close enough attention.

He's always been right and I hope he continues to have patience while he continues his conversation with the world as the world misunderstands his ideas. Unfortunately many people are going to latch on to the examples in his demo movies, and the important parts of the essay will fly over their heads. (The most important part of this essay being, of course, to read Mindstorms.)

All of his creative output points to the same core message: programming today is broken because it is not designed. His various essays, talks, and so on are just alternative "projections" of this thesis. This is a sign of clear thinking.

He's given us all the tools we need to solve this problem. These tools are the mental framework he lays out, not the specific concrete flavor he demoed in his latest talk or essay.

The hard part is not building IDEs or visualizations, it's having the guts to throw everything out and start over again, knowing it's going to be a mess for a long time and it will take years before things start to make sense again. It's convincing yourself that most of what you know is useless and that many of your assumptions are wrong.

Why do that when you can just download the latest whiz bang framework and start hacking shit together taking advantage of the life-long skill you've acquired at firing bullets with a blindfold on?

It's scary to be a newborn again, especially when you're in a place where few have been before (and those that have, are largely not around anymore.)
"They cost $$"? So doing this right means being totally free? That doesn't sound like much of a business model.
The 6 Percent: a weekly growth tool based on Paul Graham's essay
Using the same logic, a company can never be said to "do" anything. Everything is (ultimately) done by a real person.
It's hard to predict the long-term popularity of languages from history. For example, look at the P*-languages (Perl, Python, PHP, Ruby)

If I'm not mistaken, peak popularity went something like this:

Perl->PHP->Python->Ruby->?

Now, look at the release dates of these languages (according to Wikipedia's 'appeared in'):

1987 Perl
1991 Python
1995 PHP
1995 Ruby

While Perl and PHP got popular pretty fast, it took years for Python and Ruby to gain traction.

All of these language still have reasonably vibrant communities, even though Javascript appears to be 'hot' right now.
1) True Android is the one that runs Android apps - difference in glow or purity not counted. They run, it's Android.

2) You cannot force your definitions of Android on people to get them to buy "the one true Android". People buy what they like. They like the S3 better than the Nexus. Talk about different priorities. S3 is starting to get the Jelly Bean update too.

3) There is something called emphasis in good designs. Android was designed to let people have choice. It was designed such that Samsung can ship TouchWiz and users can effortlessly install $ANOTHER_LAUNCHER to get the experience they want on the same phone.

4) Developers have dealt with complexity arising from diverse devices before. It is not a big deal. If you are crying about testing effort you aren't doing it right. If you care about reaching to 50% and growing number of Android users you are just going to have to do it right and invest in testing your app on most phones by releasing timed betas or buying your own dozen of phones. Remember it's been done before, done right and done by god knows how many developers that have good apps in the Play Store.

5) You can't crib about higher maintenance costs if you buy a big house. You similarly can't crib about differences in Android skins if you bought into a diverse ecosystem. Good news is you have a choice - care about purity, updates etc. - get the Nexus. Care about bleeding edge hardware, 2GB RAM, quad core CPU - get the S3. Care about iPhone-esque build quality - there is One X. As long as there is something I like there is no problem. If I don't like something in iPhone land - I have no recourse. That's their emphasis in design - less choice.

Android is working as designed - sure there are those upgrade issues that can be made better - but for the most part it is not the normal users who are complaining. As long as they can get things done with their Gingerbread phone they are happy. The next one down the line will get them a Jelly Bean phone that can still run the stuff they bought.
Most blogs still run on shared hosting primarily for reasons of cost and a lot of people have existing shared hosting accounts that allow them to host multiple domains. If you're looking at individuals (the majority of whom are not typical HN readers and haven't gone down the PaaS path) installing this, it still makes sense to go LAMP.
It's quite possible just about everyone should be taking it

Statements like this instantly set off my alarm bells. A drug that everybody should be routinely taking? Call me skeptical.
Turn it on its side and get an external keyboar/mouse? :)
Cool demos, but very long article for what I thought he was trying to express. Bunch of thoughts, I enjoy thinking about this, so would love some conversation around any of the points:

If programming is a way of thinking/problem solving, I'm not sure how supplying the context in line teaches you how to think -- as opposed to sitting down and figuring out a problem on your own.

My experience has been that the best way to learn to program is to try something out for yourself. Whether you write it from scratch or use example code to help you get started. It takes a bit of time, but you get better at it.

You need to be able to sit down and spend the time thinking to solve a problem. It's actually quite hard to teach this even in school -- I honestly believe that the main advantage to taking a CS degree over using the internet to learn is that you are actually are forced to group together and work on projects whereas a self study course would not enforce that.

Often the best way to make something more mainstream is to "dumb it down". I don't think it's because most people aren't intelligent enough, it's because it needs to have mass appeal, and therefore needs to interest a wide range of people. Doing this with programming is quite hard if programming is a way of thinking -- how can you "dumb down" a way of thinking to make it more appealing when a lot of programming is dealing with detail.

The thing about flow, if/for statements, is that you tend to master them very quickly. While the visualizations are cool, they have very little usage beyond the first 3 or 4 lessons.

Very interesting examples, but I don't see these examples helping out much more than other sites (I agree that sites that CodeAcademy aren't at all how the press/Mayor Bloomberg/TechCrunch makes them out to be).
This is an excellent quote, which I have used to shape my thoughts and feelings on my writing:

"Good writers have two things in common: they prefer to be understood rather than admired; and they do not write for knowing and over-acute readers." -- Friedrich Nietzsche

EDIT: Let me elaborate a little about why I think this applies.

The GGP says that the idea that "research or strong points are not necessary" makes him sad. Joel is saying that one of his realizations is that writing does not need to be about compelling and unassailable logic, but can also be about communicating his personal experiences and emotions.

In other words, he prefers to be understood rather than satisfying the pedantic readers in his audience. I think this is the correct choice: being understood means that his emotions and experiences are related in such a way that the reader can emphasize with him; being correct means simply passing a mechanical examination of his logical structure.

At the end of the day, most people side with you because they empathize with you or because you stir their own emotions, not because you satisfy a system of equations.
really awesome stuff, thanks!
Huh? Your doesn't make any sense. The fact that something is ad supported is not what makes something malware, it's the hijacking of the content provider's revenue stream and replacing it with your own that makes something malware.
This is the DiSo project model: http://diso-project.org/
If you haven't already, it might be an idea to look into analytics for your site. It will give you clues based on visitor behaviour, e.g. which landing pages, content navigation and so on.

And just a minor thing, but something the SEO types recommend; if you want to be hired you should have an unmissable HIRE ME button on your site. Crass but effective, they say.
But it is a url.

I agree that it doesn't look nice. As it is, we're pretty used to links with url metadata and different visible text. Occasionally I'll hover over a link to find out the domain. Why not, similar to what alphang suggests, just ^tent (which links to https://tent.tent.is)?
I agree, and would add that Brett Victor is pointing out what he perceives to be valid flaws with the method Khan Academny uses to teach programming (live coding environments, javascript, and processing languages, which other teaching products happen to use as well). He is not criticizing Khan Academy as a whole directly, as the quality or lack thereof of Khan Academy itself is never brought into question or even discussed.
MIT Econ paper on welfare, capitalist states and innovation
Google Brings Interactive Google+ Events Notifications To Gmail: RSVP From Inbox
Older phones not getting Jelly Bean is a silly complaint at this point, can't we get past this?

Not when older iPhones get the latest iOS release as soon as it's available.
Really looking forward to Rails 4.0. After the big stuctural changes, it's nice to see these additions alongside with the famous doll-caching.
It's also clear what Rails tell the Rails-is-only-an-API-layer-for-single-page-apps-haters:

Yes you can write single page apps, but with Rails you get the speed of single page apps with the ease of traditional Rails
I wrote the article to explore what to do when your application is not wholly Rails. I got a lot of help and advice but I don't think there's full agreement on recommended practices yet. I've seen a range of opinion but a lot of advice doesn't hold up to analysis. The article reflects the best advice I've gotten.
Running a customized Android means that the OEM, has taken on the responsibility of upgrading. In the case of phones, the carrier may have their own software load and so they, too, now sit on the critical path to an upgrade.
So glad this will be default in Rails. I spent ages building a custom version of the same kind of PJAX framework, using headers to transmit flash messages, interpreting XHR calls in new and exciting ways, etc. It really needs to be standardised for modern web apps.

If Rails 4 is all about PJAX, my hope for Rails 5 is it's the one that embraces fat-client JS apps and exposes JSON services in a standard way, so they can easily be consumed by convention-based frameworks such as EmberJS.
Sent you an email about ActivityPump. Would be great to have a mailing list to discuss it.
Hello HN!

I quit my job in April 2012 to pick up web development. The HN community has been great for learning and startup inspiration, so I figure its time to share what I've been working on.

Here's what one could call my first real web app. Look forward to your feedback!

I also wrote up a blog post introducing the site a little here:

http://thrivegood.wordpress.com/2012/09/25/thrive-is-alive/
I agree, I hate those slide presentations too. If its about programming, I want to read it, period. I don't want to watch a video or go through a slideshow
Works fine and chrome, and yes it is very fast. Loads blank white screens in firefox 15 on Ubuntu.
That's just opinion. I have 2 stock JB Nexus devices and yetprefer to use my GS3. If the sims were the same size I would use both since JB has the better voice stuff right now.

My point is numbers don't lie. The author laments the GS3 as second rate yet it's clearly the most in-demand device. The author is either deluded, had writers block (and dredged up an old premise), or hoped this might be a popular new link-bait topic.
Really well written article. I'm enjoying the "self-driving digital divide" section. Who wants to start a group to retrofit older cars with self-driving tech?