Over the Past Year I started the year off with no new year's resolutions. And I stuck by every one of them! Spent Valentine's Day with Elissa experiencing a rare snowfall in Austin. We went outside and had a snowball fight and made snow creatures! I was sick as a dog over my birthday in March, but still managed to speak every day at Real World that week. I also got to see mom and dad when they drove down to Texas to spend the week on the coast. April and May were rather uneventful months that I was mostly
December 2004 Archives
I know I've griped about comment spam before. But this is just ludicrous. I woke up this morning to 94 pieces of comment spam. And throughout the day I've gotten another 67 messages (as of now, and the day isn't over). No one should have to put up with 150+ pieces of comment spam. That's just insane. It's about 6 comments an hour for the entire day. Thankfully the spam filtering I wrote for the blog has caught every single comment and none have been publically posted. The current deluge is using spoofed IPs, so I can't track them down.
So I thought I would donate some money for the tsunami victims (not that I'm entirely confident that the money will be used properly), so I started looking thru the list of charities from CNN. After checking out 7 or 8 that I thought would get most of my donation to real people instead of government officials, and not a single one accepts PayPal donations. I am rather sad about this. I have money that I'd like to donate in my PayPal account because that's where I keep "spare" money such as donations from my site, things I've sold on
There's a bowling party tonight at Sartell lanes starting at 9pm. If you're reading this, you're invited to come bowl and drink and have fun. Feel free to bring a friend along as well. I seem to recall it being like 1.50$ for shoes and something like 3$ a game. Bring 20$ and you should be fine for the night. If the weather is really crappy (they're saying rain, sleet and snow all day long here), then be sure to drive safe! Hope to see a bunch of people tonight! It should be fun. :-)
So as most of you already know, I am planning on moving back to Minnesota this year. I miss family, friends, the area, and everything else that goes along with those things, and it's just time for me to move back. Part of the problem with moving back is what to do about a job. I may be able to work remote for REAL Software (Joe and Mars already do it), but then again, I may not. So instead of banking on Geoff letting me work remote, I've started searching for a job here in Minnesota. This may also be
I recently replied to a post on the NUG from a user who was wondering why PPP doesn't seem to work in Mach-O applications. This brought something back up to my attention that I had forgotten: Mach-O and Linux applications don't support PPP at all in REALbasic. You can use PPPConnect, et al as much as you want, they won't do a thing -- they're no-ops under the hood. REALbasic has been compiling for Linux and Mach-O for quite some time now, and this is the first time anyone has even noticed that this functionality is missing. That makes me
So Microsoft needed to come up with a way for a programmer to get and set system information, such as whether menu fading is turned on, or how quickly tooltips fade, etc. So they came up with the API for SystemParametersInfo. On the surface, this API looks quite harmless -- it takes a whopping (and obvious) four parameters: A constant for what piece of information you wish to query or mutate A 32-bit integer for setting information A 32-bit pointer for getting information A bitmask for whether you want the change to be persistent across reboots or not That's the
You walk into your Mad Lab and say hello to your Mad Assistant (named Mad Skillz Sally) and get ready to face another day as the world's best Mad Scientist. Your duty today is to combine to animals into one animal. That's right... you can take any two animals in the world and make a single animal out of them. What animals do you chose? What do they create? What's the name of your new creation? Me? I'm going to combine a baby seal with a platypus. The seal, because they're so damned cute, and the platypus because it's an
Ok, last time this week, I swear! ;-) Version 1.2 is out, and it's now being hosted on the main site. You can get to it here, or under the programming section. This release fixes a number of bugs, but also adds another cool new feature -- the preview window. Here's the full change log: Fixed a locking issue with the preferences window Added a preview window Can now sequentially select wallpapers instead of only randomly Closing about box while preferences window is open no longer closes the preferences window Can now select a wallpaper from the listbox with the
So I was trying to figure out how to keep my wallpaper changer application a single-file executable, but easily include ChangeLog information that shows up in the about box. So I figured, hey, I'll make a change log and embed it as a resource into the executable. Then I can just load the resource up at runtime and dump its contents however I want. w00t. Well, this is a hard thing to figure out how to do when you're not too familiar with how things really work. So I asked Jake for a bit of help, which he graciously gave
and Happy Holidays! I hope this season finds all you in good health and with happiness. Was Santa (and family/friends) good to you this year? Leave me a list of the cool items you obtained! Here's the stuff I collected: A bunch of tshirts (such as Lou's awesome "Classically Trained" t-shirt with an NES on the front of it!) Some long-sleeved shirts New pants! w00t! MegaMan Collections for the PS2 Gift certificate for Hot Topic Some winter decorations An awesome new cookbook! w00t! Of course, one of the things I wanted for Christmas I didn't get. The Vikings mangaged to
One of the things I promised myself that I would accomplish on this trip home (aside from seeing family and friends) is reading books. It's so rare that I get the chance to sit down and read lately that I've been really looking forward to doing is reading. So far I've managed to read: Harry Potter and the Order of the Phoenix by JK Rowling. King of Foxes by Raymond Feist And I still have these books that I'm hoping to finish: Harry Potter and the Chamber of Secrets and Harry Potter and the Goblet of Fire, both by JK
Did you know that it's illegal to eat hamburgers on Sunday in St. Cloud, MN? Yup... http://www.deanesfield.connectfree.co.uk/magaz/lwfd.html http://forums.thegaminguniverse.com/archive/index.php/t-13269.html http://www.imanass.com/dumbasslaws/m.html Along with many, many more...
Ever wonder what to call all those letters you see in non-english languages? Well, now you know: æ is called a "dipthong". (is not an accent character) When you see a ^ over a vowel, you're seeing a "circumflex". The ¨ you see over vowels are called an "umlaut". ` is called a "grave accenet", whereas ´ is an "accute accent". Everyone's favorite spanish modifier is the ~, or "tilde". The ° you see sometimes is a "kroužek", which contains a ˘ (also known as a "breve"). When you see a "macron", you are really seeing ¯. And finally, that
So I'm thinking that Thur, Dec 30th @ 9pm at Sartell lanes. Who can make it? If it doesn't work out for a lot of people, we can prolly reschedule it. Please, RSVP -- I am supposed to make reservations I guess. ;-)
One of our users used this word in an email today, and I had a vague idea that it meant something sticky, but I wanted to check to be sure. Treacle: noun. pale cane sugar, an expression that is excessively sweet and sentimental. You can see everything here. It also happens to be an awesome song by Man With No Name.
There's a new release of the Wallpaper Changer. You can find the source code here, and the actual executable here. New to this release: Changed taskbar icon to something slightly better Only showing the preferences window on startup if it was the first run for the application. Can now be launched when Windows starts up Added an about box One of the neat new features of this release is the about box (strange, but true!). It pulls the change log from a resource file that's embedded in the application itself. It was pretty cool to figure out how to do
I'm trying to find a way that I can cause my application's main window to appear only if the user has never run the application before. If they've run it before, then there's no need to display the window (this is all in .NET mind you). So I figured, well, in the Form1 constructor, I can set Visible = false if I don't want to display the window. Nope. So then I thought, maybe it can go in Form1.Load. Nope. Then I thought, maybe the handle needs to be created, so I made an event handler for the HandleCreated event.
First, let me get some things straight. The toolkits that I write need to work on Windows 98 & ME (called 9x from here on out), as well as NT 4, Windows 2000, XP and up (called NT from here on out). I currently write the toolkits using CodeWarrior on a Macintosh and remote debug onto a native Windows box. I write in C and C++ using the regular Win32 APIs (just say no to MFC!). And for a little extra background: I've been programming for Windows using C since Windows 95 first came out, and Windows is my primary
Yesterday, I got together with a friend I'm doing some advisory work for at the Meeting Grounds. We hung out for about an hour and talked shop, as well as just BSed with one another. It was a pretty nice time. I spent most of the day reading Harry Potter and the Order of the Phoenix. I picked that book up in the Austin airport to read on the plane ride home. I managed to finish it last night about 9pm -- excellent book, I'd recommend it. Today, we went down to my aunt Jan's place for the family Christmas
Just on the off-chance anyone really wants to get me a gift for the holidays, here's my unabridged wish list. I also accept cash or PayPal donations. ;-) 1) A good copy of Chrono Trigger for the SNES. I really wish I hadn't given that game to a friend when I was through playing it. I was young and stupid. I'm older now and realize the folly of my ways. Someone set things right for me and get me this game! Sure it's over 100$ on eBay to find one of good quality -- but I'm worth it, right? I'll
As some of you may already know, I am heading home for the holidays. I leave this afternoon (don't get in until about 8pm, which means back in Sartell around 10pm), and come back to TX on Jan 2nd. Jon's taking care of Pixel until Christmas, and then Nada and Stipe, my friendly neighborhood Yugoslovian pet sitters will watch her till I get back in Jan. My sister (Meggan) flies in at the same time, but different flight, and will be around until about New Year's. It'll be fun seeing her again, it's been almost a year since I saw
One thing that many developers fail to think about until it is too late is the user interface of their application. They may have a wonderful idea, or a really neat way of presenting it, but they don't think about whether they are properly presenting the information. They don't think about users with color blindness, problems with limited dexterity, people who can only type with one hand, or any number of other people with disabilities. Another thing that gets commonly overlooked (and tends to affect an even wider audience) is failing to use common menu shortcuts, keyboard mmenonics or other
I'll start off with a description of what I wanted to do, and what actually happened. I wanted to pick a project that had a bunch of different aspects to it. Something that was pretty trivial to write, was useful, but had its fingers in a lot of different things. So I picked a desktop wallpaper changer. It lives in the tray and changes my wallpaper at user-picked intervals to some random wallpaper. I liked this as a project since it would include image manipulation, basic file i/o, the registry (for saving preferences), tray icon support, standard UI widgets, declares
After coming up with the initial idea for the project, I decided to start simple. I made a form with a single button on it. The button's job was to display an open file dialog, and if the user selected a file (instead of cancel), then I set the wallpaper to that image file. Laying out the button was easy -- and starting right in on the code wasn't too bad. I was happy to see that when I double clicked the button in the form editor, it took me directly to the button's action event code. Creating an open
1) When was the last time you changed your windshield wiper blades? 2) What is the last animal you pet (name, type, color, etc)? 3) Who is Your Mom? 4) What time is it in Uraguay right now? 5) What states (no fair looking at a map) border Idaho? 6) What's the best Christmas cookie topping? 7) What color is the carpet in your vehicle? 8) What type of tree makes the best Christmas tree? 9) What time (exactly) does it get dark where you live? 10) What's your middle name?
And either the Microsoft debugger is the most worthless pile of tripe I've ever seen (which is entirely possible after using VC++'s debugger) or something's snapped in my brain. It doesn't hit breakpoints. I set one on function entry (which, by the way, is another large gripe of mine. The breakpoint dialog is wholly unneeded and way too complex), and it never gets hit. So how do I know I'm getting into said function you may ask? Because I get an unhandled exception dialog that claims I'm inside that function. What gets even more funny is, I can't see how
These are in no particular order NT Kernel The old Win32 kernel (for Windows 9x/ME) was very unstable and had major issues due to it needing to fully support thunking for old 16-bit Windows 3.1 applications. Then NT came along. Granted, NT 3 was total shit, but by NT 5 (Windows 2000), things had pretty well solidified into the best Windows kernel yet. FireFox This web browser has quickly become a neccessity in my life. It offers tabbed browsing (which, once you use, you'll never leave), popup blocking (wahoo! Another thing you can't live without these days) and most importantly
Man, I've just been swamped with stuff to get done lately... I handed the properties window off to William this week in exchange for the new menu editor. And yet I find myself still working on the properties listbox because he's got too much stuff on his plate to get the things I need taken care of... Right now my list of things I have to get done before the menu editor is even close to complete is sitting around 20 items. Which wouldn't be so bad, but it seems like every time I fix one thing (or add it),
Apple is doing everything in it's power to make it's new OS suck. And here's some of my reasons why. Automatic security patches are implemented wrong. The whole beauty of a *nix box is the fact that you should almost never have to reboot it. Why do you think they make such great servers? But every single time there is an update to anything, the update requires a reboot. I can understand that for kernel patches, but not for when iTunes gets updated. And to make matter worse, in 10.3 they took out the ability to minimize the update to
So as you've probably all figured out by now, I'm teaching myself C# and .NET programming lately. I've already touched on a few things about the language, such as my thoughts on is vs as and conversion operators, but this is more of a general ramble about the language as a whole. Note that I'm not going to really touch on the .NET APIs, this is just a language rant about C# itself (and a lot of it comes from a language-writer's point of view). Things I Like The language has a fairly clean design, so a concept you use
... for comment spam. So far today I've managed to go through and delete (from the moderation queue, of course) 48 individual comment spams coming from two different spambots using at least5 different IP addresses, and the spam keeps coming. Needless to say, I've been less than pleased at the amount of comment spam I've been getting lately. You'd sure think that they'd weed out the blogs which block all their spam. And what's crazy is, all the spam I've ever gotten comes from three bots: texas hold em, online poker and one that sells drugs. There's been no discernable
So I don't normally plug funny websites too much, but this one is too good to pass up. Ever read the label for how to use chopsticks, or some other oriental sign? Ever notice how amazingly messed up the messages can be? That's called "Engrish". It's a mixture of English and who the fuck knows what else. Well, there's an entire website devoted to Engrish sayings: Engrish.com Go check it out -- I promise you'll have a good laugh.
I was reading a Far Side comic in Dave's office today, and it didn't make any sense to me. The text was: "There's honey and molasses all over it, and you know what that makes", and the guy was holding a wicket that had goop all over it. So I asked Dave if he knew it, and we sat and fumbled around, and finally I said, "Is it a sticky wicket or something like that?" A "sticky wicket" basically means that you're in a difficult situation. It comes from the game cricket (where the wicket is the object that the
I've tried explaining to people in Texas that the rivalry between the Minnesota Vikings and the Green Bay Packers is the largest sports rivalry they'll ever see. It makes the OU vs UT football games look like kids fighting on a playground. But no one ever seems to believe me.. well, here's proof: Green Bay area churches change Christmas Eve mass times to accommodate Packer/Viking fans. We don't mess around when it comes to our football. And btw, the Packers are going to lose. Go Vikes!!
So in .NET (as in other good languages), you're able to overload the conversion operators so that you can convert from one type to another type. This is a good thing since it lets you convert say, a rational numer into an integer number and vice versa. In .NET, you specify the conversion like this (for an explicit typecast): [syntax]public static explicit operator Type( fromType foo ) { ... }[/syntax] Here's the thing that confuses me. C# does not allow you to have two methods with the exact same signature that only vary by return type (or at least, that's
So I decided I am going to start posting the new things I learn about stuff here under the New Things category. And no, it won't always be programming related, I promise! While I was teaching myself .NET today, I learned something really kinda neat about the language that I figured I'd share with people. Some languages, such as REALbasic, have the concept of an "IsA" operator to tell whether one class has a relationship with another class for the purposes of typecasting. A typical example is: [rbcode] if someObject IsA Apple then dim a as Apple = Apple( someObject
It's finally Friday (not that I had an overly long week...)! I've found myself becoming the properties window champion here at work, so I've been doing things like writing an expression parser, making constants work, and just generally making the properties window not suck. It's been rather frustrating, but still enjoyable. I've been super busy around the apt lately, working on random things and just trying to get my life in order after my vacation. I still haven't had the chance to unpack anything! But at least I got my grocery shopping done. I've started teaching myself .NET programming. I
So I'm back in Austin today, and back at work. Wooooo doggie (as they say). My flight was changed at the last minute so that I didn't fly a jet into Dallas from Minneapolis. Instead, I flew a commuter plane (you know, the tiny ones, a step away from dual-prop planes) from MSP into St Louis. Well, that plane skipped down the runway on landing. Literally. Bounced. A few times. BLEH! The second flight from STL into Austin was in an almost constant state of turbulance -- basically a damn bumpy ride all the way back to TX. At least