skysight-inc/HackerNews huggingface dataset:
Nope. The common usefulness is to determine whether a given computation-describing system reaches the threshold of universal computability. Modulo finite size is assumed, else there is no usefulness of the concept given finite resources.

For example, SKI combinators are Turing-equivalent. Regular expressions aren't. The lambda-calculus is. Context-independent grammars probably are. Most data description languages are not.

This is worthy of an HN post because a style-description language would not normally be expected to be Turing-equivalent.

When it became widely known that the C++ template system was Turing-equivalent, it was a shock to many. These meant that the C++ compiler code itself could be exploited to compute arbitrary things such as factorials, or shortest-paths in graphs using A*.

Actually, as the SKI system demonstrates, the threshold is quite low. The core needed components are just "constant" or "if" (they are often equivalent), and "repeat" (equivalent to both "iterate" and "recurse").
I think it was initially a bad analogy; he probably meant something along the lines of noticing you're about to fall off a ledge of sorts. In that situation, you would stick out a limb to keep your center of gravity on solid ground, not lean further away :)
Difference of the art unzipped maybe 500 bytes but the difference gzipped is only 150 bytes.

Also this argument of comparing home internet bandwidth overage is only valid if you are serving a site like this from your home :)
If you think you're going to get impacted by this overage because of your surfing habits, you'd have to surf...

1GB/150= 6 666 666 pages in the month

since there are 2 592 000 seconds in a month, you're looking at 2.5 page loads per second. You're probably not there.

Also the main page load is 1.5M (including all the resources) so the 150 bytes is even less of a burden.

I think you'd be better off looking at optimizing/saving money somewhere else ;)
Can you expand. Because I've probably done a few hundred SVN branches. And probably 100 Git branches. The big advantage I had with Git was that since it is decentralized, you don't have branches on the server (so no need to have a tempbranch target on the server). But that doesn't seem like a huge deal to me.

The actual activity of branching and merging seem equally easy to me.
Wow. I'm thrilled that this essay has received so much attention. I went from 50 pageviews per day, on average, to 20,000 in one day. I'm very busy with work and I don't have time for a point-by-point reply to everyone, even though there are a lot of great comments here and many deserve replies. I just don't think I will get to it in a timely fashion.

To address some of those critiques, last night I wrote a follow up to this essay here: http://michaelochurch.wordpress.com/2011/03/08/follow-up-on-... .
> Must be capable of creating 10 jobs in Ireland and realising sales of €1m within 3 to 4 years of starting up.

What actually happens if the startup fails to do this?

And, what is ordinary equity? As you can tell by that question, I'm a newbie when it comes to this. Any background reading recommendations would be appreciated.
How Pwn2Own Was Almost Won Via XSS
Sprint and T-Mobile in merger talks
Personally I've all but given up posting on Slashdot and reading the discussions since their latest redesign a few weeks ago. I was sad to do so (I first hit the karma cap back when you could still see the numerical value, for those who want to judge my "Slashdot age") but it's just too tedious to navigate the comments and too buggy to interact at all now. I still find it a useful source of general geek interest articles, though.

I've been posting more on HN recently, but I find HN links and discussions tend to fall sharply into three categories: general technical/business discussions between well-informed people, material about YC start-ups or other businesses that have no particular relevance to me, and flamefests that are full of people who think they know everything and clearly don't know much about anything. The first group is enough to justify my coming here. I'm trying to be better at ignoring the second and not feeding the trolls in the third.

Reddit is a curious middle-ground, because of the subreddit system. I follow a few subreddits that generally have high quality content and one or two that are mostly lighthearted, and I ignore the rest, including most of the main ones.

TechCrunch sometimes carries interesting news, but as with HN, a lot of it isn't particularly relevant to me and a significant amount is just the personal opinion/ego of whoever got to write on TechCrunch this week.

Given this balance, it doesn't surprise me to see the relative popularity of the sites shown as it is in the infographic.
Tim Fitz' blog is a great source of continuous deployment done right and finding useful information in a sea of chaos.

I remember talking to him before and after he wrote some of these blog posts and it was fascinating seeing how his attitude regarding failure changed.
Given that 70% of the respondents are also using Windows, no. But it's a good thing, really. They're weeks behind with the latest news and decades behind with their operating systems.. we can't fail! :-)
This same thought process works for job interviews, too. Let's say that failure to disclose your current salary means you won't be considered for the job. Would you have enjoyed working for that organization anyway? Time saved up front for both parties.
Vintage InfoPorn No.1
Useful Awk one-liners
Good idea. I think the arrow keys could be made out of unicode symbols as well.
There is an hg-git bridge created by the git hub guys.
Top best SEO premium wordpress theme
Tech blog is one among top niche choices for blogger since there are many new fresh content threads coming each day related to technology. The revenue in this niche is quite promising too. Prepare more carefully before taking part in the blogging journey, you will get more successful for sure. And one of the first and most difficult decision is choose a suitable and optimization theme for your. Here are some premium WordPress themes which are all top choice for a tech blog, at least in my view.
Google preview search feature now available on mobile
Can you show me spam in my comment? And where did I use the word "loosing"?
Heh, how about the size of posting a png of ascii art? ;)
I'm becoming less enamored with git over time. I've used it for years (by choice, and I'm a GitHub user), but have never been a power user.

I'm annoyed at how the very most basic workflows in Git seem awkward, like I'm working against the tool instead of with it. The simplest example is: I have a hacked-up tree, but I know changes have been made upstream, and I want to pull those changes:

$ git pull
Updating 73f91c3..0ee9fa8
error: Entry 'README' not uptodate. Cannot merge.

It's complaining because I've modified README locally, which was also modified remotely. Every other reasonable version control system I've ever used will happily merge the upstream changes with my not-yet-committed local changes. But Git refuses. This is annoying.

What I have to do now is commit my hacked-up, non-compiling, possibly-swear-word-containing in-progress changes. I really dislike this. To me, "commit" means "take a finished bit of work and add it to the global history." I really dislike having to commit something that is extremely unfinished just because I wanted to integrate some upstream changes.

So what I usually do in this situation is "git stash", "git pull", "git stash apply." This works ok for the "pull" case. But what if I have multiple sets of locally-hacked-up changes? Like suppose I was working on one change when I realized that there's something else I should really fix first. "git stash" quickly becomes limiting, since you can't name the individual changes, so you get this list of changes that you don't know what they are or what branch/commit they were based on. In other VCS's like Perforce, you can have multiple sets of independent changes in your working tree. Not possible with Git AFAIK.

Anyway, I'll probably keep using Git, but I'm not as enamored with it as I once was. I used to figure this was all just porcelain issues that would be refined over time, but it doesn't seem to be getting any better.
And the publicity caused by this post is already worth it.
What people usually mean by "Turing complete" is "would be Turing complete if it were infinite." That does imply that a programming language can be built on top of it, and that programming language is fully capable of performing any given algorithm.

It says nothing about interactivity, which is a function of ability to (directly or indirectly) access I/O hardware.
Is this common? Usually we have a hard freeze on a release branch a couple of weeks before actually releasing it. I'm working on embedded systems so the test cycles are usually slower due to heavy HW involvement.
Seems kind of odd to me I can get a negative score for saying it and you can have a positive one for asking again. I have yet to see anything redeeming about him, he is one of the most influential people in the world but he isn't mature enough to use it properly. In fact, he seems to go the extra mile to piss off everyone about privacy, usability, whatever. His company is changing the world, but his personal ethos is making that world less and less a place I want to be.
The latest book (4th edition) though a book in the same series is not exactly in the same vein as the earlier editions. It is toned down and uses Java. I would recommend the 3rd edition based on C or C++. If you are really new to data structures and algorithms then go with the 4th ed. otherwise the 3rd. Also check out Bruno Priess's book which tackles data structures with a lot of object-oriented concepts (can be a bit of academic overload).

My personal favorites are Sedgewick's C and Priess's C++ books and for algorithms, the Algorithm Design Manual.
Where Your Blog Went Wrong
Working in media for a full digital agency: several but below are two that might be useful to you.

Addynamo - Good traffic, good reporting, good agency commission.

Admob - Biggest mobile ad network, owned by Google, great analytics.

List on the Google Display network if you fall short of other options.
I agree that it's vitally important to keep burnout in mind when you're the type of person prone to it (I suspect a great many HNers are), however I wonder whether being over-cautious is potentially as, if not more, damaging in some circumstances.

Let's say, theoretically (cough ;-) you're in a job you don't like which is absolutely making you miserable but is actually quite easy in many respects, what if the only way to actually get a job you might like is to work really hard outside of work-work?

The problem is that if you're the kind of person who cares about this stuff, it's worth anything to avoid a life stuck writing CRUD surrounded by people who don't care in a place where even the concept of code review or non-sourcesafe source control is laughed off by seniors (cough again ;-)

It's a fine line to walk in this kind of situation. To me, the key is to have plenty of scheduled breaks, accept + deal with f-ups (i.e. not doing the amount of work you wanted, it happens), have clear goals with smaller goals along the road, etc., and most important of all - do stuff you absolutely love. Nothing is guaranteed to protect you from burnout, however.

A lot of the problem with transitioning from somewhere sucky to somewhere decent is that, in order to actually be up scratch for a job like that, you have to put in a lot of hours in your own time, especially if you don't have a computer science degree and have gaps to fill in.

IMHO, sometimes burnout is just a risk you have to run, though you can certainly work to minimise it.
>"'Post-PC Device' doesn't mean tablet or phone, it means 'No filesystem.'"

"No user accessible file system" is probably a more appropriate meaning in terms of Apple (other vendors may vary). Another way of describing the Apple model is that the user cannot access the file system without Apple's explicit permission (e.g. iTunes and MobileMe mentioned elsewhere).
Taking "Rock-Paper-Scissors" to the next level
The learning curve on git is high, but I understand the benefits. We use it at my current company , but we do make mistakes with it.

Windows + SVN is so easy to use (and so entrenched), I'd recommend to new developers & students to learn SVN.
Actually, the point is to make a meta-reference to the Scott Pilgrim reference.
They were probably calculating the mean of a Likert scale, which is often coonsidered an analysis error.
Who talked about "crappy netbooks on a tiny screen" ? When did you last shop for laptops? 2007?

See this:

Latitude E5510
Also Includes	Intel Core i3 Dual Core 2.53GHz	Windows 7 Home Premium	2GB	160GB	15.6"	DVD ROM	$499.00

That is neither a netbook, doesn't have a tiny screen either.

Whatever the post-PC devices might be, they don't seem to be cheaper than the PC devices.
Designswap is live: designers, let someone else design on your website
Very interesting thoughts. Thanks for sharing! Upvoted :-)

I wonder why would big corporations move there if labor laws are so strict there. Maybe they get "special" treatment in exchange for creating lots of jobs?

Also, if Dublin is so expensive, does it make sense to hire workers there who probably have to make more in exchange to get low corporate tax? Hmmm...
Off-topic, but: I'm surprised that extra GBs are that inexpensive in Canada... A GB transferred on Amazon is $0.10-$0.15, so consumer transfers are 3-5x more. That's not so bad is it? I've got a teeny little cable pipe (25Mb/s) coming into my house and Amazon's got a firehose; is 3-5x unreasonable?
As yet another C++ developer I have to ask, why is anyone doing a lot of string handling in C++ ?
ENISA Releases Comprehensive Study on Botnet Threat
No sidewalks please
Perhaps. But don't let that limit what you can do. Monthly cost is 1$ but you need to pay for a full year in advance.

For something with almost no delivery cost (digital content), as long as you're clearing transaction charges, you are still making money, right?

Maybe money isn't in charging for the apps at all? What about ads? Lead gen? Affiliate Programs?
I'm not a huge apple fan as you try to imply. I don't own an iPad, I don't even use Mac OS X (I use Ubuntu). But I find Apple's products appealing and I like their approach.

Your mentality is exactly why Google and Microsoft (and others) don't get Apple at all. You think in "data". If something can't be put in a spreadsheet, it's not real for you.

Your comparisons between netbooks and iPads are ridiculous. You're comparing the price, specs, and screen size. You just don't get it.

11" is tiny for windows 7, because it wasn't designed for netbooks. The taskbar takes a huge part of the screen, as do the title bars and menu bars and tool bars and tab bars.

The iPad screen size might be the same or smaller or whatever, but because applications are designed specifically for it, they use the screen space much more efficiently.

By the way, Apple has its own netbook. It's called Air and it has a 11" variant. It's much more expensive than typical netbooks though, and I guess you could argue that it's not really a netbook.

> Apple does not lack fans, nor will these fans stand quietly by while objectively true statements are made that disparage Apple.

Your sense of "objectivity" is ridiculous.

It's like your counting the number of character in a logical argument as a measure of its validity. "I wrote more characters than you, therefore I win the argument". This is just an analogy of course, and this is not what you're saying. But, you're using the wrong measure for determining the value of the iPad.

> If one part of a sentence is factually incorrect or an outright lie[1], it is entirely appropriate to point out that it is so, ignoring the other portions of it.

It's only a lie when you take it out of context. It's talking about non-expert users. Only geeks like us would shop around for the best laptop deals. Most people don't even know how to evaluate the specs. "What does dual core mean and why should I care? What type of memory is best?".

non-expert users cannot get a product that's cheaper than the iPad and provides the same or similar experience. There just isn't such a product.

Not to mention the iPad uses SSD instead of magnetic discs. A typical non-expert user wouldn't even know what SSD means and if he had to pick a laptop he would most likely choose one with a magnetic disk because it tends to be cheaper (it's not like he would read all the specs anyway).
It seems that what you're really hitting is the, erhm, ill-advised decision to name most of git's most common actions the same as actions in subversion, but make them do significantly different things. Git's "commit" should probably have been named "mark" or whatever because "push" is what's actually comparable to a subversion commit. I've mostly conditioned myself by now, but I also recall some fun with checkout.
There are two competing definitions of Turing complete here.

1. The mathematical definition of Turing completeness: models which can simulate the computation of a hypothetical Turing machine. Idealized circuits are an example of this. Turing machines are an example of this. Programs with infinite memory are an example of this.

2. The colloquial definition of Turing completeness: this is naturally ill-defined, but it roughly means an automated, finite model that performs arbitrary computation. I would say that a robotic Lego Turing machine is Turing complete. C is certainly Turing complete in this sense. Basic HTML isn't. The set of regexes (e.g, unix wildcards) isn't.

However, if I can choose a large enough regex, I can construct a decider for a given finite language. How then are regexes less powerful than C? The answer is they are just as powerful in the finite case, unless we set reasonable limits on what we mean by 'finite' and 'automated.'

This HTML+CSS is not Turing complete. The idealized version of this HTML+CSS is not Turing complete (unless you strangely accept the idealization of a "hand pressing tab space"). This HTML+CSS is also not Turing complete in the colloquial sense: it doesn't live up to the generally accepted notion of automation. It isn't executed by the machine.
We found today this is no longer the case --> http://www.onsip.com/blog/rob/2011/03/08/google-voice-sip-ad...

As for Yate, we believe it has the same issue we found with native Android SIP support: It doesn't distinguish between auth username and username, which creates limitations. (SIP Authentication username not configurable - RFC 3261 Section 22.1)
In my book $119 well spent (also gzip+caching etc., it's possibly much less in reality)
It goes to the next-of-kin, regardless of whether they know about it or not. Depending on jurisdiction if there's no next of kin ownership may transfer to the government.
I'm seeing an embarrassing SSL is not enabled message from their heroku app :)

https://img.skitch.com/20110308-8ps8aam6fx8fw1eqhp67tnyss.jp...
I hope Google steps in and buys T-Mobile. Sprint is the worst US carrier, T-Mobile is the best... both in terms of technology and customer service.
> It's complaining because I've modified README locally, which was also modified remotely. Every other reasonable version control system I've ever used will happily merge the upstream changes with my not-yet-committed local changes. But Git refuses. This is annoying.

No it isn't. Git is trying to be predictable.

> Like suppose I was working on one change when I realized that there's something else I should really fix first.

Branches are designed to resolve this problem. When you want to do something that takes a lot of time, you branch from the stable version. When you need to do something else, you branch from the stable version again.
Coming soon to your dining table
Data-driven future looms for product development
Windows is also a "bargain" when it comes to IT costs. Windows has an excellent track record of strong enterprise support, whereas I have heard from an IT dept that there are all sorts of headaches (and compatibility-breaking changes) to Mac operating systems.
Actually that's not true. Kernels aren't infallible and while there's the 'many eyes' aspect of Open Source kernels, Linux is huge, so tracking stuff down often crosses multiple files, sometimes unrelated.

I went to a really excellent talk at the last DC4420 (http://www.dc4420.org/) on 0day in the Linux Kernel. The example provided was a double free bug that was really just a basic schoolboy error. A brief look through the source code tree found about 4 or 5 other examples in less than half an hour. Now I can write fairly obvious buffer overflow exploits, but I'm not exactly a ninja in this space by a long stretch. However, there are 253 advisories for 2.6 according to Secunia, and it's not over yet: http://secunia.com/advisories/product/2719/?task=advisories

AFAIK the 2.6 Linux kernel hasn't been fully audited for bugs, it isn't audited (at least AFAICR the Linux Kernel Auditing Project only looked at 2.2 and 2.4).

Slide 31 gives an overview of how kernel pointer overwrite bugs can be exploited here: http://jon.oberheide.org/files/source10-linuxkernel-jonoberh... - It's a fairly good slide deck in general but for the straight dope you're probably better looking through Phrack (here's a good article http://www.phrack.org/issues.html?issue=64&id=6#article).
I don’t buy it. I haven’t touched any of my 4,822 audio files in the filesystem in years. They are in my music library and I couldn’t care less about where on my drive they are or how they are organized there. The same is true of all my photos. The abstraction works perfectly for me in those two cases, I’m missing nothing.

(My parents would be delighted if Word or Excel had a similar library of documents.)
I took "abusing the HTML5 History" to the next level.
It's technically not using the HTML5 History, but that post inspired this idea.
The Importance Of Free Music (Or Give ‘Em A Taste First)
What changed since this article was written:

1) The Server structure in the unstable branch is finally divided into sections
using comments.

2) The command table is now loaded into an hash table, so the lookup is now O(1)
and it is possible to alter the hash table at runtime. This is how we implement
ed the command renaming and shadowing in redis.conf.

3) The shared integers are not used when diskstore is enabled, since we need tha
t every object is independent with a different LRU timestamp and so forth. But o
therwise using the default mode of operations (in memory) shared integers are us
ed.

4) Databases are now watched for the implementation of "WATCH" using a better AP
I, that is signalModifiedKey().

5) Now we listen to the TCP socket and to Unix socket if configured. The Redis C
luster branch (not public) will also listen to an additional TCP port using for
cluster message passing.

7) Loading data from disk to memory is now non blocking, we do this re-entering
the event loop while loading data.

8) Response reading is now faster and cleaner code, thanks to Pieter's work.

This is a very nice overview. Of course only the surface is covered, there are a lot more things going on in the specific commands, in VM / diskstore command (by far the most complex part of Redis), in specially encoded data types, and in rdb/AOF loading/saving, incrementally expanding hash tables, ...

In just 30k lines of code there is already a lot to take in mind!

Basically I and Pieter already reached the point where we are experts in different areas. We both understand the whole Redis codebase, but for instance he is more expert in the sorted sets and special encoding code, I'm more expert in the diskstore things, and so forth.
There's no such thing as a client you have never worked with before until there is a signed contract. In other words, the person is a potential client, not an actual client.

In my opinion, you just write up a proposal that covers your interests and see what happens - try not to spend more than 1/2 a day on the proposal per $10,000 in revenue.