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: