Recent blog entries for lange

Gosh, it's been a while.

Stack trace:

Passed Compass onto Ted to continue developing. Figured it'd be good to have someone actually using Windows maintaining the source code.

I've been working with SystemImager and CFengine to create a method of automatic installation of our compute cluster and workstations. The great thing about SystemImager is that as it's rsync based, you can upgrade or install new software on any one of the clients, and have those incremental updates automatically propogated to the rest of the cluster. Setting up OpenAFS and Kerberos with Cross-Realm authentication was remarkably straight-forward! I'm planning on putting up a website with all of the modifications we've made to SystemImager, scripts that we've written, and some custom-compiled .debs (ssh with Wilkinson's TGT passing, for example) for other people to take advantage of.

The other day, I started playing around OfflineImap, a nifty python utility to keep a remote IMAP server and a local Maildir synchronized. (Ah, the joys of using mutt on my laptop in disconnected mode and having those changes automatically propagated to both the server and my desktop...) I've started fixing some minor issues and making modifications to the codebase to get it to play nicer in a backgrounded daemon mode that runs all the time.

Oh yeah, I now have a personal diary. Sometimes I even update it. :)

11 Mar 2001 (updated 11 Mar 2001 at 07:34 UTC) »

Ah, the days when Compass was young, and had extranneous lists dependent on window state. Sigh. How foolish we were back then. Of course, it was only yesterday. But still, it's good to reminisce.

Recent changes:
o  As noted above, the active/hidden window list structure 
   has been supplanted by a single window list per 
Desktop.  
   Much nicer.

While this doesn't seem like a lot, this sets the stage for MouseMove, and was one of the few pivotal changes remaining for a version 1.0 release.

Features remaining:
o  MouseMove, Ted's baby.  Was blocked awaiting the changes
   committed today, should ensue shortly.  (Ted)
o  Resolution change support.  This is fairly important, and
   still unclaimed.
o  Sticky window recognition via Window Title as well as 
   Window Class.  (Donovan).
o  Wraparound preferences for StepQuadrant/Desktop.  
(Donovan)
o  New actions:  Quit, GatherWindows, Toggle Sticky, 
   ShiftWindow.  (Various unclaimed.)
o  Low Priority:  Theme colors.  (Unclaimed.)

Bugs: o As a result of the major changes, the development branch doesn't handle stickies quite right (barely inconveniencing, but still wrong). All desktops should share the sticky window structs, with relative positions stored in them rather than absolute. This should be fixed soon by Donovan. o Possible bug report (unverified) of Compass assert-ing when run without Registry settings. Needs verification, and possible fix. o With new changes in the code, the code should be run again under purify to verify good memory management.

Minor, cosmetic changes: o Quadrants should be indexed via 0...(n-1) rather than 1...(n). (Open) o Keep the selected desktop's index, rather than a direct reference in WindowManager.c. (Open) o Cache the selected quadrants of the selected desktop in the WindowManager subsystem. (Open)

If you've thought about developing, but haven't started yet, now's your chance: Dig in!

A lot has happened, and I'm sure a lot of it won't make it here.

Compass has been building a lot of momentum! First of all, lemme reiterate: Ted is da man. Say it with me folks, "Ted rocks." Not only might you see MouseMove in the near future, this guy committed an initial version of ActiveWindowDetailing and a froody new icon. In fact, I think I receive a good five emails from him every morning about Compass development issues. (Taiwan being 13 hours ahead of GMT -5).

This is not to say that I've been fruitless in my efforts either: Hotkeys are now fully functional, I made some modifications to ActiveWindowDetailing, fixed a couple of major bugs (Office toolbars are the weirdest things), and had time to squeeze in some new preferences in my spare time.

Seeing things come together is a great feeling. :)

Speaking of seeing, hopefully this means that you should be seeing a public release soon. In fact, I'd like to have the first public release of Compass coincide with a version of the Virtuallab (work-work) all in celebration of a new semester of classes. And for dinner tonight, we'll be serving... yes, stress.

I finished reading Ender's Game and am now on to Huxley's "Brave New World" (both XMas gifts from John :) Ender's Game was a great novel, and hopefully I'll make a dent in Huxley before my DVD player arrives. If you don't see a diary entry here for a while, check inside my TV.

Personal Revelation: I realized this week that it doesn't hurt any less to dump someone else, than to be dumped by them. It still sucks.

Saturday -- the day of rest, goofing off, and much Compass hacking.

Accompanied Rea to the mall, followed by the movie "What Women Want". Mel Gibson can be extremely amusing at times, and Helen Hunt always is. I'd reccommend the movie to anyone as a solid, entertaining experience. (Sinatra laden soundtracks always help.) :)

Compass: I finished the (hopefully) last of the Z-order list creation optimizations -- everything works much better now. In addition, I also threw in a quick implementation of a Snap-To feature, which I find really fun to play with!

Ted and I nailed down the list of growing tasks earlier this evening. Wow, you might even say that we're organized!

Speaking of cool new features, Ted finished up his latest Christmas hacking by contributing the new Geometry code to store the relative placement of Pager Windows. Someone treat this guy to a Spiked Eggnog!

On to Hotkey support, and then that promised alpha build might even appear on an updated website. But only if you ask Santa really nicely. ;-)

23 Dec 2000 (updated 24 Dec 2000 at 04:02 UTC) »

Wasteful day today -- John and Sarah left for vacation. (Airport trip, fun!) Ah well, the next three weeks is quiet time to devote to Compass. ;-)

Speaking of, I've been running pretty stable here with the latest build. Try it out!

Things to work on next: more experimentation with building the z-order list, adding a mutex to prevent multiple program instances running simultaneously, and user defined hotkey support. This last one should be pretty important, as I'd like to emulate Sawfish's ability to allow the user to switch quadrants while keeping the focus'd window visible. (Not to mention hotkey support for switching desktops.)

Fun, fun, fun. :)

Of course, all of this is dependent on my ability to put down Cryptonomicon, which I'm reading for the second time! Neal Stephenson is GOD. If you haven't read In the Beginning was the Command Line and Mother Earth, Mother Board I'll assume for the record you've been in a coma for the last five years and forgive you.

dL out.

Focus bugs can kill a man. (Or at least a program.)

A lot has happened on the Compass front these last two days. Maximized windows are now handled correctly. Compass now runs correctly on Win98 (and by association, hopefully ME as well). I also modified the way windows are shown to construct a new, meaningful, z- order list. This led to many beautiful and stunning bugs relating to the way windows interprets HWND_TOPMOST windows in the zorder.

All fixed now.

*I hope.*

I started putzing around with snap-to windows. Looks like it'll be fairly straightforward, but I might pass this feature up for now in favor of Hotkey support or mouse- moving.

Being sick sucks.

<sneeze>

Diaries have always intimidated me. Maybe it's the persistent commitment, always bugging you for attention. Or perhaps it's the guilt of having failed every other diary in the past. What next -- diary jealousy?

Ted and I sketched out a battle plan for dividing up the remaining tasks on Compass's initial to-do list. These include fixing some of the initial bugs (admittedly rare, and non-fatal) we've seen in the Window multiplexing algorithm, a snap-to feature on the pager windows, and a couple of issues with Z-Order. Hopefully, I'll be able to tackle these tonight or tomorrow. On a side note, it's fairly exciting to see the program reach that "useable state"!

I'm also going to try to do some searching to determine why we're experiencing issues when running under Windows [95|98|ME]. There are times when the Win32 can be slightly frustrating. :(

Who knows, if I get these accomplished, you might see a first beta (alpha?) release later on this week!

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!