Blogspot and Tumblr

Well, for those of you sick of hearing the trivial minutiae about how nifty LightDesktop is, never fear! Your prayers have been answered. I made a Tumblr Blog thingee just for LightDesktop stuff, so I can yammer on endlessly about file system optimizations and other such crap.

So now when I talk about LD here – it will hopefully be coming from a more personal perspective. In that vein, a few things to mention – one is that LightDesktop got mentioned on DistroWatch. It was just a little teensy one-sentence blurb, but I wasn’t quite ready for this. Whoops! I did send an email to the distrowatch people saying, “Hey guys, probably a bit early to mention me anywhere on your site or anything, but just wanted to let you know I’m around…” and I expected they might ask me a question, send some generic message that was like, “Hey, sounds good, good luck, let us know when you’re ready” or anything like that.

And I was troubleshooting something the next day or two and tailing the server logs…strangely enough I kept finding new people hitting the informational web site. I looked into the referer tags, and lo and behold, they’re clicking over from the DW article. Awesome!

So I went from getting one hit a day, up to 60, up to 800 the next day. So I’ve had to go run around and make sure my Google Analytics tags and such are working, and I realized the worst thing – actual downloads weren’t being tracked at all. So I had to build a little downloader script so I could track that, too. Hopefully, I got it. We’ll see.

And there have been a couple of little tiny things I wanted to mention here or there about LD, but I felt like I might be spamming to put them here. So, the Tumblr thing. First off, I have to say – man, coming back here to Blogger feels like going back in time 10 years. Tumblr has their shit together. It has nice, big pretty fields, beautiful stuff everywhere, insanely easy. It feels a little sluggish here and there, and feels all railsey all over the place – even though it may or may not be built on that. So I pop back in here to my old Blogger thing to check out what’s up – and wow. It feels old.

So within half an hour of setting up on Tumblr, I found a theme just makes me happy every time I look at it. Gotta have it. Knocks it out of the park (well, for me). Gotta get comments going, so I’m signing up for a Disqus account and trying to hook that in. Generally it’s working pretty well. One thing I didn’t like was when you look at a list of posts, it didn’t show anything about comments – and I wanted a comment-count to be listed there – I’m hoping to have people comment all the time. So now I have to customize my theme. And I’ve gotta say, not all that hard. A little poking around, a little documentation, and I’m done.

I can definitely say that if I were starting up a new Blog or whatever, I would, 100%, do it on Tumblr. This Blogger thing has been pretty good to me, but it’s definitely got its problems. And they’ve been the same problems for years and years and years. If I could find a nice way of exporting/importing articles…who knows, I might do it?

Food. I have made a really concerted effort to make sure to eat my full three meals a day today – I’ve been busy lately so I’ve been skipping quite a few meals. And I’m embarassed at the improvement to my mood and my energy levels from this relatively simple source. I’ve been plowing through feeling hungry, and smashing over actually feeling down and slightly depressed from not having eaten enough. Man, if I just ate normally, imagine what I could accomplish? I’m going to make a real concerted effort.

Lightdesktop now self-hosting (ish!)

So my nifty LightDesktop project has (almost, kinda, sorta) hit a new milestone – I’m writing you this blog post from it right now!

I have officially transferred all the development files into the filesystem (in Rackspace Cloud Files), and should be able to develop it…from it. I will be getting a ‘dev’ version vs. a ‘prod’ version distinction going so I don’t destroy the filesystem for everyone when I botch something (usually the CREST-fs filesystem) and post it up. Considering my development environment is it, itself – that makes sense.

So no more CentOS box (or VM, actually) for a while. And, man, does dogfooding pop all kinds of bugs that I want fixed ASAP. Window management is pretty horrible.

I am REALLY impressed with the browser. It has been able to handle nasty Javascript-heavy sites with relative ease. AOL – not usually a company I associate with doing things right – has some kind of insane Web 2.0 AIM client hooked in to their webmail that works suprisingly well. I’m shocked they made it so well, and even more shocked that it runs in my slightly janky browser. But that’s all due to the WebKit people, and, indirectly at least, Apple.

One thing that I’ve really enjoyed is how lightning-quick everything is. When you make something as super minimalistic as this thing is, there’s not a lot of stuff going on to slow things down. I have done enough testing (though not quite ‘living’) in the new system that when I get back to using my Mac normally, it feels sluggish. And that thing has 4 gigs of RAM and a core 2 duo and whatnot! This thing has – crap, I don’t even know (poking through /proc…)…a 2.2GHz Celeron, single core. 2 Gigs of RAM though. And I bought it at Best Buy for $300 or $400 dollars! They of course didn’t want to sell it to me – I had to go to a second Best Buy to find one where they would. Must’ve been set up as a bait-n-switch or something. Or maybe they were legitimately out of stock, who knows.

Oh, another fun anecdote – I have Windows (Vista, ugh) installed on here too. And at one point I inadvertently let it reboot into Windows. I figured, well, let me grab all my software updates and stuff….nope! Didn’t work. The wireless had mysteriously stopped working for no discernable reason. I wondered if the hardware was broken. Rebooted into Lightdesktop, and the wireless came right up. Love it!

A new LightDesktop Release

So my evil ploy of tricking myself into playing with LightDesktop a few weeks back worked like magic. I’ve been hard at work since then and I think I’ve got some good stuff –

  • Lots of optimization work in the CREST-fs filesystem. It’s getting faster and faster. It’s still much slower than a raw hard drive though, but there are quite a few optimizations yet to be done.
  • New Signup and Server side architecture (based on Rackspace Cloud and Cloud Files. Infinite Storage! So awesome.)
  • A GUI logger-inner-thing. Feels more ‘pro’ to me, for some reason.
  • I’ve yanked the old DAV-fs fallback – it just sucked too much, and made things complicated. And I like things uncomplicated. If someone were dying for this I could put it back. I think 99.999% of the users of this thing will use the server-based storage.

Numbers:

The system, when full installed, boots in 15 seconds on my eeePC. No joke.

The install CD is around 26MB in size.

As a test, I timed myself doing a real-world install – I downloaded the ISO, created a VM in virtualBox, had it boot up, logged in as me – and had my files sitting in my home directory in 3 minutes 48.5 seconds.

Again, the premise here is: all your data lives in the cloud, the OS does too (or is hosted from it) so you get automatic updates and everything. There’s no such thing as ‘installing’ an application, you should just be able to use one. It’s alpha, blah blah blah, will delete your data, will destroy your computers, drink your beer, and insult your mother. Caveat Download-or.

The Files

CDROM ISO
USB disk image

How long to install your OS?

So I was thinking that I wanted to play with something on Ubuntu yesterday. I wasn’t sure that I necessarily wanted OpenOffice and all kinds of other crap that just come with a standard distro/download, so I went for a minimalist install, and figured I could just grab the various little bits that I needed to upgrade the system to a point where it did what I needed.

I spent about an hour and change (including download time) getting it to work, and it never really did what I wanted it to. Kinda disappointing. But what I thought was strange was how looooong everything took. I mean, literally, we’re talking like 60, 90 minutes? That’s serious.

So out of curiousity today, and as a deliberate way of easing my way back into lightdesktop development, to bench how long it would take to download and install LightDesktop onto a VirtualBox VM.

My timing included creating the VM, and downloading the image to work from.

3 minutes 48.5 seconds.

That’s getting from nothing to having my crap sitting in the home directory in less than 4 minutes.

Damn! I gotta get back into this stuff. I like it when it works.

LightDesktop Valentine’s Day Release – now Self-Hosting (ish)!

So – biggest thing is that I’ve replaced the horribly-performing WebDAV with a CREST-fs derived writable filesystem. It’s nice, writing both the server and client sides of a remote filesystem setup. I’m enjoying it, when I am not feeling like tearing my hair out. Because I am a fearful little wretch of a man, I did not write the ‘DELETE’ method yet. I’ll get there, just have to build up the courage. I think I wrote the client side, I just want to do something super wussy on the server end where I don’t delete it ‘just in case’…The new filesystem should have several attributes the old one did not have – it should work disconnectedly, it should be cache-aggressive, it should use the cache when disconnected, it should perform well, and it should have some support for symlinks.

I also modified the ‘root window manager’ thing – it has a sorta taskbar style doodad, with a wireless strength meter and a battery power meter, and some little quicklaunchey button things. Not configurable yet, but that’s probably one of the things that’s next.

I started by making it so that I’m able to compile a relatively simple project, with the storage all living in the Cloud. That compile was actually the root window manager/launcher thing for LightDesktop. Then I moved my LightDesktop dev directory over to a separate filesystem. And then booted up into LightDesktop, with that filesystem available as a secondary FS. Took me a while, but I got to where I can do a full compile, rsync, upload – everything – all from LD itself. I’m a little too afraid to put the entire compile for LD into the cloud itself – lots of stat() calls on lots of files causes lots of traffic, and the performance hit is a bit rough right now. But I’m inching my way there!

So, performance still is a little rocky – there are optimizations to be made on my end in plenty of places, I’m sure. I every now and then run into a weird problem where the system hangs on boot at some point after mounting CREST-fs. And lots of networking changes will occasionally confuse the filesystem to the point where it doesn’t work. I really want it to fail over to the cache when it can’t read something, but the allegedly time-out’ed recv/send calls seem to sometimes not work that way. Or maybe it’s my DNS stuff. If you’ve ever done any Unix network programming, I can assure you it is unnecessarily unpleasant, almost all the time. Just going from name to IP is like a page of code, it’s horrible. I see why every reasonably-sized app builds its own DNS cache every time, you can get stuck in DNS lookup hell real quick.

So at this point you could theoretically grab a copy of this thing, boot from it, and develop up a storm on it, building apps for it. I guess I’m kinda doing that now – though my source code is not on the Cloudy CREST-fs filesystem due to my fear of somehow blowing up all of my data (not completely unfounded of course…). But at least from here on out when I’m developing LightDesktop, I’ll at least be running it. That’s a start. I’m not at the point where I can ‘develop from anywhere’ until I can get the source into the cloud too – but that’s not far off. That will be pretty cool – I’ll sit on a VM on my Mac, or on Craptop, or maybe some new Desktop machine I get…or booted off a thumbdrive somewhere. And coding. How cool would that be?