Archive for the ‘Vendors’ Category

New Coda Released

Tuesday, December 4th, 2007

Coda.jpg

While I don't do a ton of web coding, I have to say that when I do it, it's nice to have Coda around, and just yesterday they released an update to v1.1 - the move to Leopard. The changes seem to be across the board - GUI changes to match the new UI of Leopard... engine changes for a lot of the things like CSS, etc. ... fixed a few bugs, added a few features. Not bad.

Every time I use Coda, I keep wishing there was more web coding to do. Fact is, it's a joy to use and I just like using it. I can't image a better recommendation than that. It works, and it works well. It looks great too. Super.

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.

Getting ctags Working in BBEdit 8.7

Monday, November 12th, 2007

BBEdit.jpg

I was messing with Vim's ctags support today on my Mac and then somehow wondered if either SubEthaEdit or BBEdit had support for ctags like Vim had. I dug into it and in fact BBEdit can support ctags, but unfortunately not the ctags that exist with Mac OS X 10.4 - you need the exuberant ctags on sourceforge.net. They talk extensively about it in Chapter 14 of the BBEdit manual. You need to download, build and install the ctags app:

    cd ctags-5.7
    ./configure --prefix=/usr/local
    make
    sudo make install

In order to have it not conflict with the existing ctags I did the following:

    cd /usr/local/bin
    sudo mv ctags ectags

I also changed the name of the man page to get that matching the new command:

    cd /usr/local/man/man.1
    sudo ctags.1 ectags.1

and to make sure this man page gets into the existing MANPATH - if you don't want to add this location to your MANPATH, you can do:

    cd /usr/local/share/man/man1
    sudo ln -s /usr/local/man/man1/ectags.1 .

Then I created a simple alias that allows me to call it simply with the right arguments for the file BBEdit needs:

    alias ectags `ectags  --excmd=number --tag-relative=no  --fields=+a+m+n+S -R'

So that in the Makefiles for BKit and CKit I can add the target:

    CTAGS = ectags  --excmd=number --tag-relative=no  --fields=+a+m+n+S -R
    ...
    tags:
        @ $(CTAGS) `pwd`/src

And this way I can then automatically pick up the tags in both projects. It's nice that CVS doesn't try to update the file called 'tags', and placing it at the top of the source tree allows BBEdit to find it - as well as Vim, if I'm into that as well.

In the end, this is a really nice little addition. I'm a little surprised that the BBEdit folks didn't include it as a part of the BBEdit distribution so that you would not have to download it and build it. I mean really they know that Mac OS X 10.4 doesn't come with it, and they are going to need it, so I can't quite figure out why they didn't include it. But they didn't. Easy enough to download and build.

UPDATE: I also found that there are 'Jump' and 'Jump Back' menu commands that I've got hot keys set up for. This makes it very easy to jump to a functional definition based on the ctags and then back to where I was, and then back to the definition. Very nice. Gotta love BBEdit for this.

More Vendor Madness – When will it end?

Monday, November 12th, 2007

cubeLifeView.gif

Today we had a meeting with a group of technical sales consultants from a Vendor for a very expensive package that we have purchased and I've been asked to integrate and get working. This meeting was about price feeds into this system, and how the current product's abilities are weak to say the least. They rely on Reuters exclusively, but with a Reuters infrastructure, you (the client of Reuters) can push data back into the RMDS feed, if you so choose. You just become another 'exchange' to Reuters. But that's not a realistic alternative for us.

What we need to do is to get at the Vendor's price feed service and inject prices from my CacheStation based on our rules. These prices are what's necessary - as opposed to what's possible from Reuters, and so I'm not really in favor of simply faking Reuters RMDS with our source - I want a new source that can co-exist with the Reuters feed and then we can configure the application to take certain prices from one feed and other prices from another. Sounds very reasonable.

What's amazing to me is that in this meeting we had close to a dozen people - of which two were really necessary - the lead Vendor representative and myself. Everyone else was at least redundant, and often (as it turned out), painfully in the way. I've worked with the feeds, I know what needs to be done, I understand the basics of the Vendor's price service, and all I need to do is to get them to do a few things to meet me half-way on this and we'll all be fine.

But as it turned out, people that had no idea what was needed or what was happening had to be in this meeting. Why? Politics. What a waste. This is something I hate - don't waste my time if you're going to have people unrelated to the issue blathering on about this or that... get to the point, or confess that you have no idea what is going on and get on with it.

In the end, you'll come back to me - or you won't. If you don't, then you got it figured out without me - Good for you! If you come back to me (as you have time and again), then it's because you have no clue about what to do, and you want me to Just do it.

And it seems this insanity - I can think of no better term for it, is going to continue before there is any hope that it will get better. Tomorrow we're having a meeting about the first hardware purchase to run a version that they've never deployed and don't even have finished. How can they possibly know? It's a guess, so let's guess and move on. Chances are, we're not going to underspend - this is a massive system and it's going to need more than we're throwing at the problem now. But they have to have these meetings with people that have no real clue about what they are doing. It's amazing.

Someday this will end... it'll end the day that they realize that this has to work, or it's a waste of millions of dollars. When that day comes, they have traditionally come to me and said 'Make it work!', and at that point, the meetings stop. Unfortunately, that's typically ridiculously close to the drop-dead date for implementing this thing, so I'm under a lot of pressure to get it working in a very short time.

But that's the day it'll end. I just wish I could sit all this out until that day. It's the kind of thing that gives me a headache - and reminds me why I don't sit in the manager/owner chair any more. It's just no fun.

Problem Setting Full Screen Capture for FlySketch

Wednesday, November 7th, 2007

I thought I had this all figured out, and to a point, I did. But today I noticed a bad conflict between FlySketch and Skitch when trying to do the Skitch 'selection grab' - Apple-Shift-5 hot key. There was a conflict between that and FlySketch's Ctrl-Apple-5 full screen hot key, but I had changed that, as I posted about a while back.

Surprise! It was back.

The problem was that FlySketch wasn't saving the change in it's Preferences. This meant that when I rebooted (like I have to do an update on the OS), I went back to the old mapping that had the conflict. I suppose that I could change the mapping in Skitch, but honestly, I'd like to have FlySketch set to what I wanted, and Skitch to stay where it is.

I asked the question on the FlySketch forum and we'll see what I get back. I'm hoping it's a simple fix - or maybe an update, but I'd hate to have to re-do this every time. I am somewhat forgetful in this regard.

UPDATE: I've decided that it's not worth the hassle, and if they fix it, that'd be great, but until they do, I'm moving Skitch's hot key to Apple-Ctrl-S to match the Apple-Ctrl-F for popping up FlySketch. There's a symmetry there that I can live with.

[11/8/07] UPDATE: I filed a bug with FlyingMeat on this. Turns out it's more likely to be acted upon in this manner as it's email-based and not the forums. We'll see if he responds today.

[11/8/07] UPDATE: I sent along the Console message in response to Gus' reply to my bug that it should, in fact, be stored in the Preferences. It was:

2007-11-08 13:34:14.322 FlySketch[2565] CFLog (0):
    CFPropertyListCreateFromXMLData(): plist parse failed; the data is not proper UTF-8.
    The file name for this data could be:
    /Users/drbob/Library/Cookies/Cookies.plist
    The parser will retry as in 10.2, but the problem should be corrected in the plist.

Later, when I had the time, I removed the entire preferences file for FlySketch from my ~/Library/Preferences/ directory and then restarted FlySketch and put in my serial number. Unfortunately, the same thing happened - the hot key for the full-screen capture was getting set, but it wasn't getting pushed to Preferences. Odd. We'll have to see what Gus makes of this.

[11/12/07] UPDATE: I got a new version of FlySketch from Gus and this fixed the problem right up. Not exactly sure what he changed, but whatever it was - it worked.

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.

Comcast and FTP

Wednesday, October 31st, 2007

I'm glad I no longer rely on Comcast to serve up my web site. They recently decided that the FTP TLS/SSL was no longer "necessary", and have removed it. Maybe it was part of the 'upgrade' they did, but in the end, it's gone and my tools are some lame web site uploader or unsecured FTP. If I have to put something up there, I guess I'll go the lame uploader, but I'm stunned that a group so intent on security to give away anti-virus software and spam blocking is not coming up with a better solution for secure FTP uploads.

Maybe they think all their people are too dumb to know. I'd hate to think that, but I can't come up with a reason to drop secure uploads via third-party apps. I guess I'll check back later and see if they have something - or maybe write them and see if they respond. Not that I'm expecting anything, but if you don't complain about poor service, you get exactly what you deserve.

UPDATE: OK, I sent a nice email to them asking for something - WebDAV with SSL might be very nice, but I'd take FTP TLS/SSL back. We'll see what they say.

Their response was almost automated:

Thank you for contacting Comcast Cable Bob.

I understand that you would like to have the option returned to allow FTP TLS/SSL for secure uploading to PWP from third-party FTP clients.

I have forwarded your comments to the appropriate members of our development and management teams for further review and action. We appreciate that you took the time to help us keep our commitment to quality customer care.

I do not really expect them to do anything about this - they have the silly web uploader, but if you don't ask for it, they'll never know that taking it away pissed off at least one somebody.

The State of Java on Leopard

Wednesday, October 31st, 2007

java-logo-thumb.png

Well... it appears that the current Java 1.5.0 on Leopard is not all that great. Add to this that there's not even a pre-release version of 1.6.0 available for the early-adopters to use and it makes a somewhat compelling argument to hold off on Leopard for at least a little bit until Apple releases the 1.6.0 JDK. I'm sure it's coming, Macs have been for the last several years the Java development platform. But with the fact that 1.6.0 never fully materialized for Tiger (10.4) and that it's not in Leopard (10.5) - yet, it makes those hard-core Java-types say that Apple is out of touch. After all, Windows uses the Sun-provided JDK and Apple insists on writing it's own.

But let's recall a few things folks... with Mac OS X 10.3 and JDK 1.4.2 Apple made the apps load very fast and run even faster. So much so that Sun asked to have a look under the hood to see how they did it. With each successive release of Mac OS X the bar has been raised. Unfortunately, right now, 1.5.0 is almost two releases back and 1.6.0, while not widely adopted, is widely available for a long time.

It's a matter of timing. I'm sure that within a few weeks JDK 1.6.0 will be out on Leopard and it'll be once again setting the standard for Java development platforms. There are just those that are hearing all the hype and cheering from the new release that they need to put it all in perspective - which isn't a bad thing, as long as it's not use to just knock things down.

Leopard is fine, it's new, and it's got a lot of differences, and I'm still waiting for PHP and PostgreSQL for 10.5 to be available from Marc Liyanage as they are the best packaged, fullest-featured, versions of those tools. When he's got time to update them, I'll move to Leopard. I'm guessing that by then I'll be updating to JDK 1.6.0, or soon after. It's just a matter of a few weeks. Have a little patience.

UPDATE: interesting note about Java on Leopard... is seems like the guy got a lot of press for whining about a specific application instance. In general, it's better and faster, but there may be times that you have to actually code against the defaults to get optimal speed. In any case, one less thing to worry about with Leopard.

Leopard-specific Updates To Do

Monday, October 29th, 2007

Apple-logo.jpg

I'm getting ready for the update to Leopard (10.5) and while I'm updating all the apps that I have before I update Leopard, there are some that need to be updated after. Here's my list of things to update after I get Leopard on my laptop.

  • Forty-Two DVDVX Plus v3.2 - this is the nice DVD ripping software that has made it so easy to get a few of my DVDs into iTunes for the road. They are saying that version 3.2 is for Leopard only. I'll wait for this as I don't have any ripping I plan to do in the near future, and if so, I can wait until after the upgrade to do it.
  • Lingon - this is a launchd GUI tool for Leopard only. I've not used it a lot on Tiger, but in the event that I need it, it's been there. Typically, I just get down into the files and restart the service, but it might be helpful if I come across a need.

As I find more things to add to this list, I'll expand on it. For now, it's a placeholder of the specific updates I need to do and that's good enough.

Technical Salespeople – What a concept!

Friday, October 26th, 2007

cubeLifeView.gif

I guess this really isn't the fault of the tech salesforce, but it's the illusion that they are really providing something in the transaction. Oh, sure... there are some turn-key solutions where all we really need to do is to buy the hardware - speced out to the last detail, get the install disks from the vendor and that's basically it. But those solutions are really few and far between. Most big systems have to interface with systems in-place in your Shop so it's not a plug-n-play solution. Which is the supposed reason for the technical sales force (aka consultants) from the vendor.

Here's what happened... we have asked the vendor to be on the next version of their product - something that's a complete re-architecture from the currently shipping version. Totally different. But in a way, that's good. The existing system was a mess and could not possibly do what we need, and the new system may be new and green, but at least it's got a chance of being the 'right thing'. So we need some hardware to run this beast on, and I put together a list of a minimal set-up to get us going. I know it's probably not enough, but it's close and has a decent chance of being all we need for production. I send this to my manager, explaining why I've chosen this configuration, etc. and said "Approve this and we get moving". One of the guys who's not above me in the org chart, but has fewer boxes to the Big Boss said to run this by the tech sales person and see if it's OK.

Normally, I'd say "Great!", in fact, I would not have made the list myself but asked them for a list. But that's not really possible now. There's a totally new architecture that they've never delivered to any client, doing things that they never did before. How do they know what our situation is going to take? They don't. But even if they did... my guess was 'reasonable' - let's say the knew what it'd take. If it was less than this I'd be very surprised because the system we have now doing this task is using this same hardware and only doing a fraction of the job this system will be required to do. So doing more for less? Hmmm... then there's the fact that the existing system is all in C++ and this has significant parts in a scripting language. While I'm not saying it's slow, I am saying I'd be very surprised if it were faster than what we have now.

So let's say it's slower, and they know it. Are they going to say "Hey, this is only about half of what you need." Not a chance. We'd say "Half!? What's wrong with this thing?" So they'd keep it to themselves and realize that this will get us started, and as we get into the project we'll see that it's not enough and order more.

So all this asking them is a wasted exercise. We're not going to get any useful information from them. The product is like nothing they've ever delivered before - totally new. They're guessing just like we are. But by asking them we're delaying doing anything on the project for several days to get this useless bit of information. When you're putting something together for the first time you can't expect cookie-cutter answers. You have to use your experience, understanding of the problem, and goals and stick a finger in the air and guess.

If you're good, then your guess is pretty darn good, and you go from there. Asking someone else doesn't increase the confidence in your guess. Just do it.