Swamped

March 2nd, 2004

OK... I've complained enough about not having enough to do, so it's nice to have a lot to do - maybe even a little too much. I've been very busy these last few days keeping up on the coding I wanted to get done as well as keeping the production and UAT systems happy. It's a lot to keep going, but it's a goof kind of tired.

One of the interesting things I've been working on is the data model of a general grouping structure - a tree, and operations on that tree. It's all in C++ which is the preferred language for this application due to it's computations and multi-threaded nature. I have a lot of control with the pthreads as well as complete memory control which is really going to help as things scale up to very large datasets. It's another component of CKit and it's coming together quite nicely. I still have to do some work on a concrete subclass that populates itself with data, but that's not too bad, really.

Other than that, I'm waiting for updates to Desktop Manager for Mac OS X as well as Unison and a few others that I'm hoping improve quickly. Also, I've got my eye on the 1GB modules for my 17-inch PowerBook which would take it to 2GB RAM. When they get to be $250 each, I'll probably pick up a pair. Wild how the desktop of not so long ago is the laptop of today.

Hackers are Crooks

March 1st, 2004

OK, it's probably not clear to the general populace that hackers are crooks. But they are. I've had problems of my own with them on my boxes, but today it's been a real problem for the web site I did for my cousin's business. The web hosting company that we put the site on is shutting off the SSH and FTP, including SFTP, until they get their servers locked down. While this is nice, I never went to their hosts via telnet or ftp - always SSH or SFTP.

Yet, I can hardly blame the good folks at the hosting company for if it were my business to host web servers, I'd be very very careful about access and make sure that I didn't have unauthorized access as that could put me in a world of hurt.

So I'm left wondering if we'll ever get the type of hosting we need. I'm concerned that I haven't been able to contact someone at the company, and hope that it's all just a matter of a little configuration on my part that won't take more than an hour or so and I can get my cousin back on the air.

They steal time, resources, money, and a sense of goodwill. Hackers are trash.

Debugging Big Apps

February 17th, 2004

I have to admit that I don't like debugging code that isn't mine. In fact, it's one of the most frustrating things I can think of. You are stuck between the users of the software and the vendor and neither is really capable of giving the other what they are needing at this moment. The developers want detailed stack traces, detailed information about what was being done - something that makes it more repeatable. Users just know it crashed and they didn't necessarily start it in such a way as to get this information because they didn't think that it would crash.

So to the developers I have to say "Hey, this is what I have and I know it's not much..." and to the users I have to say "OK... I'll let them know" but in the end, there's not really a single thing I can do other than to try and replicate the problem myself in an environment that I can get the necessary information from the application for the developers.

What I really want is the source code so that I can look into putting more advanced features that might make it a little easier to figure out what happened. Alas, that's not possible, and I'm stuck being in the middle. Not the best place to be to really help with solving the problems, but if that's the only place to be, there isn't a lot of choice.

FTPeel is the Winner!

February 13th, 2004

OK, in the saga of the FTP SSL/TLS problem I've come to a wonderful find. FTPeel from Freshly Squeezed Software in FL has an SFTP, FTPS, FTP client that looks as nice as Transmit. It doesn't have the "your stuff"/"their stuff" two-pane approach, rather it has a single view on the remote data that you can download, edit and upload. It's clean, simple, and works perfectly well with Comcast and that's all I need.

Seems like a lot of digging to find this, but now that I have, I'm an owner and that means great upgrades, etc. Gotta love that.

Unison and Newsgroups

February 12th, 2004

I started using networked computers in college in the Fall of 1981. OK, it's been 20+ years, and I'm still using them, but hey... I've got experience. 🙂

As I was saying, back at Purdue I used the amazing tools - ftp and rn. Yes, this is when the Internet was called the ARPAnet and ftp was considered safe because there weren't script kiddies and most of the users had their own systems to admin, and they all existed on a mutual trust system. Alas, that's not possible anymore. Anyway... I would get files from remote ftp drops without a search engine, without the web. But the newsgroups functioned as message boards as well as places to find things organized by category. It wasn't perfect, but it was wonderful at the time.

It was always true that certain newsgroups had higher signla-to-noise ratios than others, and when AOL came online with the newsgroups a lot of folks ban lists included AOL. But there were still folks that preferred the groups to the newly created web-based message boards like Slashdot, etc.

I liked to keep up with the groups, and recently I've gotten tired of the crummy newsgroup service from Comcast and decided to try something different. The guys at Panic created Unison a next generation news reader and provides a news service for it as well. Since I was tired of bugs in the code I was using and liked the things I've used from Panic in the past, I decided to give it a whirl.

I'll say that it isn't perfect, but for a 1.0.2 product it's pretty darn nice. I like the basics, and while there are a few things in the UI related to navigation that I'd like to see - or at least know were there if they were already in the application, it's nice and solid. Also, one of the things I know of Panic is that they update their software when they find things to fix/add. This means to me that it's only going to get better.

Everything old is new again... gotta smile at that.

Breakthrough with NetFinder

February 11th, 2004

OK, good news. The latest version of NetFinder seems to know about FTPS, which is what the protocol is called when FTP does SSL/TLS, and does the connecting automatically. This is good news because I now have at least a functioning secure uploader for the time being. Hopefully, Transmit will add this if it's not already in the works now.

Interestingly, I had a hard time figuring out that NetFinder did this because the documentation was pretty darn bad. That is to say, the documentation that came with the program. When you go to their web site, the docs are quite good and complete - which is where you learn that SSL/TLS is tried automatically and if it's successful, a small locked padlock is shown at the upper right corner of the screen. But to figure that out took me a while.

Maybe I'm slow.

In any case, until something better is found, I'll stick with NetFinder and let is go at that. Whew!

Secure FTP and SSL/TLS

February 11th, 2004

OK, I've become a little more educated today about yet another way for ftp to be transported. It turns out that sftp uses OpenSSH as the transport mechanism whereas ftp on SSL/TLS simply uses OpenSSL. Interesting, but a pain in the rear as I'm trying to find a way to upload changes to my Comcast web pages without using clear-text passwords. In it's infinite wisdom, Comcast has decided to use the SSL/TLS form of securing FTP, and for Windows users, that's probably just fine. But I'm on Mac OS X, and there aren't a lot of SSL/TLS clients out there.

In fact, a Google search said that several clients for Mac OS X were capable of dealing with SSL/TLS, but when I tried them I was unable to get any of them to work with the Comcase upload site. Now there's certainly a possibility that the port number I'm using is wrong. In one client it allowed me to set the port number but defaulted to 990. Interestingly, there's no mention of a port number on the Comcast web site for SSL/TLS. Why should there be?

So I'm left with the email I sent to Panic.com - makers of Transmit, the ftp client that I like to use (and have purchased) for Mac OS X, and we'll see if they come back with anything helpful to try. One source listed Transmit as an ftp client that did SSL/TLS, but I've yet to be able to prove that with the program in hand.

Test from iJournal

February 9th, 2004

It's an interesting thing, building better software.

I've finally gotten a first cut done at the application that will allow me to make journal entries a lot easier than before. This is a little Cocoa app that runs on Mac OS X and uses XML-RPC to communicate with the server that hosts my journal. It's interesting that there seems to be a hit-n-miss nature to it working from certain access points, but that's probably as much the access as it is the software. I'm sure it could be more reliable, but as long as it connects and does the job, I'm happy.

I have completed the first few tests and things are really looking up.

XML-RPC and Stuff

February 4th, 2004

OK... one of the things that I've been trying to do over the last few days is to create a new mechanism for uploading and editing all the entries in my journal. Since I've put everything behind a router/firewall, I don't have easy access to all the ports of the server, and that's good, but also it limits what I can do in terms of creating a client for the Journal.

I remembered XML-RPC as one simple implementation of a remote invocation system that's transported completely on top of the web server's port/protocol. This then, would be ideal - since I have all the machines' web servers opened up through the router, and with XML-RPC I have the choice of platforms to write both the client and the server. I decided to go with PHP for the client and a native Cocoa app on Mac OS X for the client.

The choice of PHP for the server seems like a good one. I have all the database connectivity I need and the methods that I'm creating are small and pretty fast - even on the hardware that I'm using. I will admit that the docs were a little thin, but it didn't take more than a few hours to get my server running. Interestingly, I didn't know that it was running until I put the client together.

I have to hand it to Apple - they have put together some of the greatest tools I've ever used. In Jaguar (10.2) they had an implementation of XML-RPC in AppleScript and while it had problems, it was still there. Thankfully, the guys at Ranchero created another XML-RPC implementation for Jaguar that didn't have these issues. When I checked their latest Cocoa documentation pages, it seems that Panther (10.3) has a better XML-RPC implementation built into it. So I used that.

There were several issues with getting the data passed back to the caller - most notably, that the PHP arrays can't be passed as arrays in XML-RPC, at least not in the implementation that I got. They end up getting passed as associative arrays/structs and in Cocoa that's NSDictionary objects. Not obvious and certainly the most difficult part of the project. Once I knew what the data really was, iit was a simple matter of matching things up. Yet there was still one more problem.

While at work, I have a standard internet connection - meaning a DSL line behind a router providing NAT, etc. When I try to hit the web site as a simple web site the browser never really renders the page. If I use telet to the right port, the data comes back just fine. This means that the connectivity to the host is fine, it's something with the browser - in this case, Safari 1.2. Since the XML-RPC service is also based on the core web services that drives Safari, it's not surprising that it hangs as well. Very strange.

The result is that the reason for the creation of the server and client is is part of the problem. If I'm at home, then there's no hanging and no problems. Also, I can easily SSH from work to the box meaning that not all the tools/services are effected. A simpler solution may be to create an X11 app and then SSH into the box and run the app there. Seems sort of silly as text files work just fine. So maybe the solution is a few scripts that send and upload the files. Seems like if SSH is solid it'd be easier to do that, but it certainly isn't as interesting and fun as making the client/server work with some kind of protocol.

We'll have to see if I get any clues as to why this is happening and if it's even possible to clear this up. Looks kind of doubtful right now.

Making the effort

January 26th, 2004

It's been a long time since I added much of anything to the journal, so I wanted to make the effort today to add a little bit. That's the real issue - making the effort to make this a daily task.

When I started the journal, there weren't weblogs/blogs and the standards that exist now for blogging software simply hadn't been conceived. So I built up everything from scratch and it works just like I'd like. I can do all the journaling that I need. But the one thing that's changed is the frequency that I insert entries into the journal, and I have to admit that if I had a tool that made the creation of journal entries easier, I might just leave it up and make simple, little entries as opposed to entering nothing.

So I'm starting again, and maybe I'll write a little app to make this even easier than it is now.

Hackers

OK, a few months ago I got hit by a hacker named "Spray" - as if that is supposed to mean something to all. Anyway, typical script-kiddie didn't have the first idea what he was doing, but he had enough tools to exploit my sun box, sparky. Sure, I had left it more open than I should have, but then again, I'm from a time that there weren't hackers - more correctly, when the word 'hacker' had an entirely different meaning in computer circles. Anyway, so he got in, and I went through the box finding all the little things he'd messed with. I got most of them, but not all, and so in a few weeks he was back. This time I got more, but then again not all.

On the third attack, I got everything, but at the same time I wasn't taking chances with Solaris 7 having unpatched holes and so I decided to put sparky behind a firewall so as to make my life a little easier. I just needed SSH and web access to him, and so with a little port forwarding I was in business. Well... it took a little more than that as getting the Linksys BEFSX41 working properly took more time than I had anticipated, but in the end, that's about all the real progress that was made.

Then I realized that I could put all my boxes behind the firewall if I wanted to and get rid of the extra IP addresses I had from Comcast. So I got a bigger hub and went about the job. Turned out that this job meant that I had to re-do some wiring in the house, and decided to upgrade to 802.11g so that I could get 54Mbps on my Powerbook and the kid's computer, but then everything was 100Mbps wired and 54Mbps wireless. Not bad. Not easy as it was a very long weekend to get it all working, but it's working now and that's good for me.

In general, get all the latest firwares for the routers/firewalls/access points and then start with the factory defaults and configure from there. Also, check your wiring. Yikes... that was a bad weekend.

Now I'm just in the mode of fine tuning the port forwarding parameters to make it possible for me to get the access to the machines that I want and need. For the most part, it's SSH and web, and thankfully Apache and OpenSSH can listen on multiple ports so I can have the boxes all stay on the default port numbers (22 and 80), but also have unique port numbers that the redirector can point to. Not a big deal, but it's details that all have to be worked out.