I just saw this on a license plate surround as I was walking back from lunch:

If it’s not a baby,
then you’re not pregnant

Hello, those who call Champaign County home.

Did you know your taxes are about to go up?

I got another “Informational Bulletin” from the Illinois Department of Revenue today, and it talks about the sales tax changes that are going to take place on January 1, 2010. For those of us in Champaign county, we get to look forward to a one percent increase in our sales tax, and the extra will go to “County School”. Now, I’m confident that we probably voted on this at some point in the past, and I’m confident that it is going to greatly increase the quality of education that the youngins are getting. But, if you are planning any big purchases, and you don’t care that much about the munchkins and their learning, you’d better get that buying done before the end of the year.

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?


Rotating Numbers

Rotating Numbers


OK…. They aren’t just rotating numbers. The meaning is much deeper and more significant than that.

That day, for no particular reason, I decided to go for a little run. So I ran to the end of the road. And when I got there, I thought maybe I’d run to the end of town. And when I got there, I thought maybe I’d just run across Greenbow County. And I figured, since I run this far, maybe I’d just run across the great state of Alabama. And that’s what I did. I ran clear across Alabama. For no particular reason I just kept on going. I ran clear to the ocean. And when I got there, I figured, since I’d gone this far, I might as well turn around, just keep on going. When I got to another ocean, I figured, since I’d gone this far, I might as well just turn back, keep right on going. – Forrest Gump

A lady I go to church with has recently started running, and it’s for a reason, and a good reason at that. The local park near where she lives is in disrepair, and the kids in the ‘hood just don’t have a good place to go play. So, she decided to start running to raise awareness (and hopefully a little cash). She set up a website at

www.seemamarun.com

and I encourage you to go there and cheer her on. She’s suffered a few setbacks, but I will let you read and experience that for yourself. If you can find it in your heart to donate, that would be great as well. None of us can do it all by ourselves, but if we work together, we can accomplish great things.

Do you live in Illinois?

I’m going to guess there’s a good chance that you didn’t realize your taxes were about to go up on a few items that you might purchase on a regular basis.

I am registered with the Illinois Department of Revenue as a business (because I thought, once upon a time, that I might sell some photography). As a result, I get bulletins on tax related things. I recently got the Illinois Department of Revenue Informational Bulletin FY 2010-01.

I’ll summarize it for you. Starting on September 1, 2009, taxes on a few groups of “things” is going to go up by 5.25%. So, your tax on $10 of this stuff is going to increase by 52 cents.
(more…)

As many of you know, I’m trying to involved in real estate investing.

You might think that right now would be a great time to be buying homes since the market is depressed. In some ways, you’d be right. In other ways, you’d be wrong.

Here’s what I’ve experienced recently that frustrates me, but there isn’t anything I can do about it. I’ve been trying to buy some houses that were purchase in the early 2000’s.. 2003-2004.. that timeframe. If you do the market analysis (which I do) you will find that the market is currently very close to where it was then. Homes are worth very close to what they were worth then.

Let me repeat that in another way: A reasonable price for a home who’s condition hasn’t materially changed would be the same now as it was in the 2003-2004 timeframe.

<rant on>

Alas.. sellers don’t see it that way. There are a few different reasons for this.. 1) they are holding onto the fantasy that a home always goes up in value, and, the one I want to talk about, 2) they are underwater.

Underwater, you ask? Yes. Underwater. In other words, they owe so much on the house that they can’t (or don’t want) to sell the house for a reasonable price.

Perfect example: Someone pays $100k when they buy in 2003-2004. In the 2005,6,7 timeframe the house goes up to $150k in perceived value on paper. The market drops and the home is now back to being worth $100k.

The problem, however, is that the people refinanced when the home was worth $150k. They then took this extra money and spent it on wine, toys, education…. what they spent it on isn’t important. They spent it. They spent money that they didn’t have based on the paper value of a house that they weren’t selling at the time.

Now, though, the home is worth $100k, and they owe more than that. So, they won’t sell their home for a reasonable price because they “just want to break even”. That’s what they say. They say that “they aren’t looking to make money. They just want to not lose money.”. If I’m offering them the same amount that they paid, they aren’t losing money! If they refinanced and spent the money, they have already spent money that they didn’t have in the first place. I’m not responsible for that. It’s not my fault that they spent that money. I’m not going to now offer them more than their house is worth just because they essentially took money out of their home already, before selling it.

Anyway, I don’t expect that me writing this will actually accomplish anything, but it makes me feel a little better, anyway. Have a great day!

</rant off>

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:

http://www.thewebsite.com/filename.pdf

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)

« Previous PageNext Page »