Sunday, May 06, 2007

Aloha from Hawaii!

Aloha everyone. Been traveling across Ohau for the weekend to decompress in between everything. We've been to HI 4 times now and on one of those occasions, frequented all the major islands. Last time we were on Ohau we managed to get in Pearl Harbor, some sightseeing and some boogie boarding/swimming on Wikiki with Joshua. This time (since we weren't looking after Joshua) we've been able to cram more in. I suppose it helps that we're on this island for 4 days this time instead of 1. Here goes.

Hanama Bay: rated as one of the best snorkling spots on Ohau. Nice and calm but very murky water. Also very shallow so you'll hit your feet on rocks/coral if you aren't careful. There's a few fish here but not nearly as good as snorkling off Black Rock in Kaanapali Beach Maui. It costs $1 to park and $5 pp to get in. Then you have to sit through a video that makes you realize how many disrespectful people come to these islands without realizing the damage they can do.

Surfing: Yes I surf now. Got up and rode the very first wave I tried!!! I was on a battleship of a 12 foot board so turning was absolutely out of the question but I surfed a straight line so much I rubbed my chest raw. The instructure eventually left me out there to run by myself because I was doing it and it was down to practice at that point... and then he could try and get some more people out there. $35 isn't bad for that kind of fun. Go to the first kisok on the main beach, right by the oldest hotel in Wikiki and ask for Kevin. Great guy, and obviously not a bad teacher since I rode my first wave on the first try.

Polynesian culture center: Pretty cool place. It's run by the Mormons and they say no booze and only decaf coffee but money talks and you can buy REAL CAFFEENE in the form of coffee and cola's. Apart from the irony it's actually a great place. There's too much to see in one day because everything is organized like shows so you'll go from show to show. Samoa is great, so is Tahiti. There's a luau wich was ok (good food after the entire day of being there) and then a show at the end which was really cool. You'll spend a day here but I recommend it and I also recommend a tour bus so you don't have to drive home tired.

That's all for now.

Friday, April 27, 2007

Google Code - Updates: Google releases patches that enhance the manageability and reliability of MySQL

Speaking of cool mysql features... Google releases their mysql patches to the wild.

Google Code - Updates: Google releases patches that enhance the manageability and reliability of MySQL

Wednesday, April 18, 2007

Feature Missing from MySQL

Mercenaries...
We have masters and slaves but what about mercenaries? Mercenaries can serve multiple masters at the same time, each master simply carves out a small amount of the mercenary's time. Mercenaries don't have undying loyalty to one master. If a master goes away for a while a mercenary can still remain productive by doing work for other masters. In-fact if a mercenary knows that a master will be gone for a long time, they can free some resources for other masters. Mercenaries travel the world, calling in air-strikes, looking for the ace of... wait the metaphor broke.

MySQL has some great performance characteristics in multiple performance disciplines (both transaction and price) but as one who scales MySQL will attest to, there are some complicated problems to overcome as things get bigger. This is especially true of write-intensive apps. Mercenaries are servers that are not of the "slave" class who can serve multiple masters without "hating one" as the old proverb goes. Using this paradigm it's possible to divide up your write responsibilites to multiple servers and replicate those changes into your read-only cloud. Segmented tables to a given processor/machine would allow write-responsibility to be segmented to a resource-dedicated system.

Yes I know breaking up the data-structure hampers referential integrity (for those pure-dba types) but MyISAM continues to be a popular choice despite its lack of the aforementioned feature due to its performance. There is apparantly a trade-off here that some people are willing to make. Perhaps an architecture whereby certain tables are replicated as read-only to the other write masters to maintain referential integrity is the way to go? I don't think that's a drop in the hat as inserts can become complicated with referential integrity enforced due to replication lag.

I'm not so much proposing an architecture as lamenting a lacking feature. I suppose in all my free time, I could work on this but that would compete with all the time I spend writing fibonacci numbers out on my whiteboard. FYI, MySQL 5.2 or later is supposed to include this feature but it's not here yet and as far as I know not committed to a particular release.

Tuesday, February 20, 2007

Nobody knows I'm here

Ok, that sucks. Over two months and no blog posts. There's a good reason for it but I won't explain in an effort to keep the one reader I have left from dying of boredom!

Some notable things happened to me over the last couple of months:

Tasha and I went to see the Nutcracker as we usually do during the holiday season. Although not a whole lot of men admit going I find it quite facinating. It's admirable how much work these people put in to the show and usually I'm very very pleased... Except this year. We bought the EXPENSIVE tickets this year but didn't really get to use them. On arrival we were like 30 seconds late and would have popped straight into our seats except when we opened the door to go in we were faced with a poor kid running for the door following a stream of puke he was exhausting. Tasha got nailed, not a lot but puke is puke and a little goes a long way. Now we're parents (thankfully) so a courtesy puke was resistible and we simply went to wash it off. We felt horrible for the kid and his mortified mother following behind him apologizing profusly. Ok time to sit down. The show went well except for one of the dancers falling. (again, you feel bad for them in a way)

We got to the half time show (I like to call it that to revive a bit of manhood) and went out to get some coffee. This time we were admittedly lagging and were literally 5 seconds behind the door shutting. This time, however, we were not allowed back in. The establishment saw fit to detain us outside until half of the second act had passed on the merits of "no late seating". WE WERE LITERALLY 5 SECONDS OFF TARGET. That may be a lot when dropping a bomb but when watching a bunch of men and women run around in tights it seems a bit much. Finally after all that time and listening to us complaining they allowed us to sit, but not in the seats we paid for. We finished the show in the very back watching people who weren't obeying the rules come and go as they please through the side door.

Why we didn't think to just get up and walk down there I don't know, maybe because it seemed like they were watching us every time we looked over at the door-person nearby.

What else:
Cool screenshot application:
I did some work with media files in my spare time and discovered a bit of info on the windows platform. When working with media files using directshow one must know that the was moved from the directx sdk to the platform sdk with the 9.0 release of directx. This was easy to find in Google, what wasn't eahttp://www.blogger.com/img/gl.link.gifsy to find was some information on working with the directshow sdk from C# for the purpose I was attempting to use.

I was going down the path of C++ code with a managed wrapper called from an aspx page when I discovered something. There are a wealth of Gems in the quartz.dll file if you just add it to your references. Everyone will tell you that there is only support for audio/video playback within managed code. There are some creative things you can do to get access to filter graphs and use some interfaces/external wrappers to capture video direct from a camera/video capture device. You can also load a media file of almost any type and save a rendered portion of the media file as a bitmap. Wrap this in some conversion code to drop it as a jpeg and you've got a cool screenshot tool.

I used it to create an upload preview system for home movies we create with Joshua.

Also dove into the apache lucene project this quarter. For those interested in search technology I highly recommend looking at this. I wrote a spider to pull down RSS files from rhapsody and index them in lucene, filtering by my music likes and created a cool search tool for what music I want to listen to. It was a bit overkill for a home project but that's what happens when you're trying to get the hang of something.

Ok enough updates I'm done writing.

Wednesday, December 13, 2006

Entropy entertainment

So I'm working on an XML/XSLT project right now that for some strange reason is introducing some randomness when transformed on the server. Funny things happen when you apply /dev/random to a massive music catalog. When thinking I was going to be listening to a little John Mayer I instead got treated to a group that sounds like it knows a lot about entropy. A 30 second sample should be enough to make you laugh, the entire thing made me laugh so hard I cried.

Oh what a world...

I thought we'd moved past this people???

So like most, I have several email addresses, the sacrificial lamb, the old standard and the one for friends. As a matter of policy, the sacrificial lamb is never checked and only cleaned out when I remember. This is the one I give out to sites I know to have horrible personal information practices that have no reason to ask for my email anyway but won't let me move past some part of their workflow without supplying said address. Usually, the only reason I'm interacting with them in the first place is because of business.

Then there's the old standard, the yahoo address everyone signed up for when it started and that a few of us kept because we didn't want google reading our email (not that yahoo doesn't have the opportunity, they're just not as obvious about it). This is the one that gets used for most registration processes, search agents, etc... It's pretty slammed with spam but not too hard to keep clean.

Then there's the one we use for friends. This one is our personal address and usually only given out on business cards, beamed to someone's phone or otherwise protected religiously. Policy is rarely broken on this one but every once in a while I use mine for purchasing something with a company I like for one reason or another.

So what's the point? The point is that I broke policy with my friend email for a company I thought had better practices then it apperantly does. Kingston. It's not like they shared my address with everyone in their address book (at least not yet) I'm just annoyed because this morning I had the typical product-offer that usually fills my yahoo account in my "friend-box". Now, I can use the delete key but because it's a reputable company I decide I'll unsubscribe first, after all they've done what any normal company would have done and put an unsubscribe link in their email. Unfortunately that's where my annoyance really began. Instead of taking me to a nice reassuring message that "We're sorry we bothered you. Thank you for the hundreds of dollars you've given us in the past. We won't email you again but please think about us the next time you need to spend a bunch of money on RAM" I'm directed to a page that requires me to re-enter my personal info, UNcheck a bunch of boxes and pop a couple of radio buttons over. Clearly the page is designed to get people to subscribe not the other way around.

KINGSTON. Go back to school. You could use some UI help and some business help. I was a nice happy customer now, while not completely ticked off, I'm annoyed with you.

Friday, December 08, 2006

My love/hate relationship with Java

Recently (um, last month recently) Joel had a great blog on choice . I asked Tasha about the differences between sleep and hibernate and she came up with some answer that involved mammals. I love having a technology litmus test at home by the way.

When doing consulting I cross languages frequently and one thing has always bugged me about jumping into Java, choice. As a technologist I both love choice and hate it at the same time. I love the fact that new technologies are adopted much more quickly in Java and it's a great "proving ground" for useful ways of doing things but there's a serious cost that's rarely counted in this paradigm. In the .NET world when you want to do remote communication you've got only a few choices, and mostly MS will just push you into SOAP. In Java, there's choice and it wouldn't be so bad if not for the fact that in order to make an educated decision on one platform or another, one must learn to the point of understanding the pros and cons of each. To choose without knowing the risks and rewards of each choice is to drive blind and hope there's not a wall somewhere in your path (or that you've gained enough momentum to smash through said wall). In Java, you often have to find and understand many different frameworks and sometimes different versions of the different frameworks.

Granted, the existing environment often makes this choice for you but still... No one solution is right for all problems. This is true in the Microsoft world as well but you are forced to work around any built-in roadblocks and for the most part they're understood because there is no choice so people have worked around them before. In the Java world people just find a different framework that fits their needs and it's the act of "finding" that I call wasted cost. This is compounded when you leave and come back to Java because all of these little frameworks improve at their own pace so you can't count on your understanding of the landscape when you were standing on the playing field the last time.

Don't get me wrong, I do like Java. I like tinkering with new technologies and frameworks as it affords an opportunity to broaden my mind beyond the current Microsoft offering. I like .NET too because there are so many tedious things that are just done for you (accidental difficulties). Anyway, that's my thought from the morning commute.

Tuesday, December 05, 2006

Good day eh...

http://www.blogger.com/img/gl.link.gif...and welcome to day 12.

Ok first post on the blog and I've got to rant because my phone is pissing me off. I get the bluetooth-to-internet link working on my Macbook Pro and the darn thing keeps hard-locking. Perhaps Windows Mobile has detected that I'm connecting with a MacBook and ups the frustration level automatically. That'd be a great theory if it didn't happen with my Sony XP laptop as well. Time to pop the firmware.
</Rant>