Older blog entries for Svartalf (starting at number 43)

16 Jan 2006 (updated 16 Jan 2006 at 04:32 UTC) »

Wow... A new year. Too bad I'm still fighting aftershocks from the previous 4-5 years. My hope is that things WILL be better VERY shortly (Can't say for certain- or even the what, for that matter- YET.) and I'll be in a much better position, financially, etc... Haven't signed the papers on the note refinance on the house (ugh...) but they finally got 'em to me- so I should be getting those back to the Mortgage Company shortly.

Things are looking up. And then, I find out that there's not going to be a Linucon 3 (Yep...) this year... Sigh... Well, good thing I managed to attend the inaugural one- it was a BLAST. (You know that little piccy of the Con Chaos machine being threaded through the chandalier of the hotel? Well, I was one of the several lunatics that did that! Boy that was fun...) Seems that Rob's moved elsewhere (Pittsburgh...) and they can't seem to score a ConCom Chair in time and don't want to go and push themselves through the fun they put themselves through last year with Linucon 2. Perhaps next year, they say... Well, yeah, but it's kind of difficult when you lose momentum like this. I'm hoping that they find a ConCom Chair (Hm... If only I was in Austin or they chose to hold it in DFW... :-) so that they will come back like the Phoenix from the ashes.

Anyhow, on to various topics...

Ballistics

Sigh...

Ever have one of those projects? You know, the one that just doesn't ever go away? Well, this is MY current project of that nature...

Don't get me wrong. The game's great and the bulk of the code is, while perhaps not as efficient as I'd like it myself, clean. I keep fixing things only to have OTHER things break on me. I fix the network problem by wedging in RakNet on a moment's notice only to have a severe crash-bug on some of my machines, and not others- because of a GCC problem. Now I'm going through cross-compiler hell to get this all straightened out. Hoping to have something out before the end of the month.

RakNet

If you've NOT heard about RakNet, and you're doing games development with a GPLed game, or a commercial game, you might want to go over to Rakkarsoft's Website and kick the tires a bit if you're needing network code. It's dual licensed, GPL for those who're dinking about with code to make Stallman's eyes light up and put a smile on his face, and a free of cost license (Requires an application to be sent in and approved so they know you're using it, etc...) for Commercial and other Open Source licensed projects. It's easy to work with (I got it swapped in on my OpenPlay based port of the network code for Ballistics in one night.). It's better, capabilities wise than DirectPlay and OpenPlay (It includes things like Voice Chat and Reliable UDP (OpenPlay doesn't DO RUDP...)). It handles SIP STUN-like boring tunnels through firewalls (if you've got a master server to handle the exposed IP's like SIP's STUN does it...). It's completely cross-platform to any platform that supports BSD sockets or WinSock2.

Basically, there's no good reason for someone to be doing DirectPlay code these days (Not to mention that MS themselves have been telling people that they're deprecating it- and to roll your own network layer or license a 3rd party one...). If you don't want to roll your own, there's several different ways to go- RakNet, Torque Network Library, Quake3's code, etc. RakNet stands out because the classes are clean, the code simply snaps in place, and it just works- and it's quite cheap to use... :-)

Verizon FiOS

Ah, what it's like to have Broadband...again... I won't bore you all with the details, but suffice it to say that Verizon oopsed on my DSL service in a way that left me without high-speed connectivity for a little over three weeks at the house while I waited for FiOS to be installed and lit at my house. However, with how things work now, for what I spent on DSL service, a single fixed IP, I now have about 10+ times the speed from start to finish to the Internet and 5 fixed IP's. Not bad, eh? I won't tell you all that it's the best in the world, but it DOES work nicely and people generally seem to think it's good. I wasn't happy with how it went down, but the performance, so far, has mostly made up for the comedy of errors that went down over the holidays.

The Laptop

Well, I got NDISwrapper to load the right firmware for the onboard Broadcom WiFi- after a rather long search for the right firmware image for MY adapter. It's not the one you'd think. Got the ATI support working; sadly it's not QUITE what they made it out to be- or what it's like on Windows (At least with the Laptop chipset, that is... I've got serviceable games play (i.e. It will render Quake4's demo without any real fuss...) with my work machine.). It's not stellar, but it wasn't supposed to be. However, for some things, some games, it's decently fast. For others, it bogs down evilly. I don't know if it's due to my needing to turn on the extra 128Mb of UMA memory use to be able to use the drivers- something that Windows doesn't seem to have a problem with. I've already logged a problem report and a general complaint with ATI, not that I'm thinking it's going to be of any use there. No, I don't think they're not listening or trying to improve support- they just aren't allocating enough people to the task in question if the Team lead for the Linux driver is to be believed. This is one of those things that probably shouldn't have happened in the first place. I should have been able to use the SidePort integrated RAM by itself- there shouldn't have been this little problem where X.org hangs hard if you don't have 128Mb of UMA RAM set on. Windows doesn't have this issue. There really IS no reason why it should be any different under Linux- unless they've done something stupid to get there under Windows. If that's the case, don't bother with it next time, guys. Stick with onboard/integrated memory or UMA, but not some ersatz combo of both.

Well another Thanksgiving come and gone... Many things to be thankful for- including getting my house's payments back out of their in-arrears status that they've been in since the start of the painful saga of the downturn back 5 years ago.

Ballistics

It just goes to show you, just when you thought things were done...

I finish the VBO support fixes (the bug alluded to in the previous entry...) only to have a stupid network problem crop up. This one requires us to either jump through hoops to get it to work right or replace OpenPlay with something else. Well, I happen to have the something else in place, and I think it works, but now the silly thing crashes on start with at least Mandriva, but not Fedora Core. The burning joys of ABI issues with C++... We're getting something out, by hook or crook- and it's going to be to our standards. It's just that it's not happening like I'd thought it would in my last entry... :-)

Laptop

Got the PCMCIA working with the stock Mandriva stuff (Why they defaulted to turning the support off, I don't know...), but I'm still out of the running on ATI support. Seems that while the drivers say they support ATI, it's apparently at least a little different with my setup the way it is... And, I still wish Broadcom would support us better- it'd be nice to not need my old Prism 2 card... The thing's really, really nice though. More than enough horsepower for most of what I need it for, DVD playback capabilities, four (!) USB2 slots, 1 Firewire, and niceties like being able to turn off the touchpad with the push of a button so that typing (like this) isn't an arduous task becuse of the touchpad taking the occasional tap from your hands as a mouse move and messing up your work.

Wow... November... Gotta do better on posting updates to this thing. Well, I've got good reasons...

Ballistics

What can I say? It's taken about 1-1.5 years longer that it ought to have. Part of that is due to my not being quite available because of details of trying to keep a roof over my head, etc. Part of it was due to the same things bedeviling my teammates. In the end, though, I guess one could say it was worth it- at least as a learning experience. Anyhow, barring any other nasty surprises (like this last-minute one that has delayed us another 3-4 months on release...), we should be going gold with it in another couple of days now. I just zoomed the last lingering bug, something that was objectionable to us, but didn't really prevent us from shipping. Something that would have raised the minimum system requirements at least a little bit. When I say just zoomed, I mean that I've just now did the version control check-in, having verified the program working cleanly on NVidia cards, working "well" enough on ATI cards to claim that the issues are more driver ones with a plan to work the issues out with ATI shortly. It feels GOOD.

Open Embedded

Well, I'm still keen on using this, but I've yet to get a clean build out of the full Monotone checkout. So, I guess I need to spend some time trying to figure out what I need to winnow out the stuff that's causing problems and come up with a clean build set for my purposes.

Laptop

Just bought an AMD64 laptop with an ATI adapter (HP Pavilion zv6000)- it was entertaining trying to get a Linux distribution onto this thing. Only distributions I know of that go on without much of a hitch is Gentoo, Slamd, and Mandriva. Of those, I've only experience with Mandriva (but suspect that Gentoo would end up working fine...)- and it's got some small issues with it's use. Every other distribution will invariably choke somewhere in the middle of the install. Mandriva has a slight problem in that there is a bug with PCMCIA support on this laptop that expresses itself with the AMD64 architechture that is fixed in version 2.6.14 of the kernel, but Mandriva ships with the 2.6.12 version. Can't fault them for that one, per se, but I wish they'd make all the little tweaks they apply a little easier to apply for oneself so that someone could do what I'm needing to do- grab the latest and greatest and fix their machine. Anyhow, I've got that mostly done and working, with me needing to sort out the Radeon setup and coming up with an RPM set (as promised) for people with this situation. Decent enough laptop for the price I paid for it (~$1000 over at Fry's...); while I would rather have had a more aggressive AMD64 laptop, $3-4k is a bit outside the budget (The budget was stretched a little bit to accomplish my current purchase...). I just wish that Broadcom would follow in the footsteps of Intersil and do the right thing with their 54g chipset- there's nothing to be gained by continuing to keep it all a secret and it's QUITE obvious that there's nothing special about the software radio stuff that merits what Broadcom's telling us (Otherwise, Intersil wouldn't have open sourced the Prism 2 stuff...).

22 Jul 2005 (updated 16 Jan 2006 at 04:20 UTC) »

Hm... Another year alive on this Earth- another year older. Birthday party went decently enough; the week of my birthday was nothing to write home about. Laurie was in the Hospital for mysterious stomach pains up in the 10 range on their little pain scale. She's home now and doing sort of okay- but they still don't know what caused the problems. (I'm none too happy about that, mind...)

Well, on to updates...

ANet

This is pretty much being scrapped. Michael and Company's found a way to allow OpenPlay to work more like it was supposed to so we're running with that for Ballistics (as soon as we can find the engine bug with NVidia's latest drivers- either ours or theirs...). Michael arrived at the conclusion, to which I agree wholeheartedly, that most of the frameworks we have in hand are nothing more than bloated beasts to begin with and he's started, yes, yet another library designed to be an easy drop-in for DirectPlay. No word yet on whether he's succeeding or not, but I'm willing to let the man try it- it's the same thing I was about to do in light of the issues I had with ANET, I just didn't have enough time in the day to do it right at the moment...

Open Embedded

While I've had some issues with the way people are generally treating newbies and the lot with this project (and still DO )- the project itself has raftloads of promise and I think I'm going to use the metadata and build system to frame in my own embedded distribution for media-box/game console use as well as for Coollogic's use. (No, still no final word on funding... Can't say any more than that...)

JXTA/JMF Related Projects

Well, I had to sideline these for a while (no time...) but I'm beginning to pick them back up as they had promise (still do) and I'm interested in pursuing providing the world with a decent P2P IM/Chat/Video-conference application. Don't know if I'm going to bring in SIP support for this stuff; while SIP is the "way to go" in this arena, there's no standards for the meshing support needed and all the players out there seem to be using proprietary (which is bad mojo) solutions and while they claim Linux support, it's pretty much impossible to get a Linux version of any of them at this point (which I consider flatly unacceptable...). If it works solely with JXTA, then there's no sense in doing SIP except for allowing SIP clients to join in to the mesh from the edges or to allow a client to dial out to the rest of the world- which can be handled by cribbing source from SIP Communicator...

Long time, no post.

Still haven't gotten back to any of the Open Source projects yet, but things are dramatically improved. Things are looking up and I think we're going to be on an even keel by the end of this month, middle of next. Got quite a few creditors that we still owe money, but soon...soon... Should be clearing some real money doing work for a small financial trading interest while I wait to see if Coollogic gets their funding (If's really, really too strong a word, considering what I know, but I can't say what is actually happening on that front because of NDAs and all... But, with all the pain I've went through over the years, I'm going to harbor some small doubts until I see the end of it- even if I know it's actually going to happen...) and I should be largely back on track with finances, etc. by next month at the latest.

On a different subject, I found the company that makes PC keyboards the exact same way IBM used to make them. Why would one want one of these old "clunkers"? Because of the positive feedback and solid performance of them- they're like tanks and can shrug off all kinds of abuse that'd kill other, lesser keyboards. Go on over to Unicomp and check it out. Gamers should love the snappy response these gems give to you.

Well, on to the Open Source notes...


ANet

Well, I'm in the process of attempting to resurrect this library. While it was something to speak of in it's day, it's a little crufty- and makes assumptions about things that aren't 64-bit clean. I'll hopefully know more about whether or not I've been wasting my time or not in another week or so as I find time to finish an integration of it instead of OpenPlay in Ballistics. I was hopeful at first, but it's not looking as rosy right at the moment...

JXTA/JMF Related Projects

Ended up getting laid off from my Contract back in March (Damned shame really, he couldn't afford my services because of investor problems- and he's just short of getting his products out the door...) but I've been continuing working on the Java based projects with his blessings. Most notably, there's two frameworks, JXCube and P2People. I got an older CVS version working of JXCube and I reverse engineered the final binary of P2People so that I now have clean compiling code, etc. In the case of JXCube, the video conferencing stuff's kind of kludgy and probably should be re-done as it's streaming raw video and audio, using the Java Media Framework only to capture. (A pet peeve of all of this is that while Sun seems to "rely" on JMF for some of their initiatives, everyone, Sun included, seems to treat the whole thing like a red-headed stepchild... Poor docs, no real books on the shelves... Hmph!) It's going to need some overhaul using snippets of code from P2People to make it work the way it should, using JMF to stream RTP via normal means, SIP/STUN based means, or through JXTA... In the case of P2People, I've got some overhaul to do in that it's been written against JXTA 2.1.1 and things have changed up in the form of crypto code, etc. The code compiles right now, but it's not happy w/1.5 of the JDK. I expect to have working P2P Video Conferencing using Java shortly- if the stuff works decently enough- I've still got loads of reservations. If one could make GnomeMeeting a little less Linux-Centric and could find some way to manage all the P2P capabilities within a SIP->H.323 bridge that also ran on the machine, it'd rock. Well, I don't plan on letting the Videoconf stuff go by the wayside, too useful...

Various Embedded Linux Projects

Haven't worked on this for a little while, but as things slow down a bit around home, I plan on revisiting my energy management solution system code and working on the embedded packaging and LiveCD solution for stuff as time permits. When Coollogic gets things all straightened out, I'll probably shift focus to doing this stuff. Should know more on this by end of next month one way or another... Just went over to the DirectFB site and was anything if not impressed- quite a bit of support there now and it's pretty robust. I expect to be able to use the UniChrome support shortly on my EPIA setup and I plan on coming up with something to work with MythTV- sort of a Media PC/Gaming Console. Yeah, yeah, I know- everybody and his dog has attempted this and failed. Well, I don't plan on making money at the boxes themselves- I just plan on making up a distribution that provides someone with the right toolbox to make one for themselves with minimal fuss.

TuxTag

Well, it's not been forgotten and it's mostly waiting on free and available funds to afford the purchase of a few parts. I'd sidelined it, waiting to see if the bunch that claimed to be almost there were going to produce results or not (Why put any real effort into the project when they're going to do nearly as well as I could- it'd be better if I got along with them to combine forces...)- which they haven't. Expect a possible resurrection of the thing in the future as I move forward with one of the needed components of this project, the embedded distribution system.

Linux TabletPC Project?

I just got a demonstration recently with MS' Windows Tablet Edition. Nice. Too bad it's got Windows at it's core. But then, it got me to thinking. Why can't we have the same capabilities under Linux- and I don't just mean a touch keyboard on the screen like Lycoris did. What's keeping us from coming up with similar capabilities for Linux? Oh well, food for thought, eh?

Well, well... New year, new posting.

Haven't gotten back to any of my stated Open Source projects, but it looks to be that I'm going to be duffing about with some new ones as a consequence of my contract job (the one that pays the bills), LGP (Fun job...), and Coollogic (The "longshot" that I'm sharing spare time with LGP on (mostly on this one at this time...)... Won't bore you all with the details- suffice it to say, things should be a lot rosier by end of February no matter HOW one were to slice it.).

ANet

In the case of LGP, I'm going to resurrect a networking library that worked, worked well, looked similar to DirectPlay on an architechtural level, and was used to produce over 20 commercial titles and was used in several Linux ports done by Loki Games that interoperated across Linux, MacOS, and Windows machines. Once modernized, while it won't be the greatest, it'll be a good arrow in the quiver of game developers and porters that will work across multiple OS platforms comfortably.

Various Embedded Linux Projects

In the case of Coollogic, I'm expecting to further several different user space drivers and create a few new ones as well. Current C/C++ based X10 control libraries do not include support for the LynX10-PLC interface (Something we need to at least get to a demo stage with some of our projects we're working on right now) which is purportedly suported in MisterHouse, so I'm going to add code to the C/C++ libraries because I need those instead of Perl. I'm also planning on coming up with some API libraries for several previously unsupported sensor devices, including some 2D MEMS based accelerometers available from SparkFun in Colorado. I have some other plans in mind, but our budget at Coollogic will probably have to allow for another developer or two dedicated to embedded distribution development to be able to honestly do them as I'm kinda stretched thin (When am I not, right? :). However, if things pan out the way they should, Coollogic's expecting (and this is the CTO speaking on behalf of his company here...) to provide a couple of nice gems for embedded Linux development, pooled from the amazing work people have done on minimalistic LiveCD's and other work we've done in the past and in the present on things.

On my contract side, we're looking at some JXTA based stuff to backfill some of their services offerings. Can't say more than that at this point in time on that part of things

Wow... Has it been all that long? Well, I was unable to find the memory issue in the code that was the long tent pole in the release schedule for Ballistics- due to time constraints more than anything else, so I handed off the code to one of the other developers. We should be seeing some results shortly on that front- if not, never fear, I will be coming up with something other than OpenPlay, from which I believe the cause of some of the last issue stems from. OpenPlay's got it's place in the world, but I don't know if it's with LGP or anyone else. You see, the thing's got issues with Firewalls, and there's better solutions available for nothing or next to nothing that do a better job of things AND allow us to do a better job of making things look like DirectPlay. We should be seeing Ballistics, hopefully within the next couple of days.

Coollogic was supposed to have gotten the funding, but it did not happen yet. Should know a lot more by this evening- supposedly, the big bridge from the VC is due to be wired into our account by this Friday. If so, things get a whole lot easier for me and everyone else at Coollogic. If not, well, we've got alternatives to keep things going a while longer. I'll believe it all when I see it happen, but I'm hoping that I'll be pleasantly surprised this evening with the update from our CFO.

Hopefully, I will be getting back to my Open Source and other pet projects once things settle down... (Me, have things settle down- not bloody likely mate! :-)

22 Jul 2004 (updated 22 Jul 2004 at 21:12 UTC) »

Well, well, well...

A good month to say the least.

I survived another year on this Earth.

I'm about to close out the last issue in Ballistics. (This means it goes gold soon).

Coollogic is about to close on it's funding (Finally!!! YES!!! :-)




On another note, I got a lesson in why one should be careful about blogging- I had to excise a few ill-advised comments from this diary (I will say that I had reasonable cause in my defense- but it's still causing me to work just a little bit harder than I should have to because of the rather stupid things I put on here.) and go about asking Google, etc. to purge their caches...

I'm convinced.

The current means for providing AMD64 32-bit support within a 64-bit Linux environment is a BAD thing.

Split directories, one set for 32-bit (/lib, etc.) and one set for 64-bit (/lib64, etc.). It confuses the hell trying to make a cross-compile setup. It leaves it open for you to miss libraries on either side, causing you to not be able to do the stated thing, run 64-bit binaries alongside 32-bit ones. And it confuses the hell out of each and every automake setup.

We all need to really, REALLY re-think this idea. There's a need/desire for someone to run 32-bit applications- but this isn't the way to do this. Do I have answers for this? Not yet- I've not had the time to think about it seriously.

Here's a little gem of wisdom that I wish other coders and developers would figure out:

Pointer Values != DWORDs

Reinterpreting them to DWORDs causes no end to problems. Yes, on a 32-bit platform, they're DWORDs. On a 16-bit or 8-bit, they're not- they can either be DWORDs or WORDs depending on architechture. On a 64-bit machine, they're QWORDs. If you want to make a handle, in other words, an opaque pointer, declare a typedef for void * and go to town. If you're recycling something that was intended for use with DWORDs or INT32s to handle indexing or tracking pointers, you might want to take the time to think about and re-think your design to use the right data types.

These are the same silly things that I saw with migrating DOS applications to Windows. It's the same silly things I saw with migrating Win16 to Win32 applications.

It's so easy to write code in a manner to avoid this stuff, I guess that I'm amazed that I keep finding gems like this in modern code.

34 older entries...

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!