Last Tuesday I was pleasantly surprised to find XRG featured as the MacOS X Hints Pick of the Week. Robg had a lot of good things to say about the app. Getting reviews like this is what makes all the development time I’ve put into XRG worth it. The amazing thing is how much traffic I have gotten in the past few days just from their site alone. Their site has generated almost 3,000 visits (over 40,000 hits) since Tuesday morning, more than twice as many visits than any other Mac news site that XRG has been featured on, including this article on MacSlash. It’s a good thing I’m not paying any hosting fees for my bandwidth. 🙂
Year: 2004 (Page 4 of 5)
Philippe Martin released an initial version of his haxie called DesktopSweeper a couple of days ago. DesktopSweeper allows you to toggle whether or not your desktop icons are displayed. To me, this is very useful since I don’t like having a lot of clutter on my desktop, but I still want to have shortcuts there to my most often used locations on the file system. The key combination used to toggle whether or not the icons are shown is configurable, but is set to command-enter by default. Hit that key combo once, and it hides all your icons, leaving a nice clean desktop. Hit it again, and all your icons show up again right where you left them. Response time is fast, and you don’t have to be in the Finder to use the key combination.
This is the most useful utility I’ve seen since I discovered LaunchBar 6 months ago. I also want to mention that I’ve had the pleasure of knowing Philippe for quite awhile now. He has given me a lot of input and ideas for XRG since the early days, and he does a great job of picking out small interface bugs and pointing out how things on XRG’s interface should work. Anyway, if you have a Mac, check out DesktopSweeper.
For awhile now, people have been requesting that I put something in XRG’s interface to allow them to turn off the UI Elements, such as having the XRG icon shown in the dock. There has always been kind of a hack to do this, by adding the following text to the app Contents/Info.plist file:
<key>NSUIElement</key> <true/>
This is fine, but in Panther it got a little bit more difficult. Panther now caches these Info.plist files. This is great…the more caching the better, especially for things like Info.plist files that don’t change often. The bad thing is that the cache doesn’t check the last modified date of the plist file. Instead, it checks if the modification date for the .app directory has been changed. I’m not sure why they would do this, as it seems to me that checking the plist file modification date would be just as easy, and that way they know they have a copy of the latest file.
Some people have remarked here that if you move the application to a different directory and back, that the cache gets updated and all is well. This is fine, if a user is changing this value by hand and using the Finder to do it, but it leaves a little to be desired if you are trying to change this value programmatically. I thought of just moving the .app to “X Resource Graph 1.app” and then back real quick, but that doesn’t seem like a nice way of doing things. So that got me thinking, and I found a much easier way to do it using the simple Unix executable, “touch”. I was very pleased to find that making the change manually and touching the application worked just fine. Since it’s very easy to run a quick system command from code, this shouldn’t be a problem at all, so it should be in the next version of XRG.
Anyway, so if anyone is trying to do this same thing from code, hopefully this will help. Now all I need to do is find a way for the change to take effect without having to restart the app. Maybe some kind of hack on the Dock like the one other coders use to add rogue menu extras.
I came across this application called teleport for MacOS X. Basically, it works as a software KVM switch between two computers. You configure one Mac as the server, and the other as the client, and when you move your mouse to an edge of a screen on one computer, it will appear on the other computer and send all keyboard events there as well. Kind of like having multiple monitors, except with multiple computers as well. I never would of thought of doing something like this in software. This type of application has a ton of potential. I hope the developer keeps on it, as right now the released version is “Public Preview 1.”
As a lot of you probably noticed, XRG 0.5.0 was released this morning. Version 0.5.0 includes many new features and bug fixes. Some of the new features include contextual menus for each of the graph modules (mentioned in an earlier post), the option to change the graph font, a new highlight border feature to help with window resizing, a graph minimizing feature that will minimize the graph into the title bar and optionally expand the graph whenever the mouse is over the title bar, and the option to set the graph window level to stay in the background.
Anyway, if you have any comments on the release, feel free to leave them in the writeback.
Brent Simmons, the author of NetNewsWire has set up a Yahoo Groups mailing list for people interested in setting up their own Mac software company. Since I’m very interested in starting my own shareware company, I signed up for the list. Hopefully the list will generate a strong community of smaller software developers.
Along the same lines, Slashdot posted an article today on the same topic, but not specific to the Mac platform.
Bob Snow, a contributing editor for O’Grady’s Powerpage, posted a short article on a Digital Entertainment Hub that he thinks Apple should release.
I’ve been interested in setting up something like this for a long time. There are plenty of custom made PC’s that are built into cases that would work well in an entertainment center, but nothing that has struck me as revolutionary, and I haven’t seen much at all for the Mac. This is somewhat surprising to me because the Macintosh is a perfect platform for an AV hub, especially now that Apple has finally started including digital surround audio output with an optical connector on the back of the G5’s.
I’m going to focus on a subset of the list that Bob gave for a digital entertainment hub. Namely:
- DVD player / recorder
- CD player / recorder
- MP3 player / compressor
- decoder for surround formats
- TV tuner
- picture viewer / Internet radio player
The rest of his list are really things that I either think are out of scope for a device like this (such as router functionality, go buy a router at BestBuy for $50), or something that isn’t really all that important to me (such as a gaming device).
Now all of these things are easily available for the Mac platform right now. All current Macs can play DVD’s, CDs, MP3/AAC music, record CDs, and convert audio to MP3/AAC formats. A lot of Macs also include the capability of burning DVD’s as well, knocking another item off the list, and the G5’s include surround sound output, as I mentioned above. Apple has addressed many of these features through the iLife apps and other technologies…making and playing movies (iMovie, iDVD, Quicktime), making and playing music (iTunes, GarageBand), and viewing photos (iPhoto).
So what’s really missing is a TV tuner (preferably with Tivo-like functionality so we can time-shift shows we would like to watch). Luckily, Elgato released an updated EyeTV 200 earlier this year. This model is much better than the original in my opinion. It connects to your computer over a Firewire connection, which makes a lot more sense to me than using USB. Also, the EyeTV 200 records full-resolution video. The previous version was stuck with half resolution because the USB interface couldn’t handle as much bandwidth. All this, for about $350 sounds like a great deal to me.
Now for the hard part, integration. Integration is the single thing that all of the so-called “Digital Entertainment Hubs” are missing. It is also the hardest part of building a system like this. In my eyes, there are two possible scenarios that would solve the integration problem.
The first is using a separate hardware system that will interface with your Mac to provide all of this functionality in a nice interface on your TV. The advantage of this is that you don’t need to have your computer sitting right next to your entertainment system. As long as you have a fast connection between your Mac and the hardware to interface with your entertainment system, you should be set. Elgato has come out with such a product that addresses a lot of the functionality that is listed above. It’s called the EyeHome, and it acts as an interface between a Mac and your entertainment center for TV shows recorded with an EyeTV, Movies (including MPEG 1, MPEG 2, MPEG 4, and DivX), Music from your iTunes library, Internet radio, and Photos from your iPhoto albums. It seems like a nice and easy way to go, for around $250.
The second integration option I can see is coding some software to do all of this integration right on the Mac. This is definitely not an easy task, but it would provide for all of the functionality of the EyeHome, and also include the ability to burn DVDs and CDs right from your living room. It would also allow you to have more Internet functionality like IMing and email (EyeHome only allows you to browse websites that you have bookmarked in Safari). The main drawback here is finding a good interface to use. In the case of the EyeHome, a remote control is included and it uses your TV as a monitor. Using a TV as a monitor on a Mac is also pretty easy with S-Video connectors being common on video cards, but a keyboard and mouse would probably be required for full functionality…and where would you put that in your living room? Of course with Bluetooth, you could have a wireless keyboard and mouse, which would make things a little better. Overall, though, this type of setup leaves room for a lot of improvement.
So what’s the best way to do it? In my opinion, the EyeHome is the way to go. It keeps things easy, and if I ever do want more functionality, I can just bring my Powerbook to the living room. Also, the EyeHome gives me the option to have multiple systems in different rooms of the house and having all of my music and movies accessible in each location.
Some time in the future, I may talk more about storage options and network architecture for a system like this. It would definitely be necessary to have a ton of storage if you wanted to keep all of your DVD’s online. 🙂
At work, I noticed one of our client’s mail server relaying SPAM. This was pretty odd as I just upgraded their system to the latest version of Postfix two weeks ago. I poked around a bit to find out how the mail was being relayed, and it ended up that Apache, which was running on the same box, was acting as a mail proxy. Here’s one of the lines that was showing up in the server logs:
xx.xx.xx.xx - - [26/Jan/2004:14:54:31 -0700] "POST http://xx.xx.xx.xx:25/ HTTP/1.1" 200 989 "-" "-"
It seems that when mod_proxy is configured on an Apache server, it can be used to proxy connections to any IP address and on any port that the user specifies in a POST request. In our case, someone was POSTing to the web server to open a connection to the same server on port 25 to send out SPAM. Since the connection was through the proxy, the mail server saw the connection as coming from localhost, and of course allowed the mail to be sent.
Anyway, I’ve never seen this happen before, and it seems like a lot of work to through just for a spammer to gain a single mail relay. If you ever notice this on a server that you administrate, the solution we used was to install mod_security and block all requests that contain the text “:25/”.
I was looking around today for an ssh client for my Palm Tungsten T, and I came across a very nifty client called TuSSH. So far, it’s been excellent as an ssh client. It’s very easy to use, offers a high resolution display that fits almost a full 80 characters across a single line of text, and has quick connect/disconnect times. About the only feature that I think would make it much better is being able to save connection information for several machines. At the moment, it only saves the last machine and login name you used to connect. Requiring the user to re-write their password makes a lot of sense, of course.
My wife, Katrina, bought me my Tungsten T for my birthday last year and it has become an indispensable tool that I use daily. This Christmas, I finally got a Bluetooth adapter for my Powerbook, so I could use some connection sharing scripts to get my Tungsten online. I still have yet to find a good IMAP mail client with SSL support (the latest version of VersaMail doesn’t support the Tungsten T), so if you know of any, post them in the writeback.
Well, I decided it was time to add a little more color to my blog. I’ll probably be making some more smaller adjustments as time goes on, but I think this will be a good start for now. Anyway, hope you like it. We now return you to our normally scheduled programming…