skysight-inc/HackerNews huggingface dataset:
The proper correction for his terminology is "undecidable languages": a language is a subset of the set of all possible finite strings, and an algorithm that "decides" that language is one that will return correctly either a yes or a no in a finite amount of time for every single element of that language.

(This is as opposed to an algorithm that can only "recognize" that language, which will return yes in a finite amount of time for strings that are in that language, but might not halt for strings that are not in the language.)

With this definition we don't have to worry about corner cases in the definition of "problem": we can fall back on set theory to get our cardinality. Thereby, the set of possible languages is then uncountably infinite while the set of algorithms is countably infinite; and so, there are not enough programs to possibly decide all languages.

Now, yes: you can then claim that we can't write all of those languages down. Arguing that, though, begs the question: it is specifically because there are only a countably infinite number of algorithms and algorithms are all we can use to verify or even specify a win condition for our deciders that we can then only work with the countably infinite number of languages that can be described by an algorithm.
Rant from a nobody that end up looking like a troll. He didn't even get his fact right
because they're a big company with a lot of staff, everything they do must therefore be "the right way"? That's a fallacy if i've ever heard one.
We have decent documentation provided here, too (at least in CO). I'm unsure if it's ample enough to make a completely informed decision.

Some issues demand more cultural/social context, "the full story" as it were. I think this context is probably best created by discourse and debate, but can also be augmented with news.

Of course, this leads to another media/news issue in the Internet Age: consumption bias -- only reading/watching media you agree with.

I try to maintain moderation and balance.
Hahah I got this email - luckily I had switched away from their hosting literally days before!
Chinese Heavy Lift Rocket
I believe that, in general, supporting the law is good. Even in case of laws one deems silly. Even in a country where the lawmaking is somewhat corrupt.

Getting picky about which laws I obey would contribute towards social climate of not respecting the law in general. There are countries like that and their societies suffer as a result.

On the other hand for some laws the benefits of breaking them outweigh the above downsides.
He is speaking at the Bitcoin Conference in London this weekend.

https://sites.google.com/a/bitcoin2012.com/homepage/speakers
Well, Google is a different game, and I'm sure most programmers there are versed in at least a couple of languages.

But some (most Java devs?) devs look like they are "only Java" right now.
What about Google Docs? Their context menu seems to work cross browser (even on ie9!). Maybe my assumption that they're using HTML5 for this is wrong but if I'm right then what you see on Gdocs is a complete replacement of the regular menu which is pretty cool but also quite annoying for me at times. Please correct me if I'm wrong (which is very likely).
Interesting, but why bimodal? I find a lot of my friends who claim to be Christian on further questioning are in fact "Deists in disguise".
I see. Point still stands. Their timeline and newsfeed scrolling are still going to be problems regardless.
(You can try my description, a sibling to your more-parent comment, to see if that helps.)
White Paper: Haskell vs. F# vs. Scala [pdf]
If customer.io succeeds , how much time will it take for other people to duplicate it and bring pricing down ?

I don't know, "other people" might have their hands busy, considering this prediction has been made about a hundred other apps on HN.
Right, I got that. But when I found it I was hoping it could work in the opposite direction.
In our case, building the town hall and servicing the debt over 30 years was cheaper than rent, plus we get a building that we don't have to pay rent on after that period.

Less ideological and way smarter -- just the way I like things.
I'm not opposed to bridge software; however, I'm always skeptical when I hear things like this.

"Google says J2ObjC works with most build tools, including Xcode and Make, and that the translation from Java to Objective-C is totally automated. No additional editing of the Objective-C source code output by the tool is necessary."

The proof is in the pudding. I guess I'll have to check it out.
More Weight - The Story of Giles Corey
I don't think it's all that bad, but if the application lags perhaps they should rethink the interface to suit their environment.
Still waiting for a startup to complain on how they've rewritten in C their laggy html5 mmorpg.
Applying The Pareto Principle To The User Experience
I recently had the opposite revelation: Most social sites are too much of a distraction, feeding us with pointless weakly-written opinions and things that have zero effect in my life. Their signal to noise ratio is definitely lower, and is not compensated by the higher amount of info they pile up.

Humans are by nature curious about what's happening, and no matter how much one bulks up at the local gym, they are probably not quenching their thirst in that way.
There's a lot going on that has nothing to do with loading and displaying content.

-- This is exactly the problem. for users, content is king.
Right on. I like your Moneyball mentality (your last sentence reminded me of it).
Interesting. I do like to use the native gui Api for each platform to get the native look/feel. Does lua/jit have its own implementation of buttons, tableviews and such or does it use the native controls of the system?
And this is why, my friends, we don't have a Linux desktop. At some point, we need get some stability and backwards compatibility in our GUI toolkits. Otherwise, we see this problem over and over again - GUI API updates break application developers, and those developers have to put time and effort into restoring functionality rather than adding new features or improving usability.

Windows will happily run 10 year old GUI code. OSX will still run 7 year old GUI code. But Linux? Depending on the which window manager you're using, even 2-3 year old code can be horribly broken by API updates. As a developer, this is one of the chief reasons I'm considering abandoning Linux and moving to OSX. It's just too bothersome to deal with the ever-increasing flux in Linux GUI libraries.
No, a hack would be doing all that while building an abstraction layer around Google Calculator to act as a primitive CPU to do the GIF encode.
A long time ago (the late '80s or early '90s) I needed a square root routine for a floating point number and found an article by a Jack Crenshaw (a real rocket scientist), that always converged in less than 5 iterations. First you normalized your FP number (converted the mantissa to 1.xxxxx) while adjusting the exponent and then multiplied by 1.38 which gave a surprisingly close answer.

I'm guessing that (if I could find the article) the constant used in this floating point technique and the one used in this article are somehow inversely related too!

In any case, it's a very nice article ... thanks!
> Maybe the direction to go from here would be to make native mobile app development simpler for the Web guys

The way I see it is that in order to build a quality web application, you need to implement the same patterns and structures that the native developers have been using for years. Once a web developer is comfortable with that kind of development, the target platform doesn't really matter. Your code is going to end up looking very similar whether you target HTML5 or a native API.

We somehow built up a mindset that HTML5 is easier to develop with. That couldn't be further from the truth from my point of view. It is just another platform. HTML5 may only seem easier because quick and dirty "hacks" are still accepted, whereas most modern native environments try to promote best practices from the very start (MVC, etc.).
Agreed to this and all other comments. There can be no criticism of how much a company spends on R&D - spend tens of billions make a profit, you're doing good, but spend a couple billion and make billions in profit, your a genius. Apple is indeed getting the better bang for their buck over their competitors, that's for sure.

Overall, I think R&D costs is really a moot point, although its always nice to see corporations going above and beyond to push the boundaries of technologies, and develop new ones.
My startup story
I'm unconvinced. Web pages scroll fine for me, why can't the timeline and newsfeed?
Google docs is not appending stuff to the browser's context menu. they're catching the right-click action and replacing the standard context menu with their own one drawn in HTML.
Until everyone stops consuming news.
Qt 5's xcb platform plugin does use both libxcb and Xlib, for the reason you mention and others. Thus hardware accelerated OpenGL is supported on Linux, even with proprietary graphics drivers.
Google says 'do not track' option coming to Chrome by end of year
>maybe I'm reading too much into it.

no, you got it. It's not really meant to be a criticism of Python itself, it's just behavior that is common among 20-something web developers, which is representative of some areas of the industry, and is specifically the target audience for the post. You know, the kind of developer that is advanced enough that they can build non-trivial projects, but not experienced enough to have wisdom forged in the furnaces of years of industry experience (that's ... me and a lot of other HN users). The same type of attitude can be found in all languages and isn't specific to the Python community; the specific swipes at other languages are just what you get if you apply that attitude to Python. Judging people by the tools they use is a pretty useless metric.

>For the record, I think Haskell is a strictly superior choice to Go

I'm pretty sure it's the best programming language, that's why I put them in the gray-beard category. Or maybe it's OCaml or some Lisp dialect; it doesn't really matter. It's even why I further apologized to Dons and acknowledged that Haskell programmers tend to be able to solve harder problems than other programmers I know, but even after I twice acknowledged the superiority of Haskell, he basically just looked at me and said "you're a stupid idiot, and by the way, look at how many numbers I can compute with my superior Haskell program that runs on a lot of machines". Uh, ok, that's cool... I guess.

But every time I sit down with Haskell programmers and they explain to me how elegant their code is, I just don't really care. It's not what makes me interested in computer programming. I don't really care to use the best programming language; I really only care to make the best programs. PHP (and other shit technologies) have shown us that you don't need to understand monads to make people happy.

A friend of mine, who is a very strong programmer that I have a tremendous amount of respect for professionally, once showed me how to use Coq to prove that multiplication is commutative. I found that very boring, and it didn't make me want to learn Coq. Mind you, I spend between 40 and 60 hours a week working with software. I'm in it because I like to build things that are useful to people, and I think software is a great creative medium. I think that's a fairly common attitude.

Every time I say the name Haskell I am sorry for it, because every time I say the name Haskell I am met with bitter condescension. It makes me sad that despite talking about having experience with seven programming languages in my post, or mentioning having built a variety of things that are very different, Haskell programmers consistently treat me like I am a stupid person. So I'm glad you're not like that, and I'm glad that you understood I didn't mean to dismiss Haskell on technical grounds. Thank you for your comment.
Native apps allow for localizing of resources and using the full screen. Alternatives like PhoneGap allow for native HTML5/JS development. Titanium re-compiles HTML/JS to native, but you still need all the proper SDKs. Until the mobile vendors embrace web-as-native we'll never get native response out of web tools. WebOS did, but died, MS supports native HTML/JS for Windows 8 but not for phone. FireFox OS is hopeful but fringe for now.
I wonder how much of the "libertarian" bias in the US overall is a result of the particular inefficiency of government projects in the US (obviously purely private projects are more efficient than US government funded projects), and how much is a cause (by forcing use of contractors/consultants).

Maybe this explains the difference between the US and Asia/Europe rationally, rather than as some major difference in philosophy given the same facts in each place.
True, but it's incredibly easy to play "armchair project architect," when you don't actually know anything about how a project works or its requirements or constraints.

Maybe this is a personal flaw, but I can't count the number of times I've looked at a project and thought "that's a stupid way to do it" only to later realize the problem is far more nuanced than I thought.
I tend to work out of a space in the union square area near GA, feel free to drop me a line and time permitting I'm down for a fun chat.
This was leaked, ergo it must contain something illegitimate and embarrassing...
> "we can know that the AI's string look up table will be finite."

If the AI's lookup table is finite, then we can just feed it its whole lookup table and ask it to say something that hasn't already been said. (This will take considerably less time than if its lookup table is infinite ;) )

Granted, many humans would probably just tell you where to stick it, so perhaps an AI could be programmed with that response and be indistinguishable from the average human. But in principle, whether the AI's lookup table is finite or not, it's possible to construct a query that requires it to go outside of its lookup table.
I remember re-deriving this a few years ago. Short answer: If x = 2^n then rsqrt(x) = 2^(-n/2), so the exponent just gets negated and divided by 2. If x = (1 + m) 2^n where |m| < 1 is the fractional part of the mantissa, then rsqrt(1 + m) = 1 + rsqrt'(1) m + O(m^2) = 1 - m/2 + O(m^2) is the first-order Taylor expansion around 1. Thus rsqrt(x) ~= (1 - m/2) 2^(-n/2) so both m and n get negated and divided by 2.

This immediately suggests getting an initial guess for Newton's method by just shifting the bitwise form of an IEEE-754 floating point number by 1 and then doing some fix-ups for the negation.

The only hitch is that the exponent is stored in biased form rather than 2's complement form, so you have to first subtract out the bias, do the shift, and add back in the bias. Also, shifting can cause a least-significant 1 bit from the exponent to shift down into the most significant bit of the mantissa. But that turns out to be useful since it amounts to using the approximation sqrt(2) ~= 1.5. But doing all these bitwise operations is a lot of extra work compared to just doing a single shift. It turns out you can get almost the same effect with just a single addition of an immediate operand. Most of the bits of this addend are already predetermined by the need to handle the biasing and unbiasing in the exponent, and the remainder can easily be determined by brute force (the search space is only of size 2^24 or so) by just minimizing the approximation error over some test set. Doing that, I was able to converge to almost exactly the same 'magic number' as in Carmack's method.

My coworker Charles Bloom has a series of posts on this and related matters: http://cbloomrants.blogspot.com/2010/11/11-20-10-function-ap...

Here's an old email exchange I had with another coworker last time I was thinking about this stuff, where I tried to derive as many bits of the constant as possible by reasoning: https://gist.github.com/4e1d0dff97193fe5d745

Historical aside: How this algorithm came to be associated with Carmack is an amusing and roundabout tale. My partner in crime on Telemetry at RAD is Brian Hook. Hook was one of the first employees at 3dfx, where he designed and implemented the GLIDE graphics API. Gary Tarolli was the co-founder and CTO at 3dfx, and Hook got the rsqrt code from him. When Hook left 3dfx to work with Carmack on Quake 2 and 3 at id software, he brought that code with him and copied it into the codebase. Carmack never had anything to do with it. It's my recollection Tarolli didn't develop the algorithm either--he had gotten it from someone else in turn.
Very well said, in my experiences with building mobile apps that HAD to perform at close to native speeds with HTML/CSS/JS and Nitro/PhoneGap this is exactly how you need to treat the mobile web if you want things to perform.

You really cant blindly rely on any 3rd party code, or take first party code as a given without means testing it, you need to be able to build functionality from the ground up ensuring that performance is the number one priority, or extensively test and research each library before introducing it into your codebase to make sure it doesn't have any future gotcha's with performance - and more often then not, you will find multiple gotchas, till they start adding up and you end up with something like the old Facebook App.

There is no sandboxing in JavaScript, so one mistake can mean the difference between an app that performs and an app that lags, and hundreds of mistakes accumulating with no quality control at all, as seen in the old FB app, is just completely unacceptable.

I really can't understand why this is so difficult for Facebook to comprehend, did they not have any JavaScript specific developers assigned to the project? Did they assign a bunch of php developers to do this? What really caused this failure?

The fact they are using the technology as a scapegoat for their own incompetence is a pretty dishonest way of going about shifting the blame for their failures away from themselves, but I'm not one to believe in company wide conspiracies.

I think it is more likely that this whole thing probably got escalated by a bunch of "web" developers who were in over their head and decided to blame the technology stack and escalate that message to management, instead of the truth, which is that they messed up really really bad!

Don't blame the technology, blame the implementation!

edit: some minor edits to the phrasing of a few sentences.
If you judge the user base or commercial success it's pretty easy to pass judgment and say it failed. I can't even buy one on amazon.de!

If you assume ChromeOS will be maintained for years to come by Google (because they can afford it) and it will be improved then it might have a chance of becoming something big.

So the only reason you say it's 'early' is because you assume Google will keep it alive long enough to have a fighting chance.
I keep Redditing, but unsubscribe from most of the default subreddits, and subscribe to TrueReddit, TrueAtheism, and whatever else holds my interest.
I'm also a big fan of ChromeOS' model. Chrome is advancing very very quickly and so is ChromeOS as a consequence. There have been big deployments at schools, for which it is a great fit. Maybe they just need to price it more aggressively.
Seems like an issue they've struggled to solve unsuccessfully, and it's a pretty big problem for a core feature of their product unless they change the UI altogether for how they present the feed. Is there an example of an infinite scroll UI that pre-fetches text / image content on mobile web without the uncanny valley problem?
The article pointed out the common-law legal system being the cause, so what would be the solution? Better legislation to fix bidding?
"Don't blame the technology, blame the implementation!"

Amen.
Stallman is an amazing programmer but the man is clearly out of touch with the real world. Remember, this is a man who publicly stated that the world was a better place upon hearing of the death of Steve Jobs. Software views aside, this shows some serious social maladjustment. This is also a guy who refuses to use a web browser because he is so paranoide about being tracked. He advises people to not own cellphone either. From his wikipedia - "Stallman recommends not owning a mobile phone, as he believes the tracking of cell phones creates harmful privacy issues. Also, Stallman avoids use of a key card to enter the building where his office is. Such a system would track doors entered and times. For personal reasons, he generally does not actively browse the web from his computer; rather, he uses wget and reads the fetched pages from his e-mail mailbox.."
I really dont understand why though. It's like mixing up kilometers and kilometers per hour. I couldn't imagine a mental model of these units that would make them interchangeable.
can you remove the word "loading" from your comment?
Possibly because the PDF might be an alternative to any e-reader version they choose to sell.
Rogers only blocks PPTP VPN connections. Also it's not a VPN "fee" exactly, it's an entirely different APN. If your device doesn't allow you to manually edit the APN, you have no hope of getting your Rogers device to create a PPTP VPN connection over 3G because you cant access the internet.vpn.com APN.

However, L2TP and IPSec VPN connections work just fine over 3G on Rogers, no fees or APN changes required. So I'm not positive that NAT is the issue if I can establish the other types of VPN connections although this is hardly my area of expertise.
I don't think we actually really disagree here at all. I was objecting mostly to the perceived sentiment that the idea of one culture being better than another is DOA.
Using a classical computer and the best-known classical algorithm, factoring something like RSA Laboratory's largest published number –– which contains over 600 decimal digits –– would take longer than the age of the universe, he continued.

A quantum computer could reduce this wait time to a few tens of minutes.

-- The synopsis.
And you're posting this to a social site :)
Interesting, an 18.5" HTPC all-in-1 PC hybrid running Android instead of Windows
I think its big issue might be that people don't realise that a "Chromebox" or "Chromebook" is still a real computer. Their ads are helping somewhat, but I think people still don't know that web apps work offline, for example.
Until humans lose their human nature, you mean?
The masses have always been pretty content with their panis et circensis, and I don't see everyone enlightened with a drive to fulfill their self-assigned purpose on Earth through doing work they truly love anytime in the foreseeable future. God, what would the big corporations do then?
Also available on iOS:
http://www.google.com/url?sa=t&rct=j&q=&esrc=s&#...

And on the web:
http://shouldiflytoday.com

Thanks for any feedback!
First off he heads such a disagreement by capping conversation lengths: humans can't have infinite length conversations.

Second of all: This is an assumption: "The human does not. The human can run any program and produce a different output". A less charitable interpretation will also say this is wrong since it violates the Halting Problem. Essentially, you are assuming the human is some kind of hypercomputer.
I'm so confused. You seem to be saying that

> 4 * (3+2)

should throw:

> TypeError: unsupported operand type(s) for *: 'int' and 'tuple'

???

I beg to differ.
Which doesn't happen.
How does he get hold of cash? He must at least have an ATM-compatible card. In what bank?
Interesting, I wasn't aware this was a pain-point. I may have some similar (Qt) work coming up soon and was wondering if you could elaborate with some examples, i.e. situations where you encounter the X11 APIs when working with Qt.
Obsidian Raises $900,000 For 'Project Eternity' In One Day On Kickstarter