Boxee is teh pwn. (My new HTPC setup)

I just set up a new Home Theater PC this weekend. I was actually just going to use XBMC, which is what I would normally use for just such a task, but I saw the link to "Boxee" on the xbmc.org website and curiosity got the better of me. I'm really glad I decided to check it out.

Let me back up a little bit, though. For the HTPC, I dusted off my old AMD machine (I believe it's an Athlon XP 1500+ 1333MHz), which has an old ATI All-in-Wonder 9600 Pro video card. It has, between its two internal HDDs, approximately 370GB of storage, which will mostly go unused since all of the data is stored on our file server or streamed from the internet. Since the ATI card doesn't support any HD outputs, I only have standard definition going for now. I guess that will be something for when I upgrade the HTPC, but for now it's fine as it is.

So I went with OpenGEU (Linux) for the base operating system, for no reason in particular, just on a whim. I figured on the rare occasion that I do switch out of the Boxee interface to use the standard GUI, it's a nice one to show off on my TV (OpenGEU uses Enlightenment DR17). Well I installed Boxee and had to play around with Xorg's display (resolution) settings and Boxee's own resolution settings for a while before I could get it displaying correctly on my TV. Apparently, and I think this may have something to do with the TV, I had to independently set the Xorg and Boxee resolutions in order for the display to fit the actual size of the TV's screen. Xorg is set to 800x600, while the Boxee settings are 640x480, yet the TV is displaying in 480i 16:9.

Moving on now to Boxee itself, as I said I have never used it for HTPC setups before. Normally, XBMC is my primary choice. Now, before you say it, Boxee is based on XBMC, but adds a whole lot of new functionality to it in the form of pluggable "applications", which are basically channels you can add or remove according to your tastes, thereby customizing your content completely (in addition to your personal collection of media files). These applications are essentially just RSS feeds that point Boxee to online content. These will serve up media content, not a typical text feed, such as videos, music, pictures. There is also support for services such as Last.fm and Pandora, as well as your Netflix and even podcasts. Boxee even connects you with your peeps via popular social networks like Twitter, FriendFeed, etc. Just when you thought it couldn't get any better, there is an app available for for iPhone/iPod Touch to allow you to remotely control your Boxee, no server-side setup required and the app also automatically finds your Boxee server. I just so happen to have an iPod Touch, so it now serves the purpose of being my Boxee remote. Awesome.

I'll stop rambling on now, but just keep this in mind: if you ever decide you want to set up a media server/home theater PC, check out Boxee (www.boxee.tv). It's available for other operating systems, though I haven't tested it on any other system, and honestly I don't know why you would want to run anything other than Linux for a server anyway.


Windows 7 Sins

The Free Software Foundation launched its new anti-windows website and compaign entitled "Windows 7 Sins" (windows7sins.org) saying in their newsletter:

The campaign outlines seven major areas where proprietary software in general and Microsoft Windows in particular hurt all computer users: invading privacy, poisoning education, locking users in, abusing standards, leveraging monopolistic behavior, enforcing Digital Restrictions Management (DRM), and threatening user security.
These points are outlined in the text of a letter the campaign mailed to the leaders of the Fortune 500 companies, now published on its Web site. The letter warns "Windows 7 decision makers" about the "lack of privacy, freedom, and security" they will suffer should they adopt Windows 7, and makes the case that they should instead adopt free software such as the GNU/Linux operating system and the office productivity suite OpenOffice.org.

FSF executive director Peter Brown said, "Free software is about freedom, not price. Our growing dependence on computers and software requires our society to reevaluate its obsession with proprietary software that spies on citizens' activities and limits their freedom to be in control of their computing. There is free software available right now for any activity you or your business needs, and it is better in the most important aspect -- it respects your freedom."

The FSF is asking concerned citizens to help get this message out by nominating other organizational leaders who are also "Windows 7 decision makers" to receive a version of the letter. Brown continued, "Many people are frustrated by the organizations they interact with and their support for a software industry that works against the freedom of citizens. Our national and local governments, NGOs, and our universities and schools that use proprietary software are undertaking bad public policy, often through ignorance or misplaced values. We hope to alert these decision makers to the positive contribution they can make to society by switching their organizations to free software."

FSF campaigns manager Matt Lee added, "With |
windows7sins.org|, we hope to make businesses and computer users aware of the growing dangers of proprietary software from both Microsoft and other companies such as Apple and Adobe. With the release of Microsoft's updated operating system, business leaders have the opportunity to escape to freedom and join a growing list of leaders who understand that sinking money and time into proprietary software is a dead-end inconsistent with their best interests."
I've always been a big supporter of Open Source/FOSS and Anti-DRM campaigns and such, so I'm happy to pass this great news on. Please join the FSF and the Windows 7 Sins campaign in any way you can, even if the most you can do is spread the word, you'll be doing a lot. There's a mailing list you can subscribe to to get updates about the campaign and an interesting history of the campaign included on the website. Show your support at windows7sins.org.


How to enable digest authentication (Apache2)

Want to secure your Apache web server? Digest authentication (mod_auth_digest) is a much more secure way to authenticate HTTP (versus basic authentication, which sends the authentication information plaintext to the client-- not secure at all, really). To start with, you need to create a password file. First figure out where you want this file stored. Probably it would be best not to store it anywhere in the wwwroot path. Create the password file with the following command (repeat as necessary to add additional users, but leave off the -c argument):

sudo htdigest -c filename realm username

Above, the "realm" argument needs to match AuthName in sites-available/default (add -ssl if you use SSL). You will be prompted to input and verify the password for the user you created.

Next, create the rules in your Apache config. On more modern distributions, you will usually find your site's config in /etc/apache2/sites-available/. If you have only one site and no virtualhosts, you're probably just running off the "default" in the above-mentioned directory, so do:

sudo nano /etc/apache2/sites-available/default

or, if your site is SSL-secured:

sudo nano /etc/apache2/sites-available/default-ssl

and enter the following lines in the config (I placed mine below the <Directory /var/www/>... section):

<Directory /wwwpath>
AuthType Digest
AuthName "REALM"
AuthUserFile passwordfile
Require valid-user

It is important to note that Apache's own docs say to use AuthDigestFile to point to where your password file is located, but this produces an error when trying to reload/restart apache2 which results in a failure to load. Using AuthUserFile instead fixes this.

The world REALM in quotes for AuthName can be anything but MUST MATCH the "realm" argument in the htdigest command when adding a user to the password file. If anyone finds out otherwise, please let me know (give me as much details as you can), though for me it wouldn't request authentication at all if they didn't match.

The example in Apache2 docs also shows the use of AuthDigestDomain which is actually not required (use it if you actually need it, otherwise leave it out). Leaving it out will force authentication for the entire web server. If this is not desired, use AuthDigestDomain. Ex:

<Directory wwwpath>
AuthType Digest
AuthName "REALM"
AuthDigestDomain /private-area/
AuthUserFile passwordfile
Require valid-user

Where "/private-area/" = /var/www/private-area/ directory on your web server.

Once you have the Directory section saved in your config, do:

sudo /etc/init.d/apache2 reload

You should see:

If all went as expected, you should now get a login prompt when accessing your web server, according to how you configured it.

You can also do more advanced things with digest auth, which I won't be covering in this post. For more information on digest auth, please refer to Apache docs: http://httpd.apache.org/docs/2.0/mod/mod_auth_digest.html.


10 Linux distributions you may not have heard of

I wanted to do a segment about some of the lesser-known (and arguably more interesting) Linux distros out there, for those of you who may be newer to Linux or maybe just aren't aware of just how many options you have with Linux distros. These are all, in my humble opinion, very nice distributions and have unique qualities that suit different people in different ways. Most of the distros you read about in this post will not be appropriate for you, but that's sort of the point: there's a Linux distro out there for everyone, even if that means "plain vanilla Ubuntu" to you. So without further adieu, here are 10 of the most interesting/unique ones I know of (in no particular order), starting off with...

1. CAINE (also known as C.A.IN.E.)

This is a very unique distribution, given that it is designed solely for the purpose of digital forensics, which is as far as I know a one-of-a-kind distribution. Hence the name "Computer Aided INvestigative Environment" or "CAINE". Its intended use is to be booted from USB (or optionally CD) and run completely from memory, "live" style. This way it can be booted on any PC, workstation, server, etc in order to perform investigative tasks, without "distrupting the crime scene" as the saying goes. 
Learn more, or download this distribution free at http://www.caine-live.net/

2. Lin-X

Lin-X is a distribution with one simple goal in mind. You guessed it: complete Mac OS X emulation. Emulation in the sense of its appearance, not so much in being able to run Mac OS X software. If you love the look and feel of Mac OS X's Aqua style, but don't want the hardware or maybe you can't afford it-- or whatever your reason may be-- then Lin-X may be the distribution for you. It's very nicely arranged to accommodate your Aqua-fanboyism with that Aqua feel, down to nearly every detail.
Learn more, or download this distribution free at http://lin-x.info

3. Qimo for Kids

Qimo is unique in its own way because it is tailored for children. What makes it different about other "edu" distributions is that its focus is on teaching kids, not just general educational use. It is designed to make computing as easy as possible for young children, with its larger icons and intuitive interface. If you have youngsters in the house, put that old Pentium III sitting in your closet to good use with Qimo!
Learn more, or download this distribution free at http://www.qimo4kids.com

4. Linux Mint

Probably one of the better-known of the lesser-known distributions (heh), Linux Mint is not too far removed from its Uncle Ubuntu, yet boasts its own line of system utilities to make Linux a bit easier to use and understand, and maybe even a little more consistent, such as mintBackup, mintDesktop and mintUpdate, etc. It has a very aesthetically pleasing, clean and user-friendly interface that is perfect for newcomers or those who just want a Linux distribution that does that little extra to make your life easier.
Learn more, or download this distribution free at http://www.linuxmint.com

5. Scientific Linux

Scientific Linux is, to quote their front page, "put together by Fermilab, CERN, and various other labs and universities around the world. Its primary purpose is to reduce duplicated effort of the labs, and to have a common install base for the various experimenters." That's right, no frills here, just pure scientific research. Boring right? I'm sure most people will think so, and this distribution probably would not suit most people reading this, but that's not the point here. This distribution is being used by top scientists around the world for work on very important scientific research. Ever hear of the Large Hadron Collider? While I doubt the LHC itself uses Scientific Linux, many of the researchers involved do.
Learn more, or download this distribution free at https://www.scientificlinux.org

6. GoboLinux

GoboLinux is a horse of a different color. It's not based on any other distribution, and it completely redefines the underlying file structure of the Linux operating system, what they call a "modular distribution". Everything in the filesystem is organized in a logical hierarchy rather than Linux's usual method of taking a program's files and arranging them in the filesystem according to each piece's function. GoboLinux does this while proudly proclaiming, "we transparently retain compatibility with the Unix legacy."
Learn more, or download this distribution free at http://www.gobolinux.org

7. Puppy Linux

The thing that makes Puppy Linux unique is that it is ultra-small and designed to use the minimum of resources allowing it to run incredibly fast. Small enough to fit and run live from a USB drive. The installation CD only takes up about 85MB of space on the disc. If I'm not mistaken, that's small enough to fit on a business-card CD or a mini-disc. Puppy Linux also runs completely from RAM, no hard disk necessary. You can even easily customize which applications to include in the live CD before you burn it. Puppy Linux follows you everywhere!
Learn more, or download this distribution free at http://www.puppylinux.com

8. 64 Studio

Another specialized distribution, 64 Studio is geared toward the multimedia geeks of the world. There something for the creative side in all of us in here, whether you're into graphic design or you're an audiophile/videophile, or whatever the case may be. Admittedly, there are other distributions that cater to multimedia production, but as far as I know 64 studio is the only one used in professional production studios. Of course you can get the included software in any distribution, but it's always nice to see a group dedicate their time and effort to make it all come together so you can concentrate on the important stuff.
Learn more, or download this distribution free at http://www.64studio.com

9. Easy Peasy

By now nearly everyone has seen this netbook-launcher program (left) in some form or another. I won't deny that a lot of "netbook" version of popular distros have been coming out of the woodwork lately, but mostly as an afterthought to their main release. However, there are few that are dedicated to concentrating solely on the netbook platform. Easy Peasy's maintainers and community do just that, and have done it rather well compared to a good majority of netbook releases. They strive to support all netbook hardware across the board and provide a lightweight and easy to use interface. If you own a netbook, you owe it to yourself to check out this distribution.
Learn more, or download this distribution free at http://geteasypeasy.com

10. Omnia

Last, but not least, Omnia (Sometimes referred to as Omnia XP and Omnia Linux). Look familiar? Good! They must be doing something right then. Omnia's primary goal is to provide a familiar look and feel to "[facilitate] the migration to the Linux world," as their website states. What a fantastic way to say "we made it look like Windows XP so you won't be scared of it." Seriously though, as much as I hesitate to admit it, there are still far too many people in the world who are afraid of unfamiliar territory and would never try something new if it weren't for cross-over projects like this. If it helps get more people to understand and appreciate Linux, I'm all for it. If you happen to be one of those people that is a little afraid to test the waters, you might consider starting here.
Learn more, or download this distribution free at http://omnialinux.com

And there you have it!

Please remember that these are all free software distributions, but they need the support of you and the community. If you like one or all of these projects please consider contributing in whatever way you can. Most of these projects accept knowledge and skill as well as even the smallest donations to help keep them going, so if you can help in any way, it's always appreciated (refer to the website of each individual project for the details on how to contribute).

That's all I have for you for now, thank you for taking the time to read this article, and hopefully I have opened at least a few eyes to something new and exciting.


E16 window manager

I've been revisiting Enlightenment (E16) window manager recently. I haven't played around with E or WindowMaker or really anything but Gnome, KDE, and occasionally Xfce since 1998. Wow... Long time ago. I guess I just got comfortable with Gnome (mostly) since I first checked it out way back when, and it is a solid window manager, but I need to remind myself from time to time that there are other, potentially better window managers out there. Prior to Gnome, WindowMaker was my favorite, though admittedly I didn't spend a whole lot of time working in a GUI at all, then. Most of the time I lived purely in the terminals, but when I did need something graphical it was usually WindowMaker or Enlightenment before I started playing around in Gnome.

So I played around a bit with different combinations-- E16+Gnome, E16+KDE, E16 by itself-- and I have to say I'm not impressed with how well it meshes with Gnome or KDE, but that seems to be because they seem to want too much control by default. I would probably have to put in a lot of work to get them looking nice and playing nice together. The thing I notice the most, though, is how much faster E16 is by itself than when combined with Gnome or KDE (KDE especially). This could also be due to being run in conjunction with Gnome/KDE, but E16 definitely seems to run programs faster by itself than they do by themselves. Which is good, since that's one of the things the developers strive for-- a faster, less resource-heavy window manager-- so they must be doing something right.

I would be really interested to see if it's possible to get compiz-fusion running in conjunction with E16 to take advantage of the nice compositing effects of compiz. I don't see why I wouldn't be able to, but I haven't gotten around to trying yet. I will probably post again with how that turns out.


Troubleshooting VirtualBox mouse integration (Ubuntu 9.04 guest)

Since many people have had issues getting the Guest Additions mouse integration to work, I decided to post a quick fix for this. Please refer to my previous post Troubleshooting VirtualBox 2.1.4 Guest Additions for help installing Guest Additions (then come back here if you are experiencing mouse integration problems).
All you have to do is add the following lines to /etc/X11/xorg.conf
Section "InputDevice"   
        Identifier  "vboxmouse"   
        Driver          "vboxmouse"   
        Option          "CorePointer"   
        Option          "Device"        "/dev/input/mice"   
Then simply restart X by pressing Host+Backspace and your mouse integration should be working.


Mini-review: Qik for Android

I downloaded and installed Qik (qik.com) on Android yesterday to check it out. Qik is an app/service that allows you to broadcast video "live" from your Android phone (G1 in my case). The first thing I did, of course, was broadcast a quick video. The video quality was about as expected, a little grainy and a little too dark. These are all complaints about the G1's camera though, and not the app. The app itself performs quite well with what it has to work with. It hasn't had any noticeable hiccups or lagging when streaming live, and I think that's arguably the most important part. The audio quality is good, but not incredible, but again this is due to hardware limitations. Again, it makes the best of what is has, so that's good.

The app itself has a minimalist interface (function above form), though the look is still very sleek and not cluttered, a welcome respite from a good section of Android apps. Qik is also very simple to use: start the app and hit your shutter button or the touchscreen equivalent to begin broadcasting, the rest is automatic. Another great thing is the ability to customize a slide-up "share this" quick list. Add any contact from your phone to share by (your choice of) SMS or e-mail. There are also integration features for sharing your live broadcast on Facebook, Twitter, YouTube and others which will appear in the quick share list also.

The bottom line is that the app is excellent. It makes great use of what my G1's hardware is capable of without sacrificing quality elsewhere. It's easy to use and has a sleek minimalist interface and easily integrates with your favorite services. Highly recommended for any Android user.

Google bookmarks goes social?

Not yet, but it needs to. I love having all my bookmarks hosted in the cloud, but I never could get into del.icio.us or similar social bookmarking sites. They just didn't have the feel I was looking for. However, I feel naked without my Google Toolbar in Firefox, but the reason I'm so hooked on it is due to the bookmarks. I have countless bookmarks in there and I can't begin to describe how many times I've been thankful I can access these bookmarks and manage them so easily from any browser anywhere.

Before I start sounding like a paid advertisement for Google Bookmarks, there are a few flaws with the service that grate on my nerves quite a bit, yet I feel I am in way too deep to switch to any other bookmarking service now. First of all, why oh why can't Google Chrome integrate with Google Bookmarks*? Why, Google? I'm sitting here shaking my fist at you. I might be glaring at my screen a little, too. The other thing, too, is that it would be nice to simply have some sharing options and possibly other social elements. Sharing at the very least though, come on. I don't want to have to manually create a list of bookmarks and send them to people, that's just ridiculous. I don't want to have to "export" my bookmarks for someone else to import, either. That's just lame. What year is this again? Wake up, Google! You're supposed to be industry leaders, yet sometimes you act like these things shouldn't be a given in practically everything you create. I'm shaking my fist at you again, Google. Hopefully these things will be addressed soon.

*UPDATE: Ars Technica just released this article detailing Google's intent to implement this very feature (plus more integration between Chrome and your Google account) last night. Excellent news!

Here are a few of the juicy tidbits:

"A bunch of us have been working on a feature to sync user data in Chromium with a Google account..."

"The Chrome synchronization framework will initially handle bookmarks, but it is designed to support other kinds of browser data in the future..."

"...more seamless than other bookmark synchronization services like Weave and XMarks..."

"...a Web interface so that users can remotely access their bookmarks from any browser by logging into their Google accounts."

To get early access to these features, keep your eyes glued to the developer update channel for the update in about a week.

Ars reports that Windows' dev channel should be getting the feature enabled first, with possibly Linux at the same time or soon thereafter, but Mac OS X currently does not have support for the sync features.

Here are some simple instructions for enabling dev channel updates, if interested: http://dev.chromium.org/getting-involved/dev-channel

Talk about ironic! Can we get to work on the bookmark sharing now?

My Google Voice "call me" button

Just wanted to quickly mention that I added my Google Voice "call me" button to my sidebar (>>>) so that if anyone is interested they can click to call me if they have questions, comments, need assistance, or just want to say hello.

When you call you should hear the voice of a lovely young lady. Just let her know whatever you called to say, and I'll get the message.

I've also added my Crossloop badge for those who want remote assistance with a computer issue (Windows users only; Linux users can get remote assistance via VNC).


Bringing AI to Twitter

So lately I have been thinking a bit about egg-fu; what direction I should go in or if I should even update the source at all. I had been thinking of different ways to implement egg-fu in today's cyberspace. The internet has changed, obviously, in a lot of ways since 8 years ago when the project first began, so I was pondering on ways to bring egg-fu back into the mainstream a bit. One possibility I thought of was porting egg-fu to Twitter. I figured (at least for the development instance of egg-fu) if I direct him to follow the right people he could emulate a certain amount of intelligence quite easily. Of course, I could have him learn from dumb people as well, if I wanted him to. It would not be hard at all to have egg-fu follow certain trending topics and give his unique input in the form of replies and quite possibly formulate his own original tweets based on the things he picks up from other twitterers. The difficult part though, which I was having trouble convincing myself wouldn't be too much work to make the whole thing worthwhile is the fact that I would have to deal with the Twitter API. I wasn't entirely convinced this was the best way to code a simulated-AI bot. I just had my doubts and this feeling that there had to be a better way to accomplish this. So I let the idea receed to the back of my thoughts for a while, to stew.

Then just the other day I was browsing through hundreds of apps in the Android Market, ever curious about what is out there, and I came across something that piqued my interest. I discovered the app LinkDroid, which uses webhooks to manage data. Here is a quote from the app's description:

"Webhooks (webhooks.org) are user defined callback URIs that receive HTTP Posts in response to user actions or system events. For example, LinkDroid (linkdroid.org) can post media, such as images, to defined Webhooks when users selects the Share With option. LinkDroid can also post broadcasted events (by Android, or other programs) to target Webhook (via a background service) as specified by registered IntentFilters."

What intrigued me was the touted ability to define these webhooks in this way, but I was ignorant of what webhooks were or what they really do. So I did the research and found out what I needed to know, but even more importantly I realized this was probably exactly what I was looking for to port egg-fu as a Twitter-enabled bot.

So what I'd do next would obviously be to start outlining and brainstorming on this idea. More to come.


Hit the jailbrakes!

I got into a discussion with someone online about Apple's iPhone and about smart phones in general and during the course of this discussion it made me realize that people often talk about Jailbreaking as if it were the answer to everything. More specifically, we were debating which smart phone is "better" than the rest. I'm quite sure no one has ever covered this topic before.

So, I expressed that I am of the opinion that iPhone is a piece of shit and severely over-hyped. I happen to own Apple's simplified, music-centric version, so I have a little experience with the platform. You may have heard of it, they call it an iPod Touch. Well, as I was saying, I made my point that I didn't prefer the iPhone and that I thought the T-Mobile G1 was superior and one of the guys in the discussion said he liked the iPhone better even though he has a G1 himself. I brought up the fact that Apple is very strict and can often appear to operate without rhyme or reason when rejecting apps (developers often complain that Apple has given no reason for rejecting their app submission). I also mentioned the recent buzz about Apple rejecting Google's Voice application.

Well, someone else mentioned that if you jailbreak your iPhone it resolves all those problems, therefore iPhone wins. Wait, what? It does?

That's what really got me thinking. Why do people think that being able to mod/hack/jailbreak a device as a work-around is a trump card that makes that device better than all of its peers? That's the most ridiculous thing I've ever heard. If anything, I should be using "jailbreak" as a case against it and its usefulness, not the other way around. If you have to "break" or "hack" something (effectively changing its intended use in some way) in order for it to work the way you think it should it doesn't make this device that much better, it makes it that much worse. Even worse if the only real reason you're doing it is because the manufacturer decided against a feature or add-on that you thought it ought to have. In other words, a feature that wasn't included not because it wasn't technically possible or would have negative drawbacks on the resources available to the device or any other technical reason, but simply because the manufacturer said, "hmmm, we'd rather not add that."

All I'm saying is you can't use jailbreaking as a case for the pro-Apple side of an argument. It's just dumb.