Sunday, March 25, 2007

Broomball got canceled :(

Broomball got canceled. Evidently the people playing before us found the place locked and couldn't get ahold of the people in charge... quite the bummer. I was all ready to play. I just hope that we get to make it up.

Friday, March 23, 2007

Hectic Week(end)

Its been a rather hectic week between my day-to-day work, Em was out of town for half of it, lots of Sark/Sogeti meetings, darts, etc, etc...

Work has been good but busy. I put in some extra hours in the first half of the week since Em wasn't around and b/c we have a ton of work still to do before the "sprint" is over. This was good b/c on Wed. I was really not feeling that well (bad headache seemingly due to allergies, felt funny overall and later my stomach was a bit upset) so I burned a few of the hours in going home early that day. Then we had a long business lunch on Thursday which burned the rest.

Speaking of the Thursday lunch ... it was with all of our downtown consultants plus our old office director (who now will be the head of operations?) and the new regional VP over the Cincinnati unit. Overall it was a good lunch meeting, we got several of our still outstanding questions answered and got a much better "warm fuzzy feeling" about the whole situation. At this point I think I have a much better handle on the whole process and what is going on. Still not sure how the health insurance plan is going to effect Em and I, but we will deal with it when we get there.

One really good thing that came out of the lunch meeting and me talking to the guys afterward was that I confirmed that a transfer within the new Sogeti organization was not only possible, but shouldn't be a problem and should be able to be done within the timeframe that Em and I were hoping. As those of you who know us (and who read this blog other than the few random visitors I get) .... it has always been the plan of Em's and mine to move back to STL at some point b/c thats were we are both from and thats were our families are. With the whole buyout situation, Em graduating in a month or two, our current lease being up this summer and some other factors have been pushing that move up if possible. Well, the prospect of quiting my current job, finding a new job, moving back and finding a new place to live was not looking good to me. Being able to transfer within the company, keeping my current job, and being able to stay in an org. that seems to have decent career opportunities and good benefits (other than health insurance) is going to make things so much easier.

So, nothing is official yet, or set in stone, but thats the big news as of late. Hopefully I will have more news in the next month or so. Wish me luck ;) :-D

-----------

Besides the work front, some other little tid bits from the past week:

  • I had the idea the other day (inspired by an instructables article) to get an USB extender and hook up an old webcam I have to it and my computer and attache the webcam to our birdfeeder. Hopefully, I could use it to get some much more close up pics of the birds (and occasional squirrel) that frequent it. I haven't done anything on this yet, but hopfully during the summer I will get a chance. I still am and will work on my other software projects. I promise.
  • The weather was beautiful today and has been much much better than that cold strange winter we had. Today Em and I went out to Winton Woods park for the first time which was nice (very similar to Sharron Woods). Walked around the lake, enjoyed the sun which actually got hot at times (the guys who said it was gonna rain today LIED!) and saw a few animals. The pictures of the snake in the post were taken today (it scared the cr4p out of Em ;) ).
  • I played darts on Thursday and I am happy to say that our team defeated the current first place team 9-6!!!!!! We threw some of the best darts we ever had. We won the first game, lost the next 4 or 5 in a row and finished off winning 6 or 7 to end the night (including 6 singles matches in a row .... I lost my first one :( ).
  • Tomorrow is our last broomball game of the season, possibly ever for a Sark/Sogeti sponsored team, and maybe my last if I move. Its gonna be a sad day :( ;). Luckily, its against a team we have beat before, and Sogeti is picking up the tab at BW3s afterwards so it should be a good, stinky time!
  • Today we ate lunch at Blue Ash Chili. I am really gonna miss that place if we move. Where else can you get a corned beef sandwich with about a pound of meat on it, a cheese coney, some great fresh fries, and a coke with crushed ice. Where!?

Saturday, March 17, 2007

4r3 u l337 enuf 2 r34d th15?

For those geeks and wanna-be-geeks in the croud, here is yet another "Geekness Test". This one is pretty long and intense. Personally, it says I am 22.5% geek. Prior to taking the test I would have guessed it was higher, but I guess the fact that I never crossed the D&D/Band/Renaissance Fair line and married a non geek means I get to be somewhat "normal" ;)

Not sure if this fact would have changed anything, but I spent the bulk of today reading about how to implement web services with J2EE technolgies and working on writing my own streaming PNG encoder in Java. Crazy that that is at only 22.5%!

----------------

On a good note, I finally got the PNG filtering working! On a bad note I found out the problem was an absent minded mistake of mine (NOTE TO SELF: subtracting the previous filtered value from the current one is NOT the same as previous input value). Its pretty amazing what filtering can do to improving the compression ratio of the DEFLATE algorithm. I will post some stats later when I have the rest of the filters finished and have written a driver for the encoder.

Early-Weekend-Update

  • Over the past couple weeks or so, I have lost several hours of my life to flash games such as this, this, this, and another that was on Digg the other day. They are pretty darn complex and interesting little puzzles. With a coworker, we figured out the Crimson Room, I couldn't figure out the Veridian Room without cheating (there is just no way, without sacrificing a good week of your life, to figure those damn things out), but I did figure out by myself the White Chamber and the one on Digg (they were much more puzzle oriented and less click wildly until something happens, which I liked). If anyone else checks them out, let me know what you think.
  • Last Thursday, Starbucks gave away free coffee to anyone who showed up between 10am and noon. Since there is one in the plaza level of our building, we had to check it out. It was quite the spectacle ... they could hardly keep up with the line of people forming. Although, I guess, if they can get just a few more addicts for each location its worth it. Its amazing the caffeine addiction some people have! Friday was a "tenant appreciation day" for our building, so they had free cookies and drinks downstairs. Yay for free stuff!
  • Friday, I went out to lunch with some guys I work with and we headed to a place in the next block called Rise and Shine. I don't know exactly how to describe it. Its a small restaurant downtown where the outside looks pretty normal, the inside kinda reminded us of a Bob Evans, and the menu consisted of breakfast food, normal American fare (burgers, etc) and Thai food. Yep, Thai food. It is very strange, but pretty good. Me and another guy actually ended up getting the buffet (all Thai food) and they just handed us empty containers and we piled in as much as we could fit. The quality was just ok, but they made up for it in quantity.
  • Last night, Em and I partook in the Hartzell Methodist Church Fish Fry which is near our apt in Kenwood. I have to say, it is by far the best run fish fry I have ever been to. Their prices are good, they are very efficient (after you buy your tickets for what you want, they have people wait briefly in the chapel while an old lady plays some great piano. Every couple minutes they figure out how many people have left the dining hall and let that many new in, it works great), the fish and side items were very good, they offer unlimited seconds on fish, there aren't a million little kids yelling or running around, drink is included, and they have home made desserts which are included in your meal. Hurray for homemade cherry pie!!!!!
  • After we left the fish fry, Em needed new dress shoes to go with her suit so we went into the Kenwood mall area and got her a pair along with a new pair of brown dress shoes for me (given that I have worn my current pair pretty much everyday since starting work w/ Sark-Sogeti, I think I deserve a new pair ;) ). After that we checked out the new market that just opened up near there. Its a The Fresh Market, and its a cross between Trader Joes and Dorothy Lane Market. Great looking food, nice layout, not too big, and OK prices (you actually get what you pay for). I am debating on going back today or tomorrow to pick up some things to eat this week .... maybe a nice salmon fillet since Em doesn't like it. So many choices
  • I will be fending for myself this week b/c Em is on her way to STL as I write this. She will be there till mid next week visiting with her family, who will all be there, and attending a school career fair. Hopefully she will have a good/safe time :).
  • Other than that, not a whole lot is new or exciting. I am planning on trying to get a lot of work done over the next few days, catch up on studying for the SCDJWS exam, and working on my various programming projects. Yep, it shaping up to be one hell of a nerdy weekend.

Tuesday, March 13, 2007

PNG Problems, Celebration Dinner, and an award!?

[start tech stuff]
To follow up from yesterday's venting post about Java, here is a bit more info for those of you who might be interested. I have been working on a PNG encoder in my recent spare time that allows for the creation of PNG images, written out to a specified file, in a streaming manor. i.e. you create the streaming encoder object, tell it about the image you want it to produce (height, width, encoding type, compression hints, etc) and then you call the encode method while passing it an inputstream. The encoder then reads data from this inputstream and builds your PNG for you, buffering out data to the file as it goes.

There are two reasons for me wanting this. A) I didn't want to overhead of having to build and encode very large images (6k x 6k pixels or more) in memory while storing the source image as well and B) its always fun to write code that has a direct and colorful result. :)

This past weekend I wrote the bulk of the encoder minus 1 important step in the PNG encoding process ... filtering. The whole time I ran into the issue that the default representation of data in Java (and most languages) is a primitive int object, which takes up 4 bytes and is a signed number. Well, when encoding PNG's and working with low level image data, few things use 4 bytes at a time. Sometimes things are encoded into 2 bytes. Sometimes less than 1, but almost always your working with single bytes at a time. This isn't that big of a problem on the surface .. just throw your data into byte objects and move on .... but there are two problems. 1) if a piece of data takes up more than one byte, you have to encode it in network form, which isn't always how it is stored internally and 2) java bytes are signed also even though the data I am representing isn't ... and the conversion of byte data, into byte objects, into ints for math operations, back into byte objects, and to a file as byte data ends screwing up the data from time to time.

I believe I have either fixed the problem in my code through some creative use of bit masking, etc and/or have narrowed down the problem area to a couple lines of code. Hopefully, this week I will be able to fix that and have filtering work properly. I have also run into the problem that the PNG spec isn't 100% on how the filters should be applied when reffering to previous bites, so I will have to still test that.

I am happy to report that the code currently CAN produce PNGs, just as it should, if you turn filtering off. They can be read in every image editor/loader I have tested them on, and that is a very uplifting note. The only problems is that without filtering, the compression algorithms is a fair bit less effective (a test image of all colors can be filtered and compressed as a PNG of around 50K .... my unfiltered and compressed image is about 400K+. Not perfect, but a good start).
[end tech stuff]

Last night, the two product consultants on our team at work were kind enough to take the whole team out to dinner at a local Indian restaurant in celebration of the work we got done in our last sprint and for how well the demo with the business owners went. It was really very kind of them. Despite a few reservations some of the team had for trying the new food, I think everyone enjoyed themselves and I had a great lamb dish with a mango lassi so I was all set :).

The only downside to this, and the numerous meetings I am getting invites for for the next few weeks from my new company ... is the time away from Emily. You wouldn't think that you could miss someone who you live with, but the days just aren't the same when you both are busy and you don't get to spend some real quality time with them. Hopefully, after Em comes back from STL next week (she is going back for a few days for work stuff and her dad's bday), and the meetings slow down after the two companies are integrated things will get back to normal.

-----------

When I got in today, there was a message waiting for me from a friend of mine who is a Sark consultant out at GE asking for me to give him a call. When I finally reached him a bit ago, he let me know that evidently I had been given an award. An award from back in November time frame. An award from a team at GE (my old client). An award for my contributions on a project that wasn't my primary project from people I am not 100% I ever met. Very strange and surprising to say the least. Evidently someone really like the limited work I did, so I have a plaque waiting for me. I will have to get some frames and hang it up along with my certification awards and my little SCJP and SCWCD pins at home ;)

Monday, March 12, 2007

Argh! Signed Bytes can kiss my butt!

I am not one for flaming about what programming language, IDE, etc is best or worst or whatever. I say, if build it, and it works to spec, then who cares.

That being said ... the fact that there isn't any easy way to work with unsigned byte data in Java (BC every fricken primitive type is signed) is really starting to piss me off!

Saturday, March 10, 2007

Small Update

  • new root beer - the other weekend I got a 6 pack of a new root beer: Henry Weinhard's Root Beer. Overall I have to say it was very good, but not as good as the last. This one had less of a bite and was a bit smoother. It also had a distinct vanilla flavor which was good (making it a kind of cross between cream soda and root beer). I have to thank Em's mom for suggesting it (she had had some back in Colorado?).
  • streaming png work (almost there) - I have the bulk of the work done on my streaming PNG encoder side project. Em babysat last night so I had some time to work on it. I have made some good progress and the parts I have left I think I already know how to do.
  • great weather - Friday it was almost 70 degrees here in Cinci!!!! Unfortunately I was in the office all day, but it still made the walk back to the car and the drive home very nice. Today Em and I spent some time at the park walking around which was great. I am SO READY for spring!
  • bean salad - my grandma makes a great bean salad and over the last couple weeks I have made it twice. A can of mixed beans plus just under a 1/4 cp. oil, vineger, a splash of apple cider vinegar, and a 2 or 3 table spoons sugar. Mix to coat and let sit for an hour or two. SO yummy!
  • corned beef and cabbage - tonight for dinner we(Em) made corned beef and cabage. Mmmm Mmmm Gooood. So simple, just time consuming. Em also made some Irish Soda bread which was the perfect complement.
  • broomball game - lost again, but no major aches or pains and we played well.
  • new pics - here are some new pics I have taken recently:


300 Review

I really liked the movie. It had everything I wanted from an action/gladiator/war/guy movie. The plot was simple, but not bad (assuming you don't think of it as a history lesson). It was a fair bit gory at times (but what do you expect from a war movie). Having never seen the graphic novel that it was based on, I can't say how close it was to it, but I have to say, between the way they did the graphics, lighting, audio, and camera angles .... it had a really cool comic book feel to it that didn't take away from the movie but added to it. Oh, and while I am on the subject of the graphics, THEY ROCKED. Best single part of the movie, by far. They were the perfect for the film type (gritty at times when it helped, hi-contrast, dramatic, moving graphics). It was pretty cool to see. Overall, I thought it was prefect for the genre, but obviously not for everyone (Em had her eyes closed through some of the crazier battle scenes). Also, I am not sure if I am just getting old, but the movie was damn loud in some spots. During battle scenes it was fine, but it was a little loud for some of the more subdued scene.


Ok, here are some of my thoughts on the movie that include spoilers or specific plot points, click on the following link to view:

  • Opening sequence about when the King was a kid was very graphic given that its only the first 2-3 minutes of the movie. At this point I was a little worried that the whole movie was going to be constant gore, but it evened out which was nice.
  • The actor who played the King was really good. The setting helps, but he was super dramatic and felt like a king.
  • The scenes with the crazy old priests and the Oracle were a little unsettling.
  • The mix of humor and action was entertaining but a little abrupt. The scenes where the guys laugh about fighting in the shade and with the apple were pretty darn funny though.
  • All the different Persian armies were pretty cool looking, poor elephants.
  • Watching a movie with that many guys who are uber buff could make the strongest guy feel week.
  • The parallels between this movie and parts of the Lord of the Rings trilogy (including the one actor) were comical. No idea if they were intentional, but the hodgpodge army attacking the outnumbered good guys with crazy animals, and Gollum showing up in the form of the misshapen Spartan guy was funny.
  • The scenes where they blot out the sun with arrows were well done.
  • I got all confused when the king kneeled down before the Persian god/king, I assumed he was just screwing with him, but the drew it out long enough that I was a little worried.

Friday, March 9, 2007

300

Just got back from seeing 300 with Em (yep, she loves me enough to go out to a gory war movie :) ).

I have to say, it was extremely entertaining and I would recommend it. I will post details tomorrow of what Em and I thought, but for now, its past my bed time. Night all!

ps, here are some links about it if you can't wait until tomorrow. ;)

Wednesday, March 7, 2007

Everything Update For Josh

  • Parallels - I installed Parallels the other day on my iMac and I have to say, its a really impressive product. Very fast, clean interface, works great. I have XP running in it for Quicken and eventually .NET development, and its working great. The image files aren't too big either. My only complaint so far is that there isn't an easy way via the interface to create a snapshot of a virtual machine (ie a copy of its current state for backup purposes). I eventually made one by hand by copying the image files but a nice interface would have been nice. My only other glitch, and this is very minor, is that with dual monitors, the transition effects when switching between OSs blinks a bit and isn't smooth. All well ;). Oh, and once you install the Parallels tools in XP, you can move your mouse straight into it and out without clicking or anything and it will send the signals correctly. That plus clipboard integration is pretty nice.
  • Quicken - I installed this as I said above. Works well, I am still trying to get all my accounts setup correctly but I am happy. It did crash the first time I ran it (being the first program installed in XP, i had to laugh) but it has worked fine since.
  • SuperDuper - My final installation of the past weekend, this backup software is working out well. I broke down and paid for the "full" version since I really liked it and it unlocked the "smart updates" for your backup partition and in-app scheduling. Now I have it setup to make a smart backup once a week thats fully bootable. A nice bit of insurance.
  • Game Night - wed night was a Sark Game Night, we played Call of Duty at the Sark office. Fun times. I am pretty sure I was #1 (or 2) in every game so that was cool. With this, plus last week's Sark stuff and some large meetings this week I have gotten several lunches and dinners paid for recently. :-D
  • Moms weekend - this past weekend my mom and Em's mom made their way into town to visit. Other than some freak snow showers and a whirlwinds weekend, I think everyone had a great time. Some of the highlights were showing the moms JungleJims (they were both pretty much awe struck by the time they made it to the bakery, which is less than half the store), a good but not quite what we expected dinner at the Glendale Pub, some good relaxing and talking, and a great breakfast at the Original Pancake House. I had some GREAT sourdough pancakes BTW.
  • Em Test - Em took the Praxis this past weekend and thinks she did well. Not much left besides graduation!
  • Taxes - This weekend I gotta finish up our taxes. While I wouldn't suggest it just for the tax break, spending a ton of money on tuition results in a nice tax credit. Lots of debt, but a nice tax credit.
  • Broomball double header - Last two weeks we have had broomball double headers. First time we won both games, second time we lost both. 2/4 ain't too bad! :) Another game at 4 this week. Wish me luck.
  • work - work has been kinda crazy this week. Without going into too much detail, we ended our previous "Sprint" last week and had a large demo of our current progress on Monday that went very well. On Tuesday I had meetings pretty much all day to discuss the things that went well/wrong in the last sprint, figure out what we want to do this sprint and plan for those things. The rest of the week had me working to understand my new integration point (integrating the billing system with the system that stores policy information, which happened to be installed before I was born ;) ) and hashing out the basic design of my parts in conjunction with a coworker. This is looking to be a work filled sprint, but at the end we will have the majority of the system in place which is exciting. Also, we are working to get end-t0-end testing in place for our integration points which may mean I will be able to actually call up the a voice response system and test my code from last sprint which would be cool.
  • sark conf call - The Sark/Sogeti buyout officially happened on March 1st, so technically I now work for Sogeti US. I have been getting bits and pieces of information and details as they become available but still don't have a complete picture of what this will mean for the future. If I hear anything crazy I will post, don't worry :) We had a national conf. call on wed that was a lot of biz jargon and fluff, but at least gave us some names and the idea that things were moving forward. I should be getting benefit and policy info in the mail sometime this week....hopefully.
  • go carts, happy hour - last week we had our yearly Sark monthly meeting at the indoor competition racing place. 30+ MPH go-karts == fun even if my side hurt all the next two days from one bad turn into a wall. I did great, except for 4 penalties. But one wasn't my fault I swear! I though I had gotten one so I went into the pit area behind another guy, but when the guy saw me he just looked at me strange and told me to go ahead. Then on my next lap a diff official-guy gave me a penalty for going in the pit without a reason! You believe that crap!? ;)
  • seega - this project has stalled after its initial momentum, but I am hoping to work on it some this weekend. I have been just too buzy at work. plus...
  • photessera - I have been working some on this project. I came up with what I think is a more efficient design to keep the memory footprint down, but its hinges on my ability to find/make a PNG encoder that can create a file via streaming input (so that the entire original image need not be in memory). I have been reading the PNG spec and about the DEFLATE algorithm but fear that I will need 2 passes over the data to create the file. I MAY be able to get away with a single pass but I will have to do some creative sampling prior or concede that the compression won't be at its best. I am really considering throwing something together this weekend so that I can run some tests on the tradeoffs of time/memory footprint/number and amount of HD read & writes/complexity/resulting compression. Its actually a very interesting problem.
  • root beer - I got a new kind of root beer from JJs when we went last weekend. I will post a review whenever I get a chance to upload the pics
  • SCDJWS - my studying has been stalled with the above, but its moving along. Actually I have having to pick up a number of the secondary technologies in my current project which should be helpful.
  • Pics - I took some decent pics the other day, but haven't put them on the web yet. When I do there will be a post.
  • Noah's Arc in our backyard - the other morning I was getting ready and was looking out the window at our porch at the various birds which were enjoying the fresh birdseed I had put out. Your normal bunch of misc small birds flying around. Then I saw our resident squirrel come by, but with a friend, and got to watch him try his best to reach the location of our bird feeder (he eventually did get it, he is quite the acrobat). To go along with the pair of squirrels, we currently have a pair of Red Bellied Woodpeckers, Cardinals, and Blue Jays flying around. I actually got to see all 4 pairs in a half hour time span the other day. It was pretty cool.