skysight-inc/HackerNews huggingface dataset:
> naming a function "move" and then having it return the sum of two vectors is bizarre and worse than the original implementation.

I kept the name for the sake of consistency. I agree that's a mistake. The problem is that a `Point` should be moved with a `Vector`, and not another point. But introducing a `Vector` class would have lengthen my tutorial. Maybe I should use two `floats` instead of a `Point`.
What would that statement have looked like 20 years ago? 40? 10?

"Come on PHP, web development is not for everyone. Making it easy for amateurs to write crappy dynamic web sites brings no good to the web"

And, yeah, PHP has made a lot of crappy things possible. But some of those crappy things go on to become good things, and wouldn't have been possible had it not been so easy to get started.
I thought this was going to be about X11 ...
I like my Nexus One:
- Has 2.2, and since it's Google hardware maybe it'll be kept up to date
- Build quality is solid
- Stock Android, no extensions by carrier or hardware company
- Battery life rarely less than a day for my medium usage
Caveat: I've only used this and the G1.
Making different devices that are being sold at the same time serving different types of usage scenarios is a good thing in my view. But that's not what CitizenKane was getting at I think.

The issue is that providing a physical back button or not isn't meant to facilitate different types of usage. It's just constantly changing the way the exact same things work for no reason other than, I don't know, maybe just time passing?

It's similar to notebook keyboards. I have never bought a notebook that had the keys in the same place as the one I bought before. Every time I have to relearn. It's just a waste of time. Hardware designers should have an idea about what they're trying to achieve when they change something and that has to have something to do with what the software does. I totally agree with CitizenKane on that one.
Pardon me, my formatting was terrible. I'll go read the docs.
Paradise Blue Car Rental
Paradise Blue provides Brand new,Latest models,Car Rental Service to Ensure you Get the best Deal.
pg's article on

I think it's awesome that usernames are so de-emphasized in HN that one can respond directly to a comment by the site's creator without realizing it (or perhaps you did realize, but deliberately chose to use the third person[1]). Though HN obviously has reputation built in with karma and well-known members with well-deserved notoriety, it's very easy to ignore names and evaluate posts solely on their merits. I believe this can be a useful tool when implementing the suggestion of others to consider aggregated information from multiple sources.

[1] Will grammarians one day create formal rules for forum posts?
There's more to locality than caches
This could be the best on the subject I've read. But I wish he spent a sentence fragment mentioning sources (like Papert's Mindstorms) which expand on how important an activity debugging is. Some people think that a real innovation of computing is that there's now a word for "debugging".

> "Surely 'debugging strategies' were developed by successful learners long before computers existed. But thinking about learning by analogy with developing a program is a powerful and accessible way to get started on becoming more articulate about one's debugging strategies and more deliberate about improving them."
Now Anyone Can Create an Android App with help of Google App Inventor
Does a service like this exist to do the opposite?

That is, a service that let's you submit / post data to one place and have it then pushed to multiple services / APIs as a result?

I think Wufoo does this for forms. But they wouldn't be a feasible solution for development.
Will it give me a sunburn if I'm talking on the phone while it's plugged in?
Pretty sure he meant Google, which wouldn't be true either...
Start seeing magnetic fields
Error checking can be done in a function-composing style if your functions check for error on their inputs, recognize error-indicating values on their parameters, and consistently output error-indicating values.

There is definitely waste involved in this--when composing functions this way, you have extra function calls and error-code checking on your parameters rather than checking data along the way and bailing out if there's a problem. Your functions have to check the arguments rather than having their preconditions enforced outside of them, which makes the composed functions less elegant. I don't know how practical it is in the end, but pushing most of the error-checking complexity into lower level functions and writing your upper level code in a compositional style sure seemed elegant every time I tried it.
It's interesting, in southern Africa, Coke tastes different still. The best explanation I can come up with is that they use cane sugar rather than sugar from beet.
What happens if you don't?
Noam Chomsky's brief (41s) response to the question of 'best newspaper':

http://www.youtube.com/watch?v=9r3z1Wp6nWc
A great example of investigative journalism. Read this piece of "dead media" and consider how many blogs you know with similar quality of reporting.

It's interesting that his mention of "proprietary image-processing method" in the benign beginning did trigger an alarm in my head before I got to the second part.
creeepy
In his book "Zen of Assembly Language", Michael Abrash has a chapter named "Billy, don't be a compiler" and tells the story of a man who coded Assembly like a C compiler.

I apologize in advance, but I can't help but extend to you the same advice, cperciva.

"Make it hard to figure out what your variables are by mixing up code with their declarations."

In the right language, binding of variables is usually done by a LET construct, and within its scope where the variable is visible, the code is indented in ward. When you nest LETS you can see the liveness of a variable.

"Construct new values" --> Manually do what the first pass of the compiler already does. Except don't use the const keyword

He misspoke. He meant construct new variables. I am sure you would agree with him that a 'promiscuous tmp' is a royal pain in the ass when you're stepping through bad C code.

"Make functions, not procedures" --> "Don't check for errors. Don't even make it possible to check for errors."

Again, you're thinking at an abnormally low level of abstraction. Results are not for error handling, that's what the condition system is for (some erroneously call it an exception handling system)

"Make your objects immutable" --> "Let's see how much time we can spend in malloc!"

That's what the GC is for. When you make objects immutable you're buying yourself the piece of mind that comes with referential transparency.

"Use purely functional data structures" --> "Arrays and hash tables are often the optimally performant data structures... but you shouldn't use them."

There are ways to implement functional arrays and hashtables, but none too apparent without getting into academic wankery. I agree on this point.
Time to get my life back
Seek Answers to Your Questions to Reduce Stress and Get Back Pain Relief
Trivial programming work is extremely cheap nowadays: it is done by hobbyists or students or it is usually outsourced to countries where unfortunately wages are very low. It think there is high supply of people with basic programming knowledge. Creating a system to help creating even very trivial software without programming knowlede is very hard, and I think there is very little economic demand for that.
Also creating an application in one of these "software creator packages" can become quite complex. For me it is even harder to create something in them than using a traditional framework and programming environment.
You pay a small fine: http://en.wikipedia.org/wiki/Australian_electoral_system#Com...
This is why I cannot use my G1 as a music player in the car. I cannot manipulate it without looking at it, which I really do not want to do while driving.

My Sansa E500 thing is easy to manage by touch only (except if I want to see the name of the song playing); my eyes don't leave the road if I want to skip or repeat or pause a song.

Likewise, if I need to make or take a call while driving, and pulling over isn't an option, I want to be able to do a much as I can by touch, and not worry that a misplaced tap or glide on smooth glass has triggered some unwanted behavior.
True - Apple have claimed Leica. Evoke the feeling of some other camera - not that big of a deal.
Excuse me for asking a question that might be obvious to many, but, what application are you using to track your time like that?
> What I really want is the industrial design and hardware of Apple running the Android OS with the user experience and UI design of Palm WebOS.

Well, let's not be too kind to Apple. The new phone is already behind the greatest and latest. Apple just has a brand name.

HOWEVER! Lucky for you the lead OS designer for Palm WebOS just switched to Android. Expect greatness from the next OS update (assuming you already have 2.2).
One thing I'd add about the article: naming a function "move" and then having it return the sum of two vectors is bizarre and worse than the original implementation. At least, move as part of the Point class actually moved the point.

This makes sense in MVC where the controller is responsible for updating point coordinates and the view is responsible the actual rendering of the points on the display.

Also, in most graphic systems, the screen refresh is done by a single call made from within the interaction loop or by a designated callback. That's because all display updates are made to a back buffer, which then gets written to the framebuffer at a regular clock-driven interval.
Using Nexus One for 6 months, and have total of may be 6 accidental hits to those keys.
You get a letter asking for a reason why you didn't turn up and they fine you if they don't think it's a good enough excuse.

My mother once wrote "I think compulsory democracy is a contradiction in terms". They fined her.
Looks similar to MIT's Scratch http://scratch.mit.edu/.
Aliens exist in the same physical universe that we exist in.

However we only engage directly with a small subset of the universe and in ways that have been evolutionarily useful.

Aliens might well have evolved to engage in a different subset.

We certainly have different subsets here on Earth -- consider colour vision for example and the effects on colour coding interpretations between humans, fish, birds, reptiles, bees, etc.

Communication requires being able to predict response to stimulation. The degree of similarity with which we perceive a given stimulation will determine how well we can communicate.

Computer programs can been seen as a kind of communication with a computer, and it only makes sense for programs to be written in a convenient communicative form.

While it might seem obvious that aliens would use digital computers it isn't necessarily so.

Analog computers might make more sense for them -- the main reason we don't use them much these days is that they're hard to reprogram -- but with nanotech or biotech it might be far more trivial.

There are also quantum computers, and non-electrical computational systems.

People also assume numeracy, but consider aliens without recursion which deal with numbers by subitization up to some large quantity rather than counting.
Maybe not. Probably not, in many cases.

Hey, have you seen function prologues in assembly? How does it know all the amount of stack space it's going to need beforehand?
So Google repurposed Scratch. Looks great. I concur with the remarks stating programming ought to be the new literacy. I am a fledgling programmer (just getting my feet wet with Python and Django) but i installed Scratch on my daughter's computer. She's six so a little too young to really get it but she plays around with it from time to time and sadly at times it seems like she's almost on par with my skills with Python.

This tool is awesome.
Poll: GTD.  Use it?
I've read Getting Things Done (GTD) and a number of articles on 43 Folders about implementing it as a geek, but found myself never really able to implement it for long periods of time. I've heard other people on HN talk about it, so I thought it would be interesting to see how many people out there actually use it.

Is it worth the effort?

I'd love to see comments about if you do or don't use it and why or why didn't it work for you.
Never heard of GTD
Heard of GTD or read the book but never tried it
Tried it but stopped
Use GTD more or less consistently
GTD guru
How to be a programmer, step one: if you publish an HTML document, please get your encoding right. (No `Content-Type: text/html; charset=UTF-8` for latin-1 documents.)
Very sparse on details. Are they partitioning the data? If so how? Is it MongoDB shards or at the application level or...? What's their average record size? Do they see a long-tail kind of access such that MongoDB really does keep the most commonly used records in memory all the time? How many machines are they serving from? What are their specs (particularly RAM)?
Imperative exception handlers, like in C++, are a lot like glorified longjumps. When learning Erlang I was pleased that a more functional language can handle exceptions much more neatly--if a given expression causes an exception, the value of that expression is the exception, and that recurses in a certain way. It's conceptually less like exception handling in an imperative language and much more like an automatically mediated means of returning error codes.
Maybe they also invented the memristor:

http://news.ycombinator.com/item?id=397335

The memristor is an imply gate:

0 0 | 1
0 1 | 1
1 0 | 0
1 1 | 1
"Of course, this is not easy to do in C."

Actually, it's quite simple. The issue is that debugging becomes a bitch, and error codes are hidden even from the developer inside nested function calls - ie. you can't stop/recover from errors right away.
Language specific? Could you specify the languages you have in mind? I used a C/C++/Java syntax, but I meant any language. Or at least the ones with garbage collection.
One advantage of this above, say, outsourced work, is that it allows people who would never programme to programme. These people will then get a nice warm fuzzy feeling of acomplishment when they make a programme to fix their problem. I think spreading feelings of acomplishment is a good thing.
In a 50 line function with 5 variables, I find it much easier to look at 5 lines of variable declarations to figure out how I declared a variable than to scan through up to 50 lines of code.
I agree with him. Here in the UK it's probably the only vaguely impartial newspaper, plus the actual news that is reported feels more important than the news reported by the rest of the UK media. Maybe it's just because there are more numbers involved.
I don't find it contradictory. Go do it anyway, but don't make these mistakes when trying to get someone else's money.
Counter-warning: I liked it :) but I tend to like more fanciful, meandering approaches to CS topics, like Why the Lucky Stiff and Clifford Pickover. Or Lewis Carroll, for that matter.

Notable concepts from the article: a "fixed-point" of language design, the idea of working backward from an aesthetic (Martian) to a language, and Kelvin versioning, in which "releases count down by integer degrees Kelvin. At absolute zero, the system can no longer be changed."

It's true, though; I found the actual language the author's made (or is still making?) to be pretty opaque.
I'm looking it up now, thanks!
Automatic Sales Pipeline Tracking based on Customer Actions
As with 99designs, there is a high risk here for the buyer to end up paying for plagiarism and rip-offs. People with low/non-exiting ethics will throw together rip-offs and submit them to a broad range of "contests" hoping that a fraction of them will lead to money. The buyers on the other hand will find themselves liable for using the rip-off.
There are loads of simple programmes on Android/iPhone that are popular (e.g. Fart apps). Simple apps aren't always bad, sometimes they are just what people want. This tools allows the creation of certain kinds of programmes that people want. This is a good thing.
It's part of HTCs Sense weather/clock widget. You can disable the snow/rain/sun lensflare effects in the settings for the widget.
Ask HN: What do you take with you?
Whats in your utility belt when you leave home? Back in the day, I used to sport an SCOTTeVEST loaded with all sorts of PDAs, gadgets, and tools.

These days, I've consolidated to a cashclip, an iPhone 4, and a key chain (with an innocuous 19-in-one tool set).

How about you?
You can do the filtering either on input or output (or both if you want to be very careful). Both works, however I prefer filtering on output because (a) if a new way to conduct an XSS attack is discovered, I only need to update code, not data; (2) if tomorrow HTML gets replaced by a hypothetical future document format, I would need to refilter all my data if I only filter at input.
This is pretty well covered in this presentation: http://www.slideshare.net/fehguy/migrating-from-mysql-to-mon...

A few unanswered questions (sharding? Looks like none to me), but a good bit of numbers and specifics on their current setup.
Error checking can be done in a function-composing style if your functions check for error on their inputs, recognize error-indicating values on their parameters, and consistently output error-indicating values.

True -- but this is only possible if you accept layering violations. To take an extreme example, how is printf() supposed to know that if a string parameter is NULL then it should error out without printing anything?
Interesting ideas. May I ask which books you have written?
No satellite image can fully capture Newtown; Sydney's very own neighborhood of hipsters and hobos, but also the most cultured and progressive. Nice neighborhood man. Wish I was still there.
"One of the big flaws with Android is the music player"

Huh? Why? What's wrong with it? Seems great to me :/
I will actually make a blog post of it. There are a few more things to be said, and too little space here.
Some of these questions are answered in a separate set of slides, which the author links to in the comments of the post. Hardware looks like a single server, 2x4 core CPUs, 32 GB of RAM, and a FC SAN.
Posterous will do this for multimedia - you email it as an attachment or upload it (or there is API access, I believe) and it will upload it to the appropriate site(s) based on the accounts you have set up (photos to Flickr, videos to YouTube, etc).

It will also create a Posterous blog but you don't need to make it public.
Still useful. For example if you're driving so can't type safely.
So, declaring variables at the top of the function makes it easy to find them. Now how do you find the point of initialization?

declare x |
... | ...
initialize x | declare & initialize x
... | ...
use x | use x

In both cases, you will have to scan for the whole function, or hit the "search" hotkey. Or maybe sometimes you just need to know when `x` were declared, but not what value it holds?
Oops - wrote 'Apple' when I should have written Android. Corrected.
25 Free & Freemium Web Apps to Track Your Body’s Statistics
Information about our bodies and our health is important, helping us make better decisions for improved health. The field of health informatics is using technology to provide information about our bodies, and meaningful ways to use that information for health.
Gold Coast Flowers Delivery
Well per the post, there's more evidence of Google either not adopting or ignoring well known UI design principles throughout Android, in terms of making common functions widely available, consistency in UI, not using a color scheme with two colors directly sitting across from each other on the wheel.
Stop writing 50 line functions.
I think it's unclear. We have some ability to do math, but even our specialists learn it with great difficulty. (We see something a bit similar when we try to teach other primates language or math. They can learn enough to fake some of it, with lots of difficult training.) If we want to see more examples of human cognitive limits, I hear we can look to games like chess. We play them because we're bad at them.

It's very possible that there's things we can't imagine how to begin answering (even things we really care about) that another species finds trivial. Or funnier, we could have roughly similar mental powers, but our thought processes are so different that each species' insights seem entirely mystical to the other.

I hear that psychologists (and following them, AI researchers) keep finding that intelligence is buried in our visual and lingusitic systems. What if these aliens have very different organs?
http://www.youtube.com/watch?v=auXQtoAyCGA&feature=PlayL...

And off-topic, might this explain "rubber-duck debugging," where we explain our problems to a rubber duck? (Because using language clarifies our thoughts.) And why we often write pictures on paper to better visualize abstract problems? (To leverage our powerful visual apparatus.)
Treuemax
Are you planning to do seo for your website don't think twice just contact treuemax info solutions.
Looking at how Social Security is funded and distributed fits typical definitions of a welfare program.

I disagree. Typical definitions of a welfare program have money going to poor people as a central feature. That doesn't describe Social Security.

Social Security pays a disproportionate amount to those who are well off. There are two factors. The amount you get paid out depends on how much you put in, and your life span. People who are better off generally wind up paying in more, and then live longer to collect benefits. Overall Social Security represents a wealth transfer from young to old, and from the poor to the top 20% of the population.

Oh right, and in recent decades it has been a net source of working revenue for the federal government, through the form of buying Treasury bonds. But now it is considered broken because the federal government does not have any way to pay back to Social Security money that is owed it from general funds...
I checked our server stats this morning & at least over here in Germany, Apple iOS device growth is still outpacing Android growth. My guess is that while the absolute number of Android devices is growing, the number of people actually using those devices for browsing the web is simply not growing as fast. This won't change until Android offers a browsing experience that bests the ease-of-use of iOS devices.
Can you get the iPhone to act as a wifi hotspot though or is it via USB?
How did they know it was her?
http://ping.fm is this what you want?

API docs: http://groups.google.com/group/pingfm-developers/web/api-doc...
You can write an app that periodically texts "missing you" to your loved ones

Just remember to disable it if you ever see them in person again. Could get awkward. Anyway, it's nice to see these platforms getting more accessible to non-developers. It's always been off putting to me when learning a language just how difficult it is to get some tangible results. It's a huge uphill battle if you're just approaching it as a hobby or learning experience. Depending how quickly you hit the celling of this platform it could inspire people. I'd like to see some combination of Interface Builder and OSX's Automator on the iPhone platform.
Wallet, keys, a few kleenexes, and a wristwatch. Sometimes coins, if I expect to need them.
Great. Please send me an e-mail when you're done.