Thursday, December 4, 2008

Richland Restaurants

Mmm... those who know me know I'm passionate about food -- so I was glad that Cari McGee took the initiative to post a few restaurant reviews for some of my favorite places to eat in Richland. Make sure to swing by and read her reviews (and my comments), and provide your own input.
Stone Soup
Rosy's Diner
Atomic Brewpub
Cafe at Queensgate

[edited for link corrections]

Friday, October 24, 2008

Cognoprescience

There's a running almost-joke between me and some of my friends. Like many creative people with ADHD, I'm constantly coming up with ideas. Some far fetched, some fairly down to earth, some complex, some brilliantly simple. The funny part is that without exception any ideas I come up with are patented or at least announced via a press release anywhere from 2 days to 2 years after I think them up.
I've heard of the philosophy that "there are no new ideas" -- but this has reached a level of incredulity. Every. Single. Time. The average time span between my brainstorm and someone else coming out with it seems to be about 3 months... often too short of a time for me to realistically pull any resources together and develop my idea into a product/service.
So what I really need to do, since it seems that I most likely won't have the opportunity to benefit from my ideas directly, is to find a way to benefit from the fact that I have these ideas at all -- and before they're announced. So if you're in charge of a giant think tank that wants to contract me to sole-source provide you with a head-start on what will be hitting the markets/internet, let me know :)

And until someone decides to take me up on that offer, I'm going to start throwing my ideas on this blog as I have time. So here are a few I had yesterday evening and this afternoon.

I hate unlocking my phone/PDA. It's a pain, but a necessary pain. I believe the technology and expertise exists for someone to develop a removable memory card (e.g., SD) that not only can function as a normal storage device, but also contains the circuitry necessary to communicate with a corresponding linked chip via wireless (RFID, wifi, zigbee, NFC, or proprietary) . The two chips/devices working in tandem with some software on the smartphone itself would utilize PKI techniques to ensure that my smartphone was unlocked whenever it was within range of my person, and automatically locked if it goes out of range. Simple, right? Get to work, Eye-Fi dudes :)

The idea I had this afternoon is a pretty simple idea that would be fairly tricky technically... basically I want a couple things:
I'd like the ability to set my double-home button push on the iPhone to be able to launch any application I desire. This isn't mandatory for the success of the idea, but would be very useful.
And I'd like an application that would launch another application on my iPhone by using voice recognition.
Example -- when driving, I often hear songs on the radio station which I'm unfamiliar with. The station does a lousy job (as in almost never) of announcing the artist & title, so I'm left fumbling for my iPhone so I can page through my app listings to find & launch Midomi. It'd be sweet if I could just double-tap home to launch my "voice launchpad" and then tell it, "Midomi."

There you go. Get to work, invisible code monkeys.

Wednesday, October 8, 2008

Lamb Curry

I made some phenomenally tasty lamb curry last night, followed by some yummy dessert. My house smelled like an Indian restaurant -- the only thing missing was some naan bread.
Lamb Curry
1 sweet potato, peeled & cubed
1/2 carrot, cubed
1/2 red bell pepper, diced
1/2 jalapeño or other pepper, diced
1 stick of celery, diced
1/2 cup of sun-dried tomatoes, diced
1 medium onion, diced
1 Tbsp garlic, diced
3 medium tomatoes, cubed
1 lb. lamb steak, cut into 3/4 inch cubes
1 tsp black pepper, ground
1 cup red wine
1 package of S&B - Golden Curry Sauce Mix, chopped up well
1 1/2 Tbsp Mae Ploy Yellow Curry paste
1 Tbsp Mae Ploy Red Curry paste

Cut & add the ingredients in the order listed to a slow-cooker and mix well.
I assembled everything the night before and put it into the refridgerator overnight. The next day I had Carmen take it out & plug it in on low when she got up -- so it was going pretty much all day.

When I got home, I made up some saffron rice:

Saffron Rice
2 cups water
1 1/4 cups jasmine rice
1 tsp salt
1 pinch of saffron

Mix & bring to a boil, put on simmer and let cook for 20 minutes. Fluff.

That was dinner... and it was really, really good. I would have felt a bit better had I actually made the curry myself -- I have everything I need (including the fermented shrimp paste -- don't ask). But the night I assembled everything I was also making our our regular dinner for that evening (Eggplant Parmesean) as well as cooking up some organic carrot puree for Hunter... so I don't feel *too* bad about using store-bought curries. It ended up tasting very close to a Massamam style curry. Mmmm.

For dessert, I made Indian Spiced Rice Pudding -- a recipe I saw yesterday on one of the cooking blogs I follow, http://coconutlime.blogspot.com/

I only ended up making a small modification -- I didn't feel like going spice-cabinet-spelunking to look for my nutmeg pods and then getting the mace from them (too much work). So instead of mace I ended up using a scant 1/2 teaspoon of nutmeg & 1/4 tsp of allspice. And fresh ground cardamom.

[edited to fix tags]

Saturday, August 30, 2008

Chewy Cherry Jewels

These are chewy gelatin/jelly candies, similar to the famous Aplets & Cotlets.
2 c applesauce
1 c sugar
3 pkgs unflavored gelatin
1 box (3oz ) cherry flavored gelatin (jell-o, etc)
2 Tbsp lemonjuice
2 Tbsp cornstarch
---
1 c chopped dried cranberries (craisins)
1 tsp vanilla
1 c nuts, chopped (optional)
heavy aluminum foil
cornstarch

Combine first 6 ingredients in a pot & let sit about 5 minutes while you line a baking pan or shallow-sided cookie sheet with heavy aluminum foil.
Cook the mixture, stirring occasionally, until it reaches a boil.  If using craisins, dump them in now.  Continue to cook it for another 2 or 3 minutes, then pull off the stove and stir in the vanilla and nuts (if you're using them).  Pour into the lined baking pan & let sit until cool.  You can put it into the freezer to set up once it's cooled down a bit.   After it's well set, peel off the aluminum foil, cut into pieces, and dust the pieces with cornstarch (doesn't get sticky & won't affect the taste, unlike powdered sugar).

Wednesday, August 13, 2008

Backplane, Back In

Never underestimate the power of the internet.  A short while ago some kind anonymous soul (thank you!) noticed my write-up and some of the issues I had with the Chenbro case (specifically, the SATA hot-swap backplane).  They let the manufacturer know, and Chenbro tech support posted a comment with a possible fix.
Their fix was to solder pin 11 to either pin 10 or pin 12 on the connectors to disable the staggered spin-up.  Since my soldering iron is kinda chunky, and I didn't really want to do anything permanent to the boards in case this wasn't actually going to result in a fix, I busted out my multimeter and looked for alternatives.
Each board has two drive connectors...  one of the pins for one of the connectors traces out to a jumper, but my luck ran out there -- the other traces out and terminates at some teensy-tiny little fleck of metal that would be just as hard to solder to.  Strike one.
I tried Arctic Silver...   which, as it turns out, doesn't conduct.  Strike two.
Next I tried a loop of wire... and that seemed like it might work, but the positioning was tricky.  In the end I used a piece of stripped conductor from a cat-5 cable (nice and thin gauge), bent it into a "U" shape, and pushed through the gap between the connector and the board, then twisted it together -- effectively grounding pin 11 to pin 12.   I made sure to test that pins 14 & 9 weren't grounded, and that 10, 11, and 12 all were grounded.


I'll leave out all of the wrestling I did with the case here, but I will point out that prior to shoe-horning those two boards back into place, you should make triple sure that those little wire loops are firmly in place and that those pins will remain grounded no matter how much the board shakes.
I also ran into a problem where the drives would get power (green) but not data lights (blue).  After a more testing, I narrowed the issue down to the fact that the back-plane boards seemed to flex just enough that my drives weren't seating all the way.  I jammed a couple pieces of wood between the boards & the metal plate that carries them to reduce the flex and that seemed to help.
End result -- WOOT!  All four of my drives are online, hot-swappable, and my ZFS pools are still rockin' away.

Thursday, July 31, 2008

Lobotomizing my DSL modem

As I was attempting to get my super-sweet video streaming solution working outside my own network, I ran across a little problem... I seemed unable to get port forwarding working.

I wasn't sure whether it was my router misbehaving, the streaming server itself, or perhaps Verizon blocking the port. After a few netcat tests and some minor frustration, a buddy of mine suggested that it might be my DSL modem.

Huh. I had never really expected my DSL modem to have any brains... after all, my cable modem was a pretty passive piece of equipment. But I checked and sure enough -- my DSL modem also turned out to be a nifty little router and firewall. So this whole time, my home network was actually a network inside a network. The modem was providing DNS, DHCP and NAT to my router, and my router was providing DHCP and NAT to the rest of my home network. Ahhh. Easy enough to fix, right? I just needed to tell my modem to stop being so smart and turn itself into a transparent bridge. Easy enough to say, just extremely obtuse to figure out though. After a significant amount of research online (all of which resulted in absolutely no progress), I gave in and called Verizon tech support. Two full phone menu trees later, I ended up with a guy named Adam who was very helpful.

And in the name of posterity, so any other poor schmucks out there don't have to sit through the Verizon Phone Menu Hell, here are the instructions on...

How to Lobotomize your DSL Modem (or, Enabling Transparent Bridge Mode on your Westell 6100F Rev D)

  1. Plug a computer or handy laptop directly into the ethernet port of the 6100.
    (You may need to renew/refresh the network connection of the computer...)
  2. Open a browser and navigate to 192.168.1.1
  3. The default username and password (if you haven't changed them) are "admin" and "password"
  4. The first thing you should do at this point is change the admin password to something else -- it should land you on the screen to do this if you used the default password to get in
  5. Select "My Network" (should be an icon along the top of the page, think it's second from the left)
  6. When that comes up, select "Network Connections" from the menu on the left side of the page. (alternatively, just navigate to 192.168.1.1/configure_wan_adv.htm )
  7. There will be one or more items listed in the center of the screen, the top one being "Broadband Connection DSL" -- click on that.
  8. This will take you to a screen where you'll see something like "Set VC"
  9. Under the VC menu on the far right, click the Edit button.
  10. When you get to the VC 1 configuration screen, look for the protocol drop down. Change it to "Bridge" and then set the Bridge Mode drop down to "Bridge" (and NOT "Routed Bridge")
  11. Hit Apply, and tell it OK for the reset.
  12. When the modem resets, go back into the "My Network" >> "Network Connections" page.
  13. This time, click the second item in the list, "LAN"
  14. This should take you to the Private LAN screen. The top checkbox should be labeled "Private LAN DHCP Server Enable" -- uncheck that.
  15. Apply the change.

Voila! Now if your router is set to automagically get it's information you should be good to go. I would recommend powering down (switching off/unplugging) both the DSL modem and the router for a good 30 seconds, then power on the DSL modem & wait for a steady green light (of the 3 lights, only one will be lit), then powering on the router & waiting for it to give you a steady green.

Now all I need is to get my new Buffalo router and flash it with Tomato and I'll be all set!

[edited to fix tags]

Wednesday, July 9, 2008

Security Charlatans

One of my banks (for various reasons I bank at several places) has instituted their new "ultra-secure two-factor authentication system." Sigh. I'd love to find out who actually designed and sold them the system, so I could publicly humiliate them by name ...

...because it isn't "ultra-secure" nor is it really two-factor. One factor twice is NOT the same as two-factor. The idiot(s) that purchased this new system for the bank should have done some basic research.
For those who aren't certain what I'm talking about, either check wikipedia or listen up (although I'm telling you the same thing, just simplified) -- there are 3 common "factors" that you can authenticate someone by.

  • Something you KNOW -- like a password, a pin number, your SSN, a special hand-shake, or which picture is a kitten
  • Something you HAVE -- a random number generator, a CAC, an embedded RFID tag, or a physical key (preferably something difficult to duplicate)
  • Something you ARE -- your DNA, retinal scan, fingerprint, voice, etc.

If you have a system where the user has to enter a password and then another password, no matter how tricky you are (even if the 2nd password is entered by pushing randomly jumbled buttons on-screen instead of typed), it is still ONLY a single-factor system. Is it stronger than a single password? Sure... but I don't care how many passwords or pin numbers you make someone enter...
There is no multiple of single factors that is as secure as a single multiple factor.
The other part of their security? They set a cookie on your machine. *THAT's* their multi-factor ultra-secure system... TWO PASSWORDS AND A COOKIE? Yikes. And the very best part? If you don't have the super-special cookie because you're hacking logging in from somewhere else? You can just tell them to ignore it and let you in anyway. Sigh, again.
My task now is to find a financial institution that uses honest-to-goodness multi-factor. So far all I can find is Paypal.

Tuesday, July 8, 2008

The Magic Bean

I have this theory about "magic beans." Beans, beans the magical fruit -- the more you Magic Beans are problem fixes for those issues that are making you pull your hair out. "Beans" because they're usually really insignificant in 'size' and "Magic" because they're not normally logical, well-known, or obvious.

For instance: I just updated one of my NAS posts below with a magic bean I had forgot about. The longer story being that I had been in the middle of a package update in opensolaris when I realized I hadn't snapshot my root filesystem. Right about then it crashed. Long story short, I had to reinstall the OS and get my networking reconfigured. But try as I might... no matter how exactly I followed all the right recipes on getting networking configured it just wouldn't work. Enter the magic bean. I found a thread that looked familiar, then it hit me... there were these 4 little commands one had to run, and "poof" -- the rest of my configuration started magically working. These commands aren't normal... in fact, they're only necessary because of a defect in my network adapters or driver.

To clarify, typographical errors in code do not count as Magic Beans. They're small and not obvious... but you have the knowledge to fix them if you could see them. Magic Beans are the problems that we can't see (because we don't know how to fix them?).

Monday, July 7, 2008

Contagious Intellectualism

To say this friend of mine is brilliant is an understatement. But alas the English language doesn't let me make superlatives out of almost any word like some others do... so that will have to suffice.
I had known since before I met him that he was smart -- but there is a difference between knowing something and really knowing something. The other day I had included him on an email about a game idea I had been batting around for a while (something like a cross between CSI & Mastermind). His response contained three questions... and they absolutely blew me away. Who thinks this way? Maybe it's just me, but just being able to conceive and ask these questions is a mark of genius in my book.


...This [game] idea is closely related to a couple of things I've been noodling around with lately:
1. How can we identify "signatures" of phenomena we don't yet recognize as important?
2. How can we optimize (in time and cost) forensic interrogation procedures for "mixed" phenomena?
3. How can we model interrogations of poorly understood phenomena?
...


Wow. It feels like I'm only "noodling" around much more mundane things these days. Perhaps now that the ADHD meds are clear of my system the lofty intellectual noodling will start back up.

Monday, June 23, 2008

Pork Loin, Served by Proxy

If anything could peg the Meter-o-Machismo and firmly cement myself in the top Alpha Geek ranks, this would be it...

I want to internet enable my bar-b-que.

The backstory, like all of my stories, is fairly long and complex so we'll suffice it to say that I have wanted to undertake a project such as this for quite some time. After my most recent technical project (the storage server, covered earlier in the blog), I find myself still "jonesing" to do some hybrid creative/technical work. And since my Traeger (best. food. ever.) needs torn apart to fix the auger, I figured it would be a good time to muck about in its electronic innards.

My initial requirements:
  • After all modifications it must still function as a smoker/bbq.
  • The BBQ will interface with my network via a wireless signal (802.11 b/g).
  • The user should be able to set a temperature (in degrees Fahrenheit) via the control panel.
  • The temperature control may also be set securely via the network.
  • BBQ will monitor one or two temperature probes (one for BBQ temp, one for food temp) and attempt to maintain the set temperature.
  • Statistics (temperature settings, temperature measurement history) will be available via the network (and potentially the internet)
  • [Optional] Cooking "profiles" (ideal temperature curves over time) may be loaded and run.
Here are some of the components I'm looking at using (not necessarily any or all of them will make the final "cut"):
Processor:
Right now I'm torn between the Arduino or the Propeller. Both have their pros & cons.

Wireless Interface: the Matchport Pro b/g wireless embedded device server -- this thing is pretty cool. It's basically a secure web-server combined with a wireless radio chipset. I should be able to interface to this with whatever processor I choose.

I had been looking at just using a Gumstix system with a wi-fi add-on card, but putting together a system that would do what I wanted seemed to be a bit on the spendy side.

I obviously have a lot more thinking and planning to do, but if I do end up going ahead with this project I will of course let everyone know how it went.

Wednesday, June 18, 2008

WTF, doesn't Solaris speak Linux? (The NAS Project, part 3)

[covering software installation, configuration, troubleshooting]

When we last left our hero, he had just successfully powered on his newly assembled NAS and was rejoicing. The emotion was short lived.
Prior to ordering everything, I did some searches against the solaris hardware compatibility list and didn't really turn up anything untoward.
I still had some issues, however. By far, the biggest stumbling blocks for me were getting the network adaptors functioning and having the operating system recognize my sata drives.

But I'm getting ahead of myself. The first step was to actually install the OS. I had downloaded the opensolaris 2005.08 iso and burned it to disc. It's a live-cd, so I was able to boot into it, and then run the install. Unfortunately, I must have had some corruptions in the download or the burn, because the install didn't work correctly. I tried again, and this time the download was good (verified the hash check, which I should have done originally - shame on me). But the burn didn't work -- great, another coaster. The third time was the charm, though.
Opensolaris was installed and booting.

Then it freaked out. It would start, but as soon as the bios would post the video would go out. Or the video would go out when I logged into the gui. Or it would start, then the video would go out when the screensaver kicked in, and never come back.

After much hair pulling & a helpful suggestion from the LogicSupply tech support, I tracked the problem down to the memory being in a bad spot. I moved the RAM chip to the other slot, ran a memory test from a bootable disc (http://www.memtest.org/) which showed 100% error free, and everything worked great after that.

The next problem I tackled was getting it to see my network... "N" is the first part of NAS, after all. The network adaptors on my motherboard are Broadcom BCM5787M (vendor id: 14e4, device id: 1693), and not supported natively in opensolaris yet.
After much searching & forum reading and attempting various & sundry things, I stumbled across this thread:
http://opensolaris.org/jive/thread.jspa?messageID=195224
It was during all of this trial and error that I came to realize networking and the various commands in opensolaris were different enough from linux to cause me a decent amount of confusion.

Anyhow, I ended up downloading & installing the archived drivers, and afterward my system says the broadcom devices were "up" -- I just wasn't getting an IP.
Finally, after a week and a half of tweaking & reading through the various forums, I've managed to get everything working & have it persist through restarts.
It still grumbles about configuration errors & forcing things into maintenance mode when I boot but things seem to be working fine.

NOTE: Don't bother with the network gui. Don't even go into it.
NOTE: In opensolaris, your network adaptors are named for their drivers. Since I was using the broadcom driver, my two adaptors are bcme0 and bcme1.
NOTE: hostnames and IP's have been changed to protect the innocent :)
NOTE: the stuff below is mostly from memory. I'll try to double-check it before I post but may not get to it. UPDATE: Double checked, and I think this is complete.

First, I disabled the NWAM service (network auto magic? -- it didn't work, either):
# svcadm disable /network/physical:nwam

I enabled the normal network service:
# svcadm enable /network/physical:default

[EDIT] I forgot to mention the magic bean... the thing that makes all of our networking stuff gel. This is specific to the hardware/drivers, so isn't totally necessary for anyone else not using the bcme.
# svccfg -s network/physical:default setenv DLPI_DEVONLY 1
# svcadm refresh network/physical:default
# svccfg -s network/physical:nwam setenv DLPI_DEVONLY 1
# svcadm refresh network/physical:nwam
# reboot


http://www.opensolaris.org/jive/thread.jspa?threadID=61541&tstart=50

Without doing this, you can have an IP address & snoop the network traffic, but not be able to ping/respond or do anything else.

I put my router's IP in the /etc/defaultrouter file:
# cat /etc/defaultrouter
192.168.0.1

I edited my etc/hosts to add a static IP for the adaptor/box:
# cat /ets/hosts
127.0.0.1 localhost
192.168.0.10 supernas

I added my DNS entries to /etc/resolv.conf (one for my router's IP which should do DNS lookups, as well as one for OpenDNS):
# cat /etc/resolv.conf
nameserver 192.168.0.1
nameserver 208.67.222.222

I edited copied /etc/nsswitch.dns over to /etc/nsswitch.conf and then edited the .conf file so the hosts line read:
# cat /etc/nsswitch.conf | grep hosts
hosts: files dns

I added a default route to my router:
# route -p add default gateway 192.168.0.1 1

I edited /etc/netmasks (for various complicated reasons, I have a couple different subnets at home. Most people will use the default 255.255.255.0):
# cat /etc/netmasks
192.168.0.0 255.255.254.0

I put my system's hostname & some configuration commands in the /etc/hostname.[interface] file:
# cat /etc/hostname.bcme0
supernas netmask + broadcast + up

And that seemed to do it!

The next big problem I had was the fact that opensolaris couldn't see the really cool hot-swap sata drives, no matter how much tweaking I did.
You can find some of my problems in this thread I started (the thread got away from me, but the first few posts are still valid): http://opensolaris.org/jive/thread.jspa?threadID=62493

With the backplane in place & the drives socketed in their bays, opensolaris never recognized them as being anything other than "empty" no matter what bios setting I used (AHCI, legacy, etc.) If I directly connected them to the mobo it recognized them just fine, however. Drat -- I had really wanted to have the hot-swap capability.
Oh well, maybe the chenbro chipset will be supported in a later release of opensolaris.
I decided to just directly connect the drives to the motherboard and removed the backplanes (after some case dissasembly). BTW -- if anyone is developing drivers for this backplane, I'd be willing to temporarily donate one of the backplane boards to the cause, assuming I could get it back once they're supported :)
I then test fit the drive caddys in to see how the cables would fit through the new holes. Nope... had to notch the little metal plate that held the backplanes.
Once that was done, everything fits nicely and opensolaris saw the drives just fine.
I checked the "location" of the new drives:
# cfgadm | grep sata
App_Id Type Receptacle Occupant Condition
sata0/0::dsk/c6t0d0 disk connected configured ok
sata0/1::dsk/c6t1d0 disk connected configured ok
sata0/2::dsk/c6t2d0 disk connected configured ok
sata0/3::dsk/c6t3d0 disk connected configured ok

(or something similar - that's not the exact output)

From that point, creating my 2+ terabyte storage pool was a matter of:
# zpool create tank raidz c6t0d0 c6t1d0 c6t2d0 c6t3d0

Then I downloaded and installed the SMB server, and created a zfs filesystem for sharing stuff (which is covered in several places online, so I won't go into it here).

And the story comes to it's conclusion... I have a 2TB RAID storage server sitting on my network, keeping our photos safe and happily giving movies/media to TVersity (on my primary computer) to serve to my PS3.

Next steps:
  • Before anyone mentions that my stuff still isn't 100% safe -- I'm in the process of figuring out off-site storage for the photos. I may write something (or find something someone else has written) to synchronize my photo filesystem with flickr.com.

  • Obtain another 2.5" hard drive and add it to the operating systems zpool as a mirror (I'll probably have to unplug the optical for this).

  • Get a low-cost managed switch and set my two gigabit network adaptors up with link aggregation.


[edited because I accidentally labeled this "Part 2" instead of "Part 3"; I also forgot a couple commands in the configuration part]

Tuesday, June 17, 2008

Building the *!#&@ thing (The NAS Project, part 2)

[covering assembly]

It was a bit like Christmas -- I got some UPS lovin' and had a great time unboxing all the components I received.


First and foremost let me describe the Chenbro case I ordered -- and I HIGHLY recommend you read the LogicSupply review on it.
They have some essential notes on building with it, as well as some cool pictures:
http://www.logicsupply.com/blog/2008/03/27/the-chenbro-es34069-case-review-part-1/




The Chenbro ES34069 is pretty cool -- it has a fairly small form factor (10"x10"x5" or so), fits a mini-itx mobo, a 2.5" system drive, 4x hot-swappable 3.5" drives, and a slimline optical drive.
The motherboard I went with, the KINO-690S1 supports 4xSATA 2, IDE, 2GB RAM, and a 64-bit AMD processor.

As noted in the LogicSupply blog, the fan that comes with the case was designed for the motherboard I originally wanted -- which won't fit my KINO mobo.
Luckily, I ordered the heatsink/fan combo from them that does fit.

I'll describe how *I* built this thing, and then note how it *should* have been built.
  • Take everything out of the boxes.
  • Take side panel off case.
  • Take front off case.
  • *NOTE: there are 5 little plastic tabs holding the front on. 3 of which you can reach by taking the side panel off, but to get the last two you need to pull the drive caddys out and reach your finger in. Hope you have small bendy fingers :)
  • Test fit mobo in case
  • Snap back connection template panel in case.
  • Screw mobo in.
  • Realize the heatsink needs to screw in to something. Oh, there it is... and it goes under the mobo. Sigh.
  • Unscrew mobo.
  • Put heatsink socket thingy in place.
  • Screw mobo in.
  • Assemble heatsink to CPU w/ silver paste.
  • Screw cpu/heatsink/fan assembly to mobo.
  • Attach 40-44 pin adaptor to 2.5" laptop drive.
  • Realize there's only a single molex available to power both the 2.5" drive & the slimline optical.
  • Do some creative re-wiring (molex Y-adaptor would have been nice, but I didnt' have one on hand at this point).
  • Wonder where the system drive goes... (look up some pics online). Oh. Dang.
  • Realize I can't get the 2.5" drive in place.
  • Unscrew mobo (unnessesary if I had found the LogicSupply blog entry prior to this & realized I could pull the mobo tray out).
  • Place system drive & screw in.
  • Screw mobo in.
  • Prep slimline optical drive - screw the adaptor into the back, screw assembly into removable drive tray.
  • Realize the flat IDE cable I was using wouldn't reach with where I had the 2.5" drive pointing.
  • Unscrew mobo.
  • Remove 2.5" drive & rotate 180-degrees (so back of drive is under cd drive).
  • Screw mobo in.
  • Damn, forgot to screw drive in.
  • Unscrew mobo.
  • Screw 2.5" drive in
  • Screw mobo back in.
  • Shoehorn the IDE cable in place.
  • Put RAM in.
  • Hook power cable from case to mobo.
  • Hook CPU fan power up.
  • Move CPU fan power after noticing that CPU fan power connector was in a different spot.
  • Hook up switch & LED wires from case to the header on the mobo.
  • Realize that the Power LED header is 3 pin (live, center null, live), and the wire is 2 pin.
  • Do some creative re-wiring using a jumper block I had on hand.
  • Test fire for POST, etc.

IT BOOTED! WOOT!

After the fact:
I replaced the flat IDE cable with a round cable I ordered. I had to cut the little rubber boots off the round one to get it to fit, but it works much better than before.
Also as you'll read in part 3, I had to remove the hot-swap sata backplane... which would have been much easier if I had done so before installing anything in the case.

So assuming you'll be running Opensolaris like me, here is how I would recommend putting this together:
  • Completely disassemble case:
  • Remove the side panel (there's a thumb-screw in the back).
  • Pull the four drive caddys.
  • Remove the front panel (don't force it - remember there are 5 plastic tabs).
  • Remove the mobo tray (unroute the cables).
  • Remove the metal perforated backplane panel.
  • Remove the two backplane boards from backplane panel -- they're not compatible with opensolaris. Bye bye hot-swap :(
  • Mark & cut notches in panel for sata data/power plugs.
  • Re-install modified backplane panel.
  • Snap the back connection/port template panel (comes with the mobo) into the case.
  • Screw the 3.5" drives into their caddys.
  • Slot the 3.5" drives/caddys into the case.
  • If you notched the backplane panel like I did, you'll want to:
  • Cut the zip-ties that hold the cable bundle together.
  • Replace the data cables that go to the top two drives with the ones that have right-angle connectors on one end.
  • Plug the various sata/power cables in (you'll need the molex to dual sata power adaptors).
  • Re-zip-tie cable bundle if desired.
  • NOTE: Both the 2.5" drive location and the optical caddy have little metal pointy bits that are supposed to take the place of the screws (occupying the holes) on one side.
  • NOTE: You will need to jumper one of the drives to be the slave. I couldn't find the right jumper on the optical, so I set the 2.5" drive to slave instead.
  • Screw 2.5" drive in place (with its adaptor) -- remember, back of drive is located under optical tray area.
  • Assemble the slimline optical drive: adaptor screws back of drive, drive screws into removable tray.
  • Prep the round IDE cable (cut off the boots) & plug in to the system & optical drives.
  • Build yourself a 3-pin plug for the power LED. I glued a jumper oriented 90-degrees to one side of the 2-pin led cable end, and ran a wire from the center to the side.
  • Put the heatsink/fan socket thingy on the bottom of the mobo.
  • Screw the mobo on to the mobo tray.
  • Route the cables back through the mobo tray.
  • Screw the 3.5" storage drives into their caddys (remove the black plastic placeholder)
  • Slot the drive assemblies into their locations
  • Plug the SATA power & data cables into the drives
  • Screw the mobo tray back in to the case.
  • Assemble the CPU/heatsink/fan & screw on to mobo.
  • Add RAM to mobo.
  • Connect the rest of your cables (good luck w/ the USB headers for the front of the case... I didn't end up getting them working correctly.).

You'll find some pictures I took during the assembly process out on flickr.com
http://www.flickr.com/photos/benjaminellison/sets/72157605600122163/

That should be it. Stay tuned for part 3, or "WTF, doesn't Solaris speak Linux?"
[edited to add some pics & a few assembly points I had forgotten]

Monday, June 16, 2008

The NAS Project, part 1

[covering the background, requirements, ordering]

At various points in the past, both myself and friends of mine have lost their hard-drives (and all associated data). It's catastrophic, and it sucks.
I realized that since most of our pictures are now digital it would suck even worse to lose them all. So I decided that I really should invest in a backup solution.
But I wanted something more robust than one of those external usb drives. Enter: The NAS Project.

Several months ago I was doing some research and ran across the zetabyte file system, or ZFS. Holy moly! This looked like the coolest thing since the inclined plane, sliced bread, and Tivo.
Good introductory information on ZFS can be found here:
http://www.opensolaris.org/os/community/zfs/whatis/
http://www.opensolaris.org/os/community/zfs/docs/zfs_last.pdf (PDF link)

But to put it briefly, ZFS is a filesystem (filesystem: how your data is organized, written to, and retrieved from your storage media (hard drives)).
It has many, many nice features to make protecting and working with your data very easy. I would highly recommend reading the links above.


So I made up my mind -- whatever I was going to run, it would be based around ZFS. So with a bit more research, here are the requirements I developed for my NAS:
  • It had to be small (my current workstation at home is HUGE). I wanted something that could be mounted under my desk or put on a bookshelf.
  • It had to be able to support low power consumption.
  • It would run ZFS. Recommended "requirements" to run ZFS:
  • - It had to have a decent speed processor, preferably 64-bit
  • - It had to have at least 2GB RAM
  • The rest of the hardware needed to be Solaris/Opensolaris compatible
  • Support at a bare minimum 3 storage drives (for a RAID solution) and a separate operating system drive

Hindsight Note: By far my biggest limiting factor was my first (size) requirement. I could have built this thing MUCH cheaper and more quickly if I put it in a big tower case.

Because of the size constraint I decided to base this on the mini-itx form factor. As far as I know the smaller boards (nano, pico) don't support anything but the via processors yet,
and I was looking for a relatively beefy cpu. I found what I thought would be the perfect motherboard, the KI690-AM2...
http://www.albatron.com.tw/english/product/mb/pro_detail.asp?rlink=Overview&no=239
...but had a very difficult time locating a retail supplier. I was in negotiations with a hardware source, but after many email exchanges him/his company disappeared (thank goodness I hadn't ordered from him!).

Meanwhile I was also looking for cases. By far the coolest looking case in my opinion was the Chenbro ES34069 case, however I was having a difficult time finding anyone stateside that sold it.
http://www.chenbro.com/corporatesite/products_detail.php?serno=100

BUT -- at some point in time, everything seemed to come together (I found a new/different motherboard, and a stateside supplier for the case). All the bits and pieces I (thought I) needed became available and I ordered the components for my NAS.

Hardware list, for those interested...
(from newegg):
  • OCZ 2GB 200-Pin DDR2 SO-DIMM DDR2 667 (PC2 5400) Laptop Memory
  • SAMSUNG Spinpoint M Series HM080GC 80GB 5400 RPM ATA-6 Notebook Hard Drive
  • KINAMAX ADP-IDE23 Laptop 2.5" to Desktop 3.5" IDE Hard Drive Adapter Converter
  • 4 x SAMSUNG Spinpoint F1 HD753LJ 750GB 7200 RPM SATA 3.0Gb/s Hard Drives
(from Logic Supply):
  • IEI KINO-690S1 AMD Turion 64 Mini-ITX Mainboard
  • CoolerMaster EPN-41CSS-01 - Socket 479, Socket M, Socket P
  • Panasonic SR-8178-B Slimline Tray-loading CD/DVD-ROM
  • Slimline CD to 40 pin IDE adapter (NOTE: I ended up with two at some point... I think the case I ordered may have come with one).
  • Chenbro ES34069 Mini-ITX Home Server/NAS Chassis
(from CompuVest):
  • 2.0GHz AMD Turion 64 X2 Mobile TL-60 FSB 1600MHz 2x512KB S1

(from Circuit City)
  • ArcticSilver thermal paste

Additional things I forgot to order the first time around & ended up getting after the fact:
  • 2x Low profile SATA cables (one right angle connector, one straight connector)
  • 1x Long, round IDE cable
  • 1x Molex Y-adaptor
  • 2x Molex to double SATA adaptors

Stay tuned for part 2, "Building the *!#&@ thing"

[edited to fix layout issues]

Wednesday, June 11, 2008

The Face Game

I had a few (6 to 10) "happy" minutes with Hunter last night. By that I mean minutes where he wasn't fussy -- because even when he's grumpy and screaming I love him oodles. Besides, his little pouty bottom lip is SO CUTE.
But back to happy time. He was sitting on my lap, leaning back and we were playing at making faces at each other -- and I think he actually was recognizing the fact that I was mimicking his faces! woo hooo :) He'd stick his little tongue out, then I'd stick mine out. Then he'd smile, then I'd smile. Then his eyes would widen slightly, as if he just noticed something. Or he had to fart -- which is a possibility of extreme probability. That kid makes more gas than all the cattle in Sunnyside. I may have to get him a little onsie that says, "I depleted the ozone layer."
We purchased him some simethicone and some sensitive stomach formula (for his evening supplement) yesterday in hopes that he will be less gassy and therefore less fussy. Which would lead to longer naps. Which in turn would hopefully lead to getting things done. And getting things done makes C happy, as anyone who knows her would know. I also have Things That Need To Be Done. But I am an order of magnitude more lazy relaxed about things like that.

Wednesday, June 4, 2008

Mommy, make it stop!

I received a call from Carmen yesterday which started with a phrase that I am sure I will hear many, many times in the next several years: "Would you like to know what your son did?"
Being as how he is only 8 weeks old, there were only so many things running through my head at that point, primarily revolving around diaper incidents. Nope -- completely wrong. Evidently he reached up over his head, grabbed his hair, and started pulling. Of course he really wasn't cognizant of the fact that he was holding his own hair, so when it started hurting, he started screaming. But kept pulling. Poor little doofus :)

PS - I'm still working on getting some more pics uploaded. Be patient.

Tuesday, May 6, 2008

Brazilian Confections

I was looking over a new (to me) blog that has me feeling 'cuisinely creative' again:
http://lunchinabox.net/

And she had a link to another blog, which in turn had a recipe for these Beijinhos de Coco ("coconut kisses") which looked way too simple to be true.
http://trembomenglishversion.blogspot.com/2007/06/beijinho-de-coco-coconut-kiss.html

Three ingredients? Naah! So I thought I'd give them a shot -- and they turned out really good! And while I was doing a bit of reading up on them, I stumbled across a different version of the same thing, only they're chocolate versus coconut, and they are called Brigadeiros.
http://en.wikipedia.org/wiki/Brigadeiro

For those who can't be bothered to go look at those pages for the recipes, it's simple:
1 can sweetened condensed milk
1 Tbsp butter

For the Beijinhos - 3 to 4 Tbsp shredded/flaked coconut (added AFTER cooking) (I also added some coconut flavoring I had for candies).
For the Brigadeiros - 3 Tbsp baking cocoa (added BEFORE/WHILE cooking)

Cook the stuff in a pan over lowish heat, stirring until it basically forms a pudding (sticks more to itself than the pan). At this point if you were making the Beijinhos, you would stir in the coconut... then dump into a bowl & chill. Form according to tips I have below.


I made a double batch of them, and they are fantastic! They pull together very quickly. The real work is in forming them. They are *extremely* sticky. I chilled the concoction, then used my now-standard latex (actually, nitrile) gloves for pulling little 1/2 Tbsp sized blobs off & putting them on wax paper on a cookie sheet. Then I chilled them again, and the next day I rolled them into little balls. I used Alton Brown's "wet hand, dry hand" method to cover them in chocolate sprinkles... right hand to extract them from the wax paper (which they stuck to!) and attempt to gently fling them into the little bowl of sprinkles, then the left hand to scoop sprinkles over/around them & put them into little paper cups.

Once I had them in the little cups, I pushed a small chocolate chip (for the coconut kisses) or Andes Mint chip (for the chocolate Brigadeiros) into the top/center of each one.

Monday, May 5, 2008

Roasted Garlic and Lemon Potato Salad

I made some roasted garlic & lemon mashed potatoes the other day, and it occurred to me (while eating some leftover potato salad that our neighbor Jodi was kind enough to give us) that it would probably be a Tasty Thing to combine them. So to capture my thought I'll put what I'm *thinking* of doing here but I probably won't get around to actually trying this for a while yet (still have leftovers of the other stuff!) - so don't take this as "verbatim" or anything.

handful of baby red potatoes, cooked & cut into largish (salad sized) chunks
couple hard boiled eggs, diced
several cloves (one bulb?) of roasted garlic, chopped
zest of 1 or 2 lemons
1 Tbsp prepared mustard
mayonnaise
spices to taste (salt? pepper? paprika?)

I'll post any updates, successes or failures, etc. when I get around to making this.

Friday, April 25, 2008

Carmen, the Boom Op

The other night, while Carmen was attempting to feed Hunter, it struck me. Our little guy was bobbing and weaving and she was chasing his mouth around with her nipple... and I suddenly realized this reminded me a whole lot of an aerial refueling!

Now, I never had the urge to take one of the KC-135 "morale" rides. The plane is very cold (anyone who knows me can just leave it at that explanation), and if I recall correctly, it had to be on our spare time. My spare time in the desert was spent catching up on my sleep, shopping downtown when we were allowed, or playing cards. so while I never witnessed it from the boom-operator's pespective, I did get to see all the AR I needed to from the front of our own airframe, thankyouverymuch.

Thursday, April 24, 2008

Like an Ant

One of the good things about his small weight is that his strength is at least normal... which means he can much more easily lift/move himself. With my hand on the ground for him to brace his foot on, he was able to flip from front to back at 11 days old. At 12 days, he decided he didn't need to wait for me to put my hand down, and just rolls over on his own. Which makes giving him his requisite tummy time kinda tough, because he doesn't like it on his tummy and won't stay there for long.

Monday, April 21, 2008

Construction Adhesive

I am convinced that you could use baby poo as a super adhesive... once that stuff has dried, it won't come off for "love or money."

Thursday, April 17, 2008

It's kinda crazy...

...just how tiny he is. But he is pretty cool :)
Any doubts/fears I had are different, now. Now my biggest concerns are making sure he stays healthy and thrives & grows. But I think I'm starting to get the hang of this whole daddy thing.
I originally was apprehensive of the dirty diaper business, too. But other than a couple times, I've been the primary "poo person" this whole time, and it's not that bad. My little fireman *has* nailed us a couple times when we uncovered his package to change him. It's funny how the exposure to open & cool air makes us guys feel the urge to pee - even later in life. I ask him where the fire is that he's trying to put out but his reply is just another baby face & some baby noises.
I've uploaded more recent pics to flickr.

Sunday, April 13, 2008

Home is where the heart is

Woo hoo... the hospital released our little guy today. So around approx. 1400 hours, we brought little Hunter Allen home to meet the kitties and see his nursery.
The cats were mildly curious... but since he hasn't cried yet, they've done nothing but sniff at him a bit.
Now Carmen and I need to figure out exactly how we work our new "routine." Right now we are on a 3-hour feeding schedule, but I'd like to talk to the pediatrician to figure out if a 4-hour would work for him... if so, that would give us a bit more time to rest and take care of the things that life springs on us.
He's out like a light right now... just swinging next to my desk while I type. So cool :)

Saturday, April 12, 2008

Poor Baby Cyborg


burping baby cyborg - 2
Originally uploaded by Ben AE
As I mentioned, his levels were high enough that we were sent to the pediatrics ward last night. Since they weren't terribly busy and there were two beds in the room, I was able to stay the night with mom & baby, which is nice.
At some point last night (midnight?) they decided to put him on an IV... which as it turns out was a good call. He was so dehydrated that they couldn't get a vein to stay open in his hands or feet... so they stuck his head. And yes, the mere thought of this was extremely traumatic for poor mom (who was already in tears because she could hear the nurses' attempts from down the hall). But it worked out well -- he has fewer nerve endings in his noggin, and he flails that around much less than his hands/feet. It makes feeding & burping (see photo) a bit more challenging, but I don't think any more challenging than having a tube in an appendage would be.
His levels tested lower this morning (down to 13, yay!), but they're telling us that there's still only a very slight chance that we'll get to go home today. Most likely they'll keep us over one more night, just to be safe.
Having him under the blue lights really sucks, because we both want to cuddle him so much. And we can't wait to get our little guy home.
I've uploaded a handful more pics to flickr, if anyone is interested.

Friday, April 11, 2008

Blue Light Special


Blue Light Special
Originally uploaded by Ben AE
Here's a bad camera phone shot of our special little guy under the grow UV lights.

Sent remotely.
[edit to add content]
As I mentioned below, the bilirubin levels when they checked today were fairly high (18+), so they decided to keep us at least one more day, maybe two. The second check was lower (16) which is good... but he wasn't making any wet diapers, so they warned us that if he didn't start peeing that they'd put him on a baby IV! :(( He peed once (all over the nurse, lol) but they want more before 2100 or they'll stick our poor little guy.


Speaking of nurses... all of the nurses here at Kadlec have been absolutely FANTASTIC! They are all very very nice and have helped us tremendously - we're extremely impressed by the level of care we've received.

I'll eventually upload some better blue-light pics I took with our real camera at some point. But for now, I think I'll try to get a bit of shut-eye before our 2100 feeding.

Little Yellow Men

Aren't from Mars. We just found out that our little yellow-ish man is going to have to stay for a while under some photolamps, to help with his jaundice. Evidently his levels are high enough that they want to treat him with phototherapy and supplemental formula. The birthing center is releasing us, and pediatrics will be admitting us. Carmen is understandably upset, but after I take her home to clean up we'll be back and she's going to stay with him until they clear him for release. I won't get a chance to stay overnight, which sucks. But I'll be able to get those last minute things taken care of that we hadn't had a chance to prior to Wednesday morning.

Day which?

The phrase those of us who worked shifts and/or flew missions in the Air Force used to use to describe this feeling is "bleeding." As in, "man, I just got off a 20 hour and I am bleeeeedin' - gotta crash bad." My friends Hans and Rich have both told me I'll end up negotiating with Carmen for 10 minutes of sleep, here and there... and I can see why.
Even though I have a very long-standing dislike for staying in places other than my own, I'm so glad we were able to stay another day in the hospital. Several people (myself included) recommended that we take advantage of the nurses while we can, so last night we let them take Hunter for a few hours between midnight and 0300 or so... three hours of blissful rest, which I am sure will be difficult to come by in the next few days (weeks? yikes!). I know that the sleep deprivation we both underwent in survival school probably won't even hold a candle to what we're about to undergo. But I console myself with the knowledge that millions of people survive parenthood every day :)

Baby Hunter is taking a little nap right now (so is mom -- good!). Both of them have started to get the hang of this whole breastfeeding thing, which is making us all very happy. He had his circumcision this morning. Unlike some of my insane friends I didn't watch... not a chance. It was bad enough just knowing it was going to happen. He was so nice and peaceful and non-fussy when they brought him back, but Carmen still burst into tears. We've both become much more emotional. I'll admit that even before he was born I found myself getting teary-eyed during certain commercials/tv shows. It makes me wonder if there isn't *some* kind of hormonal change in guys, too. Triggered either by the state of mind, or in reaction to the woman's pheromones.
We took a few more pics last night and this morning -- I'm uploading them to flikr now, so by the time you read this they'll be available.
We get to go home today, yay! So much to do at home... but I'd like to get C & baby H down for another nap once we get there, and then putter around cleaning things... maybe run a couple errands that need to get done. I've had at least 4 cups of coffee once I decided I wasn't going to get much more rest this morning.
T-shirt slogan idea: "New Daddy: Cruisin' on Caffeine." Maybe that only seems amusing to me right now *because* of the sleep deprivation. I'll have to re-read it next year.

Anyways... check out the new pics if you are so inclined.

Thursday, April 10, 2008

Thank you

Carmen and I want to extend our deepest and most sincere gratitude for all the love, support, and prayers we've received over the last few weeks of bedrest and last (and coming) days with the birth of Hunter. It means so very much to us, it can hardly be expressed in words... but thank you, thank you, thank you.
--B & C

Wednesday, April 9, 2008

The deal with birthing...

Well, C woke me up a little after 2 this morning, "Beeeeen - my water broke!" So we're at the hospital now [edit: now=0300 hrs] in one of the birthing suites, and she's actually feeling her contractions this time around.

[time passes]

Man, C was a bit pi55ed off.... She was at 5cm around 0500... The contractions were pretty bad, so she was going to get an epidural.
I was watching the monitor, and was thinking to myself, "that waveform looks a LOT like the pattern we saw in our birthing classes that indicates the final stages of labor. Huh. Must be a wonky monitor trace."
By the time the anethesiologist rolled in at 0530, she was having the baby! The nurse told him, "forget the epidural, get the doctor and the baby catcher!" boy Carmen was mad... "WHAT? THIS IS SO NOT COOL!"
So after not quite 3.5 hours of labor & bit of pushing later, baby Hunter was born at 0538. He's 5 pounds and a bit over 10 oz, and 18.5 inches long.
They whipped him right into the NICU because he didn't look very good... Some of the meds they gave her at the beginning that should've been out of her system by birth didn't have time, so he was affected.
NICU pronounced him good to go... And he's currently [was approx 0700?] getting his first meal right on tap :)

Anyhow -- I've uploaded a bunch more pics to flickr, so check out the link.
http://flickr.com/photos/benjaminellison/sets/72157604459422075/

[edited to fix link, add tags]

Ben & Hunter


Daddy & Hunter
Originally uploaded by Ben AE
Nap time!

Sent remotely.


[edited to add title & keywords]

Hunter's Born!


Hunter is here
Originally uploaded by Ben AE
At 0538 (remember, she was just 5cm at 0500), little Hunter Allen came into the big outside world.
I'll post stats later.

Sent remotely.


[edited to add title & keywords]

Baby Time!

Baby time! C's water broke at 0210, and we're at the birthing center now.

[edited to add title & keywords]

Tuesday, April 8, 2008

Ben's Coffee Bar


Ben's Coffee Bar
Originally uploaded by Ben AE
I love having a nice espresso machine in my office. Now all I need is
one of the "daily special" boards, a mini-fridge to put milk in, and a
green apron.

Monday, April 7, 2008

Tiramisu

I made some tiramisu this weekend... as usual, I looked at about a half dozen recipes & then threw something together. Had some issues getting my egg whites whipped (pretty sure there wasn't any grease in the bowl, though). But it turned out pretty good.

4 eggs, separated into whites/yolks
1 1/4 c powdered sugar
2 c (16 oz) mascarpone cheese
1 c coffee (stronger the better... )
2 Tbsp liqueur -- put in coffee (whatever flavor you think goes w/ coffee... i used a coconut/chocolate flavor)
a box or so of Ladyfingers (cookies! I suppose you could use vanilla wafers if you had to...)
grated chocolate (dark is my fav)
cocoa powder (for serving, if you want)
half-and-half or normal heavy cream (for serving, if you want)

Whip the egg whites w/ sugar until stiff.
In a separate bowl beat the egg yolks until they're very smooth & you've incorporated a lot of air
Cut the mascarpone into small pieces (well, "cut" may be a misnomer... smoosh? blob?) and fold into the egg yolks.
Fold the egg white mix into the yolk/cheese mix.

Get a deep casserole dish, and line the bottom w/ your cookies.
Brush the cookies w/ the coffee/liqueur mix
Put a layer of the cheese mix on
sprinkle with grated chocolate

repeat layers (cookie + coffee, cheese, chocolate) , finishing with a layer of cheese mixture sprinkled with grated chocolate.

Chill for a few hours to set... serve with some cream & a dusting of cocoa powder.

Wednesday, April 2, 2008

Phew...!

The blood work turned out with good results... so we're in the clear for now, woot! :)

[edited to fix tags/labels]

Baby watch

Wow... at today's bio-physicial profile appt. the doctor indicated that based on the results of some lab work(which we should receive in a few hours), we may be induced TODAY! Yikes... I think our little guy really should 'bake' for a few more weeks (official due date is May 1), but of course whatever is best for mommy & baby will dictate what happens.
Stay tuned... I'll either keep this or my twitter as up-to-date as I can.

[edited to fix tags/labels]

Friday, March 28, 2008

BlazeDS, Flex, Spring, Hibernate, Tomcat

I've been banging my head against this "stack" for a while, with some (qualified) success. I'm hoping to get some code onto code.google sooner or later, but I'm a bit busy converting my current project *away* from java and toward Cold Fusion (using ColdSpring and Transfer).

I'll post something when (if) I finally get a chance to get things working.

Brief synopsis, however (see delicious for any appropriate links):
  1. Installed Tomcat 6
  2. Configured a database (SQL Server, MSDE in this instance) with three tables (tUsers, tRoles, lkupUserRoles)
  3. Snagged the jTDS driver
  4. Configured Tomcat default realm to authenticate against the db
  5. Installed BlazeDS
  6. Made a copy of the BlazeDS folder for my new project
  7. Stuck Spring and Hibernate in it
  8. Wrote some java code for my user and role POJOs (IUserDAO, UserDAO, User, etc.)
  9. Wrote config for Spring to point to Hibernate stuff & User/Role beans
  10. Wrote config files for Hibernate to tell User/Role how to work
  11. Wrote destination config stuff into the flex services xml
  12. Wrote flex project/code to talk to the destination

Like I said... I'll post more on this later, and all the tweaks I had to do to get things working right. (although I never was able to get Security working like it should).

Tuesday, March 11, 2008

system.out.println("Hello World");

Yeah... this is the first post on my blogspot blog. I used a geeklog site for a while, but never kept up with the updates to it (both the geeklog software as well as my blog). Can't really do that from a security standpoint, so I decided to scrap geeklog and just use an app where someone else fixes the security holes (is that lazy or smart?)

Stay tuned... I'll be posting stuff off and on. Probably going to post stuff about the upcoming BABY! As well as whatever else strikes my fancy.