|
||
2008-09-18Enhancing Your WellbeingThe adaptive technology market is a very small, concentrated group of people. There are those dedicated to furthering accessible solutions and enabling customers, those concerned most with profit margins and the bottom line, and those who fall somewhere in beteween. While that kind of broad, vague, generic statement pretty much sums up any collection of businesses, we in the AT field are very defensive and protective about our respective business missions. When those missions are questioned, we take it personally, as if our own personal ethics were under attack. GW Micro's mission statement (found on our About Us page) states: "We believe in equal opportunity for everyone, regardless of disability, and strive to provide products that enhance a person's overall wellbeing by creating tools that aid in obtaining employment, furthering education, and opening doors to a world of infinite possibilities through access to the latest computer technologies." Some might complain about that kind of fluffiness, claiming that mission statements are nothing more than sales and marketing drivel devised to tell you exactly what you want to hear in an effort to gain your hard earned cash. And it's hard to argue with those complaints. But we did spend time thinking about what our ultimate (and honest) goal as a business was, and that's what we came up with. That's all we came up with, too. There aren't pages and pages of this crap. That's it. Simple, to the point, no BS. So what does all this have to do with the price of beans? I experience the stress and frustration, the joy and excitement, the heart and soul of the development of all GW Micro products every five out of seven days (sometimes more). And as biased as I am, I can say with a clear conscience that we continue to stay true to our mission. And I believe Window-Eyes 7.0 is proof of that idea. I'm not visually impaired. I don't know what it's like to depend on a product like Window-Eyes. Not just use it, but depend on it. But I know those who do. I talk to them all the time. I work with them. I know the accessibility struggles that can exist when things just don't speak right (or at all). And I understand the barriers that make living with a disability a substantial, yet surmountable, challenge. I think I say this after every release, but I continue to feel exceptionally proud to be part of a team that can produce a product like Window-Eyes as a tool to make people's lives easier -- to "enhance a person's overall wellbeing." I think that philosophy rings true in the way GW Micro does business for the entire product line. Well, enough self congratulations. Happy Window-Eyes 7.0, everyone! Window-Eyes 7.0 is Now AvailableThe following announcement can be found on our Latest News page: 2008-08-14GW Micro Response to Freedom Scientific LawsuitAug-14-2008 2008-07-24Do companies really compete on who has the best lawyers?I get so tired of meaningless lawsuits especially when it comes to the productivity of blind users. Remember Freedom Scientific versus Serotek over the naming of a Serotek product? I’ve been in this business well over 25 years. What happened to the days when products competed on their own? What happened to the days when competing companies could get along and be friends? I guess big mergers and acquisitions have changed those days. Freedom Scientific is back to the best way they know how to compete: sue. Federal District Court filings Freedom is obviously worried. Update: We removed a line or two above to keep things general. We want this information to be available, but we're not in a position to provide any detail or comment about who's doing what, how, and why. Thank you, everyone, for your overwhelming support. 2008-06-25Hickory, HackoryThere are a few threads on a few different blind programming mailing lists out there on the vast interwebs that preach the cautiousness of Window-Eyes scripting due to potential security threats COM automation exposes. As soon as Window-Eyes 7.0 Beta 1 hit the streets (even earlier, in some cases), dissenters began fanning the rumor flames about Window-Eyes scripting's immaturity being an open invitation to all the hacking nasties to scamper out of their rotten woodwork to wreak havoc on the blind community. Window-Eyes security isn't tried and tested, they bemoan. The kind of freedom COM automation provides welcomes destruction, they assert. It's only a matter of time before someone gets hurt, they hyperbolize. It's amusing to listen to self congratulatory erudites spew forth from their gaping cracks about things they have little knowledge of. The developer who constructed our security model (which we all discussed in depth for many days) makes the would-be hackers look like diaper-laden script kiddies still breast feeding from the swollen teat of splendiferous delusion. In other words, and with my thesaurus aside, the combined knowledge of security related details on the Window-Eyes development team is bested only by the people who make security their reason to get up in the morning. To say that any security procedure is completely foolproof is an utterance of fantastic ignorance. We are, after all, talking about machines here. Even the most unbreakable cryptographic schemes are schemes that haven't been broken yet. I know first hand what goes into the Window-Eyes script security and trusting mechanisms, and to anyone who thinks they have what it takes to break them, I say bring it on. At the very least, you'll help make Window-Eyes even more secure. GW Micro on Main MenuThe release of Window-Eyes 7.0 Beta 1 has been phenomenal. There are a host of new features to get excited about. Last night, Doug, several GW Micro beta testers, and I joined Jeff Bishop and Darrell Shandrow on ACB Radio's Main Menu to hash out all the details. It was a great show. If you didn't get a chance to listen in, you can snag the archive of the show on our Interview page. 2008-06-24Window-Eyes 7.0 Beta 1 Is Now Available!After much anticipation, Window-Eyes 7.0 Beta 1 is now available. Window-Eyes 7.0 Beta 1 offers the latest advancements in screen reading technology, including full Unicode support, new scripting functionality, web browsing enhancements, a new synthesizer, and much more. 2008-06-15Memories of Clarence WhaleyOn behalf of the entire staff of GW Micro, it is with deep 2008-06-04GW Micro “storming” the state of IllinoisThis week, I’ve been covering the state of Illinois from top I was with our dealer, Mike Ellis, and our driver Joe. We could tell that the sky was getting dark This evening, we checked in to our hotel in Jacksonville, All the while, Mike and Joe have been sleeping calmly in 2008-05-15Window-Eyes 7.0 Beta Update (Posted to gw-info)For those of you not subscribed to the gw-info list, I thought you would appreciate this recent post (with a few grammar changes from the original): Re: Update on the Beta? Everyone rest easy; the beta is progressing nicely. The problem that we will always combat when we first announce a new upgrade is answering the question, "when?" As much as we say that we don't have a specific time, we're continually pressed for a date. We eventually give in, and for a million different reasons, things get delayed. That's the nature of the technological beast. P.S. I forgot to mention one additional thing: while scripting is our primary focus, we are also actively working on resolving bugs and issues that have been reported. There will also be a few other features that aren't directly related to scripting that we have to make sure are, dare I say it...rock solid. 2008-03-13Live from CSUN - New products from GW MicroComing to you live from CSUN - greetings everyone! Tonight, we We introduced the next generation of the Braille Sense, as well as the next The SenseView Duo takes the next step in portable low vision technology, and Of course, we have been talking about Window-Eyes 7.0 for a while, which is Stay tuned to www.gwmicro.com for more information, including pricing and 2008-02-02I've Been Waiting For This...Unlike Raul, I don't have the patience to wait for Doug's post. I've been holding my tongue ever since we decided to do scripting for 7.0, and now we can finally talk about it. There's so much to say, but I'm going to start in this post by linking to the news article I just posted: A Short Introduction to Window-Eyes Scripting, and the Window-Eyes Object ModelLet the fun begin! 2008-01-21Regarding Web-Based Dynamic ContentI recently had a dialog with a developer interested in knowing what kinds of web-based dynamic information we supported. I get this question a lot, and the answer isn't always easy to understand, especially by people who do not use a screen reader on a daily basis. This individual, however, told me that my reply was very helpful, and I'm all about helping people out when I can. With that in mind, here's what I sent her. I hope others find the information useful as well: The reason that you aren't able to find concrete information about what Window-Eyes (or any other screen reader for that matter) supports in terms of dynamic content is because, as you know, there are a million and one different ways to create dynamic content. Let me give you a couple of specific examples. Most of the time, rather than using existing technologies, companies will develop their own dynamic drop down menu system. Unfortunately, many times, those do not work. And yet, Google and Adobe have two different menu systems that do work. In addition, the Ultimate Drop Down Menu system (www.udm4.com) is a completely accessible version. So when we're asked, "Do you support dynamic menus," we can't just say yes, nor can we say no. It depends on the technology being used. Another more specific example is creating dynamic elements on a page. Say you're inserting a DIV using JavaScript when a link gets clicked. Most often, screen readers have no idea anything happened, and will not announce the new content. Call the same function a little differently (i.e. HREF="javascript:myfunction();" instead of OnClick="myfunction();") and we are able to refresh our buffer and pick up the new content. So when we're asked, "Do you support dynamic elements," again we can't just say yes or no -- it depends on the technology being used. The mode that screen readers use to present web based information is static -- it simply takes the text on the page at that time, and speaks it (forms are a bit different because when we interact with them, typically we're no longer in our static "browse" mode, so updated content will usually work fine). Imagine the confusion of trying to read a page that is transforming dynamically if you can't see the screen. Screen readers are very linear -- they read left to right, top to bottom. Sighted people can scan the screen at any point to pick up information. The bottleneck in understanding accessible content exists because web developers are not screen reader users, and most often do not have the knowledge of how screen readers view web content. Screen reader users are often not web developers, and most often do not have the knowledge of how dynamic content is created. The solution is what you've already began, and that is to create a dialog with a screen reader manufacturer, providing examples, and working back and forth to come up with something that does what you want and is accessible at the same time. I would also recommend enlisting the help of people who use Window-Eyes on a daily basis to test your content. AJAX in itself is not inherently inaccessible, any more than, say, C++ is. But you have to know what works and what doesn't. While there are many guidelines for creating accessible applications in C++, AJAX is a relatively new way of doing things, so the guidelines aren't quite there yet. I would recommend you document, and share, what you find works and what doesn't, perhaps through a blog or something so that other developers can learn from your experience. I'll also add that GW Micro is working closely with Mozilla to support ARIA (Accessible Rich Internet Applications - http://developer.mozilla.org/en/docs/Accessible_DHTML). ARIA is already being adopted by big name companies like IBM and Yahoo. With proper support from the developer community, the question of what works and what doesn't in terms of dynamic content for screen readers will be a question less often asked. 2008-01-07Happy New Year. Now, Don't Try This at HomeLet me first offer an obligatory Happy New Year to all. I know you hear this kind of dribble from most companies in early January, but I do feel that this year is going to be great for us. There are a lot of cool things in store for GW Micro customers in many different areas. But now on to something that doesn't have anything to do with any of that. Every so now and then, I'm asked how you can switch between versions of Window-Eyes, mainly for testing purposes. Back in ye olden days, under Windows 9X, all you had to do was close Window-Eyes, copy over the main Window-Eyes application files, and then re-start Window-Eyes. But those days are long gone, which is preferable even if we do have to do things a bit more complicated now. The biggest difference with newer operating systems is that Window-Eyes uses integral system components that stay loaded even when Window-Eyes is closed. I'm referring to the Window-Eyes Display Driver, and if Load Before Startup is enabled, the Window-Eyes Service. That's just under Windows 2000 and XP. Under Windows Vista, there is at least one other process that's always running to ensure that Window-Eyes can properly communicate with Vista's new security model (there's no official name -- it's just called weproxea [wee-prox-ee-uh]). So how does one go about switching between versions? Well, I'll tell you how I do it. But before I do, you must understand that we don't support doing this. The ideal way to switch versions, even if it involves unwanted hoops, is to uninstall the current version, install the wanted version, test, uninstall the wanted version, and then re-install the current version. If you ever contact support with problems, and have used this or any other quick-switch method of moving between versions of Window-Eyes, you're likely to get scoffed at, and asked to come back once you've uninstalled and re-installed. With that out of the way, I have a batch file that I often use to switch between release builds and custom builds to test regressions, newest features, bug fixes, and what-not. I'll list each section of the file, discussing it as I go. I call the file updatewe.cmd: @echo off This line simply suppresses the verboseness of the commands for the sake of simplicity. REM Set up Variables As the remark line suggests, this section sets up several variables that are used later on. REM Set up share I keep all of my files on a network share, because I find myself moving from machine to machine and operating system to operating system. Keeping my files in one location makes accessing them much easier. But, in order to copy the files from my network share, I have to make sure it exists first, which is what the previous line does (minus the for-my-eyes-only information like username and password). The ironic thing is that I keep this batch file on that network drive, so if it doesn't exist when I run it, things have gone quantum-ly wrong. REM Kill running processes The section kills any of the processes that might be running so that the files involved can be copied with success. As mentioned previously, weproxya only runs under Vista, so that line will throw errors under XP. The weserv line will have the same kind of result if the Window-Eyes service isn't running. But these aren't critical errors, so the batch file will continue. The /F parameter kills processes forcefully, and the /IM parameter specifies the name of the process to terminate REM Copy in new files Assuming that we have the share set up, and the processes killed, now it's time to copy some files. The /Y parameter suppresses any overwrite prompts, which is good since we're overwriting files, and don't want to be prompted about every single one. REM Change to the system drive Now that the files are copied, we'll switch over to the system drive to prepare system files for copying. REM Change to the System32 dir Now that we're on the system drive, it's time to get into the System32 directory, where the Window-Eyes system files are stored. REM Delete any old backups If this batch file has been run before, then there are old copies lying around. This just cleans those up. The /F parameters forces the removal of read-only files. REM Rename current system files The only way to copy in system files that are in use is to rename them first, then copy over the new files. REM Copy in new system files This copies the system files, which should be successful since we previously renamed the current ones. We're using the /Y again to supress overwrite prompts. REM If there was an x on the command line, restart Finally, if I run the batch file with an x on the command line (the %1% means the first argument supplied on the command line), the machine will automatically reboot by running the shutdown command with a -f (force running processes to close), a -r (specifies a reboot), and a -t 0 (do it all in 0 seconds -- i.e. right now). There are a couple of gotchas that I have to remember before running this batch file. The first, and most obvious, is that Window-Eyes must be closed. It's hard to copy files that are in use. The second thing is that I have to make sure I get all the files copied successfully, otherwise, Window-Eyes will be in a weird state, and I'll have to take time to figure out why. That goes without saying, but it's tripped me up before, and I've ended up doing the whole uninstall/re-install thing because it was faster than trying to figure out what got all screwed up. There are other issues to keep in mind as well. For example, it's possible that registry entries and such changed between versions, and copying files may not be enough. This is one of the many reasons why this method of switching versions isn't supported. And that's about it. This particular batch file copies in the newest stuff. I have another one that references other directories to copy in older stuff. One of these days I'll combine the two into one, and specify the version I want to copy on the command line. I should also mention that this isn't the only way to get the job done, nor is it necessairly the best way. This is a quick, brute-force method that does what I need it to do, but there's not much finesse to it. I would say that I'll post an updated entry when I update my batch file, but given my track record of doing what I say I'll do throughout past blog entries, I wouldn't count on it. As the title of this blog entry suggests, we're not responsible for your system getting all screwed up by doing something like this. If you decide to attempt a batch file like method of switching between versions, you are on your own. In other words, don't do it, and good luck when you do. 2007-12-11How to Tame the Gmail BeastAre you tired of switching service providers, then having to update a bazillion people with your new email address, only to have to switch providers again in a month, then having to update a bazillion people with your new email address? Enough is enough. Get a Gmail account, and stop that silliness. "But," I can hear you saying already. "Gmail isn't accessible. I can't figure out how to navigate the inbox." Maybe that's true, and maybe you haven't really tried. But no bother. You can set up Gmail to use POP3 or IMAP access instead of the standard (or basic, for that matter) web interface. That means you get to use the email client of your choice (Outlook, Outlook Express, Eudora, Thunderbird, etc.) to read your Gmail email. Using POP3, after downloading your email, the messages are removed from the Gmail server. When you create folders for storing mail in your email client, those folders will be on your machine, and not on the Gmail server. Using IMAP, after downloading your email, the messages remain on the Gmail server (unless you choose to delete them using your preferred email client). When you create folders for storing mail in your email client, those folders will be replicated on the Gmail server. The advantage of IMAP is being able to retrieve your mail on any machine using a standard email client. The advantage of POP3 is being able to maintain your emails on your own machine without storing them remotely. The decision of which protocol to use is completely up to you. So let's get on with it before you have to change providers again. Go to www.gmail.com. Select the Sign up for Gmail link. Fill out the form. If you want to check the availability of your desired login name, you will need to refresh the Browse mode buffer after selecting the check availability button. If your desired name is already taken, you can select one of the alternative names using the provided radio buttons, or you can re-enter a new desired login name in the appropriate edit box. When you get to the edit box that says, "Type the letter you see or the numbers you hear," tab once to the "Listen and type the numbers you hear" link and press enter. Listen to the characters as they're spoken, then type them into the appropriate edit box. When you're done with the form, and have reviewed it for accuracy, select the "I accept. Create my account" button. When you've completed your signup, you'll be presented with an Introduction page. Select the "I'm ready - show me my account" link to log into your newly created account. Regardless of which method you do choose, you can setup your Gmail account for POP3 or IMAP service by selecting the Settings link. On the settings page, arrow to the line that says, "Forwarding and POP/IMAP". Route your mouse to the text using INS-NUMPAD-PLUS, then click with the NUMPAD-SLASH key. Reload the Browse mode buffer to get the contents of the dynamically generated page. To use POP3, press C until you reach the radio button titled, "Enable POP for all mail" and press SPACE to select it. To use IMAP, press C until you reach the radio button titled, "Enable IMAP" and press SPACE to select it. Note that you can choose to enable both POP and IMAP at the same time. Which method you actually use will depend on how you configure your email client. Press C until you reach the Save Changes button. Route your mouse to the button with INS-NUMPAD-PLUS, then click with the NUMPAD-SLASH key. At this point, you are done using the web based Gmail interface to set up your email for POP and/or IMAP access. Now you need to decide which email client you want to use for checking your Gmail email. Personally, I prefer Thunderbird, and currently have my copy set up to access my Gmail account using IMAP. Thunderbird has a version that can run off a USB stick, meaning I have access to my Gmail account anywhere I go that has Internet access without having to use a browser. That means I can check my mail at the library without having to use a library browser, meaning my mail never touches the library machine, meaning little 13-year old Tommy who likes to hack the library computers will never get access to my email. But for the sake of inclusiveness I'm going to show you how to set up Outlook Express, because it exists on pretty much any Windows machine. These same steps will also apply to Windows Mail if you're using Windows Vista. I'm also going to show you how to set up Outlook Express (or Windows Mail) for IMAP, because I believe having your email stored remotely provides a good backup solution in case something happens to your machine. Fire up Outlook Express or Windows Mail. In the Tools menu, select the Accounts option. In the Internet Accounts dialog, select the Add button, then select Email (or Email Account). Enter a display name, and press ENTER. Enter your full Gmail email address, and press ENTER. Select IMAP from the server type combo box. In the edit box asking for the incoming POP3 or IMAP server, enter imap.gmail.com. In the edit box asking for the outgoing SMTP server, enter smtp.gmail.com. Press ENTER. In the account name edit box, enter your full Gmail email address, and then put your password in the password edit box. Press ENTER, answering any other preference questions along the way, until you get back to your list of accounts. In the list of accounts, select the Gmail entry, then TAB to and select the Properties button. Press SHIFT-TAB to get to the tab controls, then arrow right until you select the Advanced tab. Among the controls in this dialog are an edit box for the SMTP server port, and edit box for the IMAP server port, and two check boxes that says, "This server requires a secure connection (SSL)." In the outgoing/SMTP port edit box, change the number from 25 to 465. In the incoming/IMAP port edit box, change the number from 143 to 993. Finally, make sure both secure SSL check boxes are checked. SHIFT-TAB back to the tab controls, and arrow left until you select the Servers tab. TAB to the check box titled, "My server requires authentication," and press SPACE to check it. Press ENTER to go back to the Accounts list. TAB to Close and press ENTER. If you're prompted to refresh your folder list, select the Yes button. Otherwise, press CTRL-M to check for new mail. Once the folder/mail synchronization has completed, you can TAB over to your folder list. In addition to your local folders, you'll find a node in the tree view called imap.gmail.com, which contains an Inbox, Sent Items, Deleted Items, and so on. These are your Gmail folders. If you've got the legs to do it, now would be a good time to jump for joy, because you're all done. There may be more IMAP configuration options in Outlook Express or Windows Mail. I know Thunderbird has them, so take some time to familiarize yourself with options and preferences in your preferred email client. If you want to know more about IMAP, check out The IMAP Connection. If you're interested in the other clients that support Gmail IMAP, and their configuration options, check out the Gmail Supported IMAP client list. If you're interested in the clients that support Gmail POP3, and their configuration options, check out the Gmail Supported POP client list. Oh, and don't forget to update those bazillion people one last time. 2007-12-09GPS is out but the work continuesAfter several months of intense testing, our new product is finally out. This is our GPS product called the Sense Nav. Well, at least, that is the short name. Technically it’s called GW Sense Navigation. Let’s face it though, that takes too long to type out. I’m not sure if I should say how long we’ve been working on this project, but here goes. At least for me, it’s been since June this year. Let me tell you, when I look back on one of the early versions of the program, I can see a night and day difference with what we have out now. To give you a small example, the first version of the program I played with would crash every time you would search for an address. Also, instead of typing out the street name for a search, you would have to pick from every single street in a given city. As you can imagine, it was rather challenging. This is not to say I hated it by any means. Although there were frustrating days during the testing period, it’s been a wonderful experience overall and I’m happy to be a part of such a wonderful thing which will enhance a person’s travels. 2007-12-03What's In a Number?Thanks to Jeremy, the GW-Info list has been inundated with pokes and prods about the next version of Window-Eyes, along with a lot of speculation about past version features, what upgrades have cost in the past, and what sub-version numbers have indicated. While we have a complete version history listed on the Window-Eyes page, including upgrade prices, I thought I would take a minute to officially explain what the version numbers really, truly mean. Here goes: version numbers don't mean squat. Seriously. That's not to say that version numbers aren't useful. They do provide place markers for developers. When you know what changed between versions, it's easy to go back and test. When you find one version that has a problem, and a previous version that doesn't, you know where the problem lies. But if you want to know what a specific version of a piece of software does, read through the readme, find a changelog, or skim the manual. A version number, in itself, rarely tells you anything. In fact, version numbers are usually used as a marketing tool to express change. Their incremental nature suggests growth and positive movement, always climbing toward an infinite end where possibilities are immeasurable. How many times have you seen a piece of software decrement its version number? That would be a countdown to finality: a single version that did all that was claimed, nothing more, nothing less. No software manufacturer in their right mind would ever state that about their software because that's not how software works. Software has issues that need resolving, and features that need adding, and each time issues are resolved and features are added, you have more issues that need resolving and more features that need added. Software evolves, so version numbers increment. So what does a version number tell you? As I mentioned, nothing. What did Window-Eyes 4.5 have over 2.1? A butt-load, I can assure you. But even I don't know what without looking through documentation. I know that 5.5 had support for Excel when 5.0 did not. I know that 6.1 was the first version to support Windows Vista. But I only remember these things because they're recent. Ask me again in 10 years, and you'll just get a blank, silent stare, probably followed by a shrug, and an, "Uhhhhh..." Version numbers are also used as a tool to compete for customers. Software XYZ might have more bells and whistles than Software ABC. But if Software XYZ’s version number is 1.0, and Software ABC’s version number is 10, who do you think is going to get more business? It’s unfortunate that people are swayed so easily without looking at the details, but that’s how the industry works at times. We do our best to stay away from silly version number games, and for the most part, we do try to make some sense with our version numbers. 4.1 to 4.11 was minor, hence the small change in version number. But Windows Vista support, in my opinion, was huge, and it only got a .1 version increase. So what does that mean for Window-Eyes 7? We're jumping right from 6.1 to 7.0. No 6.11, no 6.2, no 6.21, no 6.5, but right to 7.0. That’s a significant jump. In fact, that big of a version change hasn’t happened in Window-Eyes since 1999. That means this version must have something huge, right? Right? RIGHT? The answer is….oh, look at the time. I've gotta run. 2007-11-14I Was Fired. Literally! (But Not Like You Think)In case you haven't noticed, the blog well runneth dry over the past month or so. The truth is, Raul getting hit by a car was probably the most exciting personal thing that has happened to any of us lately. Note how I said personal. On the GW front, there has been such a flurry of activity that I can hardly keep up with what I'm supposed to be doing. I want very badly to talk about the current Window-Eyes development process. There are so many cool things happening that are going to…well…I can't even say what they're going to do. But it's an amazing process to be part of, and I can't wait for the release of Window-Eyes 7. So that's my excuse; I've been neck deep in documentation, testing, and developing, not to mention support, in-house IT management, and so on. That's not a, "Oh, poor me," mind you – I love every minute of it. Well, almost every minute. But full days do make getting a blog entry out very difficult. Raul has a decent excuse too. He's been working hard on making the Voice Sense as rock solid as all the other products we offer. The Voice Sense GPS/Navigation features are very cool. If you haven't heard his presentation, you're missing out. Needless to say, all his work with HIMS on the Voice Sense, along with support and all the other things he does, makes his blog entries few and far between. Jeremy is full of excuses, the main one being that he's never around. I can't remember the last time he was in the office for an entire day. Travel seems to be Jeremy's life lately. And while he's building up a solid GW Micro presence wherever he goes, more time on the road means less time on the blog. Now Doug and Mike are a different story. Doug had an excuse. He was moving from one side of the country to the other (almost). But now that he's settled, I'm not going to let him off easy. He has had at least three really good blog ideas, and not one of them has evolved into anything fun to read. Come on, Doug! I guess I can only be so hard on the guy who signs my paycheck, huh? Mike? Well, Mike is Mike. Let's move on. Oh, I'm just kidding. Mike is more of a talker than a writer, and his ideas float around verbally rather than taking literary form. It's just as well; he can go on and on sometimes. So there are all our excuses, lame though they may be. I suppose I do have one story I can share. Raul mentioned on the gw-info list about one of GW's employees who had a computer fire. I replied, pleading the fifth. But I've had enough queries to warrant an explanation, so to please the masses, here goes the tale. Before our daughter arrived, I was an avid gamer. Not a die-hard gamer, but I certainly enjoyed my share of first person shooters, fragging 'til the sun came up. One evening, as I was blasting away some nasties (in Unreal Tournament, I believe), I picked up the faint smell of sizzling electronics. If you've ever been around resistors, capacitors, and such when they've gone south, you know the smell I'm talking about. It's a very metallic, acrid smell that instantly tells your brain something not good is happening. Either my game was so real I was smelling spent shell casings, or something was amiss. "But I can't be bothered with this," I said to myself. "I'm busy saving the world from blood thirsty aliens." But the smell became stronger, and I started to get a little worried. Burning electronics is not a smell that means everything is hunky-dorey. So I put my game on pause, and went to flip on a light so I could investigate the aroma. When I got over to the light switch, I happened to glance over at my server before turning the light on. At first, the sight didn't register with my brain. Flames? In a computer case? Nah, that can't be right. Then it hit me. Holy crap! There were flames in my computer case! I flipped the light on, and clamored over to my machine as fast as I could. Sure enough, a bright fireball was gleaming out at me. I managed to get a decent string of expletives out before yanking the power cord out of the back of the machine. As the fans in my case spun down, the glow subsided, and in its place sat four or five toasted power capacitors, all covered in an ash-y white powder. I sat there for a few minutes, stunned, pondering my situation, somewhat tempted to plug the power back in just to see what would happen. Fortunately, sanity prevailed; I disconnected my drives to preserve whatever data I could, pulled the cards out to see if there was more damage, then finally pulled off the motherboard so I could take a closer look. I had seen burnt electronics in my day, but this line of exploded capacitors was impressive. I could tell where the airflow from the power fan was supplying a gracious host of oxygen to what I'm sure started out to be not much more than a warm spot. But that was enough fuel to bring it to life. Disillusioned by the fact that my server was down, I went back to my other machine, told the aliens that their ass-kicking would have to wait, and fired up Google to see if I was unique, or if other people had the same issue with the same board. After quite a bit of time searching, I was about to give up, willing to except my misfortune as a fluke, when I stumbled across a hardware forum with some poor slob lamenting about his machine catching on fire. A little more reading, and sure enough, it was the same board that I had. It was an ECS board, and he had contacted the manufacturer about the issue, only to be told that since the board was out of its 30-day warranty, there was nothing they could do. I was in the same situation, so I didn't bother pursuing it. If anything, I was just elated that I was home when it happened. I can freak myself out pretty easily imagining that fireball roasting away while I was somewhere else. Along with not losing my house, I was fortunate enough to not lose any data. In fact, after poking around my logs, I'm pretty sure that machine was still serving away even while it was up in flames. Perhaps there's something to be said for that kind of commitment, although I can assure you, when I rebuilt that machine, I didn't use an ECS motherboard. So that's my story. I still can't believe that thing caught on fire. In all my years, I've never seen electronics perform such a dazzling display of destruction. We've all had our share of bone-headed, power related mistakes, anywhere from Doug frying a motherboard by working on it while the power was still plugged in to Ron frying a machine by plugging in the power when the supply switch was set to 220 volts rather than 110 (really, who looks at those things anyway?). But this one was completely out of my hands. That makes it a little harder to feel ok about. I can handle devastation if I know I'm the knucklehead who caused it. But when things blow up on their own, I get a little nervous. 2007-11-02Being A Speed Bump With A Sore Throat Makes For A Bad Week!Leaving October and starting November has not been the best thing this year. Let me start off by saying that overall, I really am doing great. In fact, I feel better than I sound or look. If you want to hear just how bad I sound, give technical support a call today so you can laugh at me. Losing my voice from a sore throat was one of the better things which happened to me this week. In fact, if the only event was my sore throat, I would not be writing this entry. So, let's get to what actually happened.
As you may or may not know, I've been deeply involved with testing our up-coming GPS product for the Voice Sense Notetaker. In fact, I did a presentation on it a couple of weeks ago. If you want to hear it, visit the Voice Sense files area of our site where you can download an archive of the presentation. Right now, the presentation is not the important thing however, what happened to me is. So, I'll continue. I consider myself an everyday user of the GPS product, both here in the office, and at home. Since I can't really do much testing while sitting at my special area designated, "Raul's Space," I have to do most of the testing after hours. This is fine with me because I actually have a reason to walk, other than the fact that walking is good for you. In fact, walking is what brought on this week's event.
I'll start off by describing what happened Monday night, October 29. I went out around 9:30 at night and created a manual route around my neighborhood. This route took me from my house, around some streets, and back to my house, making a total distance of one mile. Because I was creating the route manually, it took me longer to walk this one mile due to having to stop at each turn so that the proper waypoint could be made. When all was said and done, or rather, walked and done in this case, I went home and ended my day with much needed sleep.
Now we are up to Tuesday night which was one day later. Obviously everyone knows that Tuesday comes after Monday, but I thought I'd throw that in just to be clear this was one day later. I also realize that the last sentence was rather long, but oh well. I loaded the route I had created before and began my walk. Since the route was already created, I didn't need to stop at each turn like I had the night before. Because of this, I knew it would only take me around twenty minutes to complete the one mile walk, whereas the night before, it had taken me over half an hour. I switched on the multiple command feature of the GPS program and started walking. For those of you who may not know, the multiple commands feature is where the GPS program will tell you certain things automatically every twenty seconds or so. This way you don't have to keep pressing the command over and over if you want to know the status of certain things. In this case, I wanted to keep tabs on the heading and the speed. Since I was trying to see how fast I could complete this route, I wanted accurate speeds and didn't want to slow down to type the "S," command on the Voice Sense. So, there is a brief explanation of multiple commands. I seem to keep getting off-track somehow. This must be due to my sore throat. Anyway, during the first ten minutes of the walk, I averaged around three miles per hour which I thought was very good. Once I got to the last third of the route, I slowed down a little for no apparent reason.
There I was, minding my own business, walking East at around two miles per hour along the next to last street of my route when I heard a car pulling out of a long drive way off to my left. In the half-second it took my brain to process the thought, "Hey, that car is sounding like it's moving right toward me and I'm in its way," the car hit me. In the next instant, I'm lying on my right side after my right knee and right elbow broke my fall. Although it was very nice of my knee and elbow to do this for me, hitting the street like that was not the best thing. There was instant pain as both my knee and elbow had some skin removed due to my fall. I won't go into more details because I'm sure you get a pretty good picture of what happened. Keep in mind that in late October in Indiana at night is not very warm. I was wearing jeans and a light jacket and I still got scraped up. Of course this was nothing compared to how my left leg felt. So now back to the car. It turns out that I was very lucky because the driver was pulling out rather slowly out of her drive way. Also, either the feeling of the car hitting an object or my yell of, "Ouch!" was enough to make her hit the brakes and stop the car. If she had not, I'm afraid that more than my leg, knee, and elbow would have gotten hurt.
Let me take a moment here to express that the priorities in my life were rather screwed up that night. You would think that someone getting hit by a car, even one going as slow as it was, would think of their own safety and their own life first right? Well, I'm almost ashamed to admit it, but the first thing I did while I was lying there on the street was check the Voice Sense and GPS receiver for any problems. As I lie there on the street looking for scratches on the Voice Sense I finally come to my senses and think to myself, "screw the Voice Sense and GPS receiver! I'm in pain." Actually, I didn't think the word, "Screw," but this is a G-rated post so that is what I'll use here. Anyway, it only took about a second for me to get my priorities in order, but I feel I would be less than honest if I had not mentioned it here.
So, now the car has stopped and I'm slowly getting up off the ground. The driver gets out and walks over to me and says, "What are you doing?" As if it's not obvious.
"I'm lying here on the street," I replied, still getting up slowly and taking a few steps further into the street to retrieve my cane which had flown out of my right hand and landed some two feet away from me.
Upon seeing the cane, she said, "Oh, you are blind? I didn't know that."
I'm thinking, "You idiot." Out-loud I said, "Would that have made a difference?"
Either she thought that was a rhetorical question, or she didn't get my humor, which by the way, I was proud to be having considering there was white hot pain shooting up my leg and my elbow and knee were bleeding.
Next she said, "I didn't see you,"
As if that were not obvious, I pointed out, "Yeah well, that makes two of us who weren't seeing well this night."
I do want to say that I truly feel that it was not totally her fault. My reasons for feeling this way are because it was late, dark, and I was wearing dark clothing on top of the lateness and darkness. She still should have watched where she was going though. From a gut feeling I have about people, I get the feeling that she just figured that she would pull out of her drive way and not really check carefully for a pedestrian since it was a residential street and not many people will be strolling late at night. Furthermore, if I had been sighted, I would have probably jumped out of the way upon seeing a car slowly pulling out of the drive way. What made this situation frustrating however, is the fact that she just turned around and got in her car and left. She didn't bother asking me if I was alright or if I wanted a ride home.
There are only two houses along this stretch of road where it happened. So, even though I'm not sure which house it was, I'm not really interested in pursuing it any further. I have medical insurance and accident insurance and no permanent damage was done. I'm getting ahead of myself here, so I'll stop and keep telling my story.
So, after she drove off, I limped my way home. Luckily I was only about a block and a half from my house, so it was not too bad. I should have called my wife to let her know what happened. She would most likely have come and picked me up, and gotten the actual address of the house. As much as I would have liked to have called her though, I could not because I had left the cell phone on the kitchen counter. Silly me, I know, but well, there is nothing for it now. Ironically, I had the cell phone with me the prior night.
So, I get home and find that my wife is fast asleep. By this time, it's about 10:00 PM and everyone except the dog was asleep for the night. I wake my wife and tell her I got hit by a car. Naturally she does not believe me because I have a rather warped sense of humor. When I showed her my right knee and elbow, she finally believed me. At least, I think she did because she didn't get upset about me waking her. Come to think of it, she never did say she believed me, but she did ask me if my life insurance was up-to-date. I think I did annoy her a little because I got a little blood on the sheets. In any case, she was awake instantly and in nurse mode. After several minutes, first-aid kit next to us, my knee and elbow were patched up. An ace bandage was around my left leg and four pills were in my stomach. The pain in my leg had lessened considerably and since I could put some weight on it, I didn't think I needed to be seen that night.
The next morning I called into work and went to see the doctor. After an x-ray was taken, it was confirmed that there were no fractures or breaks. All I have to deal with is soreness and swelling for the next week or so. Some friends of mine were suggesting that I at least try to get this person to pay for the medical bill. Or at least to have her home-owner's or car insurance pay for it, but I'm really not out to get anyone, and besides which, with it being Friday today, it may be too late for that now. So anyway, I came into work on Thursday and limped around slowly with some discomfort. Overall, I got through the day without problems. Well, mostly anyway. At around 2:00 PM my throat began hurting a little. Small fits of coughing began and my head started to hurt.
Now it's Friday and I'm here with a sore leg and a sore throat. Luckily as the morning has passed, the calls have been slow. I'm glad it's Friday because if I do end up with a bad cold or infection of some kind, I'll have the weekend to try and get through it. Hopefully when Monday comes around, I'll be much better. So, that is my week. 2007-10-12Doug Hard at WorkI apologize in advance for the sighted nature of this post, but I snapped a photo with my phone of Doug hard at work on a conference call with Microsoft and our development team, and I just had to share it. If you can't see the picture, Doug is eased back in his chair with his feet up on the edge of his desk. Don't let the picture fool you; these calls affect the development of both Window-Eyes and Microsoft applications. But even the best have to kick back and take it all in stride sometimes. | ||