Wednesday, January 31, 2007

Updates-a-plenty

- Work -

Today we had our "Sprint" #3 kickoff meeting for most of the day. GAIC is using the Scrum as its agile project management methodology. Basically, in order to enable the project team to adapt to changing requirements the project is divided into many "sprints". Prior to each sprint set tasks are picked to be completed in that sprint, and their efforts estimated. During the sprint a "scrum" meeting is held each day where everyone gives a 2 minute description of what they did, what they are doing, and what impediments they have.

From the few meetings we have already had, it seems like a good plan in theory .... we will have to wait and see how well it works out, but I have heard good things. It is definitely a better plan than a monolithic waterfall model, but it really depends on the PM and how well the team can follow the guidelines. Only time will tell. ;)

This new sprint I have been tasked with writing up a new set of web services that will expose the billing system's account information and policy information to users who request it via the IVR system (Interactive Voice Response). I am psyched that I will be getting to do some real development and development with new things. I have no idea if my estimates for the work will be anywhere near correct, but we will see.

- Life -

The other night I made some really good risotto. I sauteed some chicken with peppers and then made up some risotto with various herbs, chicken broth, white wine, onions and garlic. At the end I added a stick of goat cheese, some parmesan, and the chicken and peppers. It was very yummy.

Not a whole lot has been going on other than work, working out (which I am glad to say I have been doing a decent amount of)
, sleeping, and trying to help Em study. Em found a flier at the rec. center saying they were going to have dodgeball leagues in April. I let our "activity committee" know and we may be doing that instead of indoor soccer for the spring. :-D

Yesterday I found this link (can't remember from where). Its from the Instructables.com website which I read every once in a while. It has some great tutorials on it for really out-there projects. I would love to make a set of invisible book shelves for our apt even if I have no idea where to put them. Maybe some day when we have our own house. Either way they are pretty cool.


- Tech -

Unfortunately I haven't had time or the chance to work on my mosaic project in the past few weeks. I spent some time this past weekend researching various methods of working with very large image files, but haven't gotten any more code hammered out really. This is also due to the fact that the latest code I wrote is sitting on the HD of a machine in Sark's office which I don't have daily access to. Hopefully I will be able to stop by on my way home tomorrow so I can start it back up. I want to rework some of the design and get the code into a new Subversion server on my new Mac so that I can track my changes and various attempts better. Also, if I can come across a free license for Jira I would really like to setup some project stuff and bug tracking for it so that I can keep track of what I am doing between coding sessions. If I can't get a copy of Jira, I may setup Trac or something like it (although I don't really want to have to setup new programming environments just to run the bug/project tracking software).

Last night I finally got around to using SuperDuper to backup my iMac to my external HD. So far I have to say I am fairly impressed. The interface is clean, simple, and straightforward. The initial backup (which is a full 1:1 backup took under 2 hours ... subsequent backups will be "smart" and just do the files and data that has changed). I am still on the fence if I will buy the "pro" version. It gives you some extra features, scheduling, etc. Things I want but I can probably do some other way.

On a somewhat interesting note, yesterday afternoon I was talking to a coworking about if there was a way to sync google calendar with iCal. From what I have found online it looks like you can only do read-only sync's each way assuming you publish your iCal to some WebDav server. However, yesterday we found a program some people are working on called SpanningSync. It allows you to sync both systems read/write and it will sync changes almost immediatly. Only problem was that it is currently in private beta .... well it was when we found it around 4pm. As of 6pm they opened it up for a public beta test ... and took it back down around 10 b/c their servers were maxed out. I didn't find out until this morning. I guess the early bird does catch the worm. After looking into it more and reading that it is probably either subscription based or a lifetime fee to use the end product ... and that it may use an intermediate server to sync the data ... I probably won't use it when its done. But the product is really cool none the less.

Saturday, January 27, 2007

Willkommen!

Last night Em and I went out to the Black Forest Restaurant (near West Chester) for dinner. In our new Entertainment Guide (thanks Mom) we had a buy-1-get-1-free coupon and we had seen advertisements for the place for a while so we decided to check it out. Also it turns out there is something called the German Mardi Gras?, which the restaurant was celebrating in full force ... so there was no question, we were there.

The food was really good, the atmosphere was very fun, the live music which was starting up when we were finishing sounded great, and our waitress' outfit was interesting. All in all a good evening. The prices were a little on the high side (if we hadn't gotten Em's dinner for free) but not so much that I wouldn't go back the next time I had a hankering for German food.

We both started with hot slaw (neither of us had had this before, but it was exactly what we imagined and very good). Em had the Chicken Schnitzel Oskar (Breaded, sautéed and topped with crabmeat & asparagus. Served with Hollandaise Sauce and boiled red potatoes) while I had the German Sauerbraten (Marinated eye of the rounds of beef. Then roasted and served with a sweet and sour sauce and buttered spatzles) and we shared a side order of potato pancakes. Everything was cooked perfectly and very yummy. We finished it all off with a slice of hazelnut torte. So good.

...

Tonight I am going to try my hand at making chicken and risotto infused with goat cheese and peppers. Lets all hope for the best. :)

Thursday, January 25, 2007

New desk (sorta) and flying pies

Today was the last day of your Guidewire training class.

Yay!!!

Actually, I thought the training was very good even if it was over ClaimCenter and our project is with BillingCenter (ClaimCenter is their established product and one which another group is currently working on implementing. Billing Center is a new product from GW which GAIC will be the first to implement). From what I have heard, the work will be twofold 1) work with the business side and team to hash out details for an integration point. 2) Work with BillingCenter's built in extension abilities to create custom integration points that will connect the two systems. Shouldn't be too bad.

The first integration point I have been tasked with is integrating BC with the Interactive Voice Response (IVR) system. I have just started looking into it but basically, the IVR is a large phone system with voice activated menus and understanding. Customers can call in and enter one of two modes: Inquiry and Payment. I will be developing the Inquiry mode integration first. The IVR system needs to be able to query the BC server for various information on a users policy, account, and payment plans. Its a pretty interesting system. Should be good.

After the training was over we moved up to our main building 2 blocks north of where are training was (I timed the walk from the 11th floor to my car at the ballpark and it was 10 cold minutes which isn't bad). The building is cool and the offices are nice except that the guys I am working on this project with and myself are sitting in a converted storage closet. Yeah closet. No cube for me. Now, don't get me wrong its plenty big and just as good as a cube but the fact is that it must have been originally designed as a storage room not a office. All well, you can't win them all.

Tonight was our Jan monthly Sark meeting. As usual the food was very good (and even better b/c its free) and it was nice to get to talk to all of the guys who still/did work out at GE. Evidently just after I left (a few weeks ago) they announced a full re-organizing of the Technical Services Group (where I worked) where they basically gave all of the GE employees 45 guaranteed and then the re-org would take effect. They are consolidating a number of positions, changing the management structure and now everyone can/has to re-apply for their jobs which are being publicly advertised. Basically, the GE employees are getting screwed for the most part. Some have left, some are looking, and it sounds like a lot are not sure what will happen. Sark is doing ok out there still but we have lost most of the people who really liked and hired us so who knows going forward.

Finally, some interesting stuff happened at the mtg. First, they are starting a indoor soccer team in a month or two which should be fun. Two, our Feb. mtg will be at the high speed indoor go-kart place again which rocks. They are reserving a private room for our St. Patty's day happy-hour and there will a snow-tubing night in a few weekends for everyone and their families, which should be a ton of fun. Finally, tonight we had the Pie Throwing from our Sark charity auction (certain people in the office auctioned off pies in the face for the charity). Several office people including the office director took pies in the face (and one large cake for an account manager :-D) Fun times

Wednesday, January 24, 2007

Daily Photo 7 (FYI: iSight = Easy Fun)

iSight + extra features = funny pics in no time

You know I look good. You know ;-)

Virtual-Real-Reality?

I just a movie (via digg, so many of you may have already seen it or will) of some guys who setup a camera, and round mirror in a room and had a computer track their movement via their colored caps so that they could play real-life Bomberman the game. :-)

Now, if only we had thought of stuff like that in college.

I didn't have audio so I am not sure if there is commentary, but the video showed enough to make me jealous. Its kind of like the Wii, but on a larger scale. Its like the uber-Wii (insert appropriate jokes here). The video, and the text below it, says that they must have some sort of remotes for the dropping of bombs, but it is still quite cool. And I agree, it would be a great workout.

Along with my project ideas for making a program that could watch an NES emulators and learn to play the games, some ideas for projects involving steganography (which my HS nemesis is working on :) ), and my current photo mosaic project ... I have always thought it would be cool to develop algorithms for computer imaging and sight. I am sure there is tons of work already done in the area, but it always seemed interesting to me. I may do it yet, since it combines my hobbies of computers, algorithms and photography. Who knows.

If nothing else, I have been curious about trying to find some interesting mirrors, lenses that I could mount my camera to and take pictures through that aren't your normal lenses (I have seen projects for connecting peep-whole door lenses to camera which produced some cool fish eye pictures). I may need to make a trip to the hardware store some time soon and see what a couple bucks could get me.

Monday, January 22, 2007

Daily Photo 6

Two scans from tonight. The first was from this package of hot chocolate mix I drank (Em and I got them around xmas time). It was white chocolate mix, a chocolate covered spoon, and marshmallows. I thought the whole idea of "snowman poop" was a pretty funny marketing ploy (I think I have seen it before somewhere else) plus the captions reads: "You've been naughty this year so here's the scoop, All you get for Christmas is this Snowman Poop! Il neige, il neige ... l'hiber arrive" I am not sure what the non-english is, but it makes it even funnier.






The second is a scan of a piece of paper I saw at OfficeMax. They had a display for sharpie pens where you can test them out and see how they are doing (yeah, they were colors, they worked). They had tons of little pads of paper out for people to test write on and I saw this drawn on one. The "Messed up Cat!" I thought was a decent piece. Probably from the post-modern period. Although I thought the un-named artist's earlier works were much better. Now ... the "Trogdor!" I thought was very nice. I wonder who the mystery artist was, but they were obviously a deeply disturbed person with a lot of personal anguish. That or a huge StrongBad fan :)


Work today was better. Actually got into some of the real work we will be doing. Should be some good development work, enterprise integration, and will force me to finally learn web services, SOAP, XPATH, JDOM, etc. which I know a little of but need to learn more about. I am just glad to be finally working on a real project.

Good ideas

I am using the "link" field for this post for the first time. Not 100% sure what it will do but if you can't find a link here it is.

Funny little web-comic about places you shouldn't work. Found it via DZone. Thought I would share it with you-all.

The acronym one is very true.

--------

When I came in today and started working on some training stuff @ GAIC ... I definitely tried hitting COMMAND+C, COMMAND+~, and CTRL+LEFT several times ... each before realizing why the thing wasn't working. It took me about 5 minutes to get readjusted but I am still almost hitting ALT about once an hour. Suprising how fast your habits can change.

[UPDATE] Ahhhhh it makes the header link to the site. Yeah thats not obvious so this will probably be the last time I use it.

Sunday, January 21, 2007

Extended update ..... daily photos

Ok, so, as soon as I posted that last post, I realized there were things I forgot:

  • Its AMAZING how quiet the iMac is.
  • I am still getting used to COMMAND+TAB and COMMAND+~ instead of ALT+TAB but I think I actually like it better for most situations. Not all but lots.
  • I am slowly trying to put together a full address book with contact info for my friends, co-workers, family etc. Its going slow but its gonna be nice when its all in one place and birthdays are automatically added to iCal
  • Being able to drag pics from iPhoto into the address book for people's cards or to iChat for custom buddy icons is REALLY slick
  • Sark is probably going to start up a dodgeball team and an indoor soccer team :-D (and we just got done watching Dodgeball on TV, fate!? maybe)
  • Broomball starts up again next week (I get to see how out of shape I am) and Darts starts up in a few weeks.
Here are some pics I took in the past week or so and meant to put up but didn't:
Daring Mr. Squirrel the other morning.

This was gonna be the first pic of 2 in a daily photo post entitled "Heaven and Hell" Bet you can't figure out which is which


Finally are two pics of the building where I am working during the training. Its an old train station converted into offices and is right down town. Pretty cool architecture and painting. I am gonna miss it later when we are sitting in cubicles.

Week(end) update (with Mac pics)

So its been a few days since my last post. Basically, that whole time I have been either at work (full days plus a much longer drive than I am used to), playing with the new Mac, or doing stuff around the apt.

As far as work is concerned, the the first week went well overall. I now have my new badge, have my parking situation figured out, lasted through a week of training on Guidewire, and have moved my PC to a new training room to prepare for this week's training (this room has normal desks!! :) ). Next week is another week of training, but now on the actual integration work we will be doing for the project. Should be good to get into stuff thats more directly related to our work and get a better idea of what I will be doing.

As far as other life stuff is concerned ... not a whole lot is new. We had our first noticable snow of the year last night / this morning. This weekend I played on the computer and did stuff around the apt. while Em gets ready for one of her two large tests she needs to take to graduate. Tonight we had some great cream of wild rice soup that we have made several times now. I may post the recipe later.

And now for what everyone has been waiting for .... pics/info on the new Mac :-D:

Oh the anticipation!!!!













Its finally here!























The birth of our new baby.














The new setup -->










The two desktops ... (switched left-right from what I was seeing, too lazy to move back)















So far, I have to say I love it. No real problems. Some things of note that I have found so far:

  • If it wasn't for me taking pics and reading all the directions, I could have had it up and video conferencing in less than 10 minutes easy.
  • We have TOO MANY photos. iPhoto has some cool was to ogranize and view your photos but adding labels and keywords takes forever when you have over 7K. :) But thats my fault, and I am up for the task.
  • Home/End don't work the same ... still getting used to
  • COMMAND (Apple key) + C/X/V for copy/cut/paste ... got used to, will be hard to go back to CMD+...
  • Finder windows lack an "UP" button to go up to the parent folder (at least I haven't found it yet) which is annoying.
  • Delete won't delete a file in Finder, draggin to the wastebasket is actually kind of fun, but I wish I could hit delete
  • Enter to rename a file is different but I have gotten used to it.
  • iChat is a really good program (assuming you use AIM and/or Jabber only) and with the Chax add-on, its everything I need
  • Safari is pretty decent (better than IE) but not perfect. For example, Blogger's interface doesn't come up right. Thus, I am posting this with good old FF. No keychain support but I will survive.
  • iPhoto is really cool and was easy to setup so that Em and I could both use the same library with our accounts.
  • I can NOT get iTunes to work with 2 users and a single common library. However I have gotten it setup so that both accounts have the same music files, but diff libraries. It will have to do for now. I don't really blame it, it wasn't designed to do it. The people who say they have done it online, must be liars.
  • Stickies are cool and work like they should
  • Frontrow is nice but I don't know how often I will use it
  • Installing apps on a Mac is something to be cherished. 1) Download .dmg file which safari automatically mounts if you say "ok its safe". 2) Drag applition icon over to "Appliations" folder on HD 3) PROFIT! (some have installers, but they usually start up and ask you 2 questions and then basically just do the above steps)
  • Office 2k4 for Mac (PPC code via Rosetta) works but isn't perfect (crashed twice while printing something for Em ... but since its Mac OS X, only it died and it came right back up)
  • divx and flip4mac needed to play movies .. but work fine
  • Eclipse runs great (2GB of ram really helps)
  • VLC is a pretty nice video player although I don't totally need it now that I have the other codecs installed
  • I have downloaded SuperDuper but haven't set it up yet. Maybe later tonight.
  • Internal speakers are better than people acted like online
Basically, I have run into only a couple small issues (most of which aren't problems just differences I need to get used to) and have loved everything else. The thing is really fast, clean interfaces for the most part, full of cool apps right from the beginning and is really easy to use. I just wish I had more time to play with it.

Next things up for me are setting up the backup software, putting all of our music into Em's iTunes, copying over the rest of our old data from the external HD, scanning bills/paperwork with the new printer/scanner, and continuing to work on organizing our music and photos. SO MANY PHOTOS!!! I will post more about it after I have done a few more things.

Wednesday, January 17, 2007

Having fun playing

Ok, so this rocks!

There just isn't enough time to play and post and sleep and go to work.

For right now we will leave it at ... the iMac was delivered. It looks great. It handles great. I have the external HD setup, the second monitor setup, and have done two 3-way video conferences (one with Josh and Jeeves, and the other with Em's sister and brother). All in all I am completely happy so far. Tomorrow I promise to post a better post with pics, etc. And my first thoughts. Right now I am installing Office for Emily and making sure her account is setup. Then some more playing till bed time. I would post the pics but iPhoto is importing all of my photos right now and I havent figured out how to resize pics yet. But the camera was recognized without any hicups, Office is installed with abot 3 clicks, and everything is super fast. :-D

FIRST POST FROM THE NEW iMAC!!!

Title says pretty much all of it

I am just sitting here setting things up, testing things out, and realizing how ugly a beige PC looks when sitting on the floor under a new iMac :)

Oh and I just noticed that Blogger is screwing up in Safari. I may need to get Firefox fast!

DELIVERED!

I just got the email notification and checked the FedEx website ...
my new iMac shows as delivered!

Oh, today is going to go by SOOOO slow now. I can't wait to get home and see my new toy ;) Please send your condolences to Em. She may be without a husband for a few days. :-p He has a new mistress.

** I am not sure if Blogger changed something in their code, or if its an IE bug ... but posting today via IE at work results in extra line breaks being added to my posts if I edit them. Hrmm. Thank god for FF and/or Safari ... not sure which I will be using from now on. **

New Job (kinda)

This past Monday I started work at a new client for Sark. Basically, it means I started a new job since I will be working with these people and doing this work day to day for at least the next 7-8 months. I have to admit, its kinda strange starting a new job. When I initially went out to GE it corresponded with starting with Sark and I could lump all together all of the new things. This time most things in my life are staying the same (still married, still live in my apt, still work for Sark) but my day to day routine has been changed completely.

My new client is GreatAmerican Insurance Company? or GAIC. If you have ever gone to a Reds game, you know they are the current name owners of the Reds' ballpark (GreatAmerican Ballpark ... which I have to admit, is one of the best named parks in the country ... right behind Busch Stadium GO CARDS!) GAIC handles larger insurance policies for the most part (I think, I am still learning about my new empoyer) more than indidvidual policies (eg my car, renter's insurance, etc).
I am working on a project for GAIC to develop a new billing system for their insurance group. We will be implementing a product called/by GuideWire. Its a kind of web toolkit/billing framework/application. Basically I don't know how to classify it. It boils down to: GAIC bought the billing center version of this GuideWire product which is by iteself 90% of a enterprise scale billing application. The 10% that isn't done is the configuration of the product for GAIC's business rules and needs (half of our team will be doing this), and integration of the product with GAIC's existing systems (the other half will be working on this ... along with me). Overall the product is very impressive. Out of the box it has tons of functionality, a fully functional administrative and end user web portal, all of the background code for the daily runing and analysis of the billing center, and some impressive abilities allowing the business to customize the system in a million different ways to suite their needs.

The integrations I will be working on entail getting the system to work with some of the following (list taken from my notes, which were copied during a presentation my first day, I haven't found out what half of these will entail yet):

  • main "Billing Instruction" system
  • EFT (from bank?)
  • custom web portal
  • over an ESB from various legacy systems and data sources
  • "Filenet"?
  • a PRM (Producter Relationship Managment) system
  • Legal collections system (some COTS tool)
  • an outgoing check writer service
  • SSO (via SiteMinder ... I guess some work at GE will be helpful ;) )
  • Policy termination system
  • IRS system
  • General Ledger system
  • ...

I am still not 100% sure about what integrating all of those systems will entail (just my third day so far) but things are looking up. Even if the work isn't the flashiest out there, its real work on a real project with real deliverables and a decent PMM (Scum) ... all things I didn't have out at GE. I will post further updates on work as I learn more about what I will be doing and what technologies we will be working with (I will be in training over this GuideWire product for the frst 2 weeks). Right now I know I need to lear/relearn Java webservices, advanced XML, and JDBC stuff. Wish me luck.

Some other things of note so far from this week:

  • Having to get up before the sun is a big change of pace (and not for the better)
  • Traffic hasn't been too bad yet (and shouldn't be once training is over and I can come into work early and leave early)
  • Training is taking place in a building on 4th st (first block off the river front downtown) and normal work will be only 2 blocks N.
  • First two days I parked in a lot in the same block and had to pay $10 a day. Today I got a monthly pass to park at the ball park (the walk should be some good exercise) for $70 a month. Thank god I can expense it to Sark.
  • The training building is an old train station, pretty cool architecture inside. Working downtown is pretty different and more interesting than GE.
  • My work machine is a 3.x GHz P4 w/ 2GB ram ... which means nothing if you have to use XP's zip utility, large ANT scripts, and it has a corporate anti-virus scanner installed which scans ALL new files. Thank god I found out how to turn it off.
  • The training room has the desks with the monitor set into the desk (seen through a glass window ... presumably so that you can see the teacher without a monitor in your way and so that you have all of your desk space ....... AND so that you have neck pain at the end of the day b/c you have been staring down all day and leaning forward to see).

Sorry ... w/ hope


Sorry for the lack of updates (be them about the new computer, new client, or anything else) ... I have been busy with training everyday so far this week and am still getting adjusted to working downtown (parking, commute, getting up early to beat traffic, etc).

Hopefully I will be able to put together a better post throughout the day today and will try and post it before I go home. I "should" be posting a rather large post tonight, b/c the Mac is now in Kentucky!!!! After several days without a tracking update, last night it said it was in Independence KY, and should be delivered sometime today. So we all know what I will be doing tonight :).

Either way, I hope any and all who might read this are having a good day.
PS (it is WAY cold out today. And the 5-10 minute walk from the parking garage to the office didn't help)

Monday, January 15, 2007

Things to learn/figure out for my new job

So far...

  • XML, WSDLs, xml schemas, etc
  • SOAP, web services
  • ESBs (Sonic?)
  • Bank transactions via "lock boxes"
  • FNOL systems?
  • JDBC
  • "How billing works in a company"
  • ...

:-/ This should be interesting.

So far, I know I will be working on integrating the GuideWire product configured for GAIC's billing systems to all of the places it needs to get data and send data. Could be interesting. Could be a TON of stuff thats way over my head. Only time will tell.

New Client Today

I am at my new client (GreatAmerican Insurance) as of 8 this morning and things are going ok.

I will have training the next couple weeks and am not sure how often I will be able to post during work hours. I will post a bigger update tonight.

In case you were worried, the new Mac is still on its way somewhere presumably between CA and OH (the tracking says it left CA but has yet to be updated to where it has arrived)

Oh, and one other thing for Marmot .... in case you wanted another reason to want a Mac ... I saw a tip today that said that the calculator built into Mac OS X has a RPN mode built in. :)

[EDIT 12:09 PM] I was talking to a fellow Sark on the beach last week who has a MacBook Pro. We were talking about BootCamp and some other stuff and everything he said was promising for how well it all works. Only one problem came up .... I mentioned that I had gotten the Bluetooth keyboard and mouse. He said he had thought about it previously, and had always wondered about using one and trying to install/boot into bootcamp. The reason being, that when running the install process (or even when trying to hit the key combination to boot into windows) the BT keyboard may not be recognized or setup. I just got done glancing around MacRumors.com's forums and some other sites and it looks like it can be setup but requires you to have a normal USB keyboard around when installing. Once XP is installed, you can add the correct drivers for the BT keyboard and mouse and use that. Hopefully I will be able to get it to work. I don't want to buy Parallels before they release the next version but I don't want have to have two keyboards around when/if I want to use Windows (only Quicken so far as something I won't have a Mac version of)

Thursday, January 11, 2007

More Mosaic Comparisons

<~~ The original













<~~ Mosaic created by the simple algorithm

(This one's choice of dark colors seems much better and has more "detail" which comes across
looking like noise)









<~~ Mosaic created with 3x3 partitions


(This one chose some strange tiles for the darker stuff ... a tile that was mostly black with a yellowish dot in the middle ... but has better color smoothing .. the feathers are a ton cleaner)

Shipped! Kinda ...

I found two shipment notices waiting for me in my inbox this morning from Apple :)
Unfortunately, they were for my printer and my mini-dvi-to-dvi connector :(

But at least its a start.

No updates really ... beyond the fact that I am waiting for the Mac to arrive, and still working on the Mosaic program (Jeff, I will send you the source or find a way to post it soon .... I need to work out a few bugs and clean it up a bit. You can't hold it against me if the code isn't up to Google's standards ;) ... however, I can happily say I coded all of it short of the image read/write APIs. Those are from standard Java api's.)

One interesting thing to note, I worked out a more advanced matchEngine which parses each tile into an set number of "sectors" which it compares individual to the seed tile (instead of comparing the whole tile's avg color, this checks multiple regions of the tiles). I thought this would give me very similar results, but could aid in color boundries being more "correct". An example of the problem I was hoping to avoid would be two library images, one red on the top half, and blue on the bottom ... and the other with the colors reversed. Both would have the same overall avg color (some purple) but if the tile we were matching had more red on top ... one would make a much better choice. My "simple" match engine couldn't distinguish the two. My second one can .... but as it turns out, that obvious case doesn't come up that often unless you have a huge library to pick from. In reality, the mosaics it is producing seem to have a little better color consistency, but it really depends on the image and the library. Most are actually ending up worse in various ways. So, its back to the drawing board on that one.







<~~~ Original


Simple Match ~~>










<~~ 2x2 Partitioned


4x4 Partitioned ~~>










In this case the simple match looks the best in my opinion. With the 4x4 we end up getting some color detail that was lacking in the previous ones, but we lose a ton of clearity. I still haven't fully figured out what is going on.

Tuesday, January 9, 2007

Mosaic Project Progress

Between last friday and today I have made a fair amount of progress on my mosaic project. The basic modules are all implemented and I have done a fair bit of refinment already. As I suspected, efficiency (in calculations and in the program's memory foot print) is the big determining factor in how good of a mosaic it can produce.

Original "seed" image of a car ~~~>

If you check out my web photo album, I have added a new public folder with some mosaics I have made after a fair bit of tweaking and modifications. The album contains scaled down versions of the original images (the seed images), scaled down versions of the mosaics the program produced, and some zoomed in cropped images so that the individual tiles can be seen.

<~~ Mosaic of the above image, click to see larger version

Currently, the program has a library of aprox 250 images of varying color, size, and origin (some are mine, some are stolen from stock photo sites on the internet. larger librarys help a ton!). The mosaics you can see in the album have a set number of tiles in the direction of the seed image's longer side (125 currently) and a proportional number in the other direction to keep the photo's original aspect ratio. Each tile produced in the end image is 50x50 pixels which means the final mosaics are 6250x___ pixels large. Yeah thats pretty big. The app currently saves the images into PNG format which has decent compression but I haven't tweaked the default settings, so currently some of the mosaic files are quite large (ranging from 4MB - 30MB). PNG format was chosen b/c its a loss-less compression and I didn't want to lose any information b/c of JPEG compression (such as can been seen in the ones I uploaded. Along with losing resolution in the resize, since Picasa requires JPEGs, they also lost some clarity there). Suprisingly, each mosaic is produced in under a minute depending on the number of unique library images used and the final size.

^^ Sample zoomed in image of tiles (taken from Mona-Lisa mosaic, pixels 1000,1000 - 1300,1300) ^^

C along with 2 main objects: an urrently, I have 4 modules: library, planBuilder, matchEngine, and mosaicBuilderImage, and a Plan. The current modules were all designed to be as simple as possible and yet functional. The matchEngine and mosaicBuilder modules have had some tweeking so that I could use 125x__ tiles without crashing the Java jeap ;). The matchEngine is currently just finding the avg color of the entire image and then doing a simple diff. against the tile its checking to see which library image is the "best". While this is working OK, I have several ideas for better matchers which could be a bit more efficient and take into account better algorithms for matching edges and colored regions. Trying to implement those algorithms is next on my list along with rewriting the mosaicBuilder to better use the file buffers and JAI tiles. If I can get those to work the work should be much faster, produce better matches, and be able to build the resulting mosaic without requiring the whole thing to be in memory at once (the big Java heap problem ... an uncompressed 6000x6000 pixel image is fairly large in memory as a BufferedImage :) ).

Thats it for now. I will post another update and some more photos when I have implemented some of those algorithms, or rewritten the mosaicBuilder. If I could at least reduce the memory footprint, I could increase the tile resolution which would help the mosaics, but not as much as better library choices. (Although all of this should run great even if inefficient on the new Mac ;) )

** one other thing I need to do is get some prints made to determine how small an image can be printed (and in what resolution/dpi/ppi) so that it can be recognized as being a photo, but as small as possible so as to fit in the mosaic better. Maybe this week I will throw together some sample images and have them printed out at Kroger. 30 cents isn't bad for a print test. :)


These two images (different sizes, and which look pretty crappy scaled down) demonstrate how photos with distinct colors and clear areas are much easier to reproduce and still have the image come across. But, all things said, I think Mona looks pretty good so far ;)

Next step, new Mac.

ORDERED-XOR!
as of 5:50pm :)
So, the MacWorld keynote has come, and gone ..... And I am left with a mildly sour taste in my mouth. Steve announced some really cool stuff, but unfortunately they weren't things I wanted to buy, or will any time soon at least. That being said, here are my thoughts on what WAS announced:
  • Apple TV - pretty interesting. I am really curiuos what kind of hardware is really in it (misc Intel CPU? 20GB hd?) they didn't give really specific details. I wonder if its basically a stripped down Mac mini or not even that. Could result in some interesting media center-ish setups but since I only have one decent TV (and its not HD) and will have one PC (which is in site of the TV) not really up my alley. But interesting.
  • iPhone - Really cool, Really expensive, Really a ton of things in one all trying to use a touch screen. This was obviously the main highlight of the conference. I was pretty suprised they actually got it out and will be shipping relatively soon (June I think they said?). Full screen, still pretty thin, touch screen, phone, internet/wifi, iPod connector, browser, Mac OS X version on board ...... the list goes on and on. Only problem is that while in the future I may want a new iPod, I doubt I am going to pay $500-$600 for a uber-phone and have to switch networks and sign up for a new 2-year plan. But very cool none the less.
  • Airport Extreme - I saw this on the web site. 802.11n base stations for home users. Pretty cool if/when I want wireless since the current iMacs have 802.11n built in, just not enabled by default I believe
Unfortunately, in all the iPhone hype, Steve didn't get around to releasing iLife '07, or Leapord (ot at least more info about it), or announcing that the iMac line was getting updated video cards, or that they were releasing a new headless-mid-range Mac, or that Ben Lee was a super cool guy and will get free computer for life! I mean come on, not even that I was a super cool guy! What a snub!

Back to reality, I thought at least a few of those might happen and were the reason for me waiting till mid January to get my new computer. Am I mad that nothing changed for me? No. Am I a little dissapointed? yeah. Do I think I made the right decision in waiting? Yes. I would have been more upset if they had come out with something way cooler and I missed out b/c I didn't have the patience. Well, I did have the patience, and now I get a new (still just as cool as yesterday) machine. Unless something changes, I am planning on ordering it tonight after I get the final "OK" from Em. ;) As of right now, below is what I am planning on buying, and I am way excited:
  • 17" iMac
    • 2.0 GHz Core 2 Duo CPU
    • 2GB DDR2 RAM
    • 160GB Hard Drive
    • 8x SuperDrive (DVD+R DL/DVD�RW/CD-RW)
    • 802.11g - built in
    • Bluetooth - built in
    • 10/100/1000 NIC
    • PCI-express ATI X1600 video card w/ 128MB GDDR3
    • iSight & mic - built in
    • 2x Firewire 400, 3x USB 2.0, and mini-dvi connections
    • Bluetooth keyboard and mighty mouse
    • Mac OS X 10.4 (Tiger) + iLife '06
  • HP Photosmart C3180 All-in-One Printer, Scanner, Copier
    • Currently you can get a $100 rebate when you purchase a select printer and a new system. This one happens to be $99
  • Apple mini-DVI to VGA adapter
    • so that I can connect my current 17" LCD to it and have dual monitors
Total: Just over $1,400 with $100 printer rebate and tax.
Should ship within 24 hours (or so the site says) and be delivered 3-5 biz days later :)

It should be really cool. And its a good thing, b/c my old Tangeant is slowly falling to pieces. Or more exactly, locking up with more frequency. I had never had any similar problems with it in all the years but lately, at random intervals and seemingly independent to what you are doing the machine locks up. Video still displays but is completly unresponsive. I have checked the normal culprits and have uninstalled quite a few things and turned off random services that might be having problems, but have been unable to track down the root cause. So the new computer is much needed. Oh, and YES, I know I am crazy to still be using that POS from UDiT, but I am and it has served me well. And, one great thing about keeping it all this time ... the difference when I upgrade from a 1.1GHz PIII w/ 384MB RAM to a 2.0GHz dual core machine with 2GB RAM is going to be amazing!

Sooooo Close


Just a little update ... MacWorld keynote starts in aprox 10 minutes. I will have a real update post about what I have been up to (a ton of progess on the Mosaic project) and other stuff sometime this afternoon ... and hopefully a post about the Mac I order tonight, tonight.

:-D

Sunday, January 7, 2007

Recipe: Easy Gingersnap Roast

  • 2 lb Pork Roast
  • 4-5 Medium sized potatoes (quartered)
  • 1 Medium-large onion (chopped)
  • 1-1 1/2 cp carrots (chopped)
  • 1 packet brown gravy mix
  • 1/4 cp apple cider vineger
  • 1 1/3 cp warm water
  • 6-10 ginger snap cookies (crushed)
  • 2 tbsp oil
  • salt and pepper to taste
  1. Chop vegtables and add to slow-cooker
  2. In bowl or large measuring cup, combine water, vineger, gravy mix, and cookies.
  3. In skillet, heat oil and sear roast on all sides until edges are golden brown
  4. Add roast to slow-cooker
  5. Pour liquid mixture over roast and vegtables
  6. Cook on high 4-5 hours or until roast is cooked through and vegtables are soft but not mushy. Stir vegtables and turn over roast every 30 - 45 minutes until done.
My grandma had made a very similar recipe for some of my family a while back and I got to hear all about how great it was. So Em and I decided to take a stab at it seeing as how it was a cold dreary day which is always made better by some good meat and potatoes :). Her recipe (and a very similar one found in our Better Homes and Gardens cook book called for a beef roast ... but we had a pork one, so we used that. As it turns out, it is equally good with either. ;) The roast turned out juicy and tender, the vegtables were great, and there was plenty of perfect gravy to pour over everything. All in all, it was simple and yummy.

** I was planning on taking a couple pictures of it before we ate, but it just smelled too darn good. I didn't remember until after we were done and about the put away the left-overs. So thats why the pictures are in tupperware. If you want to see more photos of Em's and my culinary creations, you can click here and check out the food album on my Picasa page. Also, you can click on the "food" category in the list to the right side of the page and see all of my posts related to food.

Daily Photo 4

Mr. Cardinal was hangning around outside our apartment this afternoon. Em tried to entice him out of the cold rain with some stale bread in our birdfeader but he didn't seem too interested. Instead he just sat in the tree and chirped away.

I was hoping to get a better close up of him, but our camera only has 4x optical zoom and the 14x digital zoom gets close enough but you lose a ton of detail. I chose this photo over the close ups b/c I thought the contrast in color was pretty cool.

Friday, January 5, 2007

Blogger, so far ...

So far I have been very impressed with the Blogger software. I never used it pre-beta/pre-new version, but I have to say it has a very nice interface that pretty much anyone (who would be interested in a blog) should be able to figure out. They have made the important 80% easy to use and the other 20% decent. Not too shabby.

As I have been posting for a few days and customizing it off and on ... I have run into a couple little snags.

  1. it took me several days to find a easy/clean way to add recent comments to the side bar without totally hacking my template (still not perfect, but given how easy the last tutorial I found was, worth it)
  2. They have a fair number of good templates to choose from and the colors are for the most part customizable, but the one I am currently using (Rounders 2?) doesn't have a "stretch" version. The skinny post column is starting to get annoying, especially since pretty much no one I know who would read my blog uses 800x600 (and my stats agree with that)
  3. Comments are shown on the "blogger" page along with the form to add one, which looks nothing like my blog and the link back to my blog isn't obvious. The comments can be seen along with the original article but only if you click on the article's title to see it by itself.
  4. No non-hack-ish way to add sticky posts
That's about it. Anything more and I would be completely nit-picking. So yeah, its a great product and I recommend it.

** I may look into hacking my template to fix #2. If the blog looks like crud at any time over the next couple days, just attribute it to that and not my own personal style. Thank you.

[EDIT 11:17PM] After several hours of tooling around I have the site looking decent again and with a static (but geared toward 1024x768) layout. I tried a few templates I found online but none looked as good as their thumbnail. Most of the time was spent trying to figure out how the template worked (single file of xhtml but a little confusing), figuring out which CSS needed to be changed to make it bigger but keep the right look, and redoing most of all of the images the old template uses for the rounded corners (it was using 2 images per box, top/bottom ... I had to create 3 new ones (for 3 corners individually). The reason the boxes now don't have rounded right-top corners was because I gave up trying to get them to line up correctly and I think it looks almost better with the one sharp corner. Anyway, I am done for now. I like how it turned out. Only thing I wish was that the side bar was a little bigger and closer to the main area... but that would mean reworking the html for the two side areas and redoing 6 more images which I don't care enough to do. Maybe next week. Night all.

Daily Photo 3

Emily got a new "candle-scape" for Christmas. Or really, she got a candle-scape because this is her first. It looks nice on our mantle between our den and the living room.

The photos is of a some bells connected via ribbon that Em tossed into the dish with the candles and the stones. I liked how the colors contrasted and how they seemed to glow. Also, they are just to the side of my monitor, thus me noticing them as I was thinking about something else. Sometimes inspiration comes from the craziest of places ;).

** After uploading the resized pick to picasa I am a little dissapointed that the clearity was reduced a bit in the resizing. The bells are nearly as clear. All well ... you live and you learn. Also, I should have cropped the left candle off a bit. Its not really needed.

Pre-weekend update

I don't have any big plans for this weekend other than working on my computer, working out, and relaxing ... :-D ... just how I wanted it. Tonight is a Steak-n-shake night, yay coupons in the mail, and maybe watching IceAge which I got from my parents for Christmas.

So far, this week on the "beach" has been pretty uneventful. Most of my time has been spent surfing the internet, wishing people would update their blogs more often ;) and researching/working on my Mosaic project. Actually, I have put together almost an entire simplified version of what it will be and things are looking up. I have one more class to write (arguably the hardest for this version 0.1) but then I will be finished with a "working" skeleton which I am proud of. I implemented very "simple" versions of each of my components (tile-match-er, plan-builder, library, and mosaic-builder) which implement all of my desired functions but in very basic ways (the tile-match-er always chooses the first image from the library to match your tile to ... hey it works, quit laughing :) ). Next up will be advancing each module to be better and closer to the final product.

I have found several areas where I think performance will be an issue and I haven't yet come up with any good solutions. The project is definitely duable, I just need to figure out how long each of these operations will take and what clever ways I can balance runtime size and execution speed to have it do what I want it to do. Should be interesting. I will probably post again when I come to each one and talk about the problem and my ideas for solutions. Hopefully I can get some good comments.

Other than that, not a whole lot is going on. Just trying to stay busy waiting for the 15th so that I can start out at GreatAmerican and waiting for the Jan. 9th for MacWorld and ordering my new computer. I have been trying very hard not to post about it until I at least have it ordered, but I may break down before then. The fact that Josh got his new MBP last night isn't helping any at all either ;).

I got a cool photo of some new candles Em got for Chistmas last night and will probably post one of them for today's photo after I get home. Maybe I will walk around the apt. complext when I get home and see if I can get any interesting ones before Emily gets home from work. Best part of being on the beach? Getting to leave around 2 on Fridays :).

Thursday, January 4, 2007

Daily Photo 2

Today's photo was taken while I was on my way home from work. I took the camera with me to work because I was hoping to get a shot of our office building (it has some cool bluish-green glass) but I forgot until I was leaving and it wasn't exactly the best weather outside or lighting.

As I was sitting at the light, I noticed that how my car was I could see all of the right brake lights of the cars in front of me. I quickly grabbed the camera and clicked off a couple shots. This one was the clearest (and contained the least of the dash ... I was bracing it against the wheel) and happened to be taken right after the light turned green. So sad ... a beautiful green light and no one moving. Gotta love rush-hour traffic.

That will be the only thing I miss about working at GE. It was less than 5 miles from our apt. and was all back roads with little to no traffic. I get way better gas mileage driving on the highway, but its 3 times longer.

IrfanView and EyeBatch

Between trying to find a good way to backup the photos on my computer, editing/croping them to be displayed on the web, and researching my Mosaic project ... I have found a huge need for batch photo editing software. It is invaluable when trying to rename, resize, and backup a few thousands photos to my external hard drive.

My current favorite has got to be EyeBatch. Only problem ... its not free, and the $40 price tag seems a bit high for utility software that I don't "need". But, they do have a 30 day trial which I believe is fully functional, and after that there are other options ;) [caugh] astalavista [caugh]. It is a pretty nice little utility.

The first screen you are presented with allows you to navigate your hard drive and add photos to its working list (individually, by folder, or by folders with sub folders). Once you have the list of file you want to work with, the second screen allows you to screate a script of actions you want to take on each of the files. EyeBatch has a ton of different actions that can be done ranging from the obvious (save file as, resize, crop, etc) to some pretty interesting ones (add masks, change colors, add semi-transparent watermarks, crop borders automatically, etc). Each options usually allows for a fair amount of customization (you can rename files, select where they will be saved to, add pre/suffixes, number, modify formats, etc) which allows you to do pretty much anything.

The interface is decently intuitive for such a utility (add actions from action list to script list, double click on each to set parameters) and when you are satisfied you just hit [process] and away it goes. The program can slow a lesser machine down a bit when its chugging along through a large list of decently sized files, but thats to be expected (and process priority can be changed). Overall I have been extremely happy with it. A couple nice features were its ability to preserve EXIF data and intelligently copy JPEGs so that they wouldn't be re-encoded resulting in loss of data and/or artifacts.


Just today I stumbled across IrfanView again and am currently playing around with it. It is primarially a image/audio/movie viewer and player. It has a thumbnail view and can quickly bop around through your media. It has what looks to be a decent amount of batch edit functionality but I haven't ran it against a large image list to compare efficiency yet. The interface isn't as intuitive as EyeBatch, it appears to have been designed by the programmer, not a "designer", but is fully functional. On the plus side, IrfanView is free to begin with, supports the viewing(and for most writing) of a huge number of formates, and has some ability to design add-on plugins?


They both share one problem, however. They are only written for windows. So when I get the Mac I will need to find a substitute. Right now I am thinking about the Mosaic project and trying to figure out how much a decent sized poster print will cost to have printed, what kind of aspect rations we are talking about, and what kind of resolution I will need to A) have the print come out clean and crisp and B) how big and at what resolution can I print the "photo-pixels" so that they are small enough to have the overall image be recognizable, but still recognizable themselves. I think I am going to have print off some samples to try and get a feel for how big an image can be and still be recognizable and at what PPI I can get them to print it and have it matter. According to one site's table and my own rough calculations the end photograph may need to be a 20+ megapixel image to print as big as I want it with decent PPI.

hrmmm. thats pretty big ;)

Wednesday, January 3, 2007

Daily Photo 1


After Em and I came back from working out tonight, I noticed that the sun was setting over the apartement building across our parking lot and was making an interesting silluette against the still somewhat colorful sky. I just wish I could have gotten out 10-15 minutes sooner when the color was a little better. Also, it was hard to get the proper focus on the buildings and at the same time get the color and lighting to match up to what I wanted. Not perfect, but it gets the job done.

Photo Mosaic Project

As of today, I am starting a new project that I have been thinking about for some time. Given my "free time" while on the beach, I am hoping to get a fair bit of the research done and beyond the "I wish I had time to do ___" phase.

Project Idea: Photo Mosaic Software
Project Background/Reason: I have taken thousands of photos of the past year+ and would love to find a way to incorporate them all into a some type of summarized fashion. I have seen numerous posters, images, collections of photo mosaics over the past few years and have always thought it might be interesting trying to develop software that could produce reasonable facsimiles from a group of stock photos.
Project Goals: Develop a fully contained piece of software that given a seed picture, a collection of stock photos and some other information (algorithm to use, sizing, etc), will produce a composite mosaic of the seed picture with a given size and resolution. My main goal in the end is to be able to use the software to produce a poster size print of another photo I have taken of probably Emily and myself (or something else from the past year) made up of all of the the rest of my 2006 photos and hang it on our wall.
Probable Project Phases:

  1. Get a better feeling of the image types are being used (mainly jpeg), image processing API's available, etc.
  2. Figure out a very basic initial algorithm for deciding how much a stock photo resembles the portion of the seed image in question.
  3. Write up a framework for the image manipulation, editing, creation, storing of image meta-data, and analysis.
  4. Write up a basic shell of the software that allows for the main inputs/outputs/previews to be seen and edited.
  5. Refine algorithms, framework for performance and correctness.
So, as of right now I am on step zero. i.e. writing a post about the project. I think this could be a pretty cool one. Image analysis has always been something I have had an interest in, but have never really pursued. The project gives me an excuse for having all of the photos I have taken over the past year or so, and should give me a creative outlet when trying to come up with fast and effective algorithms for deciding which picture is best. Also, I am hoping that when it comes time to figure out the better algorithms, I may be able to get some outside help. As long as we can talk about it in an implementation agnostic way, I bet Kevin/Josh/my dad, etc could combine for some pretty interesting algorithms.

Thanks to my mom for reminding me about this project. Every time Em and I went home I would remember it but through the hussle and bussle of the holidays would forget to write down any of my thoughts. She sent me a link to two very interesting photo blogs (they have been added to my del.icio.us page) one of which contained the image to the left. Pretty neat if you ask me.

Also, in my quick searching on wikipedia for related topics, I found a link to: MacOSaiX. A small software utility which is basically exactly what I want to develop, for Mac OS X. Which only reaffirms my ambition to write this code. It looks like it has some interesting features. I will probably use it as a baseline once I get my new computer. [Although the sample images created are pretty low resolution, hopefully I can do better, but I feel clarity will be limited by processing time and stock photo collection size. Hopefully I can tackle both of those problems] One really cool feature of his product is that you can give the software a set of google image searches and it will use those for its stock photo collection. Neat idea.

Tuesday, January 2, 2007

No GE! Bring on the Beach! and New Year Resolutions

Starting today I am officially, 100%, no longer working out at GE :-D

Starting today, and through the 15th of Jan., I am also working on the "Beach" at the Sark office. Where working on the "beach" consists of coming into the Sark office and working on certifications/studying up for your next client, while your in-between clients. The general hours are 9-4 M-T, 9-2 on Fri and various free lunches sprinkled here and there :) I was slated to start working for GreatAmerican Insurance today, but over the holidays I got an email saying that they have pushed back the start date of all new consultants to Jan 15th. So here I am. Yay for a 2 week break from client work.

I only really have one new year resolution this year, and that is to get in better shape (just like 98% of everyone else). I am planning on starting it tonight. Lets hope it goes well. A side resolutions is to keep up this blog (in whatever manner it ends up) and to keep a pseudo-journal of my experiences with my new comptuer even if I haven't bought it yet, or have ordered it. But I will. MacWorld can't get here fast enough!

[EDIT 1:56 PM] Another new year resolution I just thought of, is to two fold. 1) take more photographs and keep trying to learn how to take better ones. and 2) learn to let go of the crappy photos I take and only hold on to the good ones. My goal is to try and take a photo everyday and each week/couple weeks throw out all but the ones that are actually interesting or useful in some way (including those from previous weeks). Hopefully, as time goes by I will be throwing less new ones out. Hopefully.

Monday, January 1, 2007

Web Photo Album

So, after many failed attempts at maintaining a gallery of my photos either hosted, or from my local PC ... and many failed attempts at writing gallery software which would have all of the features I want ... here is a link to some of my photos from the past year.

http://picasaweb.google.com/BenjaminPLee
(also found along right side links list)

Hopefully, I will have enough space to put up the majority of my favorite photos as time goes by. Currently I have two public galleries which contain the photos I have used on my blog as well as my favorites from 2006 (I took thousands more than the 60 I uploaded, but these represent some of my favorites and show off some of the cool things Em and I did/saw this past year). I really love the ones I have put up.

So there you go ... Mom ... now you get to see the photos and you don't need to keep bugging me about it ;).

On a related note, as you can see from above, I am using Google's free Picasa web albums to hose the images. I was a little leery of using them, but so far I have been very pleased. Considering they are free, they have a very nice feature set. No limits on size or bandwidth (250MB storage space for free, more if you pay), basic image manipulation, captions, albums, etc. Very nice. Also, I downloaded the Picasa client which is pretty nice software, if a little limited. Perfect for someone who just wants something to help organize, view, and edit his/her photos in a basic and fast way. The one thing I really like is that I can upload the photos to the web right from within the client so I don't have to keep browsing to each photo and adding them one at a time via a browser. Great for free.

If anyone has any comments on the photos please find a way to tell me (what you like, what you don't, what you think I could have done better, or why you think I am crazy) ... I am always wanting to get feedback from people.

Happy New Year Sushi

Happy New Year!

Happy new year to all who may or may not read this.

Em and I stayed in for the first time in years and it was nice. Christmas vacation had been pretty much a whirlwind of family events and driving. It was nice to have a good night in. And what made it even better was dinner. Em and I got Sushi take-out from Ando and had a nice dinner on our cool Japanese china. We had Miso soup, edamame, seaweed salad, california rolls, unagi, salmon rolls, and futomaki. It was really good.