Follow Slashdot blog updates by subscribing to our blog RSS feed


Forgot your password?

Journal Journal: Canonical's Ticking Time Clock 11

From the "Anyone want to start up a dead pool?" department.

Canonical's Ticking Time Clock
Given Canonical's history of abandoned users and product announcements that come up short in execution, Shuttleworth's most recent goal of 200 million users by 2015 doesn't compute. There's simply no path from "declining OS vendor" to "competing on an equal footing with Microsoft, Apple and Google." It's the sort of rhetoric a CEO would say to rally the troops, but it's become obvious that it's already too late. [more]


Journal Journal: When bleeding eyeballs is a "Good THING" (TM) 14

I guess you learn something new every day ... today I learned that apparently, as long as it doesn't get out of hand, my retina bleeding once in a while is a good thing - it means that the torsional stress is causing "gunk" (the scientificky term) to detach from the retina, so of course some blood vessels will also bleed, but as long as they eventually stop, it's a good thing ...

... the alternative being that they open the eyeball up and scrape it off. I told him that wasn't an option, and he said that if it ever gets to that point, I might want to reconsider, but that it probably won't. The good eye - 94% chance that it won't, the bad eye, obviously less, but still probably better than 50-50, "depending."

94% - I like those odds. 50/50, not so much. In the meantime, using the computer for half an hour in the morning still leaves me feeling like I've got dirt stuck under the eyelid for the rest of the day. Oh well - it's an excuse to get off it.


Journal Journal: Quality of life 9

With my eyesight continuing to be a problem, it's become obvious that I can no longer even code my own little side project - it just takes too long to "get in the zone", too long (a week or more) between attempts, etc.

That kind of sucks.

Making it worse, unfortunately, is that until I'm "legally blind", supposedly I can work. At what? Nobody's going to hire someone who, from one day to the next, is unable to say that they can or can't use a computer for extended periods of time, and needs 20 to 40 days off a year for doctors appointments and stuff.

Sure, I've been through a lot worse, and survived ... but as the saying goes, that was then, this is now.

Back when I was recovering from the flesh-eating bug that almost killed me and the shrink stopped by and said it must be hard copig, I told him it was no big deal because I'd already been through a lot worse growing up, for a lot longer, and I would get through this too ...

This time feels different. It feels ... I guess the best word is "pointless."

I really wish spring would hurry up and get here! Where's global warming when you need it? Wasted on the polar bears!


Journal Journal: No, Canonical did not put Ubuntu into a smartphone 14

The Motorola Lapdock accessories run their own linux-based OS. All Canonical did was swap that out for Ubuntu. In other words, you can't run Android apps while docked - all you can do is share files on the phone, the same as before ...

Kind of ironic that they can only run the Ubuntu touch interface on the non-touch portion of the combo, hmmm?

One more nail in Canonicals' coffin, as OEMs won't touch this with a 10-foot pole because if they ever design a dock for their own phones (which they won't - the whole smartphone+dock+larger display was obsoleted by tablets), they'll just run Android on the secondary display anyway.


Journal Journal: When I tried to switch people to Ubuntu ... 2

It seems like an eternity ago, but back when Canonical was sending out batches of promo CDs, I figured that maybe something as silly as a properly printed cardboard CD package and a professionally silk-screened CD might make a difference to the masses, because, people being people, they do tend to judge a book by its cover.

So I handed out my share.

While many people popped the CD into the tray and gave it a spin, ultimately only three people made the switch from Windows. One switched to a mac, the other two to opensuse (and those other two are now also looking for a new distro because opensuse has become too flaky for them lately).

Simply put, most people would rather pay an extra $50 or so every few years for a computer with something they're familiar with that is mostly backward-compatible. Or they need a specific program that only runs under Windows. Or they are willing to pay the Apple premium to have a computer that runs twice as long as the average consumer box.

Nothing is going to change that. Canonical will never reach its goal of fixing Bug#1 - Microsoft has a majority market share.

Similarly, Shuttleworths other goal of Ubuntu having 200 million users by 2015 is dead. XP will have a larger market share for years after it's EOLed in 2 years.

Given the continued lack of profitability, dwindling market share, and new products that are obsolete before they make a single sale (UbuntuTV, Ubuntu Webbook), the only question I have is how long before Ubuntu is "Kubuntu'd"?

Oh well, Ubuntu's loss is Mint's gain.

Open Source

Journal Journal: Is the GPL running out of steam? 3

The number of projects released under permissive licenses (Apache, MIT, BSD) continues to ries, and the popularity of the GPL continues to drop.

Whatâ(TM)s clear is that over the last few years, many of the highest profile open source projects have chosen the Apache license, including âoecloud computingâ platforms such as Hadoop, OpenStack, Cassandra, and CloudFoundry. Node.js, another of-the-moment cloud platform, uses the MIT License. And even the big-name mobile platforms have joined the crowd. Googleâ(TM)s Android mobile OS used the Apache license, and just this week, HP announced its schedule for open sourcing Palmâ(TM)s webOS platform under the Apache. (license)

People are finally figuring out what the folks behind the *BSDs always knew - that code contributions will still make it back, because there's value in not having to support a custom fork all by yourself. Not to mention that it's also better when you get people to give back because they want to, and not because they have to.


Journal Journal: Reversing the tables on Canadian CyberSnoop 6

Remember that clown who said that anyone opposed to Canada's proposed new law is siding with pornogrphers, and that people who have nothing to hide shouldn't worry?

Well, looks like someone is going through the affidavits from his messy divorce, and tweeting the details of this "family values" Member of Parliament.

The guy had an affair with his wife's sister's nanny, then another one with the babysitter, got her pregnant, divorced his wife and stopped paying support (they have 2 kids) ... but hey, he has nothing to hide so he shouldn't be embarrassed, right? After all, he's a fine, Christian Fundie.!/vikileaks30

Would you trust this guy with warrantless searches?


Journal Journal: Unfriend someone, get a bullet to the head. 2
[cue the "duelling banjos" music from Deliverance]

36-year-old Billy Payne Jr. and his girlfriend, 23-year-old Billie Jean Hayworth, recently unfriended 30-year-old Jenelle Potter on Facebook. Jenelle was upset, but not as much as her 60-year-old father, Marvin "Buddy" Potter (pictured right). He was so angry when he learned about the unfriending that he and 38-year-old Jamie Lynn Curd (pictured left), who reportedly had romantic feelings for Jenelle, went out and murdered Payne and Hayworth last week. The couple is survived by an eight-month-old baby boy, who was found unharmed, in Hayworth's arms.

This is nuts!

GNU is Not Unix

Journal Journal: I see the natives are restless again ...

More noise about how "evil" it is to replace busybox with MIT/BSD-licensed code.

The fact is that what the SFC was doing - requiring the source for ALL software, not must modified busybox - was illegal (thanks to Barnes and Noble vs Microsoft for reminding us that you cannot do this sort of "tying").

Besides, we now have so many ways to work around the GPL legally that it's becoming moot. For example - load the original into memory, patch the memory image, then run. Copyright law (on which the GPL depends) only applies to works in a fixed medium - in-memory images don't count - so you don't have to distribute either the code for doing the in-memory patches. or the code for doing the patching. Any part of the license that says you cannot modify the in-memory image is void, as it goes beyond the rights granted to the copyright holder by copyright law.

In other words, the GPL is "defective by design".

Happy Valentine's Day [tt]


Journal Journal: Drug warning labels I'd like to see ...

olmesartan medoxomil (Olmetec, BeniCar). Warning: This drug may turn you into a zombie, cause you to sleep 2/3 of your life away (but you won't do anything because after it really kicks in it may also cause short-term memory loss and lowered affect), mood changes, depression, blurred vision, sensitivity to bright light, neck pain, cold in the extremities, etc.

Most people don't know that the government wants consumers to report adverse drug reactions.

US: Start here
Canada: Start here


Journal Journal: Ubuntu Dead Pool Update 5

"How do you make a million-dollar linux company? Start with $20 million."

Let's see how it's going so far this year.

So far this year, Canonical has stated that it was out of the smartphone biz 2 years after saying that it would have product on shelves (as well as Ubuntu tablets) within a year. On January 8th I predicted that Canonical's latest offering, which was rumoured to be UbuntuTV, would be more of the same - a total bust.

Sure enough, at the same CES show where UbuntuTV was trolled, Lenovo introduced a much better product - a tv that has Android (the latest ICS), a remote with multi-touch and motion sensors, a second game remote, video cam for facial recognition, mic for voice and speech recognition - all stuff that UbuntuTV lacks, and, unlike UbuntuTV, in production.

This week, Canonical dropped support for Kbuntu. Not all that earth-shattering, really - it was only one guy being paid to work on it, but the "we're concentrating our resources on other projects" has more of an air of "we're circling the wagons" retrenchment than anything else. Having dropped regular Gnome users and KDE users, what's left except the badly-misnamed Unity?

Next up on the death watch - Canonical's Ubuntu Cloud and Ubuntu 1. Neither service made much impact (or much sense), and with Google getting ready to extend its' current cloud offerings to include "do-what-you-want" storage, well, companies with much larger user bases than Ubuntu, such as dropbox, are also worried.

What does it really mean?

We've seen this sort of "we're going to focus on our core product" talk (in this case, disUnity) from businesses that are failing, same as businesses abandoning failed products "to the community". As a venture capitalist, Shuttleworth is probably irked that he's wasted 7 years on a project that will never make a profit, is in decline, with a history of failed and dropped projects, and no exit strategy. The latest moves are telling - and the story they tell is that the clock is ticking, and he's probably got a deadline after which he'll pull the plug if there's no change.

And to give a distro in decline an evaluation of $1 million is probably overly-generous. It's probably more like negative $1 million, because of commitments to leases, on-going losses, termination fees, etc.

Ubuntu's goal was to fix "Bug #1 - Windows dominance in the marketplace." Ubuntu won't even outlive XP at this rate. Since Canonical's financial year is April-to-March, my guess is that the rest of Ubuntu will be thrown to the wolves (oops - "donated to the community") right before XP goes end-of-life on April 8th, 2014.

Operating Systems

Journal Journal: The Rule of Most Specific 9

Treat your users like children, and they'll keep acting like children

I forgot that most distros now install the cpu hog known as tracker by default, so sure enough, it started indexing my files while I was doing other stuff. Of course, I killed it, then removed it, but still, this got me to thinking ... why do we need desktop search?

The answer, of course, is that we don't take two minutes to teach someone the easiest rule for organizing stuff, whether it's files on your computer or anything else.

The Rule of Most Specific

People tend to go with the defaults. So, when creating a project called Foo, they will stick their code in Projects/Foo folder, but the documents for that project end up in a Documents/Foo folder, their backups in a Backups/Foo or Archives/Foo folder, their graphics resources in a Pictures/Foo folder, etc.

The Rule of Most Specific says that instead, since all these things are related to a specific project, they should ALL go in Projects/Foo. So, documents related to Foo go in /Projects/Foo/Doc, backups in Projects/Foo/Bak, graphics in Projects/Foo/Img, and any files being served locally from the users public_html directory should be in Projects/Foo/public_html, with a symlink to /home/$USR/public_html/Foo

Of course, since designers think users are total idiots who are incapable of learning a few simple rules, they think it's much better to index everything ("let the computer do it for the user") and then force the user to wade through a bunch of search results to find the one thing they're looking for.

The end result is that people aren't given an incentive to organize things a bit, and as a result, their backups are incomplete ("gee, who would have thought that people don't want to go through a dozen different directories all over the place to assemble a backup for a specific project"), and they waste time looking for stuff because their drives are a mess.

In other words, it's the same as in real life when you were a kid - you learned the hard way that it was quicker to put things where they belong the first time than to find them after entropy takes over and you can find everything except what you're looking for. Or your place looks like an episode of "Hoarders."

"Oh, but now I can search for stuff on my drive by tag!!!" So what - now you have the extra work of figuring out a tagging scheme. It's easy to remember "The graphic I used as one of the wallpapers in project Foo" and look in Projects/Foo/Imgs/Wallpapers, or when you need to transfer a copy of all the files so you can work on another machine, just tarball the whole Foo directory and know you got everything.

Use the Rule of Most Specific to put stuff in the most specific place the first time and you'll find things quicker with just a file browser than you could using any desktop search application. Or prove the "designers" right and keep treating your file system like a kids messy room or the junk drawer in the kitchen.


Journal Journal: Comparing javascript compression methods. 2

From the bad-geico-commercial agency)
Wanna save 80% or more on your javascript file sizes?

When you have 30 or more javascript includes, and a dozen or more css includes, that's more than 40 separate hits to the server, each with its' own fileseek, etc. - and the browser has to stop whatever else it's doing to parse each one.

So I decided to exercise my perl-fu.

Step 1: Write a perl script to read the list of includes from the main index file, and concatenate them into one big js.$VERSION.js and js.$VERSION.css

Step 2: Strip out all the comments and empty lines, and remove all extra whitespace.

These two steps will give some speedup to your site loading,

There are plenty of "minifiers" out there that will combine step 2 with changing any local variables from thisLongVariableName, anotherOne, andAnotherOne to a, b, c. At the end of the process, you have a file that is probably, depending on your use of whitespace and comments, between 40 and 70% smaller. This will definitely load faster, and the use of smaller variable names inside functions also gives an extra little (mostly unmeasurable but still there) boost, as well as reducing the memory footprint of your page or application.

Step 3: Global function substitution is a bit more complicate. Functions aren't that hard to identify in source code - you can make a list just by splitting the source on the keyword "function" and keeping the next word (just remember to throw away the "zeroeth" one - it's not a function.

Then go through the source and replace every function name with a 2 or 3-letter identifier. I started at A1 (A0 is reserved for "main()", and the sequence is pretty obvious A0 to A9, AA to AZ, Aa to Az, B0 to B9, etc.

Step 4: Global variable substitution is a bit more complex, because variables can be listed one after another: var a, b, c=10, d=45, e="thank you for the fish". So, you have to do a bit more work, a bit more head-scratching, but you can substitute the variables that weren't substituted locally. Pick up where you left off with the functions, (for example, if the last function was Ca, continue wiht Cb).

What is the net savings from global substitution? In my test case, here's the comparison:

1. Merged source file: 184.4k
2. After removing whitespace and comments: 141.2k
3. After local variable substitution: 114.2k
4. After global variable and function name substitution: 70.5k
5. After gzip: 21.3k

Total saving: 89.5%

With string de-duplication, it could probably surpass 90%.

Current bugs - the code for finding the variables sucks, and it can only remove whitespace from css files - not variable substitution (need an "exclude" list for that), so css files don't shrink nearly as much.

Slashdot Top Deals

A computer scientist is someone who fixes things that aren't broken.