Archive for the ‘Everything Else’ Category

Venting Can Be Nice – Unless You’re the Target

Friday, December 7th, 2007

I was just talking to a co-worker about something totally unrelated - I think it was the history of a project here at the Shop and who's done work on it over the years... when it's changed platforms, who's done what, etc. Sort of fun because one of the guys new to the group hadn't heard this, and it had come up recently as needing some work done to it. While we were talking about this, my co-worker brought up something that had happened years ago, and didn't paint me in a very flattering light.

He had asked for a feature to be added to something I had built on top of a commercial package to make using this pack a lot easier. Anyway, this one feature he wanted added wasn't natively supported in the commercial offering. I'm sure at the time I was trying to make it easy to do those things that the package did natively, and not build in a lot of functionality that wasn't part of the original concept of the package.

Well... at the time, he didn't buy this, dug into the code and saw that it could be done - not supported natively, but possible. He tells me now, he knew then that I was bs-ing (trying to be family-safe here) him and wanted to call me on it. He went to our boss, told him he knew I was bs-ing him and asked if they should push me on it. Boss said "No, let it go", and it dropped.

Later, when someone wanted to move an application to the web using this package I added this exact feature - not because anyone directly asked, but because if we were going to migrate this one app and kill it, we needed to have this functionality somewhere else. So I did it. It was more of an add-on than I'd done in the past, and meant that the use of this feature made the code much less efficient, but it did work.

And for this, he's been carrying around this on his chest for years. He got the chance today to get it off his chest and put it squarely on mine. So, was I bs-ing?

Looking back, I know I didn't think I was - then. Now I'm not so sure what my motives were. Maybe it was as I remember it - an attempt to be a thin shell on the package to make it easier to use the native features. Maybe I just didn't want to do it so I didn't look for the way to do it at the initial time.

It makes me think about what I'm doing today. I know I've turned down requests to put certain things in my code because I felt they didn't belong there. I've suggested where they might go, and encouraged others to put them there. I've even offered to let them fork my work and add what they wanted to the fork they made. But I will stand firm when I think the idea is not right. That's just good design and appreciation that not everything belongs in a String class, for instance. You create horrible maintenance problems if you keep throwing things on a cleanly designed set of classes.

Still... it causes me to pause and think. Maybe I was too harsh. Maybe I need to give it more time. I'd like to think I'm a better person because of this, but it still feels like I just got called to the principal's office.

Tilting at the Broadband Windmill

Friday, November 30th, 2007

I know it's ranting... I know it's tilting at windmills, but darn it, these large ISPs that are not really doing the right thing for their customers are really yacking me off! The other day it was Comcast and their blocking ports and messing with responses to requests. It's frustrating that it seems the companies with the capital to provide large bandwidth are the same ones that are the most intent on keeping it to web and mail traffic. It's incredible.

Then today I'm trying to upload a few files from work via an AT&T DSL line to my HostMonster account and it starts to send but fails in the response. I know about this as it's happened before, and I can solve this problem by doing it while I'm at home - from Comcast. Now I don't know why AT&T's DSL is messing things up - and it honestly might not be AT&T - but it's upstream where I can't see the HostMonster boxes and they can't see me.

It's really amazing. In the old days, I'd have had a modem in my laptop and I'd dial into the ISP I needed to get to and things would just work. Today the speeds are faster - which is nicer, but the connectivity is probably a lot less. Trying to stretch their infrastructure to the limit to get the most customers on it before having to upgrade it is just the typical corporate way... and it's leading to regulation. They are going to find themselves looking down the business end of massive regulation if they don't clean up their act.

Comcast is Not My Friend – But I’m Stuck with Them

Tuesday, November 27th, 2007

There are days that I don't mind that Comcast is a big organization that really is horrible at customer service and responsiveness to their customer base. Then there's the P2P spoofing that's annoying, but for the most part, even this is glossed over in my day-to-day interactions with them. After all, there aren't a lot of choices in the broadband market in the Chicago area. But then today happens and it really starts to make me angry.

I was trying to simply upload a few web pages to my home servers - nothing special, but I wanted to upload them and then look at them. But Comcast's monitoring of the 'standard' ports and hindering them got in the way. See, because I have multiple machines with the same servers (web, ssh) running, I needed to do port forwarding on the firewall, so only one machine is on the 'standard' ports, and the others are on clearly non-standard ports, but since I know what they are, I can deal with it.

So I try to SSH to a non-standard machine and I get in fine. I try the same thing to the standard port machine and Comcast times out on me. I go to the non-standard machine, get in fine, and from there, SSH to the standard machine just fine. So the machine is not the problem - it's bloody Comcast and their crappy port hindering/filtering/dropping rules. Why? What does it matter if I use the capped bandwidth for web serving or downloading stuff from their web site? Who cares? Are they trying to legislate/regulate morality? Computer usage? What gives?

I try the same thing with the web servers. The standard one fails and the non-standard one gets in just fine. So I'm sure that it's Comcast, and they have a record of the P2P problems and now that's a class-action lawsuit. When will they learn? Be the "Good Guys", and just let people use what they have paid for. Don't waste your time on the filters, spoofers, lawyers, etc. Just sell us the service and let us decide how to use it.

Do the phone companies regulate how you use your phone? Nope. How about the water company? Nope. Why should we allow these crappy ISP companies to do it? Because most people don't know or care.

Grrrrr... makes me mad.

My Car is Messing with My Head

Wednesday, November 21st, 2007

Jeep.jpg

Yesterday morning I was on the way to the train station and my car's CHECK ENGINE light came on. Right in the middle of a turn. So since I don't believe in ignoring problems, I took it to the local shop that had worked on it less than 10 days ago to fix the same CHECK ENGINE light issue. At that time, there were hard errors from the computer saying misfiring of #6 cylinder, so they did a complete tune-up and everything went away. At the time, I was happy to get it cleared up.

Then yesterday morning happened. I was not happy.

Thankfully, they checked it out quickly and today they said they could not find anything from the computer and the CHECK ENGINE light had gone out. So it's crying wolf, and messing with my head.

I have no desire to drive my car if there's something really wrong with the engine as I depend on it far too much to have it say "Hey, buddy! I've got a problem here!" and ignore it. But at the same time, it's a major hassle to do without my car for a day each time it decides to throw up a CHECK ENGINE light with no real underlying cause.

Hopefully, they'll be able to track it down. Otherwise, it may be a continuing problem for me. I'd hate to have to go back to the dealership, but if necessary, that's what I'll do.

UPDATE: they looked and test drove it and nothing ever came up. This isn't good, but it's better than it blowing up on me on the way home. Alive is better than dead.

Advanced Hero Support

Monday, November 19th, 2007

Well... Liza ran her second marathon this weekend (in Philadelphia) and did a great job. Things worked out from all the lessons we learned from Chicago - take the water, take the phone, be at specific spots - all worked well. The weather wasn't as nice as it could have been - low 40's and falling throughout the race, drizzle to rain, and a ton of wind, but she did it. Ran every step. Her half-marathon split was good, and she understandably slowed on the second half. Finished in about 4:53 - which is great for a second effort.

Don't know if she's going to be doing more of these, but it's certain that we have the procedure down. It's great to watch her run and great to cheer her on.

Incredible App to Read Medical XRays

Wednesday, November 7th, 2007

OsiriX.jpg

I know I shouldn't be surprised to see technology enter the medical profession, but with a sister that's a doctor, and her husband, and three roommates from college that are dentists, and after working with optometrists and doctors with their office automation, I have to say that I was honestly surprised to see that our local hospital, Edwards in Naperville, doesn't have xrays on film anymore. Well... maybe they do, but when you go to get a copy of them, you don't get films, you get a CD. "Hey!" I thought... "technology!".

Then I tried to read them on my Mac only to find out that they are a special file format: DICOM - Digital Imaging and Communications in Medicine. This format is not universally understood by apps like GraphicConverter or the like, but I was able to find that ImageJ could read the uncompressed DICOM files - which is nice because my wife's hand xrays came as uncompressed DICOM, but when I tried to load my son's rib xrays it said that it wasn't able to read compressed DICOM files. Crud.

I did a lot more googling and then came across OsiriX. What an amazing piece of open source software. This even has awards from Apple for it's excellent design - and tutorials on the Apple web site about how to use it. This is better than many large commercial outfits and yet it's totally free.

Let me give you a quick run-down of the application. First, it's Universal, and my guess is that they'll update it to Leopard to get the 64-bit processing on the Intel hardware as I believe it's capable of being 64-bit on G5 hardware. Second, it's got a built-in database that's smart enough to allow you to run it in a 'cache-only' mode (more on this later), but also capable of loading up xray series off CDs and keeping them on disk for later viewing. Thirdly, it's got automatic update checking, 'metal' theme (soon to change with Leopard), and responds very quickly to all user requests. It's a top notch Mac app.

One of the first things that made me say Wow! was the fact that on the toolbar there's an icon for importing a complete CD of xrays:

Local DICOM Database

I hit that, and whoosh! everything from the CD is available in the app! I was stunned. I've been trying to get these xrays viewable for about 3 months, and all I had to do was to get this one program for my Mac, and click a button and everything is there - all the fields populated with when/where/why, etc. That's an amazing piece of coding!

But it didn't end there... oh no...

The default behavior is to have the application remove the entries from the database as soon as the CD is unmounted. This makes sense if a doctor is using it - there's no need to keep the images around if the disk is out of the drive. But for me, I want to keep the images around so I don't have to have the disk with me to look at the xrays. In order to do this you need to go into the Preferences for OsiriX and go to the 'Database' pane and select Copy files to OsiriX Data folder if: and then select If files are on a CD/DVD. This will mean that all the files will be copied from CDs. But we're not through yet... Next, go to the 'CD/DVD' pane and uncheck the option: Automatically remove images from the database when CD/DVD unmounted. This will then make sure that the images remain in the database once you remove the CD.

With this, I can carry around all the xrays of my family's accidents. I know it may sound a bit grizzly to some, but it's one of those things that makes me feel more connected to them.

I wish they’d bring Fiber to MY door

Wednesday, October 24th, 2007

I read this from Ars Technica this morning about the new Verison FIOS 20/20 plan, and all I can say is Wow!

Some residents of New York, Connecticut, and New Jersey who live inside the boundaries of Verizon's FiOS network will be the first to be able to take advantage of Verizon's new 20/20 FiOS service. As the name implies, 20/20 FiOS is a symmetrical 20Mbps connection (same speed in both directions), and it's one of the first symmetrical services to target the consumer market.

Available today, 20/20 will cost $64.99 per month and will include Verizon's Internet Security Suite and 1GB of online backup (up to 50GB can be purchased at "competitive rates").

20 Mbps down and up. It's just what I've been hoping would come to Chicago, but they don't seem any too interested in rolling it out to these parts - yet. However, it would be nice if Comcast responded with something like 10/10 which I'd be all over. The problem I've run into in setting up my home network services is not the uptime of my boxes, it's the speed and unreliability of the link. From home, in download mode, it's great. But accessing services from the road has always proved really quite hit or miss.

I look forward to the day when I don't have to worry about what's a home versus what's on my laptop. It'll make getting things done a lot easier.

Great Games that Keep My Interest

Monday, October 22nd, 2007

Dice.jpg

I was taking a break this morning, trying to get rid of a headache that is really killing me, waiting for the Advil to kick in, and was thinking about the fun games that have really held my interest for a long time. There aren't many. But what has kept my interest are the really great games that I've been playing for a very long time.

Risk - this classic board game is a pain in the neck to play with people because if you don't have a good group of at least 5 people, it's not really that fun, and can really get quite annoying if you have a few people that don't even try to play the game. Thankfully, there's iConquer on the Mac which is a superb version of Risk with decent, though not really super challenging, computer opponents. It's a great for 15 to 20 minutes, but if you want a real challenge, you're going to have to play against something with a pulse. They have network play, but again, there's the need to get 5 good people together.

Xconq - this classic adaption of Empire is about as fun as strategy/turn-based games get. There have been a lot of these in the 'bookshelf' games over the years, but again, since this guy has pretty decent computer opponents, it's a great way to spend about an hour. Unfortunately, they are dropping the native Mac OS X interface from the project, and it's even questionable if anyone is supporting it any longer. It used to be worked on by guys from Apple and RedHat, but it's gotten away from these guys and into the general SourceForge community. I haven't received a message on the mailing lists for a very long time. Still nice, so long as I can get it to run, but there will come a time it's dead, and that will be a sad day.

ChopLifter - this has been on Apple ][, Sega, Mac OS X, and probably a dozen other platforms as well. It's the classic 'rescue the guys' game and fun for about 10 min. After that, I get a little bored and my interest falls off. It's fun enough every now and then to hold my interest for those 10 mins., but I can't say that I really look forward to playing it - it's just "there", and I play it for a bit.

I've played a few FPS games - no real interest. Networked games are nice, but only as a way to get those critical people together. I guess I'm just Old School - or just Old.

Lessons Learned as Hero Support

Monday, October 8th, 2007

This past weekend Liza ran the Chicago Marathon, and it was an experience. First, it was a disaster as a good race as the temperature was >95°F. and there were problems with sufficient water on the route, and after a while they cancelled the race but told the runners they had to walk back in. The transportation that was to be provided to get the runners back to the starting line was not available, and so many runners, like my wife, had to walk it in. This added several hours to her time and I had no idea where she was. So... there are several things that we, as a Team, learned about this, her first marathon:

  1. The Runner Needs a Cellphone - until the time that they have GPS on each runner, or the Chips mark each mile and an easy way for each support person to know where their runners are, a cell phone is a necessity. Had I been able to call her, or she to call me, we would have known that she was falling off her pace as early as mile 9, and I would have waited at mile 13 for her, and updated my expectations of her arrival time at mile 16.5. As it was, I was a bit frantic not being able to find her past mile 2.5.
  2. It Doesn't Hurt to Carry Water - there were water stops that had no water at them when she arrived. This was a serious problem in the >95°F. weather. So, she and I talked about her wearing her water belt, and discounted it. Next time, if that heat is up there, she'll carry it just in case this happens again.
  3. It Helps to Have Support Crew by the Phone - had they used the Internet to track her progress better - more Chip splits, then it would have been really nice to have someone at home with a computer that could monitor her and update me to her progress. As it was, the kids didn't know what to do, and the only splits the system sent out was her ending time. Hardly worth it.
  4. Have a Go/No Go Point, with a Backup Marathon - we had the back-up marathon as many people had recommended, in case of injury, but there wasn't a point we had that she'd pull herself out of the race because it wasn't an enjoyable experience. For example, had we said "If you drop below a 5:30 pace by the 13.1 mark, it's time to pull out because you've trained at the 4:15 level and this would mean you're getting beat up by the weather or the course."

I'm sure there are a lot of things she's learned about running in a marathon, but these are the big things I've learned supporting her. Until I can take the time to train with her - or at least train for the same race like her, these are the things we're going to have to keep in mind if she hits the pavement again for another 26.2.

Emailing from PHP on Mac OS X

Tuesday, September 25th, 2007

Apple-logo.jpg

When my daughter wanted to have her web site include Flash-based form submission software I needed to make sure that PHP on frosty, my iMac running OS X 10.3, would be able to email out properly. As I found out, 10.3 is not set up to allow this, but it's easy enough to configure once you know how. I Googled the problem and found most of the answer, but there was one line missing and that turned out to be a critical line for the forwarding of emails while in a PHP script. The low-down is that you just need to properly configure postfix on the box, as it's already installed and most of the work is already done for you. So here goes:

First, look at /etc/hostconfig and make sure that there is a line that reads:

  MAILSERVER=-AUTOMATIC-

Next, you need to edit the file /etc/postfix/main.cf and make sure it has the following lines:

  ...
  myhostname = frosty.themanfromspud.com
  ...
  mydomain = themanfromspud.com
  ...
  myorigin = $mydomain
  ...
  inet_interfaces = all
  ...
  mydestination = $myhostname, localhost.$mydomain
  ...
  mynetworks_style = subnet
  ...
  relayhost = smtp.comcast.net
  ...

and then you need to uncomment the line in the file /etc/postfix/master.cf to look like:

  smtp     inet  n    -    n    -    -    smtpd

At this point, if you restart your box, the email will send out from the host to any email address on the net. This is also very helpful in that my crontabs are now able to send me email off the box and this makes it a lot easier to keep track of them.

I've done this on Mac OS X 10.3 and 10.4 and it works great on both. I just wanted to write this into the journal before I forgot how to do it in the event that I need to do it again.