skysight-inc/HackerNews huggingface dataset:
I asked: "How can an image be a number?", when I should have asked instead: "How can a number be an image?"

To use the verb to be in this scenario, I demand a one-to-one correspondence between numbers and images. If a number y can represent two distinct images x1 and x2, then we can't use "is", we can only use "can be".
You are very correct with that -- consumers place a large premium on the optionality of convenience, even if they may rarely use that convenience. This even extends to people who buy e.g. large SUVs, because they like to know that on the rare occasion where they need such large storage capacities, they have it.
Right. You're just saying there are an infinite number of ways you could convert a string of binary digits into a 'number'.

Well sure :/ Of course there are.

At the simplest form you could swap things around, represent a fractional part of a number etc, at the more complex side you just have encryption.

But those are different things to your question "So, I ask again, how can an image be a number?"
It's a small tragedy what happened to the Unix workstations of the 90's... The result of so many blunders is that we are stuck with matrioshka-style computers that can run PC-DOS.

It, at least, they could natively run Apple II, Atari or Beeb software, it would make me happier. The IBM PC was, by far, the dullest computer of its age and, weren't its descendants the only computers effectively available these days, it would also be the dullest. It's just that we have no options today.
Simple SQL Schema Migration
Why TDD: Freedom to refactor
To make things even more fun:

Take an image x, decimate it, and obtain a lower-resolution version of it, which we call z. Are x and z the same image?

Mathematically, no. But when displayed on the screen, then most people would say they are the same. Of course, it depends on the definition of is, but such discussion would be utterly pointless. If we use the same definition, then there's no ambiguity.
Utter BS.

So now you've gone from "Java source code is 10 times the length of Ruby", to "Java is primitive and restrictive"?

This is the sort of idiotic baseless language bashing that is such a waste of time.
It's your call, I figured asking wouldn't harm. On my two bit websites adding that feature would take 10 minutes, and potentially the appeal is huge.

After all, for every person that removes themselves from the leaderboard another one gets the ability to make the decision.

Unless you think that the majority of the HNers is here to make it to the leaderboard, which is a possibility but I highly doubt that a majority here is taking the karma count as their reason for contributing.

edit: this is the third time in as many weeks that I get pretty negative email definitely caused by HN users, it's not at a level where I worry about it (that takes a lot more) but it is a nuisance and it spoils some of the pleasure of being here.

The biggest reason why I am here is because of the people, the second one is the ability to ask and answer 'Ask HN' style postings, the third is to learn and interact. None of that stands a chance of being harmed by a couple of idiotic emails.

I figure that by taking my name off the leaderboard I would make a statement about what I think HN is all about, which is not the leaderboard, anything but.

The silly emails just made me think about it, and in that sense they served a purpose. The alternative, to make another account is also a possibility but then I'm still taking up that slot.

Even if the leaderboard does serve a purpose, which to me is simply to distinguish the frequent contributors from the rest (but for that the leaderboard is actually too small since HN has far more than 100 frequent contributors). I have gone through ever single profile on the leaderboard and visited the sites of the people listed there to see what they're up to.
The Wufoo example is awful. Shouldn't have taken more than 5 min for them to realize, "HEY the Flash experience on GNU/Linux sucks! Maybe we shouldn't use it so that we can have more customers use the thing!"

Those 3 versions of GMail could have been one version that was most useful. There was no time constraint for it since it was a side-project.

The links to nowhere sounds like a good idea except I don't think it indicates interest in the feature being built. A link's text is usually very short and you don't really get any demographics from a click. If you knew 15 to 20 yr olds were clicking a link but the rest of the site was mainly used by 30 to 40 yr olds, you might want to spin out the link as a separate site instead of just a new feature or something. But how do you know how interested people really are? :/
Static analysis for Ruby/Python
Exposing Network Vulnerabilities -- Campus Technology
This is like adwords without keyword targeting: does the marketplace by itself add enough value to be worth using?
If I had to speculate:

- epoll, which was added to the linux kernel ~2002, makes it possible to hang on to potentially hundreds of thousands of concurrent connections on one machine. Just can't do that with threads/processes.

- the desire for real time web applications, which have to hold large numbers of concurrent requests (e.g. friendfeed)

- a focus on lowering web application latency, which can necessitate making data requests in parallel

- advances in software (such as gevent, mentioned below) that reduce the complexity of writing async software

- increasing use of remote services / slow requests over the internet (if you're working in a threading/process model, you'll need a process open for each concurrent request, which can become prohibitive)

- web applications are simply serving more requests than they used to be, and probably have more to gain from being asynchronous

Without async I/O operating a large modern web application would be a lot harder. Lots of huge sites rely on memcache, for example, which would suck if it didn't use event-based IO.
It is the nature of these sort of sites that they're always right on the edge. Let's try not to push it over though :)

Maybe (probably) it will degenerate at some point like all the others have but it would be nice if it stayed around a little longer.
Thanks, I stuck one on each for the time being (I'd actually tried zoneedit before posting, but wasn't seeing any name resolution of my domain via their servers, so I moved on).

We'll see how the two fair :)
What can the Christmas terror scare teach us about virtual security?
Maybe it is the recent spate of articles taking down a number Gladwell arguments, but I look at anything he writes at this point from the perspective of, is he being contrarian for the sake of being contrarian - and based on the abstract (no full article available to me), it seems like that is the case, once more.

The examples - John Paulson, a hedge fund trader. First - is a hedge funder making trades an entrepenuer to begin with? Second - trading, in exotic securities, short, no less, is the definition of risk. He can call it predatory, but to say it isn't risky is ridiculous.

Also - Ted Turner. Again, maybe the full article has more, but his one example pales against his other risks, such as launching CNN, a 24 hour cable news network when no one had even heard of such a thing or thought it would ever work.
Does being nice mean having to putter about with rose-tinted glasses on?
There's some information in the readme.html file included with the distribution, and a bit more in the manual.

Work versions are aimed at the active lua community as a way to get feedback on features before they are finalized.

Very quick summary:

new syntax for lexical 'sandbox' environments

hex escapes in strings

tables and strings support _len metamethod

__pairs and __ipairs metamethod for iterator support

improvements to GC, week tables, xpcall
Two of the best sentences ever un(?)intentionally contrasted. Deep irony. Bravo!

At least I hope it was a joke. If not, um, ha ha ha, I guess.
I think part of the problem is people don't know they are inclined to tinkering. If you grew up around VCRs and they broke and you wanted to try to save some money, you open it and see if you can do anything. This seems to be a common way to first start off. Nowadays you open it and immediately close it because there is no reasonable way to approach an IC or PCB without prior knowledge.

Of course there are the more industrious (and more annoying to their parents) who go on opening things that weren't broken and mess around in them. Those people are the ones who will actively go out and by arduinos. But it seems the first group is a dying breed.
Language bashing = pointing out flaws in notation. If you think of programming as math, then you need the best notation so that you can solve your problem more easily.

It's unfortunate that language creation with custom syntax isn't easy.
Interesting criticisms of PB's approach to building gmail.
Can you share a link to a product you've shipped in the past 12 months and some of your experiences about building it?
Why do people pay for webapps?
Humans are pattern matching machines. I think it's the root of our intelligence - it's certainly necessary for our survival. Basic pattern matching is required to, say, determine what kinds of plants are safe to eat, and to figure out where big game is and to predict where it will be.
Learning to play a musical instrument changes the brain.

http://www.articlesbase.com/art-and-entertainment-articles/b...
But, f is fairly standardized (or rather, there's a short list of standard f's), and bitmaps aren't even hard to understand. Since the isomorphism is both natural and conventional, I would say that in practice it is not accurate to hold f to the same standards as y.
Personal leaderboard would serve better - who are the people I upmode the most? Who are the people they upmode the most?
But the same argument applies to the original "illegal prime" under discussion. Your original comment indicated that you considered the case of an image to be different and you asked how a prime could represent an image.

In fact, I'd go as far as saying that you could apply your argument to any data stored on a computer. But someone I don't think a judge would be impressed by "there re infinity many things the data in this file could represent and only under one mapping is it an indecent image".
Network Industry Wake Up Call
The many-worlds interpretation of quantum mechanics is a consistent viewpoint that fits with the standard equations of Quantum Mechanics:

http://en.wikipedia.org/wiki/Many-worlds_interpretation

If it also happens to correspond to human intuition, I'm not sure exactly what the problem is.
Ahem. Study over 20 (!) subjects, with results well inside of one standard deviation of each other. There's almost no information in this paper at all. It quite literally proves nothing. And they throw in a non-zero-based comparative bar graph to boot.

They do, however, get points for at least showing their data and giving the variance. Better than "I tried it on my kids and this is what happened." I guess.
It is probably because your claim is easily disproven. I have a headless mini in my server room right now that has no problems booting. Turn on screen sharing and you can login and use it just as if you were sitting in front of a similar box with a display and keyboard.
Are we allowed to post links to our own blogs?
Yeah... from CVS. I think it's more interesting that they took this long to move to Hg or Git.
What, you mean HN isn't about karma-whoring one's way to the top of the leaderboard?

Damn, I've been had!
I've never really understood why Java took off in the enterprise the way it did. Was it just the automatic garbage collection and no pointers was a killer feature over C++?
There is a drawback to formatting the code in this manner.

It obfusticates any actual logic code change made and can make it much harder to determine what was changed.

I once worked with a developer that used to consistently check in 20 files at a time. He would modify one line of code and format any code he had to read to figure out that fix. If you monitored the checkins without fully inspecting the change you would think he was doing lots of work. Eventually he was let go.
I don't think all of those items are really arguments about I/O paradigms, though. Again, event stuff has been here forever, and clearly is appropriate for some tasks. But it's a tradeoff: you have performance needs you can't get from a simple implementation so you resort to the fancy tricks. So if you're writing the client handler for a database, or something like memcached, you need this technique (whether you need an abstraction library is another argument...).

But most apps don't fall into those categories, and I'm not getting any of that vibe from this. It seems that a lot of people sincerely believe that this stuff is "easier" or "better" just because it has the fancy new Spicy Event Sauce. And the truth isn't like that at all, and in fact these are truths that we've all known for years now...
On related topic, any good mercurial GUIs for Mac OS? I'm using Murky and it's not all it could be.
They might indeed, but the person filing the bug report in question (in their capacity as a user of PHP, at any rate) is not a customer of Yahoo! Inc., and thus Rasmus' employment there is irrelevant to the point at hand.

That point, rhetoric aside, is that the reporter is not party to a commercial contract with the people who fix bugs in PHP, whoever they might happen to be. Consequently, there should not be the "trouble" that moconnor asserted would occur should anyone in his organisation respond to a customer in that manner. The two parties simply do not have that relationship.

The phrase "unpaid volunteer" comes from Rasmus himself, in the bug report under discussion: "Wow, a classic case of how not to treat unpaid volunteers who provide critical pieces of your money-making infrastructure."
Just a checkbox in our profile and "if checked dont list" would suffice to make a happy customer happier.

Enough reasons to add the feature.
I know folks around here sometimes like to rag on Joel Spolsky (the popularity of the jumping the shark article comes immediately to mind), but when I was a junior in high school, I had a very similar experience to the one mentioned here.

The computer science culture in central Ohio is kind of less than amazing (especially for a varsity athlete type), and I didn't really have any idea of what the good computer science schools were. When I googled around for it, I came across the Perils of Java Schools (http://www.joelonsoftware.com/articles/ThePerilsofJavaSchool...).

At that point, it struck me that Joel knew a lot more than I did, so I decided to send him an email asking what schools were best. Not only did he answer, but there was actually some correspondence that led to a good short list for me. After being accepted to Carnegie Mellon, MORE correspondence helped me avoid Information Systems (an easier track that the football coach at CMU was trying to get me to pursue). For lack of a better description, Joel Spolsky was the best college guidance counselor I had.

I think it's important to keep in mind that, when I asked him for help, I was a slightly above average public high school student in Hilliard, Ohio, so he was just being a really nice guy.
Multithreading isn't at all appropriate for PHP and I can't think of a scenario where it would be needed.

Not blocking the entire PHP process while waiting for database results, waiting for a file to download, waiting for memcached to respond, etc.

I would (and do) use an event loop for this sort of things, but lightweight threads are technically a better abstraction. Web apps would use a lot less memory (and hardware) if people were not so afraid of threads.

(This happens a lot; a bad implementation of something taints the whole category. pthreads, Java threads, Perl ithreads, etc., are broken, so all threading is bad. C++'s object model is bad, so all object oriented programming is bad. It's sad.)

BTW: some good thread implementations include Haskell's and Perl's Coro.
For a certain class of developers: yes, it is. The IT world needs to be able to build big projects with big teams of mediocre talent. They can't handle the pointer bugs of C++, not the runtime-only bugs of dynamic languages. Java was a breath of fresh air in this world.
Sorry it wasn't called Bugboard but bugbase. http://www.buglabs.net/

I remember seeing them at CES a few years ago and they were generating a lot of buzz in the tech blogs.
You don't really need multithreading.

It's true; many languages allow you to handle concurrent downloads by letting the OS call a function when the socket with the data is readable. (This is part of an "event loop".)

Many language implementations call this threading, however, because it is. You don't need one heavyweight OS thread for every thread of control in your application; many applications that make heavy use of IO easily handle thousands of threads inside one OS thread. It's a very useful abstraction.
My MacBook Pro is in the red at this very moment. Let me test this out...
I have to credit John K. and his blog for giving me good ideas about drawing. My experiences seem to correlate with his opinion; the bulk of the learning is in making good use of measurement - measurement and references. If I don't do those things, I will get distorted construction, every time. (But I have also no doubt that practice eventually embeds the necessary information in your soul so that you can be "fast/sloppy" and still do OK.)
This really depends on what you plan on reading. I read a ton of PDFs: research papers, online manuals, natve PDF books and some books that are scans packaged as PDFs. My previous ebook was a Sony 505 but the screen size was too small to make this a practical reader for me. most PDFs out there do not support the "tagged" format that makes text reflow with the ebook posible. To make a PDF usable I would have to do an elaborate conversion dance of trimming and tweaking contrasts with some PDFs needing to be re- converted to landscape mode after several attempts at squashing them to fit portrait mode.

My eventual conclusion was that I needed an ebook with a bigger screen. After waiting and waiting for an apple tablet announcement I went with a kindle dx and it has been great. It does not hit all of the items in your requirements list (I keep the wireless off to conserve battery, the keyboard is almost never used except to jump to specific pages, and it's support of annotation is "weak" at best) but it is probably the best option out there for my needs.

My advice would be to start by deciding what screen size you need and letting all other requirements and feature comparisons flow from that decision.
Agreed, cartoons today just look ridiculous and cheap. Which is probably a function of technology and the economics involved.
Hilarious indeed, number 10 on the "How can I get my wife" list is "s facebook password"
Three year old takes a journey through an airport baggage system
Webapps which duplicate the functionality of open-source tools can make money, but I think they have to position themselves well. Basically I think people will pay for this type of webapp if:

* The web app is substantially more convenient than the desktop open-source app,

* It is important/useful that the app in question be available anywhere, not just on the user's computer, or

* It is much simpler to use than the free app and provides a service useful to people not used to open-source tools.
You are interested in working in a particular area, where a language you didn't like was the best tool for the job.

from Arduino's website:
The environment is written in Java and based on Processing...
Want to play around with an Arduino? The best tool for the job is Java, not because Java is a particularly good tool but because all documentation and community is built around it.

Want to work on the Linux kernel? Feel free to ask them to rewrite it in something other than C because you dislike C.
Java source code is especially verbose because Java has a very primitive and restrictive syntax.

This shouldn't be news to anyone. Java lacks macros, type inference, and currying. It lacks a concise mechanism for lambda forms, and variables in closures have to be made final. There is no way to delay evaluation of an expression, save through the default control structures. The generic typing system does not persist to runtime, and it does not support covariant or contravariant types. There is no multiple inheritance supported, nor any mechanism for mixins. Interfaces cannot be applied to classes after they are defined. Types are nullable by default, which is a remarkably dumb idea for a static language. Functions cannot exist outside a class, and the syntax is littered with redundant keywords like 'new'.

Should I continue?

Java's shortcomings are many and well known. Calling Java "primitive and restrictive" is not baseless language bashing; it's an observation of the design decisions made by the developers of the Java language.
What I noticed is that 1) some people are better at matching patterns than others, 2) there are different kinds of patterns (social, symbolic, spatial, etc.), and 3) some people have a particularly effective reinforcement loop around pattern matching.
How about "Dear Mr. McGreal:"?

I think most companies can handle a mail merge.
I bought Mobile air mouse app for iPhone and it works fine when iphone and computer both are connected to same wi-fi network. As they adverties it also works with ad-hoc wifi network created from any computer. I tried this in my office, hoping to use iphone as PowerPoint remote control. But it doesnt work. As soon as I try to connect the app to the network, Server Application running on WinXP dies. Sent them few emails, they promised to fix it but then never got reply back from the.
Google Policy Fellowship (deadline Jan 25th)
"One could translate any string of text into a series of bits and back to a single number and say that a book or a picture is just a number. Then one could say that noone invented that number, and that it's just a number, so you couldn't have copyright nor protection because everything could be randomly generated"

You could be on to something big there, maybe a new kind of science, even.
Four -- Bazaar is heavily used, particularly in Ubuntu-related and GNU projects, and Darcs has massive user share among Haskell users.
Toyota to Sell All-Electric Car in 2012
Yes, as long as they comply with the site guidelines (but that goes for any submission):

http://ycombinator.com/newsguidelines.html
One of the Lua authors has recently posted a more thorough summary:

http://article.gmane.org/gmane.comp.lang.lua.general/61505

The in keyword has been very controversial as with it comes the deprecation of setfenv and getfenv, which are very useful for sandboxing and other tricks. The inclusion of a standard bit operations library is also a big deal, though Mike Pall (author of LuaJIT and LuaBitOp) has raised some objections.
Why not? As long as it's relevant and contributes to the discussion I see no problem at all. But do say what the link is and why you're linking to it.
"Are there not sufficient free open source tools to monitor your server and mail you when it goes down? Why would some of those big ticket customers ever pay for something like this?"

You're trading money for (someone else's) time. I could build pingdom for my own services, but I don't want to. I'd have to build it, scale it, maintain it, and monitor it.

I'd rather pay someone else to do it for me, and I'm technical.
Isn't it accurate to say learning anything changes the brain, since that's what leaning is?
Since I've learned to play guitar (and studied music theory) my mind has opened up to the possibilities of learning and I feel like a smarter and sharper person. I can't say with any scientific evidence how music has changed my mind but I'm going to agree with that general statement.

Additionally, I find that when programming a short musical break will rejuvenate my mind and get me right back into the flow of code.