Aardvark is a new, Web 2.0 product aiming to bring social search to the masses: unlike traditional search engines, that crawl and index a massive number of pages, Aardvark acts more like a router: it tries to understand enough of the question to determine its topic (and asks you when it fails), and then offer it to online users, starting with those who have declared an expertise in the given topic.
I have several Aardvark invitations available. Reply if you’re interested!
Filed under: Search, Web 2.0 | 7 Comments
Lie to Me
While bedridden, I serendipitously discovered this amazing new TV series — it does not even have enough user ratings yet — starring Tim Roth as a House-esque face-reader.
Surprisingly thoughtful, well-plotted, and with a diverse range of cases. People who find House too preposterous ought to give this one a try — they’re on Hulu.
Filed under: Uncategorized | Leave a Comment
Rawhide on Dell Mini 9
My new netbook arrived on Thursday, 13 days earlier than expected. Dell really need to work on their delivery estimates, but it’s better than having it be late…
This was one day after I came down with a really bad cold — still shrugging it off now. Productivity plummets to no end, but setting up a new computer is a more fun way to while away illness than reading a book (sorry, Orhan Pamuk; I think My Name is Red is your one masterpiece. The others are too meandering, especially when one can’t concentrate well).
The initial plan was to install Rawhide (ambitious!) over the CS department’s gigabit network, using the btrfs file system. This turns out to be unworkable — the r8169 driver mistakes the netbook’s 8101E as a gigabit adapter, whereas it’s only Fast Ethernet. I managed to get a DHCP lease once, on Dell’s Ubuntu installation.
Several network install attempts follow, over a 100 mbps link, using F11 alpha’s boot.iso. These all mysteriously fail, sometimes maddeningly close to completion. Even with ‘maxcpus=0 selinux=0′.
Giving up on this approach, I opted next for a hard drive install: use livecd-tools to put boot.iso into a thumb drive, and copy the ISO image to the drive’s root. It appears that this is insufficient — images/install.img has to be on the drive as well. This allows installation to succeed.
And then disappointment comes.
- btrfs checksumming makes any RPM transaction mind-numbingly slow
- Kernel panics. Even with maxcpus=0. This might actually explain the network install failures
- Kernel panic at boot using newer kernels
So off with btrfs and on with ext4. Too bad; the SSD optimizations in btrfs look nice. One wonders if it’s the early production status, or if it does actually impose a certain amount of computational overhead making it unsuitable to netbooks (or any single-core computers, for that matter. No, hyperthreading does not count).
I’ve had a fully up-to-date Rawhide all of Sunday and it’s a joy to use. 512 MB is rather usable, albeit forcing a certain discipline when it comes to browser tabs. Will put in the 2GB upgrade when the new wireless card arrives, so I don’t have to open the hood twice. Ironically, that card shipped promptly but has since been wandering the limbo of Chinese customs… why is it that the cool electronics products inevitably come from Chinese eBay sellers…
Remaining bugs:
- Cannot be used on Gigabit networks
- Broadcom WL causing hard lock-up with PEAP authentication
- Internal mic not working. Same problem on my other Dell laptop. ALSA can be such a nightmare..
Filed under: Fedora | 2 Comments
In my comments on the recent LWN seed “Will LSB 4 Standardize Linux?”, I made the argument in favour of application bundles:
The advantage of bundles is that it contains more metadata than a simple tarball.
Compatibility problems might arise, but at least the application launcher could provide more
meaningful feedback to the user.Or even integrate with the OS’ version control system, especially now that Linux has
PackageKit, to say “hey, the user wants to run this new bundle that needs libfoo-x.y, install
whatever package is necessary to provide that”.You’d need a package management system that automatically scans built packages for what
libraries they provide; RPM does that, not sure whether DPKG does.
To provide the context: the discussion was on how application vendors can easily target LSB 4 with a single binary image. My post was in direct response to an argument by another reader, that complicated schemes do not add much real value over tarballs, to which I begged to differ, arguing that the metadata available in bundles make the integration of binary applications much easier.
The issue of binary distribution triggers an allergic reaction from some people in the FLOSS community, a reaction that is, in my opinion, rather unwarranted. Even Debian provides, in their non-free repositories, stub packages that will download binary packages and create a standard .DEB package out of them. There are clear advantages to making binary-only applications more well-behaved, in fact the same argument for having package management systems with graph-based dependency tracking in the first place: dependency, dependency, dependency. When installing/upgrading a package, you’d want all its dependencies to be pulled in automatically. When upgrading a library, you want to make sure that all its dependents will still work. When there is a security vulnerability, you want a non-techie end-user to be notified, preferably within a fixed period of the vulnerability being made public (through periodic updates), or the next time the user launches the application concerned.
There have been attempts to create a one-size-fits-all universal package format, that’s distribution-independent and vendor-friendly. This is a red herring, IMHO, for the same reason that the Unix market splintered in the ’70s and ’80s, and that we have a proliferation of Linux distributions — and multiple independent BSD operating systems, each of them with their own ports tree (DragonFly being an exception in that they share NetBSD’s pkgsrc system). It’s nice to control your own packaging format, or if it’s a shared format (like RPM is), to control the naming conventions, etc.
What application bundles can do is provide the best of both worlds: vendors can ship binary-only bundles that declare dependencies in a least-common denominator format that the LSB can standardize, for example:
<br /><Provides> <lib>libbaz-a.b</lib> </Provides> <Requires> <lsb-version>4.0</lsb-version> <bin>convert</bin> <lib>libfoo-x.y</lib> <lib>libbar-z.w</lib> </Requires>
The first time the bundle is launched, the launcher can add it to its index of available bundles. If any of the dependencies are missing, the system-native package management (or a meta management infrastructure such as PackageKit) is triggered to install the missing dependencies. The bundles themselves can be placed anywhere (though library bundles — in NextStep/OpenStep/OS X parlance, “frameworks” should probably be placed in pre-determined paths, e.g. /Library/Frameworks, /System/Library/Frameworks and ~/Library/Frameworks).
The only problem is that the system-provided libraries might not be ABI-compliant with the specified LSB standard, for example, libraries written in C++ after a compiler ABI change. There would probably be a need for the native packages to declare their compliance, or non-compliance, with LSB standards.
And one last nice thing about bundles: fat binaries. It’s easy to provide multi-arch bundles, and stripping away unwanted architectures is a simple rm operation.
Filed under: FLOSS | 1 Comment
Vista: 64-bit usage climbing
|
Filed under: Linux, Microsoft | Leave a Comment
Recent Entries
- Social search: Aardvark invitations
- Lie to Me
- Rawhide on Dell Mini 9
- Application bundles: system integration
- Vista: 64-bit usage climbing
- ABI breakage and package naming
- Midori : NT/Vista :: NT : Win95
- Python tail-call optimization, done right
- Wide Finder: take 2
- Patents: to settle or not to settle
- C types 101
Categories
- Adobe (1)
- Apple (4)
- Browsing (1)
- Bug-fixing (1)
- Column responses (1)
- Companies (3)
- Culture (2)
- Dear Interweb (1)
- Elections (3)
- Europe (1)
- Fedora (4)
- Firefox (1)
- FLOSS (7)
- Gadgets (3)
- Gnome/GTK+ (2)
- Google (2)
- Holidays (1)
- Legal (2)
- Linguistics (1)
- Linux (11)
- Lua (1)
- Microsoft (6)
- ML (2)
- Mono (1)
- Music (1)
- Nokia (2)
- Novell (1)
- OLPC (1)
- Pedagogy (1)
- Personal (1)
- Podcast (1)
- Politics (4)
- Programming (12)
- Python (3)
- Scheme (2)
- Search (1)
- Security (1)
- Technology (4)
- Ubuntu (2)
- Uncategorized (24)
- Web 2.0 (1)
- Yahoo (1)
Archives
- April 2009
- March 2009
- August 2008
- July 2008
- June 2008
- April 2008
- January 2008
- December 2007
- October 2007
- September 2007
- August 2007
- May 2007
- April 2007
- March 2007
- February 2007
- November 2006
- May 2006
- April 2006
- March 2006
- February 2006
- January 2006
- December 2005
- September 2005
- June 2005
- May 2005
- April 2005
- March 2005
- February 2005
- January 2005














