skysight-inc/HackerNews huggingface dataset:
We've gotten very close to physical limits. Quick back-of-the-envelope estimate: if electrons traveled at the speed of light through silicon (they don't), then in 3GHz, an electron could travel .1 meters. In reality, electrons in silicon travel quite a bit slower than that. Net result: electrons can barely cross the diameter of the chip in one cycle, even without gate propagation delays and other factors limiting work done per cycle.

So, if you want data from a tiny distance away, such as a local register, you can grab it and do something simple with it in one cycle. If you need data from any further away, forget about it; cache takes longer, another core takes even longer, and memory takes far longer.
How do you know? What allows you to believe that?
Plenty of games run in the browser already, without 3D. There are also plenty of use cases for in-browser 3D that aren't game-related. See Google MapsGL or the Google Body Browser. It has huge potential for education in the sciences - I've seen a number of interesting medical teaching tools appearing.

One of the benefits of WebGL vs native application, is the ability to combine it with the entire set of document-based browser features that you're already familiar with. In fact, this is so useful that some native games these days are doing the opposite - embedding a browser kit into the game for the sake of the UI.
Cheapest way to run an iPhone in the US?
I've heard closer to 15% for the greater bay area.

Not in technology, it's not.
Andrew Tridgell recreated the "reverse engineering" you mentioned in front of a live audience at linux.conf.au not long afterward; see https://lwn.net/Articles/132938/ . Summary: he saw a port number in the standard bitkeeper URLs, tried telnetting to it, tried typing "help" which listed the available commands, and tried typing the "clone" command which spit SCCS files back at him. He walked through the process and literally had the audience shouting the appropriate commands at him the whole way through, demonstrating the obviousness of the process.
Personally I think there are better languages for beginners than PHP. I think Javascript, Perl, Python, and more are fundamentally better in this regard. There are some fundamental, lexical problems with PHP in this regard. I think by a "language intended for beginners" I think it is meant as "a language intended to allow HTML/SGML authors to cross over into programming."

PHP is in essence a fairly narrow tool, much like a chasing hammer (which really isn't that good for driving nails but is extremely important in some kinds of metal work). It is a preprocessor for SGML files (and this is why all programming logic is typically put in SGML PI tags). I call it a "templating system turned on its head" because whatever you do with PHP, every file is lexically part of the template even those which have no other SGML tags other than the PI tag which is indicating programming logic.

But what this means is it works very well in its own specific domain (namely preprocessing HTML, XML, and other SGML files), but degrades quite a bit as one gets out of this area. This limits code reuse basically to web apps (yes, I know you can write GTK apps in PHP, but really? why on earth would you want to?) and thus locks one into essentially one set of technologies. So there are drawbacks as well as advantages.
Why should there be less friction to go to a web page rather than install a game?

I think a more honest comparison (in theory) would be to compare a site used to serve music with spotify. For those that use spotify a link that opens up spotify is probably vastly superior to anything a site can do, that's not to say that the site itself doesn't have any value. But the act of playing music is something spotify better at - and that mainly is just because (if you use spotify) you have your music collection in one place. That's where you go to play music.

Playing a game locally doesn't have to be more than pressing an hyperlink. Steam is probably the, currently, best place for this but, I know, relying on something such as spotify, steam or flash sucks. But there is nothing to say that we can't have an open android/iOS-market-like place for doing this. Apple and Microsoft will push their own markets and I'm surprised that the notion of a third party market hasn't come any longer than steam. I guess people are just too greedy.

There really shouldn't be any reason for why running it in the browser should be any better than running it locally. Have sandboxing as an option (or requirement), similar to what apple does, and go nuts.

I miss the days when running low-level code in an all-purpose browser was something that was considered moronic.
I am so envious - if what you say is the case, how does he still manage to do it? I find it extremely hard to do routine tasks that I have done loads of times before. It is an extreme struggle for me to get enough motivation together.
Thirded.

The idea looks really good and I've long wanted such a thing. In fact, I'd use it today if I could sign in. But I'm not on Facebook and know that there's no point joining Facebook just to sign in since they "need" your social graph and mine would be empty. So, no point doing that.

I'll bookmark the site and drop it into my "visit monthly" folder. On the visit that it doesn't require Facebook I'll sign up.
> How many times do you have to re-learn file IO?

What are you defining as file IO? What do you mean by re-learn--do you mean forgetting and having to learn again, or learning some new fact that changes your total understanding of the thing? What has gotten me in the past is learning how some particular language does file IO[1], which might mean learning something new about file IO I didn't know before (but didn't matter for what I wanted to do at the time) that expanded my perception. Though I guess the concepts of "read", "write", "rewrite", and "append" are the same.

I really don't think you get any more universality in desktops than you do in the web world. You might get more in the web world if you restrict your universe to the web world, due to a limited selection of choices on the front-end. (And backend too if you go the traditional route of learning LAMP with PHP on a shared host provider.)

Related to the other comment on RAD systems, even NeXTSTEP in '89-'95 had the WYSIWYG concept applied to everything as one of its major selling points. http://www.youtube.com/watch?v=j02b8Fuz73A Around 23:00 Jobs starts to demo making a GUI application that talks to a backend DB and shows pictures, and you don't need to know SQL or joins or anything.

So I don't think the desktop world has been any better in regard to keeping abstractions at bay or offering universal modes of thought (hey fork()!). The first time I programmed something with tkinter I kept asking "Where's my user-defined main loop? Where's my event handler? Where's my render stage? WTF is this 'pack' method?" Because my prior UI experience on a desktop was with pygame, which defaults to having you control every pixel.

[1]Bash likes its pipes and IO redirection, C likes its file pointers, C++ likes its streams, Java likes those too but also likes Buffer Objects et al., PHP has a nice function to glob a whole file in as a string (but you can shoot yourself in the foot if you run out of memory), "Python is obvious", "Perl is magic". If I try and load "./file" what's the context of "." and how does my language let me get a known value for that that's relative to my program and that's platform independent? What about encrypted folders, different file systems, file encoding? Will the language/OS abstract that for me? Now I want to start doing things asynchronously. Now I want to start talking to web files, now I want to start sending cookies and stuff when I'm talking to web endpoints instead of files, maybe I want to do socket IO now, and this whole trip has taken me through several other realms which seem to me pretty far removed from simple file IO.
Yes you can. Have you seen Team Fortress 2 in WebGL?

http://www.youtube.com/watch?v=DQrC5YLKFUY

http://www.youtube.com/watch?v=Lmvj6-CFbbA

JS is not very pleasant to code with, so writing an actual game logic could be a bit painful, but so is development for PS3 and it's done somehow. It's not a question of performance, rather about workflow and structures provided by language.
But why do you need to write BF3? There are tons of games besides 3D shooters.
Could you write minecraft in WebGL? I bet.
I have been thinking about dividing Congress/Parliament into working groups focused on a specific topic instead of political parties focusing on a specific ideology for a while now.
"I'm going to sit back and wait for the cycle to come back around to XHTML-like correctness again."

Those who cannot remember the past are condemned to repeat it.
Yeah, with native apps you have to run a script that compiles it for all platforms.
> A real dev can pick up a new language and syntax in a week

No, that's complete bull. A real dev can pick up syntax in a week (or a day), but integrating concepts and techniques he's never seen so far and building up new instincts which correctly fit the new language, that does not happen in a week unless the guy is in the "genius" category.

What you really have after a week is a guy who writes $previous_language code in a new syntax. In the way "Real Programmers" can write Fortran in any language.
He bemoans the lack of debuggers and breakpoints, but there could be no such thing beyond the "Is this format valid?" stuff.

HTML is a hint as to the presentation, and every client that reads the hints will largely present it the same way. But some may not... older clients, newer clients, clients for accessibility (Jaws Reader).

Accept it, be at peace with your lack of absolute control and put only the markup you need to hint at the layout you need, and then use only the CSS you need to hint at the positions of things relative to each other, and sizes relative to each other.

Once you realise you don't know anything about the screens, resolution, connection speed... or even if there is a screen, it's a lot easier to use HTML quite elegantly.
Before I was familiar with lisp, I remember being shocked to see a suggestion in pypy's documentation that everything could just be compiled to lisp. I couldn't understand why anyone would do that.

I don't know why lisp failed to become mainstream, but I wish the GNU vision of using guile as a universal extension language had succeeded. How different using computers would be today! Instead of the superficial changes in GNOME 3 and KDE 4, GNU would have a unified desktop vision, where all programs are as extensible as Emacs. We would have personal computing environments that evolve to handle our workflow.

Instead, we keep confusing simplicity with lack of extensibility for regular users. We keep creating incomplete scripting environments from scratch. No one writes one off Firefox extensions or OpenOffice plugins the way they do Emacs macros... But it didn't have to be this way. It's 2011 and we should all be scripting our computers, but instead we are slaves to software and its needs. We are forced to repeat more and more repetitive tasks as our programs improve.

This comment was automatically written by M-x commentator
> This sentiment is true for many languages, as the difference between them is not conceptual, merely syntax and some details.

Even when the core conceptual difference is small and looks like "merely syntax and some details", different languages use different idioms, different standard tools and different methods, usually with reasons (stated or not) behind that. It's the idea behind PJE's (fairly old by now) "Python is not Java": going from Java to Python, the differences look superficial. You declare classes differently, names don't have types and methods are preceded by `def`.

Yet if you just translate your Java code into Python 1:1, you usually end up with an unmaintainable and slow morass, and although the core abstractions are the same Python and Java offer different toolsets to deal with actual problems.
"Alienware M17x" 17.3-inch Top Gaming Laptop
Getting started with WebIntents
Lazy require with filter logic for Node.js
But that is my point. SOPA is necessary if you want to defeat piracy (actually even SOPA isn't enough, since you can still lend a friend you physical drive, but I guess they would be ok with that), nothing less will do. Even the DMCA (which is still a horrible piece of crap) isn't nearly enough.

So the deal is: do you want to de facto (but not de jure) allow the unrestricted copying of copyrighted works, or do you want to effectively reduce the internet to a walled garden of a few big companies? No more startups, no more wikipedia, no more youtube, no more wordpress, no more twitter?

And it isn't just that -- no more youtube means no more police brutality videos, no more twitter means no more real-time updates from ordinary people, no more wordpress means that if you want to launch a movement or voice your concern you better pray that the MSM will pick it up.
HTC Sensation XE: Touchscreen Android Smartphone with Beats Audio
HTC Sensation XE is an recently launched android Smartphone in India. New HTC Sensation XE powered by 1.5GHz dual-core processor, Adreno 220 GPU, Qualcomm MSM 8260 Snapdragon and runs on Android 2.3 (Gingerbread) operating system. It is slightly different from each others with various features like HTC Rhyme and HTC Runnymede. It has a large 4.3-inch multi-touch display and sports 8 mega-pixel camera which gives full HD Video recording 1080p videos at 30 fps and Secondary Camera for 3G Calling. Tt is a DLNA certified smartphone comes with Social Apps, Facebook, Flickr, Twitter, YouTube, Google Talk and alos Proximity Sensor, Gyro Sensor, Ambient Light Sensor, Digital Compass. Connectivity features of this phone include Wireless LAN, GPRS/EDGE, Bluetooth, 3.5mm Audio Jack, Micro USB/HDMI connectivity etc. It is very sleek and slim phone with HTC Sense 3.0 user interface and powered by 1730mAh battery which provide a Talk Time up-to 7.4 hours(3G),9.2 hours(2G) and Standby Time up-to 22.5 days(3G),13 days(2G).
Wouldn't you get false positives every time you typed?
In order to get your visa, you have to show that you've purchased travel medical insurance for the duration of your trip. I got mine through Blue Cross.
SOPA / Protect IP legalises vigilantism
JJacobson - I am having issues with the affiliate program of Zappos for a visual search engine we are creating. I would like to ask you about this. My email is knandyal at stylewok dot com. thanks
I think Knuth here has hit the nail on the head (as usual). There are plenty of applications of parallelism but they don't affect everything.

I am going to add something to this. There are a lot of areas where existing performance on a single core is certainly good enough, and where optimizing for a single core provides the ideal combination of performance and maintainability. I have to think about some of the weird multi-row insert bugs I have run into on MySQL and think that they are thread concurrency problems, but with PostgreSQL (single threaded model) things just hum along well.

We are at a point hence where processors don't need to offer better performance at single tasks for the most part, and neither do software developers, and where those that do can be frequently split off into some sort of component model either with separate threads or separate processes.

At the same time when we look at server software, we are usually talking about parallel jobs, and so those of us who do technical work on server software in fact do see performance increases. I mean if I am running a browser on my box which connects to a web server on my box which uses an async API to hit the database server also on my box, these multiple cores come in very handy.

This being said, I do wonder if a better use of additional capacity at some point would be in increasing cache sizes and memory throughput rather than adding more cores.
Thanks for the tip :) ... will make an update.
Just out of curiosity, what's the usage? Saying (a|an) HTML sounds weird to me, like saying "a plumbing". Isn't it just plumbing/HTML?
I've been running KDE desktops on Gentoo for years and always find it to be solid.
But the thing is that we won't lose what culture we already have.

Books aren't scarce anymore. You could not, in several life times, read all the books on project Gutenberg. Yet not a single one of those is protected by copyright today.
The Memcached Presentation
It;s funny. I get asked what language requirements people should have about hiring LedgerSMB developers. And I say this:

1) If you can, find someone with good, demonstrable SQL and PL/PGSQL experience.

2) If you can't find that, get someone who is competent in developing on Oracle.

"What?" comes the reply, "Don't they need to know Perl?"

I tell them that the use of Perl we have is getting more minimalistic and simpler, and that we are trying to make it so any competent developer can pick it up quickly.

The same would go if I was writing something similar in PHP. The issue is what sorts of fundamentally different technologies you can address, and the extent to which you feel comfortable working in both declarative, set-oriented worlds and object oriented approaches. The syntax on top of that is really less of an issue.
Thanks for making that clear. But making the user click on something is not really difficult. Don't get me wrong, I really love the possibilities this gives to web developers, I just wanted to point out that this will open yet another way to do harmful things, especially to novice users.
You've also got to make a distinction between necessary and accidental complexity. That example would be better written as:

body {
width: 800px;
margin: auto;
}

(This also has the benefit that the left hand side of the body does not disappear off the side of the screen in small browser windows.)

There's a similar problem with the css in the article he links to - it is more complicated than it needs to be, which just confuses the subject. Anything is hard to learn if it is taught badly.
Why would it be bad to turn into CPAN?

Is there a language packaging/install system with better infrastructure and range of code libraries? (Or is that bad, for some reason?)

Edit: It seems the semver module don't have much of functionality for running tests, keeping DBs of existing/previous libearies, sending feedback to module authors of install problems or show statistics about what O/S versions had problems? (And so on.) So it isn't really like the CPAN infrastructure at all...
What magic script lets you natively compile OpenGL code for Mac, Linux, Windows & portable platforms without having to write any platform specific code?
See SmackBook Pro from 2006 http://blog.medallia.com/2006/05/smacbook_pro.html
I think the biggest statement in the article is The bottom line? Commonly used studies have listed dollars-per-watt of electricity as high as $7.61. According to Dr. Pearce, the real cost in 2011 is under $1 per watt.

That used to be the figure at which it would become feasible to convert to mass generation through solar... Maybe the timing is off, it came quicker than a lot of people expected, or else there are other factors still to be solved (availability?)

Should be an interesting space to watch over the next 2-5 years, now that we've reached the $1/watt mark...
Shouldn't that be (cond &body rest)?
I think the fundamental problem is that Rails is based on active hostility towards database engineering. It's the same thing that MySQL did early on. It works very well in some cases but has a serious cost attached that few people want to talk about, namely the fact that things suddenly become problematic when you want to use the RDBMS to effectively share data between diverse applications. The thing is that once you make this tradeoff, I wonder whether it is really that helpful to stick with an RDBMS at all, or whether NoSQL is a better option.
Gadget New: Possible Spec Of New Gadget Galaxy S3
I think installing a game feels like a commitment. If all I need to do is open up the browser and the game will start playing I can just check it out without making that commitment, it will get me to try it if I'm undecided, if I don't like it I can just close the window and be done with it.

You mention Spotify, I think Pandora is a great example of overcoming that feeling of commitment. If I go to the Pandora website I can listen to music right away by just typing in an artist. If I go to spotify I need to download some client and who knows how hard it will be to get rid of. If I complete the downloading step then I need to sign up for the service (I know they changed it to facebook login recently so I don't know if it's the same) just to start listening. I don't even know if I will like the service at this point because I haven't even got to try it yet. I think I would describe this as friction.
I have to think about some of the weird multi-row insert bugs I have run into on MySQL and think that they are thread concurrency problems, but with PostgreSQL (single threaded model) things just hum along well.

Surely that shows that there is an issue with multi-threaded programming being prone to bugs rather than parallelism in general? It seems to me like many of the people advocating parallelism as the future of software believe we have to invent better ways to manage that parallelism as well, current methods (particularly threading) being deficient. For example, see Guy Steele's work on Fortress. [1]

[1] http://www.infoq.com/presentations/Thinking-Parallel-Program...
Nice try, but to become famous with statements like that you should be head of some large company like IBM or Microsoft.
Get real. I'm going to sound harsh, but if you're choosing to spend time angsting about this, you're probably better working for someone else than yourself. You aren't making good decisions on how to spend your time, which means you will be badly handicapped in any venture that you control.

If you want to prove me wrong, get hungry. Put all your money less enough to pay rent, expenses and ramen for six months into a long term savings account that you can't touch for a year. So in six months, you are going to be starving, out on the street, and your smartphone will be repossessed... unless you perform.

Whoa... OK, lets analyse all these amazing ideas. Ask female friends which ones have legs, work out which one is most likely to start earning you enough money to keep you off the street in six months. Forget trying to raise venture capital - if you can't show revenue they won't be interested, if you can show revenue you don't need them anyway.

Then get to it. By now you only have 5.5 months left to build this darn thing, 5.5 months before you starve. Design, code, network all hours of the day and night. Phone every new customer and ask them what they like and don't like about the product. Every thing you do, you ask "is this helping me build revenue?" before you spend a second doing it. Lying in bed before you go to sleep, you're figuring out how to do some A/B testing to improve signup rates, not worrying about whether you're too old to produce amazing art.

Then six months is up. You have enough revenue coming in to pay for the next month's rent, expenses and ramen - congratulations. Or you've learned that even with your best idea and effort, you couldn't make ends meet. You get regular job, and make a difference to the world that way.

Good luck to you, and if anything I've said helps at all, let me know how you go.
it has a note - This post was written in early 2008 and looking back on it, there are a couple of tricks that I wouldn't recommend anymore - or to which extra warnings need to be added. I've added paragraphs like this where necessary. Enjoy! :-)