I was writing something that needed to communicate using HTTP and it wasn't working exactly like I wanted it to. So, I really wanted to get Ethereal going in OS X. Well, after that failed, tcpdump became my best friend.
It's somewhat cumbersome, but at least I could see the data of my packets and fix the problem. Here's basically the command I used to trace network traffic going out of my box on port 80:
tcpdump -vvv -i en0 -lnX -s 4096 dst port 80
Wednesday, June 28, 2006
When in doubt, tcpdump
Thursday, June 15, 2006
iMac woes
Over the past weekend, my iMac G5 struggled for life again. If there's one thing I've learned, it's that you shouldn't ever power off your Mac by holding down the power button until it's off. But, when it's completely locked-up, what else do you do?
Well, it started being very sluggish again so I rebooted it. That was a mistake, but there was nothing else I could have done. After its boot-up chime, it got stuck on the gray screen with the apple right in the middle of the screen and a little spinner/wait animation below it. If your Mac ever does this, it's history! It usually means your hard drive is corrupt or busted.
This time around, I figured I'd blow $87 and buy the infamous DiskWarrior to "magically" repair the disk. That was a complete waste, because, while it was able to fix broken links and such, important system files, like /etc/hostconfig were missing. When I rebooted the iMac, it would immediately open to a bash terminal prompt. Most the time, the keyboard would be inoperative in that mode so that did me no good.
Something else that made this crash more painful was that I've been running it as my email + web server. Yep. My email server was completely down for a couple days because I didn't have the time to deal with it. I guess it did finally force me to get my Mac Mini back up as the server and clean things up.
All in all, it was another pain in the butt. I'm wondering whether I should just be done with the iMac (sell it on eBay) and replace it with a new Intel Duo Core Mac Mini. From what I've seen, those machines rock for the power they pack in such a small footprint.
Wednesday, June 14, 2006
8 browns
I went fishing up Hobble Creek Canyon (near Springville, UT) Monday and did a little fly fishing. It was my second trip into water with my new Cabela's chest waders. I fished for just over an hour and ended up catching eight brown trout. Even though the creek was pretty small, the smallest one was still about 10" long. The largest one I caught was probably 13". The place I went is about a 30 minute drive from my office, so I'll have to give it a shot again.
The fly pattern I was using came off of my fly fishing vest. It looks like it might be a blue-winged olive pattern. I think my friend gave it to me last year when we fished the Provo River. In any case, it worked almost right off the bat, so I never switched it.
Friday, June 09, 2006
Googleplex strikes again
Why didn't I think of that? Oh wait, I (we) did!
Google has done it again, but this time it hurts a little more since it hit so close to home. Glyphmarks to be exact (www.glyphmarks.com). I think we (the community of computer users) would still be better off if we were to build our own, but I think Google is a LOT more staffed.
A couple months ago, Rob showed me some of the stuff he was doing with Javascript and WebServices for iFolder 3.x's end-user web access. As it turns out, the whole XPCOM layer I was writing in C++ to consume gSOAP to talk with our WebService could be completely removed. What's so interesting about that? Well, it means that we could write a platform-independent Firefox Extension for Glyphmarks (before we were going to release one for Windows, OS X, Linux, etc.).
But, will I ever find the time to do any of that? Hmm...
Thursday, June 01, 2006
Update on the 3.5 client
As some of you might know, we are in the process of writing the iFolder 3.5 Client in completely native (C/C++) code for various reasons.
Yesterday, I demoed the client for Linux and showed connecting to an iFolder server. A month from now, I hope to be able to demo a lot more functionality.
The different modules of the new client are:
- core (ifolder/trunk/client/src/core)
- cross-platform library that uses GLib
- compiles in Linux, Windows, and OS X today!
- contains code to talk with the WebServices running on an iFolder server using gSOAP
- will contain code to perform file synchronization
- written in C++
- libifolder (ifolder/trunk/client/src/libifolder)
- cross-platform library that exposes an API for the iFolder Client using GObjects and GLib
- compiles in Linux, Windows, and OS X today!
- written in C
- trayapp (ifolder/trunk/client/src/trayapp)
- platform-specific "trayapp" icon that launches the main iFolder windows
- Linux TrayApp is written in Gtk/Gnome (eggtrayicon) and is building today
- OS X "Status Icon" is written in Cocoa and is building today
- Calvin promised to write an entire Cocoa-based application that calls libifolder
- Windows System Tray icon has not been written yet, but it will also use the main Gtk windows built for the Linux TrayApp.
Stay tuned for the goodness to come!
