Monthly Archives: August 2004
Latest Screenies And Some Other News

Latest Screen Shot of the NetworkManager Python Systray Applet
I need to finish the code for the progress meter, however it’s waiting on a change from NetworkManger. But here’s what says it all about this fun little hack:
[clarkbw@rhbw systray]$ wc -l network_tray.py 192 network_tray.py [clarkbw@rhbw systray]$ wc -l NetworkManager.py 176 NetworkManager.py [clarkbw@rhbw systray]$
And now for something completely different
In other news, I had the best weekend up at my grandparents on Lake Champlain, I’m going back there for the Labor Day Weekend too. Went water-skiing, slalom style and took a coule tries to get up at first (it’s been a while). Hopefully this weekend I’ll get some sailing and windsurfing in.
I also started working out at the gym again, I’m on a 10 week program setup by my sisters boy-friend who is an amateur body builder. It’s been a while since I’ve been in a gym but I’m thinking about playing Rugby again, at least for a little while. I need to look up some Boston clubs, but first need to get back in shape. I started running again about a month ago (I’m up to about 5 miles now) but good wingers can hit hard as well as run.
Posted in bdubya
More NetworkManager News!
A new release of NetworkManager (0.2) hit the streets last night, the new release is in Fedora Rawhide (latest) right now!
How to get NetworkManager
A lot of people have been asking me for this, and since NetworkManager is not a default component the system doesn’t “just work” in Fedora at the moment, but here’s some quick instructions if you can’t wait for that to happen.
If you have a system running Fedora Rawhide you only need to do a yum install NetworkManager to get NetworkManager up and running. If you’re running a latest Debian or Gentoo there is support for those as well. Here’s how I setup my system so I have auto-networking now.
Change the ONBOOT=yes to ONBOOT=no in your config files (ifcfg-eth0, ifcfg-eth1, ...) in the /etc/sysconfig/network-scripts/ directory. This will stop your network devices from trying to get a dhcp on boot, however if you run NetworkManager and are connected to a network this will happen anyway.
Add NetworkManagerInfo to your gnome-session, you could run gnome-session-properties and add NetworkManagerInfo to the startup
NetworkManager should be in your normal run-level so it starts up when you boot. If not, add it and you can run /etc/init.d/NetworkManager start
Now add the “Wireless Applet” applet to your panel to be able to switch from wireless to wired and between wireless access points.
Ta Da!
NetworkManager and sweet sweet Python
I spent a little time working on the a python object for NetworkManager so I could have a proxy to interface with instead of my applications having to know about D-BUS and HAL. Thanks to the hacking powers of Dan Williams NetworkManager provides me with the HAL udi string so I don’t have to search HAL for the object and can just reference it to get all the relevant hardware info.
Here’s some example code so you can see how easy it is to get information about your network.
from NetworkManager import NetworkManager
nm = NetworkManager()
# gets all active devices
device_list = nm.get_devices()
for device in device_list:
print device
# gets all devices NetworkManager has seen
device_list = nm.get_all_devices()
for device in device_list:
print device
# gets the current active device
active_device = nm.get_device(nm.get_active_device())
print active_device
Now you can take about an hour or so and write up your own applet or systray interface for this object. Here’s a screeny of the systray applet that I wrote up really quickly today. I also have code for a regular applet that I was hacking on for a little while, but since we provide a regular applet I didn’t bother to check it into CVS yet.
Python System Tray example using NetworkManager
Posted in bdubya
NetworkManger + D-BUS + HAL == Magic
I did a quick little hack today to show off how cool NetworkManager is, I created a Network Properties editor similar to that of the GNOME System Tools. It’s all pygtk code that hooks into HAL through D-BUS. As you can see from the screen shot I’m listing the available devices and which ones are active. I can also activate and deactivate the devices from this window (of course the applet is a little slicker interface for that). A simple properties dialog will most likely only take a little more coding, it’s really just about parsing the info given from NetworkManager and HAL.

Check out the real device name instead of eth something, YAY HAL!
All in all it was only about 120 lines of code with a glade file. Since that didn’t take long I did up a little architecture diagram of NetworkManager so people can get an idea of how it’s laid out. It’s really a cool design that allows for any app to understand the state of the network through the D-BUS service.
I’m planning on documenting up the D-BUS signals soon so that other apps can hook into NetworkManager to get network status. With this D-BUS service it’s possible for something like Evolution or other apps to have a D-BUS listener for when the network connection goes down (not just switches) so they can go into offline mode as gracefully as possible. Obviously the D-BUS signals are in a API_UNSTABLE mode right now, but they probably won’t change too much and it’s pretty easy to switch.
My next project in the queue is to add the NetworkManger/D-BUS support to my blog editor so that I can get auto-offline blogging and auto-posting when I return online!
Update: Just to clarify, that tree list is updated dynamically from NetworkManager/HAL, if you were to plug in a PCMCIA network card you’d see it there and be able to configure it.
Update: Here’s a quick command line example app that shows the network devices and listens for interesting signals coming from the NetworkManager. Obviously you need NetworkManager and NetworkManagerInfo running to use this. You can run the python code from the command line, you’ll see the current devices you have and if they are connected or not. If you disconnect or connect while the code is running you’ll see the D-BUS/HAL events bubbling up.
Posted in bdubya
New Threads
So I finally go around to creating that Havoc T-Shirt that myself and others in the office have always
wanted. Because they say its not about what you know, but who you know.
While I was at it I figured I could exploit other FLOSS super stars at the same time
First we have the “I Know Havoc Pennington” T-Shirt, it’s available in both a
Fitted and a
Long Sleeve styles. Wear with pride.


I Know Havoc Pennington
Robert inspired the
idea for the “I Blog More than Nat Friedman”
coffee mug.


I Blog More Than Nat Friedman
And last, but not least of our awesome FLOSS product line is the “Support YAMP” button.
Of course you already know
that YAMP
is the product of the great SNORP.

Support YAMP
Future Ideas
- Joe Shaw para Board of Directors [button]
- Robert Love’s New Uptopia [panties]
Posted in bdubya
BOOOGS
Went through tons of bugs today in an effort to shape up a lot of the ui-review stuff and general usability keyword bugs too. I really enjoy the BLOCKED_BY_FREEZE addition to the keywords, of all the keywords available it’s the one that makes me feel like things won’t get the double or triple version punt like often happens.
Posted in bdubya
Today’s useless crack
For some reason a lot of what I do in the day involves taking screenshots of applications at various stages and then using GIMP on those shots to create storyboards and other things like sequences.
I’ve been getting tired of trying to figure out what I named those screenshots afterward when I go to open them up so I hacked the gnome-panel-screenshot app so it grabs the window title name instead of the window class name. This makes screenshots like Screenshot-Google Search: jdub gman.png instead of something like Screenshot-Epiphany-bin-1.png
Here’s the bug I filed with the patch. I’m not going to claim that this will be more useful to anyone else but me, however I think it’s pretty nice for what I do and figured I’d at least share the love. ![]()
Posted in bdubya
That didn’t last long…
In order to be a good citizen of the world, I traded in my old SUV for a sedan. It’s a Subaru Impreza and so far I love it, it’s small and easy to park, plus the gas mileage is way better; I think that will make some people happier too
I’ve had this car for only about a week and I forgot that today is street cleaning day in my little area of Cambridge. So my car got towed to lovely Pat’s Towing. I was a little upset when I realized all this in the morning, but I can get over the $65 fee and get on with my life until I saw this.
The tow company had put my car in too closely to another car that looked like it had been there for over a year (and no license plates).

Despite the fact there there was lots of room on the other side, about 4 and a half feet. Not enough for another car to fit, but plenty to share the spot. You can see to the left the wheel of the Jeep on the other side.

So my car got this nice dent and some of the other cars paint on it.

Now I need to find out if and how I can get the cost of fixing my car billed to Pat’s.
Posted in bdubya












Recent Comments