So I had an image with a white background, but essentially no white in the image itself. And, I needed to make the background transparent.

Without anti aliasing, this is quite easy. You can just go into gimp, do a ‘Select By Color’, choose the background color, delete the selection, and it’s gone. (make sure you’ve added an alpha channel into the layer if it didn’t have one)

But, with antialiasing you have problems. The antialiasing blends the color pixels of the image with the background color, leading to partially colored fringes around the edges after you’ve done the above step.

So, I did the following:

I did the above, where I did a Select By Color and clicked on the background.

Select | Grow, to grow the selection by 1 pixel.

Then do Filter | Colors | Color To Alpha, and choose the background color. Boom. Gone. Problem solved.

(This isn’t completely perfect. You might get a small amount of fringing of a different color on a small bit of the image. You’ll have to look at it.

Hey.. Is this not the page you were expecting to see?

Via a php programming language exploit, a rogue computer script managed to inject some code onto my machine this morning, and it seems to have included a login page for a random bank (more…)

So yesterday we had a fire in campus town (see my blog post for some pics).

The first illini text alert sent out about it just said that a fire was at ‘631 E. Green’. Didn’t give the city, nor did it give an intersection near there. If you didn’t already know where it was, you might have been confused.

This was discussed quite a bit on the CCSP sysadmin mailing list around campus.

So, today.. we get the following:

Subject: Active Shooter/Threat
Active shooter at BUILDING NAME/INTERSECTION. Escape area if safe to do so or shield/secure your location.

I start getting emails and chats wondering if there’s something going on. I suspected it was a failed test. Sure enough, emails from our building came out saying to ignore it.

Then another txt was sent out saying to ignore the previous.

Then an email from the chief of police was sent saying to ignore it, and that they ‘sincerely apologize’ for the accident.

Gotta love technology.

At 4:36pm (about 6 hours after the incident, the following was sent from the chief of police…

To the campus community:

This morning at 10:40, an Illini-Alert message was sent to 87,000 email
addresses and cellphones indicating there was an active shooter or threat
of an active shooter on the Urbana campus. The message was sent
accidentally while pre-scripted templates used in the Illini-Alert system
were being updated. The updates were being made in response to user
feedback in order to enhance information provided in the alerts.

The alert sent today was caused by a person making a mistake. Rather than
pushing the SAVE button to update the pre-scripted message, the person
pushed the SUBMIT button. We are working with the provider of the
Illini-Alert service to implement additional security features in the
program to prevent this type of error.

The alert system is designed to send all messages as quickly as possible.
The messages generally leave the sending server within two minutes. This
design is essential for emergency communications. However, this prevented
the cancellation of the erroneous alert once it was sent.

Additionally, once we send an emergency message, we are dependent on the
cellular telephone providers to deliver the text message to the owner of
the cellphone. This is a recognized issue with all text-messaging
systems. This is one reason we use multiple communication mechanisms,
including email and our Emergency Web alert system, which is
automatically activated when we send an Illini-Alert message. We cannot
rely solely on text messages to inform our community of an emergency.

The Chief of Police has charged the campus emergency planning office with
reviewing and documenting todays incident. We are reviewing comments we
are receiving as a result of the incident and will implement all
reasonable and appropriate ideas or suggestions.

We recognize the campus community relies on us to provide accurate and
timely emergency information. We are working diligently to improve our
processes so that this type of incident does not happen again. Finally,
we apologize for the confusion and emotional distress caused by the
initial alert.


Barbara R. O'Connor, J.D.

A couple of days ago, Google announced Go. Naming issues aside (apparently Go was the name of another programming language a few years back), I’ve been pondering the viability of yet another programming language. We already have a jillion of them. “Is Google making another one just because they are Google?”, I have asked myself…

The main points that they have emphasized for the new language, in no particular order:

  • It compiles fast
  • It has concurrency “built-in” (whatever that means.. I haven’t investigated how well they have implemented it.. )
  • It is currently achieving 70-80% of the speed of natively compiled code

And, probably several other things that I’ve missed. The Go compiler is released under the BSD license, and Google has released it for several platforms, I would guess (and more to follow, inevitably).

After looking through the first bits of the tutorials, it has the rough appearance of being a pretty normal programming language, with a bunch of the syntax mish-mashed up, to make life more interesting for those of us that have touched a text editor and compiler in the last decade. Instead of saying int name; you have to say things like var name int; etc. It’s similar to C, but has intrinsic strings, no while, and some other things. Google says that the lack of header files makes things easier (for their compiler, I’d reckon) and so on.

So, as I mentioned earlier, I’m asking myself, “Why?”. Ya, it compiles fast. That’s cool. Speeds up development a bit. Built in concurrency support is cool. But, geez.. Another language? Google had mentioned that it would work well as a server language. Doing stuff like web site server backends.. Things like that. Fine, so be it. But did we really need another language for this?

Google seemed to be really excited about the fast compiling. For me, that seemed… well.. a bit of a yawn. OK, to be sure. But extremely exciting?

Hopefully you can see at this point a fair amount of skepticism.

This morning I noticed an article that mentioned Chrome and Go Support in the headline. A lightbulb went off in my head, I put 2 and 2 together, and now I’m going go share it with you, if you care to read.

We all know that GOOG wants to rule the world, while Doing No Evil, of course. I think we have a perfect storm building here. A confluence of events that has been building for a few years now. And when you’ve got the resources that Google has, you can afford to do things and shove things into the mainstream that smaller companies just can’t do. Let’s look at a few events.

  • We start out with the lowly web-app Gmail. Gmail has the distinction of being pretty sophisticated, as web pages go. There’s a lot going on behind the scenes. Kilobytes upon kilobytes of special javascript and dhtml combine to give the user experience that we see today. It is responsive and interactive in ways that couldn’t have been imagined a few years ago.
  • A few years ago, something like Java would have been needed to accomplish what javascript and dhtml are doing now. Java never really caught on, though. Blame whatever you want, but it just didn’t happen.
  • In 2008 we got Chrome. and the world rejoiced. It was lean, and it was fast. It wasn’t really feature-rich, but most Google applications start out that way. It was really fast for Javascript, which gave things like Gmail a speed boost. It’s (ironic) lack of chrome gave it the appearance more of blank template where the webpage or application was the focus. The mere name (confusing to the average user, I’m guessing) indicated that Google wanted the browser to fade into the background of the user’s mind and experience. Yes, Chrome is needed, and Chrome is doing things, but you, Mr User, are supposed to concentrate on the webpage/webapp.
  • Some might even say that Chrome could be thought of as ‘the operating system’, as long as all you ever want to look at are regular websites or javascript/dhtml monstrosities like Gmail. Hmm…
  • A while after Chrome was released, we learned that Google was working on built in support for real 3d support in Chrome. “What the heck can that really be useful for?”, we asked ourselves. They had some cool tech demos of flying around an island. Yippee. yawn.
  • We get the chromeexperiments. Cool. Impressive. Terribly fun to watch the balls drop and hit the lines causing the musical notes, as an example. Pretty amazing that they can accomplish that in a browser… Should we still call it a browser? Ya, that’s what it is……….
  • In the meantime, Google sees and appreciates that Gmail needs some help. Particularly in the startup. It takes a long time to get all of that javascript loaded. And, I will admit.. this is a real problem. On my Mom’s computer via a slow dialup, I’ve set it to not use the javascript version, because it seldom actually gets everything downloaded and running before something messes up and she can’t look at her email at all. So Google takes steps to alleviate this problem. They reorganize their files to attempt to take advantage of various idiosyncrasies in browser caching. If they can get the browser to keep parts of the Gmail startup locally, they can speed up the user experience. They have a lab feature where you can see the most recent messages in a text form while the rest of Gmail is loading. The whole user experience needs help. They are aware of this. Just for grins, let’s say it takes a good 10 seconds to actually get Gmail loaded and running.
  • Chrome has something in it called NaCL. Native CLient. Well, they are working on it, anyway. It allows a way for code to be run as though it were native. They are working on the security for it. They can’t allow you to get something off the web that will destroy your hard drive or anything. So they have to limit what can be done via the Native CLient.

That’s where are, intrepid readers. Now, let’s look at where we are going.

Does NaCL sound like anything I’ve mentioned? Do salt and coffee go together? Ya, I don’t think so either. Some might say that salt is more generally useful than coffee (caffeine-hounds aside).

Let me paint a picture for you. Let’s look into Google’s crystal ball. As we’ve already established, they want to rule the world, or at least your computer, while Doing No Evil. OK. Let’s get down to brass tacks.

Android may or may not play a role. I don’t think that Google is thinking quite ambitiously enough right now to assume that Android will take over the desktop anytime soon. However, they are working to make Chrome into the operating system. It’s the ideal platform for them. They are putting all of the pieces into place. It’s network aware (it’s a web-browser, after all), so the distribution mechanism for new software is a non issue. They’re building in 3d support. You want speed? I think that is where Go comes in. Let’s use Gmail as an example.

In a year or two (maybe less; not more), Chrome is going to have Go support and there will be a version of Gmail written in Go. Your user experience (and some behind the scenes activity) will go like this.

You will go to the Gmail website in Chrome. Source code for a Gmail client will be downloaded to your computer. Go can compile 120,000 lines of source code in less than 10 seconds on a laptop. I don’t know how big a Gmail client will be, but let’s say 120,000 lines. These 120,000 lines of source code get downloaded and compiled. (meanwhile, Chrome (or Go?) caches the version that you’ve downloaded so it won’t have to redownload or compile the next time you open your email).

Gmail then pops up as a natively running application in the Chrome window/application. Google will have a complete API that lets the Gmail client running in Chrome talk to their servers. Bandwidth requirements will drop, users will get a native application, which will run much faster than javascript and dhtml, and everyone will be happy.

That’s Gmail. You have the latest version of Modern Warfare 3 that you want to run? Take the exact same model. Chrome has 3d support built in. You go to the modern warfare website, the code is downloaded, and starts running. It asks for credit card info, you pay your $50 to buy the game, and then you play.

All of this is happening now via custom solutions, but Google is going to tie everything together. Why does a game developer want to deal with payments, patch distribution, changing 3d (software) landscapes, etc etc? If Google can provide a platform (operating system) that has all of the…. ahem… chrome….. needed to allow you to concentrate on telling the story that you want to tell, why would a developer want to waste time on everything else?

For the user, it’s pretty slick, too. You always get the latest version of software. If developers conform to the Chrome APIs, your software runs on any platform that Chrome runs on (currently Windows, with betas on Mac and Linux).

Is this perfect? Well, no. Lots of people like to have control over software that they buy. The model I’ve described (where I think we are headed) is truly software as a service. The website can cut off access at any time. (Kinda like the various App stores that exist now for mobile phones and gaming consoles)

Wow.. I tire of typing. I might add more to this later. I realize it isn’t perfectly thought out, but I’d still like to know your thoughts. You think this is where we are headed?

Everyone out there probably already knew this, but I just discovered it tonight..

I happen to be on chrome, but hopefully that doesn’t matter..

So I needed to send an attachment to someone. But, I didn’t have the attachment. It was on another system. So, I did what any computer programmer would do: I attempted something that would work, if things worked the way they should work.

I clicked ‘Attach file’, and a file browser popped up. In the ‘filename’ box, I typed in:

and clicked ‘open’.

BAM! The upload bar started going, and the file was attached to my email to send. How cool is that? You can attach any file on any website to an email.

(Don’t bother asking yourself why I didn’t just send a URL to the recipient. That wasn’t possible for reasons that I won’t bother going into here)

I just ordered my first free gift certificate from Swagbucks. A couple of weeks ago a friend told me about using Swagbucks for search, and I thought I’d check it out. Here’s how it works.

Swagbucks runs a web search engine where they pull in search results from Google and They throw in a few sponsored links into the search results that you get and, randomly, you will “swagbucks” when you do a search. When you get 45 swagbucks built up, you can redeem them for a $5 giftcard.

How simple is that? You continue doing what you normally do (search) and you end up making money.

Search & Win

Now.. the catch.. Well, there isn’t a big one, really. Like I said, the search results are fed from google and, so it’s almost like using google. In my experience, the results aren’t as good as google. Depending on what you are searching for, you might get 3 or 4 sponsored links along with the normal, expected search results. You get 30-40 results, instead of however many google will give you. I have my firefox search box set up to use Swagbucks, and if I do the search and don’t get the results I’m wanting, I just change it to google and resubmit. That seems to work well enough for me.

How quickly will you become a millionaire? Well, I do quite a few searches. It has taken me a couple of weeks to build up enough for the $5 gift card. So, you aren’t going to become rich overnight. But, the cost is low, and who doesn’t like making money for something they already do?

Give it a try. If you use the above link, I’ll get a kickback for the first 100 swagbucks you get. Once you’re a member, you can try to get other people to join as well. (Don’t you love pyramid schemes? They are great if you get in early)

(This page is certified Lynx-friendly)

So I heard this one at lunch today. I’m not normally a joke telling person. Quite frankly, I just don’t usually have the delivery for it. But, I’m thinking that I’ll nail this one.

Anyway, I was sitting there in the office, eating my Healthy Choice dinner, and in walks a coworker, and they say:

I’m not sure that I’ve ever posted about this on my blog, so I thought it was time to do so.

For a while now, I’ve been working on Mariya Kleyn’s realty website at:

Mariya is a Realtor for the Champaign-Urbana area (in east central Illinois) and she has the absolute best website around (that’s a purely unbiased opinion, of course). Now that we are approaching the “busy” time for people who are looking for homes, I wanted to make sure that everyone out there on the intarweb knew about her. If you are needing a Realtor, go to the above website and let her know.

Oh…. You aren’t in the Champaign-Urbana area? Not a problem. She can also track down a good Realtor where ever you are. She can interview various Realtors in the area that you are interested in and find a good one for you. Because she’s “in the field”, she knows the right questions to ask to make sure that you get a Realtor that will do the best job that they can for you.

So, take a look at the site. If you have any suggestions for it, let us know!

Next Page »