Since I got my second thinkpad, I’ve had a tough time keeping my settings, documents and stuff in sync with each other and even my home desktop. Since git is a decentralized source control system, I figured it would make a great way to perform backups and sync my machines. I also thought that Linux users could have something like Apple’s TimeMachine. Thus, HomeSync.
To make this into something really user-friendly, I created a python interface to git that wraps around the command line. Then I created a desktop daemon that monitors your home directory for changes. To interact with the daemon, you can either use DBUS or the provided Qt-based client. Since the daemon is controlled with DBUS, you can easily write a GTK or even a command line client for the server.
To have a poke around, download it from GitHub. Then just run ./sync-daemon.py. The GUI is in sync-control.py.
Coming soon: machine to machine sync and even pushing backups to a removable drive.
Today marks the fedora project’s 5th year of existence! Hooray!
I myself started using Fedora back when it was “Fedora Core”, just after FC3 came out. I had converted my windows 98 “server” machine (back then called Earth) to the current beast that is Jupiter. The hardware has remained the same, but the software has improved. Why, I remember the days before D-Bus and Avahi. Rough times, those were.
At first, I used Jupiter to store a few samba shares for web development and download storage. Then I decided to install Fedora on my desktop computer, Pluto. I set it up to be dual boot with XP and Fedora 3, and things Just Worked.
Go forward a few years, and now I’ve got centralized LDAP user management, a distributed backup system, home directories over NFS, two MythTV servers, 3 laptops with Fedora 9, and a really slick KDE4 desktop. Life’s good.
Rawr! Its a new overhaul of the wm161.net design! Long gone is the artsy-fartsy and ugly chunks of words, tacky ‘view options’ tab, and explosions of crap. They’ve all been replaced with a very simple, very nice design. A basic header (complete with orange), proper typography, and a really simple sidebar.
I chose this new design because I thought about my website and realized that I’m tired of being a social networking whore. If people want to know what goes on every day or where I’m at in the world, they can follow me on twitter, or brightkite. I’m not gonna shove it in anyone’s faces, because is it really all that interesting to know what I think about the pasta I had for lunch? Exactly.
I’ve returned to the older days of the web, where it was about the quality of content, not the quantity. I’ve turned off the Twitter Tools post-a-day-o-matic feature and have opted to actually write stuff once in a while. My website isn’t a central place to stalk me anymore. It got annoying when I looked at my own site and saw just crap everywhere.
The next step in this process is to fix a few hidden bugs I’m sure I’ll find, and to update my WPWrapper template to use the new design.
Sure, the social web is great and all with everyone sharing stuff and syndicating content from everywhere, but it makes things pretty damn hard to find. Out of curiosity and bored, I did a google search for linux boredom. The first two pages point in one way or another to the same article, or someone commenting about that article. Useless cruft in my opinion. I’m looking for something to occupy my time while I compile the latest Qt for Glovebox.
Digging further into the results, it appears that the original article was posted to Linux.com. Two of the results point to the same Digg article, one points to reddit, one points to a forum robot syndicating the article (and apparently claiming it as its own), and yet another points to the friendfeed item of the person submitting the digg article. Thats a lot of useless garbage. The only other useful link out of all those 20 might be the link to the print version, but even then thats useless with the print CSS.
Overall, its a signal-to-noise ratio of 1:20. Live Search and Yahoo aren’t much better either.
I’ve heard some people around the ‘net say that “web 3.0″ won’t be based on the social user-created-content aspects of “web 2.0″, but instead be based around actually finding the signal in the sea of static. The web 3.0 search engines should be able to discern between “content” and “discussion about said content”. The web isn’t all content as it used to be (oh, and what glorious days those were). Slashdot writes a quick article linking to something interesting, and 90% of the slashdot page is discussion about the article. Most of the time the discussion is longer than the article itself and sometimes is more interesting. However, on other sites–sites like digg–the discussion is mostly people writing simple one-sentence responses to a link, usually along the lines of “cool!”, “good find”, or just plain trolling.
The next generation of search engines should group that kind of stuff together. If did this same search in the future, I should just get one link to the article, with maybe a link next to it that says “Discussion” and gives a list of all the discussion pages for that article. I shouldn’t have to wade through huge lists of links, all eventually pointing me to the same information. I wanted to find something to cure my boredom, not a list of comments on an article.
Yes, Domo-Kun is now at target. I-Mockery said it first. Its a shame though that they don’t sell a Domo costume there. I’d like to see all this in person, but the local target out here in Akron doesn’t have all the halloween stuff up yet.
Last wednesday in my ASM and Systems Programming class we received our STK500 programming boards for use with our projects. Yesterday we were given some taste of how to program a board in Atmel ASM.
The ‘official’ way to download your program to an atmel board is to use their Windows-only AVR Studio. Boo!
Luckily, there is Linux software already available for this. AVRDUDE lets you communicate with the STK500 programmer to download code compiled into the Intel Hex format. Finding a compiler is a bit more difficult, but still pretty easy. There isn’t a compiler in the fedora repos, so I went searching and found avra. It is 100% compatible with the official AVR compiler.
As my first free time project, I made some leds count in binary:
;comment
.cseg
.org 0
.def count = r16
.def temp = r17
.equ PORTB = 0×18
.equ DDRB = 0×17
ldi temp,0xFF
out DDRB,temp
ldi count,0×00
lp:
out PORTB,count
inc count
rjmp lp
That was pretty thrilling for me, but I wanted more, so I made a pattern expand outwards:
;comment
.device ATmega16
.cseg
.org 0
.def output = r16
.def temp = r18
.equ PORTB = 0×18
.equ DDRB = 0×17
.equ LEFT = 0b11110000
.equ RIGHT = 0b00001111
.equ PATTERN = 0b00011000
ldi temp,0xFF
out DDRB,temp
ldi output,PATTERN
lp:
out PORTB,output
mov temp,output
andi output,LEFT
lsl output
andi temp,RIGHT
lsr temp
or output,temp
ldi temp,0
cpse temp,output
rjmp lp
ldi output,PATTERN
rjmp lp
And here’s the device in its blinking glory:
The Hide and Seek club here at UA is always looking for new members. Its thrilling to play a game of hide and seek with over 30 other people, covering most of central campus. Not a lot of people know about the club though, so we’re making posters and flyers to put up everywhere. Here’s my go:

Hide and Seek Poster by Trever Fischer is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License.
Based on a work at wm161.net.
Permissions beyond the scope of this license may be available at http://wm161.net/copyright.
First, I’ll show off the logo for Glovebox:
Second, Glovebox development has stalled a little bit over the last few weeks due to college starting up again for me. So, I’ll just give a quick overview over whats changed since I first announced the project.
Much like KDE’s libraries, Gloveui is the name for the base library I forsee all Glovebox components using. This will allow for super easy theming and other bits of consistency. As of now though, it only has an implementation of the Freedesktop icon and sound theme naming specifications, along with GIcon and GNotify classes.
A GIcon has a simple constructor. You pass it the fd.o icon name, and it uses the QIcon methods to load up images. Icons are still drawn using the basic QIconEngineV2, so it doesn’t always draw the proper size. Thats coming soon though.
The GNotify is a rough outline for a much more broad system. I soon home to have something similar to the galago-project implementation of the fd.o notification specification, where information bubbles can pop up on the display somehow. But for now, GNotify only does one thing: plays fd.o-named sounds. Since it is static, you just call GNotify::global()->sound("desktop-login"); to play the startup sound. GNotify uses Qt’s Phonon classes to accomplish this with minimal effort.
Over on the right is the current view of the Launchpad main window. Nothing too exciting to look at, I know, but there is now a fully-functional GPS data engine! And on the map page, I’ve implemented two handy widgets: A compass and a signal chart. The two widgets are independent of Glovebox, so any other Qt developer is welcome to use them. The only issue with them right now is the size hints aren’t working properly.
With a full school schedule (class and work from 9-6 on a good day), I don’t have a whole lot of free time. I try to hack on Glovebox when I get a chance, and I’ve got a quick list of things I’m working on from time to time:
That last item is a bit troublesome to me. A main feature of my Launchpad is to show a dashboard with widgets for the home page. Idealy, I’d like to implement this using Plasma. Unfortunately, that means I’d have to add KDELibs as a requirement. Right now, my plan of attack is to strip out all the KDE-specific code and replace it with Glovebox code.
Its bothering me though that I seem to be duplicating the efforts of KDELibs just to import one (awesome) feature (set). With all the recent work on getting Plasma to work great for embedded devices, it seems like I should just bite the bullet and link in KDELibs. I feel that goes against my biggest design goal for Glovebox, in that it should be small as possible and depend on as few libraries as possible.
So, lazyweb, any input on this problem?
No, I haven’t vanished. I just never got around to making any new blog posts.
However, I did make a slight change to my site. I turned off the feature in Twitter Tools that makes a daily summary of my twitter posts. Twitter is getting more popular, and anyone who wants to follow my twitter updates can easily do that on twitter. I don’t like duplicating my data across Twitter and an RSS feed. I said earlier that my blog is about well thought-out stories that actually contain good content. So I asked myself why I’m putting twitter non-content up there and just decided to remove it.
Perhaps this will drive me to actually write some stuff! :)
First, as /b/ would say, “This is the cancer that is killing /b/.”. True enough, I believe.
Second, the link.
I haven’t been on /b/ in ages, but I still think that the general public shouldn’t be allowed to comment on memes. You can’t really put an exact time on the invention of a meme; even a year is too narrow. It also doesn’t feel right to take some catchy idea and try to popularize it outside of the original culture. At least not at this speed. But such is the Internet, with its instant communication.
Excluding all that, this is a cool idea.
As posted on Webware