skysight-inc/HackerNews huggingface dataset:
I actually like both this and the "1000 fold performance improvement" articles. There is a problem, and then there is a solution, which works, and is faster in a spectacular way.

However, both articles mention that a C++/STL solution would bring in a vtable runtime penalty. This is just not true - quite the opposite: using C functions a la qsort(3) require you to explicitely pass in a pointer to the comparison function. Now: this is the vtable approach, but in plain sight. A C++ version would quite likely not call any functions via pointers.

I prepared a small test which shows that in simple cases C++ can actually be faster than C by a factor of up to 3: http://radiospiel.org/sorting-in-c-3-times-faster-than-c
Export Email From Google Mail to Outlook
So, how does the fact that any person or company can host their own packages or even full repositories that can be added with a single click¹ and are not dependent on hierarchical organizations fit in that?

GNU/Linux distros, at least APT based ones, are perfectly distributed if the person wants to.

¹ If you have apt-url installed, which Ubuntu has by default
Sorting in C++: 3 times faster than C
You don't want any accounts, you don't have any accounts. Why are you even commenting on the article? The problem has nothing to do with you. What next, tell us how you haven no tv?
The reason I stopped recommending Linux to "normal users" is _because_ of the concept of distributions.

Coupling the updates of single apps with the updates of the whole desktop or framework and libs, is just plain wrong. Having to upgrade the whole distro (including all the other installed apps you dont want to upgrade) just to install a new version of one single app you _want_ to update is a nightmare. Total bullshit. Users. Dont. Want. That. Users dont want one update to trigger another update, or even to trigger the upgrade of the whole desktop.

The blog post by ESR is one prominent example: http://esr.ibiblio.org/?p=3822

He basically wanted to upgrade just one (obscure) app, and the process triggered the automatic removal of Gnome2 and installation of Unity. Just _IMAGINE_ how nightmarish this must look for normal users. You simply dont remove somebodys installed desktop sneakily from under their feet. You simply dont. That feels like the total loss of control over your computer.

I personally had, during the last 10 years, people go from Linux (which I talked them into trying) back to windows, _precisely_ of this reason, of having to upgrade the whole distribution every few months just to be able to get new app versions. They dont have to put up with this insane bullshit on Windows, why should they put up with it on Linux?

This "distribution" bullshit is not what is killing desktop Linux, it is what _already_ killed desktop Linux.

The other reasons why desktop Linux never made it (no games, no preinstallations on hardware) are imho just consequences of the distribution concept and the 6-month planned-obsolescence cycle. Nobody wants to bother with something which will be obsolete half a year down the road. Nobody wants to develop for a target that moves _that_ fast.

Windows installations, once installed or preinstalled, run for a decade. Develop something, and it will run on a 10 yr old Windows your grandparents use. Most people encounter new Windows installations only when they buy a new computer. PC manufacturers know that customers will hate it when their new computer OS is obsolete within half a year and that they wont be able to install new apps, so they dont preinstall Linux, it's as simple as that.

If anybody _ever_ really wants to see Linux succeed on the desktop (before the desktop concept itself is gone), he will have to give up on the distribution concept first.
nonsense.

1989 people in several parts of central Europe rose up for freedom--courageously

there was no need to rise up in central Europe: the regime collapsed by itself, primarily for financial reasons. The countries were surveyed by the West years before, and given IMF loans. The rest in 89 was literally a show, albeit not in theatres but on screens. the regimes just morphed, like now in China.
Btw., I can't stop thinking about your comment regarding iTunes, "stopped being vaguely usable around 10.4". I don't mean to pick an argument, but I really wonder what you mean by that. As far as playing music it is just as good (meaning perfectly fine) now as it was back in 10.3 when I began using OS X.

iTunes sure has grown since, and does a lot more than playing music today, but it still plays music painlessly, just as it did 7 years ago.

And then there's always Vox: http://voxapp.didgeroo.com/
We switched from tracker to Planbox about 6 months ago and have been thrilled. Same general model as tracker with better execution. It's a young product so there are still some issues but it's clearly heading in the right direction. They also have an import from tracker so it's painless to try out.
Nice; animated transitions are great for maintaining continuity when data is changing. Handling changes in the y-scale can be another source of distraction, so it's nice if you're able to fix the domain (as [0,1] in your example).

In January, I wrote a tutorial on how to implement this sort of real-time graph in D3.js, using transform transitions. (Don't get distracted by the top example; it's intentionally wonky.)

http://bost.ocks.org/mike/path/
Zombie followers and fake re-tweets
How to install LibreOffice (3.4.5 and 3.5.0) on Linux (Fedora, RHEL, CentOS)
How to square numbers closer to 50 in just 3 seconds
What you think is easy is actually not easy. Any time you've added one, two, three more steps to a problem after clicking the link in the browser you've already lost. Adding repositories? Already too late. Touching the command line? Sorry, as much as we love it, for most users it's already too late. Going into Aptitude or Synaptic and pasting in the repository URL? Yep. Too late.

This is all compounded by the fact that there is no app bundle. Mac OS X has the bundle and a terrific way to install it: Drag and drop it into the Applications folder, just like we did in the days of the Mac Classic and MacPaint. It hasn't changed. (Well, it did for a while, but thankfully they went back.)

If you say, "Well, that means you end up installing 5 different versions of the same library on the same system" - Who cares? Disk space isn't a priority any more, and from a developer standpoint it makes a lot more sense to target a dependency whose version number I know, instead of a dependency whose version only the package maintainers know for sure. I don't want to be forced to target v1.3 of a library if it's only been tested (by me) on v1.2. It makes for much better application stability for the developer to be in control of dependencies and not these package maintainers.

I want to ship a self-contained bundle of awesomeness, not a dysfunctional shard among ten thousand other shards.
I agree that having to make and sudo install is essentially impossible for a common PC user, but how does the sandboxing have any impact in user adoption?
Another reason is commitment to binary compatibility of a set of components over a time scale of 10 years or more. Linux has historically been relatively unstable, with an ideological focus on source rather than binary compatibility; and fragmented into different distros, which may have different ideas about which versions, configurations etc. of components are pieced together.

That's a perfectly understandable focus - even laudable, if you take the GNU line - but it makes it hard to release reliable, tested binary software. The landscape has too many variables.

I think this is a significantly bigger problem than install base. And I think it would be addressed with an appropriate focus on exactly the problem Ingo is pointing out: the lack of a defined, high quality core that can be relied upon.
Good point. But most of these apps are written, because they can make money for the author. There just isn't a large enough user base in Desktop Linux to make that money, and hence much less people willing to invest the time to write apps. And the much smaller userbase is split up between Gnome and KDE and now Unity and Xfce and so on. So there is even less incentive to write apps.
Leh Ladakh Tourism
Leh Ladakh Tourism
For me, the money quote in the article was "It's a change for Apple, which was once criticized for its micromanaging of the App Store. Now the problem is not too much control, but too little."
0 A.D. is on Pledgie (and cannot be on Kickstarter)
> The main reason why OSX/iOS, Android, and Windows attract more commercial developers is because those platforms have a much greater installed base!

A few years ago, Linux had a bigger installed base than both iOS and Android. Both of them outran linux with ease.
You gain the trust of users to the platform. If I don't want to give out my data I should be able to do just that and this argument is really huge from user perspective. Apple says if you are using GPS coordinates please tell and show the user that you do so.

There are a lot of people who don't know anything about IT and Software like my sister. She just doesn't care about such stuff. So she doesn't know who is using GPS and who is not. Hell, she even doesn't know what GPS signals really are. And she only wants to know: a) are you using my data, ask me first so I can say I want it or I don't want it _and_ b) if you are using my data, show and visualize that you are using it cause otherwise it might be that I don't know it.

I'm certain that this rules can help gain quality and help people to get an understanding for the device and what is going on _without_ having IT background.
It'd be a lot more popular if it was as easy as the Android apk export wizard.

My 2c: Improve the tools and the developers will follow.
While you're entirely correct that results can differ between browers, many of the links are to jsperf, which compensates for test-run variance and shows a comparative graph of all results; some of those graphs demonstrate the opposite of what the linking slides say.

For an example, they link to http://jsperf.com/undefined-void0-perf to show that using void 0 instead of undefined is not a performance win. The data shows there's no browser in which void 0 is slower than undefined and several browsers in which is it faster, by as much as 50-60%.
Is this guy serious or joking?

"Have you ever used the STL? I did for about 6 months professionally, and I'm glad that I could go back to C and Python. More seriously, object orientation in C++ doesn't come for free. Aside from the pain of the syntax of using C++ templates (and difficult to parse error messages), all of that object orientation hides the complexity of method dispatch in what are known as vtables."

Seriously?

1. Python is faster than C++?

2. All OO features (method invocations) in C++ use the vtable?

IMHO, just using the right iterator abstraction and using the STL algorithms should be within performance limits.
Maybe the experience is different on other systems, but on Fedora with KDE there already is no friction to installing random stuff. If I want to install, say, Google Chrome, which is not in the normal repositories, all I have to do is download the package and open it. A nice GUI program then takes care of the rest for me automatically; the main differences from installing a program on Windows is that it then updates automatically and I have to enter my password.

So really, there is less friction than on OS X--I don't have to drag anything anywhere! In fact, on Firefox, I just download the package and it figures out to open it with the right program automatically. And then it just works.

Of course, if a program is in the repositories it's even easier, but that's a different story...
NHL Discount Coupons
Is it just a trick to get immunity (italian here, I know something about that)? Or is it substantial? I guess only time will tell. But knowing the man, I'd trust him. And anyway, the surprise-sex thing was a joke since the beginning. Immunity would just be justice.
Maybe Android will conquer the desktop then?

All it needs is mouse and keyboard support in the interface and higher-resolution apps, which will come for tablets anyway.
Some outside forces are arbitrary, capricious, and driven significantly by greed (as demonstrated in this article). Others are not.
You can statically link binaries and distribute those, which companies do when there's enough of a market to bother. That's how Matlab is distributed, for example. I think the bigger problem is that there usually isn't enough of a market; AutoCAD was discontinued on Unix because too many shops were retiring their Unix workstations in favor of Windows desktops, not because Unix software distribution was too hard.
This is all compounded by the fact that there is no app bundle.

A "collection" type for installing multiple packages transparently would be nice, but I have to point out that nothing prevents you from doing the exact same thing that you do on Mac OS X, which is to distribute the .so libraries in the same package as the application, or even compile it statically.
State is the big evil in software. Minimize shared state, and many, many problems go away.

Centralized package management with a web of specific versioned dependencies is a huge hairball of state as it is. And when installed applications poke around inside your system, it only takes one or two oversights here and there to mess up this state.

Sandboxing, where feasible, minimizes shared state; usually at the cost of other things, but with modern software and modern resource constraints, our ability to deal with complexity is usually the tightest constraint. Sandboxing reduces the probability that things will break horribly (e.g. installing one app, and finding you need to install a new version of a library, which in turn means you need to reinstall 100+ more apps, which may bring in a new desktop or some other abomination).
The solution for this is quite simple: split the distro to a core, and a separate 'apps' repository, and let app authors control (but with a mandatory QA step) when their software gets released or updated. We did this with Maemo (and later MeeGo), and it has worked great:
http://bergie.iki.fi/blog/application_quality_assurance_in_l...

Cross-distro app repositories are also a possibility, thanks to the Open Build Service (http://openbuildservice.org). And since MeeGo's community apps service is open source (https://github.com/nemein/com_meego_packages), all software needed for this (including an app store client app) already exists.

What is needed is a major distribution to make the first move on this.
That's what I want and I don't really understand why I would want to give access to ADB or whatever.. I've used linux just enough to have a feel for what sudo is, but don't have a feel for how Android works.

I put CM7 on a Nook Color before but just got my first smartphone 2 days ago. I never updated the CM on my Nook because it seemed like a pain but plan to try to do more on the phone since I will be using it more.
Yeah, but they're in a brand new market on brand new devices. People who already have a proprietary PC OS aren't going to switch to Linux out of the blue, but they are going to buy a shiny smart phone.

So the two situations are really not comparable. I still think the main difference is that you have to install Linux yourself. It's not even that installing is difficult--it isn't!--it's that normal people don't even realize it's an option. Your average random laptop buyer who just spent $600 on a laptop from Staples would be able to use Linux perfectly well if that's what his laptop came with--I suspect some wouldn't even realize it wasn't just a different version of Windows. But since his laptop invariably came with Windows, that's what he's going to use, not for any reason but inertia.
The Trouble with Politics: Tony Judt
But what is the alternative to a non-distributions based gnu linux operating system?

How do you manage the 1000 packages and their libraries and dependencies? Many of them have separate runtimes which may or may not depend on the other packages runtime. How would you design an application sandbox to cover them all?

What you're saying basically is that linux is failed. At least for me, since I cant see another way to distribute and manage the massive amount of packages that sit on gnu.org.

I agree with you, and It is my opinion that the one who solves these problem is in for a lot of business-opportunities.
A program that works in KDE will work in Gnome and Unity and Xfce, so that divide is not strictly relevant. In KDE, at the very least, even GTk programs look very good. And, moreover, those programs would also work on Windows and OS X.
I'm seriously considering getting one of those high DPI MacBook Airs now.
That has nothing to do with sandboxing: it's a matter of distributing the libraries with the package itself, either as .so files or as a big statically compiled binary, and using those instead. Nothing forces the developer to use the distro provided libraries.

And frankly, I think this is one of the things where you can't please everyone; personally, I rather have dependencies and know that a security fix in a library will fix all applications that use it than having to hope each developer releases an updated version, like on Windows.
But it doesn't own Foxconn. There's just as much reason for them to meddle in Foxconn's business as there is to meddle in any other point of the supply chain which they don't control (eg. the mining of the metals used in their products, the transportation of all raw materials, etc.).
You would still need to maintain and manage the core distro. The packages in their would update and break the systme, you'd have lvm issues and what not.

Any way, care to give links to more on maeom/meegos architecture?
The demo (just above the comments) in the jQuery docs is helpful.

http://api.jquery.com/mouseenter/
Slightly OT: I'd be really interested to hear a list of specific advantages to using R over using scipy. I have been holding off on learning R for years because scipy has served my purposes pretty well so far, but sometimes I wonder what I'm missing.
Sure you can statically link binaries, so long as you have a license for all those libraries, or if you write your own UI etc. from the ground up not much removed from the X protocol. And when UI refreshes come around, your UI will look frozen in time in a way that UIs using standard controls don't in Windows.

And how about those libraries that control shared resources? For example, sound output. It's been many years since I bothered to try and use Linux as a desktop OS, but I recall wholesale choices of sound subsystems, with options for one subsystem to emulate another, etc. How well would that mess work with static linking? And these are only the most basic of shared resources; not thinking about file/app association, icon display in file managers, and other really really basic OS services that have seen repeated whole reinvention in Linux.

IME Linux is unusable beyond the command-line, preferably via ssh.
Some of the bloat could be dealt with by the file system. If you download a library you already have, then simply discard it - and make do with a reference.

What I'd like to see, is the possibility of having multiple versions of software and libraries residing on the OS with ease.

I think these problems are surmountable.
Even more proprietary software that doesn't make it to Linux is written by people who don't seem to care about the end-user experience. I've spent enough time battling horrible programs on both OS X and various versions of Windows to know that this isn't unique to open source software.

Of course, on the proprietary platforms, the core programs--browsers, office, media...etc are all good. But that is true of Linux programs as well. And open source projects--even ones that are not terribly responsive--are still more responsive than most proprietary programs.
I love the complaint about data. Oh, the app is trying to conserve battery, but the explanation isn't explicit enough so we'll count that as a flaw.
I do this at http://pagekite.net - I build both RPMs and DEBs and host my own repos. This works fine for the most part and is relatively easy for technical users to take advantage of. It was a bit of work to get it working (and my packages arguably aren't good enough yet), but it's doable, even for a small shop like ours.

The problem is, this is horribly, horribly insecure.

If you add my repo to your sources.list, I can offer a "security update" to any app on your system, a binary which does anything I want.

Obviously, it would be signed by me and could be traced back to me, and I would never do that ... but it would still be a really bad idea to go around adding repos to keep up with the latest GNOME FartButton Free. Add 1000 repos, and the odds of a successful hack or a stupid packaging mistake breaking your system go up by at least that much.
The simple answer is: the larger the eye, the more "pixels" (cells of the retina which respond to light energy). So larger eye == higher resolution.

The current theory regarding "why is all that resolution necessary?" is: there are tiny creatures swimming alongside the squid, which respond to a sperm whale's sonar by emitting a tiny amount of light. When the squid sees this light, it knows that a whale attack is imminent, and runs. (Well, jets.)

If the eyes were smaller then there wouldn't be enough resolution to make out the tiny dots of light emitted by those tiny creatures.

Another way of thinking about it is: the eye needed to evolve larger in proportion to how tiny the creature is. If the creatures were twice as big, then the eye would've evolved half as large as it currently is. (If the theory is true.)

Mathematically, there need to be enough retina cells such that "1 tiny creature at distance D can be detected per degree of viewing angle". E.g. if the squid has a 130deg field of view, and it needs to be able to see the creature light up within 1 foot of its eye, then it needs enough retina cells in order to scan the entire conic volume of the space between the eye point and "1 foot in front of the eye point". By the Nyquist frequency, that suggests there need to be at least two retina cells per "tiny creature body length projected from a distance of 1 foot". (The farther it is from the eye, the smaller its projection; and thus correspondingly more retina cells are required, which requires a physically larger eyeball. Note that as the eye gets larger, the field of view remains the same.)

To clarify: the squid isn't looking at the whale at all. Rather, the squid is looking at tiny sea creatures very close to its face that light up when hit by a whale's sonar. Thus they act as an early warning system for the squid.
I've been happily using the stable branch of Debian for about 4 years now. Whilst I agree bureaucracy and politics should be avoided where possible, it seems to me that handing everything off to a 3rd party to focus on the "core packages" harms overall system performance.

Time and again I hear people in the lab complain about all these bugs in their applications, running Debian I can honestly say I don't have this problem. Ofcourse, I don't have the latest software either, but for me that's the price I pay for a stable system.
Voting System Service
Satellite Visual Communication, Dubai, UAE is a leading presentation company with a focus on next-generation digital media services & solutions offering Professional Powerpoint Presentation Creation to Electronic Voting using Audience Response Systems.
App stores can suck too, think Blackberry. You don't have to resort to the command line to install packages. Synaptic just needs a little freshen up that's all. I far prefer it to Ubuntu's software centre. A load of crap icons and screenshots just feel like clutter, and don't tell me anything.