Archive for the ‘Apple’ Category

Great Mac OS X Software

Thursday, November 21st, 2002

Yesterday I wanted to get a nice console tool for OS X, similar to Spy on NeXTSTEP/OPENSTEP. Basically, Spy will sit there until something is sent to the console, and then pop up for a predetermined time and then disappear again. This allows you to know when a possible error occurred without having the console app from Apple always in your face.

I saw that Spy for OS X 1.0 was out, and that it did a reasonable job, but was missing a few things from the previous incarnation. So I did a
search and found BetterConsole which is almost perfect for what I need.

I found a bug in the font-setting code, sent it in, and the developer agreed that he hadn't looked at this code for a long time, and it didn't work as planned. So he's going to look at fixing it. Excellent!

This makes OS X even better. I can't believe the ease at which I can be as productive on this platform as any I've ever had. Amazing.

Gotta Love OS X

Friday, April 12th, 2002

OK, once again, I have to say that Mac OS X is a great step up from it's OPENSTEP roots, and I love doing development on this platform.

I have been working on a simple GUI query tool for PostgreSQL - with an eye towards making it as databse independent as possible. Lots of abstraction in the base classes, and then PostgreSQL-specific classes for the models. It's a good design, if I do say so myself. And the speed with which is goes together is incredible. You can leave all the basic initialization to the nib loading and instantiation and the just focus on the behavior in your model and controller classes.

Don't get me wrong, if you don't like Model-View-Controller (MVC) style coding or you don't understand how to create MVC designs, then I can really see that this design paradigm could be a pain in the neck. However, having said that, there aren't a lot of apps that need a GUI that aren't MVC, or couldn't be made in MVC easily.

While I've written a ton of Visual Basic code in my lifetime, I have to honestly say that their merging of the Controller and View objects just isn't what makes for really good, reusable code. Sure, you can hammer something out fast - drop a few buttons on a window - double click on the buttons, write code, and run it. But in the end, the View holds too much business information and that's never good as you try to scale things up.

Sure, you can use the COM objects to get the Models out of the code, and that's good. But you can't get the Controller out of the View in VB. And there's lots of reasons to have the Controller be the only disposable code you have. That's what I like about Mac OS X.

I guess that VB gets around this by the wealth of OCX controls that are reusable, but specific enough that they contain quite a bit of useful behavior. This is OK, and I used a ton of them in my day, but the idea of having a real Controller is just so nice and clean. It makes things so much easier to design.

I guess that's why the little database app went together so nicely. It's got all the functionality that I need and putting things together was the most demanding part and IB did the vast majority of that. Great tools for cool programming. Can't ask for anything more.

Life with sherman

Thursday, April 4th, 2002

Life has been very, very busy for me these days - as evidenced by the time since my last journal entry. Lots of things have been happening and I have to say that most of them have been good, while still keeping things interesting with a curve here and there.

I'll try to hit the high points and not be too wordy along the way...

Work at The BANK is going well. Lots of work to do, which is nice. Keeping my skills sharp and putting more things in from of the traders. All this is good, and I can't complain about work at all.

The word amongst the consultants is that rates are being lowered which is interesting in that I got a non-trivial raise. I guess they are seeing that developers, in general, are getting less, but good ones are still worth paying more for. But of course that'd be my interpretation of it. 🙂

At home the machines are running well, but a few weeks ago I lost the 9GB boot drive on sparky which took a few days to get a replacement for. In the end, it was cheaper to get an 18GB replacement than to try and get an exact replacement. Funny how technology drives prices down then up again as the parts get more scarce.

I've also got my first Mac in a very long time - a 14" iBook. And by a long time I mean a decade. I did this because of Mac OS X and the Developer Tools that used to be thousands of dollars under NeXTSTEP and OPENSTEP - both of which I love and continue to have in my office. So I was quite taken with the new iBooks and got one. Excellent move. With my 802.11b wireless LAN in the house, the AirPort card works wonderfully, and it uses the wired 10/100-baseT when I'm sitting at my desk. Very nice. The tools are as nice as I could have imagined though I have to say that they could have made the administration a little easier with the startup scripts if they had gone with Irix's or RedHat's chkconfig system, but that's a minor point and they have a feature, just not as easy to configure and use.

While it has taken a little getting used to, specifically in terms of getting the tools I got used to on Linux/Solaris/NT to Mac OS X, I think I'm over the hump on getting up to speed on the Mac world again. Oh sure, there are a lot of little details I'm unsure of, but I'm productive and have about 90% of the things I need up on the iBook and that's more than good enough to do all I need to do.

I'm impressed with the improvements in Project Builder since OPENSTEP, and am glad that they didn't mess too much with Interface Builder. Setting up the user preferences on this guy could have been a lot easier, but it's all a certain mind-set. Where to change the size of the icons on the Desktop? Don't look for it under the Desktop Preferences, you need to select an item and then select the view preferences for that item and it'll change it for all Desktop items. Not obvious, but there's a certain logic to it I'll agree. It's just getting into that logic that's hard.

The DVD/CD-RW on the iBook is very interesting, but I'm a little surprised that while the DVD is paused the iBook can't go to sleep. If you stop the DVD playback then it'll sleep and the play will resume where you left off. Hmmm... still a few bugs in the system, but they'll work them out or I'll work around them. Either way, it's still a nice little box.

My next box will be a new step up - gotta get a dual-Athlon XP with gobs of memory and a very nice video card with OpenGL acceleration. This will be my preferred desktop workstation in the office and I figure that I'll get it nearer to the Fall.

For now, I have to say that working with sherman is a whole lotta fun!

SSH on NeXTSTEP and CIA

Tuesday, April 3rd, 2001

Late yesterday I decided to do a Google search on NeXTSTEP and SSH to see if anyone had built an SSH client for NeXTSTEP. What I found was the 'commercial' version of SSH that came in two versions - 1.x and 2.x. I got both and tried to get them both to compile. The 2.x version was hopeless due to signal differences, and the 1.x version needed me to write strdup() - but that wasn't bad. In the end I have a 1.x version of SSH which is a lot better than telnet.

Yesterday was a little slow because I didn't spend much time in the office. There were a lot of things that needing doing around the house, and so most of the day was spent away from this wonderful playroom. It's nice to be back this morning.

This evening I got word from Joel that the ISP guys had finally gotten around to installing GTK 1.2.8 development includes and libraries so I could get back to building CIA on their machines. Thankfully, it built fine, so now I'm in the process of transferring up a few slides so that I can test the speed and overall functionality. It should be fine, but I have no idea as to the speed issue. My guess is that it's reasonably fast, but nothing to write home about.

I also spent a bit of time today writing out my goals/plans/etc. for CIA and sent them to the rest of the guys. I'm hoping that this starts the process to either get serious about CIA or get out. I don't really care which, but if they wait too long I'll decide for them in what I do professionally.

UPDATE: I did a similar run on sparky and the ISP hosting the CIA website. I used the Dako #6 run with the following options: '-op -om -m' so as not to impact the FFTW time on one machine and not another. What I got was:

Machine User CPU
(sec)
System
(sec)
Elapsed
(mm:ss)
sparky 244 1 4:06
www.cellanalysis.com 68.8 1 1:38

Which means that the ISP is running at about 28.2% of sparky. This is nice to know so that I can get a reasonable idea of production runtimes by looking at the runtimes on sparky and then multiplying by 0.282. Not like it's brain surgery, but it's nice to know.