Reboxing the box

To go with the changes in my working environment, a new style for blackbox 😉

Image Hosted by ImageShack.us

Since I left KDE in favor of more compact systems, I’ve found that I tend to change my layout of things less often. Most of the arrangements are calculated for muscle memory, and my visual patterns, and have become a set of very quick reflexes.

I don’t miss a taskbar at all, and have still yet to find an excuse to use the slit or dock in Blackbox lol.

I love this thing….

Laptop is under abusively heavy load compared to what my much more powerful windows machine does, but it’s still in a very usable state. If this system ran Windows XP instead of FreeBSD, it would be slow’n to a crawl lol.

currently running: 155~165 processes, 6 shell sessions, 1 x session, temperature is at 64.0 Celsius

  • X.Org is up and I logged in from GDM.
  • Blackbox is running with bbkeys, dcopserver, gkrellm2, and two rounds of fbpanel in support.
  • Psi, Pidgin, and XChat are running, with a total of 7 networks going between them (1 of which is freenode, with 3 channels open)
  • rxvt-unicode + gnu screen is open with 4 windows
  • linux-flock is running with 5 tabs and the mplayerplug-in streaming music
  • The www/firefox3 port is compiling
  • My vimbuild script is fetching/building a newer version of vim from cvs
  • I am csup’ing my systems copy of the FreeBSD source tree
  • And doing the write/compile/test rinse & repeat in vim 😉

This kind of workload, is fairly typical for me when running FreeBSD. On the windows machine, I don’t even bother – doesn’t take well to it :.

Strange behavior with this bit of C++

It has been a long time since I’ve had time to do anything in C++. So I figured it would be a useful way to limber up my memory, by implementing a little bit of my favorite Python classes/modules in C++. The only crazy thing, is the result this code has yielded.

// minimal program, using the code involved
#include
#include

extern "C" {
#include <sys/param.h>
#include <unistd.h>
}

namespace os {
bool link(const std::string& src, const std::string& dst);
}

bool
os::link(const std::string& src, const std::string& dst) {
if (link(src.c_str(), dst.c_str()) != 0) {
std::perror(NULL);
return false;
}
return true;
}

int
main() {
std::cout << "link()t" << std::endl;
os::link(std::string("./test"), std::string("/tmp/test"));
return 0;
}

compilation: /usr/bin/g++ -Wall -ggdb3 os.cpp test.cpp -o test

I compiled on FreeBSD 7 with the systems GCC 4.3.1 and get a segfault, then tried the code on my OpenBSD 4.4 machine. The OpenBSD 4.4 release has shipped with a patched GCC 3.5.3 (propolice) – on OpenBSD it ran perfectly! Trying to feed it through the debuger on FreeBSD wasn’t pretty either:

  • FreeBSD 7, system GCC 4.3.1 -> test program dies with a Segmentation Fault.
  • FreeBSD 7, system GDB 6.1.1 -> Endless stepping when used with a break point, or SIG SEGV in libc’s malloc() when run.
  • OpenBSD 4.4, system GCC 3.5.3 -> prints proper message from std::perror() as expected, when the program is executed.

If I change os::link to os::link_x and recompile on FreeBSD, it works the same as it does on OpenBSD, when unmodified that is. In a few tests on FreeBSD, When I run the program under GCC, it tells me

Program received signal SIGSEGV, Segmentation fault.
0x281fabc3 in malloc () from /lib/libc.so.7

if I set a break point in test.cpp on the os::link() call, and step through it into os::link() in os.cpp. If I keep stepping after the link(), I get returned to the os::link() call in main and can step through it all again. Like an endless loop of stepping into/out of the os::link() function call in test.cpp’s main(), and the if-conditional in os.cpp’s os::link(), geeze.

At least looking at the results I’ve had tonight, I know I’m not freaking nuts… lol. I still shouldn’t write code when I’m half asleep, but hey… It’s the only time I get :, Oh well… unless my family is late as usual, I need to be up in a few hour.

*head hits laptop, snores loudly until morning*

TODO FRIDAY

Adapt header to i386/amd64
Adapt header to supported compilers
Finish implementing the module
Test module with (puke) MSVC++

I put Stargate on and decided I would lay down for a few minutes before getting online; last thing I remember is O’Neil and Jackson being captured and about to be brought before Ra. Next thing I know, I wake up out of a sound sleep to see some show on depicting a 2 on 1, like wtf!? I slept through Stargate!!!

That’s what I get for taking a nap, instead of camping out in front of a computer lol.

N I’m wide awake and glad that unlike the rest of my family, I don’t set my TVs volume loud enough to be heard from Kansas..

Hooah a stroke of luck!

Just caught Top Gun starting a few minutes ago, usually I always find it on after the first halfhour r so; but my favorite part is in the beginning. They’re dancing with the MiGs, when Maverick and Goose end up inverted above the MiG, almost canopy to canopy -> Mav gives’em the bird while Goose takes a Polaroid of the look on the other pilots face xD –> Priceless !

Managed to get through work today in one piece, singing a song in my head to keep my mind else wheres; but not to bad a day overall, I guess. I don’t really have a problem with working a lot, it’s having to scrimp and scavenge my time whenever I’m /not/ working. My family drives me nuts at times…. and after work tomorrow, I’m expecting a headache with what’s planned.

I did get to have sme fun today though, joined PG#3 for a few games of SWAT 4. My custom skin is labeled 3.x.x beta, but I think unless I find any visual bugs of interest that it will probably be going gamma soon. I really like how the last take on the NWN BDU came out. The no armour vest didn’t come out as intended, but I kinda like it, really might pass as “no armour” if it wasn’t for the dang games design.

I can’t wait for the weekend…. I outa be off Sat/Sun/Mon, and I’ve got a projects meeting n Sunday. Hopefully it won’t take forever to pull off, but I might get some of the other days to actually get stuff done on, hopefully anyway…

Just a little bit of time left until it’s time to leave from work, and odds of getting any work done before are dismal. (be lucky if I get time for lunch :). I was up to after 0500R, getting woken up at the crack of dawn, and dragged out on a shopping expedition around 1000R. Tomorrow is 2 jobs, so that’s the end of getting anything done then; but luckily one is short… it’s just the margin-time on pre and post op that’s the killer.

sigh

I really need a vacation…………..

but that’s not likely to happen, before the next ice age lol.

Been wprking on several things when I can, and playing a mixture of games whenever I can’t work on crap. *SIGH*

TODO: compile a more detailed analysis on all possible solutions (and their implications) to the meetings point 0 topic.

sounds like mental fun, if it wasn’t for family to drive me nuts and reck my train of thought every chance they get lol.

QTOD

While ProgramName always endeavours to protect its users from unnecessary harm, it will not stop you from ignoring the big red warning signs.