Website Updates

A new year, a new look. I’ve was running the same theme on this site for over 5 years and decided it was time for new paint. I know the default Twenty Sixteen theme from WordPress is nothing to look at, but it does feel modern compared to Fusion. I’ve also decided to switch the comment system over to Disqus. I see several large sites using it and I’ve enjoyed it as a end user.

Have fun.

Syncthing for Linux PPC

I spend way too much time trying to get software not officially support on PowerPC computers running. My latest project is Syncthing. Started in 2013 by Jakob Borg, Syncthing is promoted as an “opensource alternative to proprietary decentralized file sharing services” [1]. The biggest competitor is BitTorrent’s Sync application. The premise for both applications is the same. You pick a folder on your computer or mobile device you want to share to device or user. The application generates cryptographic identifiers that are shared and used for securing traffic. With BitTorrent Sync the identifiers are shared when you start the process of sharing a folder. For Syncthing they are shared when connecting devices together. In the end the result of secure end-to-end communication is accomplished by both applications, jus the roads are a little different.

I’ve been using BTSync for the past year as a way to keep a copy of a KeePass file synced between my computers and my Nexus 5. My KeePass file is something I don’t want to keep up on a service like Google Drive since the cloud is outside of my control. LastPass is a great service, but again, passwords are stored in the cloud and I like control.

The developers of Syncthing are doing a great job of updating the product and releasing versions for the major desktop platforms. Third-party developers have also stepped up and adapted Syncthing to run on Android and support for iOS looks to be on the roadmap [2]. One missing platform, however, is Linux on PPC. I know the market share of for PPC systems is microscopic even if you factor in IBM’s Power line of servers, some of Synology’s NAS products, and the Air Force’s PS3 cluster [3]. That is why I’m still surprised that BitTorrent released a Sync client for Linux PPC until April 2015 [4].

Enough back-story, here is how I got Syncthing running.
Continue reading “Syncthing for Linux PPC”

Modern Wireless for PowerPC Macs

Recently I took the opportunity to upgrade my home server from a heavily upgraded 2001 Quicksilver PowerMac G4 to a PowerMac G5. With that I took the opportunity to reinstall OS X 10.5 on the Quicksilver and turn it into web browsing station for when I’m in the basement working on projects. The main limitation I had with this was network connectivity. I could have run a network cable from the 1st floor office through the basement to the work area, like I did for the living room, but thought it was a little overkill. With the basement ceiling have interlocking tiles I also didn’t want to fight with them. The next logical conclusion was wireless, but that had its own challenges. The G4 PowerMacs never officially supported wireless above 802.11b.

Today 802.11b has two major disadvantages compared to every other wireless standard used: it is slow at only 11Mbps theoretical throughput and only the only encryption it supports is WEP. While 11Mbps of bandwidth is enough for simple surfing the WEP security is a big problem. The security protocol can be easily cracked using only a few MB of passively collected data and 5 seconds of compute time. Seriously:

So using an original Apple Airport card was out of the question. I could have created a separate wireless network off my DD-WRT router that used WEP and isolated the traffic from the house, but I felt that was still too much of a security risk. Instead I started looking into PCI or USB wireless cards that still worked with PPC OS X. I was surprised to find that may be multiple products that worked. Turns out Realtek made drivers for many of the RTL81XX series wireless chips going back to OS X 10.4 PPC. So all I had to do was find a wireless adapter with one of those chipsets and I would be set. Searching turned up dozens of results and I chose to go with a Bolse BO-N1557 USB adapter. The unit was small, built on the RLT8192CU chipset, and supported 2.4GHz 802.11n and therefore WPA2 encryption.

$15 and 3 days later I received the adapter and got to installing it. Years ago I had purchased a USB 2.0 PCI card during the CompUSA closeout and was happy to see it was plug & play in the PowerMac. It only made since to plug the USB adapter into the USB card rather than the USB 1.1 ports. Installing the drivers was easy and straightforward with no major issues.

The only challenge with using Bolse card was the configuration. It looked like Apple never allowed third party manufacturers to tie into the wireless features of OS X. That meant the wireless card showed up as a wired network connection to OS X and the Realtek driver utility had to be used to configure connections to wireless networks. The process wasn’t as smooth or hassle free as the built in OS X process, but was doable.

So there you go, if you have an old PPC Mac and you want to add some modern wireless connectivity, check out the dozens of wireless adapters built on the Realtek RTL8192CU chipset.

Fun Fact: Internally the original Apple Airport cards were WaveLan Silver/Gold PC Cards only without the built-in antennas. In fact, you could take a WaveLan card, plug it into the Airport slot of a PowerMac or PowerBook and it would show up just like an original. You couldn’t close the case because the card stuck out too far, but you at least had wireless connectivity. The WaveLan cards were also used in the original Airport base stations before Apple swapped over to Airport cards.

Have fun.

Homemade NAS Box Redux

In 2012 I took my old PowerMac G4, slapped in a SATA card, some hard drives, and turned it into a server for storing media and computer backups. Then in 2013 I upgraded my MacBookPro to OS X 10.9 and lost the ability to do Time Machine backups to AFP shares from OS X 10.5. What to do, what to do? Solution: turn the PowerMac into a true server by running Linux. The results? Totally awesome.

Continue reading “Homemade NAS Box Redux”

Einstein Update

As an active Apple Newton user, I love it when fellow users continue finding ways to improve the platform. This week Matthias Melcher deserves a huge “Great Job” from everyone. Matthias is the current maintainer of Einstein, the Newton Message Pad emulator. This week he released an updated version of the Android version of the emulator that included many improvements that increased the speed considerably.

After using the new release on both my Galaxy Nexus and a Nexus 7 I have to agree with the claims. The emulator is feels like it is running at about 90% the speed of my Newton 2000u. the Screen reaction seems to be a little slower than the real thing but given time can only improve. I could see an Android tablet with Einstein replacing my beloved green machine one day.

There are still some things to fix in Einstein. Sound doesn’t work, there is no way to set data in or out, and the app menu needs to fix for 4.0+ devices. Regardless, I think we are closer to realizing Paul Guyot’s original idea for Einstein.

If you would like to run Einstein on your Android device, please check out My previous post here.

Einstien Update Announcement: [NTLK] New version of Einstein for Android
Einstein Project Page:

Written on Message Pad 2000u

Homemade NAS Box Part 3

Bittorrent Server

DISCLAIMER: Do not use file sharing to download copyrighted material.

Not much to say here. I installed μTorrent so that I would have a way to download media off bittorrent. Transmission was also a great choice for bittorrent client.

UPnP Server

The coolest thing I’ve did with this project was setup a UPnP media server. The concept was simple: music, pictures, and videos are stored on the server and shared over the UPnP network protocol. Devices, such as a PS3, can see the content on the server and play it without having to download and save locally. There are several commercial products available that allows you create a UPnP server including MediaLink, EyeConnect, and Twonky. Being the person who liked to take the hard route sometimes I decided to skip all of those and go straight to MediaTomb, the open source alternative.

  1. Install the XCode Development tools from Apple
  2. Download and install MacPorts
  3. Open a Terminal window and run all of the following commands as either “su” or “sudo”
  4. port selfupdate
  5. port install mediatomb
  6. Wait for MediaTomb and all of its dependencies to finish compiling
  7. Once compiling is complete you can start MediaTomb by running the command “mediatomb” (no su/sudo required)
  8. The output from the command will give you the web address to MediaTomb’s web interface. Using Safari or your browser of choice you can select what content you share with your media devices

For my setup I wanted to stream content to my PS3. To do that there was a change I had to make to MediaTomb’s config file that was located in ~/.mediatomb. All I had to do was uncomment the line that said <protocolInfo extend="yes"/>. I also decided to disable the ability of my PS3 to see every folder on the server. That required changing <pc-directory upnp-hide="no"/> to <pc-directory upnp-hide="yes"/>.

With MediaTomb I could also enable the use of on-the-fly media transcoding. In the event I had a file the PS3 could not play, a rule could be setup in the config file that would automatically convert the media to a more compatible format. Using this feature required a lot of testing to work out settings the PowerMac could handle. Also, because the media files are being transcoded in real time I lost the ability to pause, fast forward, and rewind on the PS3. In the end I decided to take a different approach and setup folder actions to convert only files I wanted.

MediaTomb Transcoding

I mentioned earlier that I had developed an alternative to MediaTomb’s built in transcoding feature for media files that didn’t play on the PS3. I stole the idea from Vuze, another bittorent client, which added its own UPnP server. In the event Vuze downloaded a file that wasn’t compatible with the PS3 it would re-encode the file completely and then share the new version instead of the non-compatible version.

I was able to accomplish almost the same functionality using FFMPEG, folder actions, and MediaTomb’s built-in directory scan feature. If I had a file that did not work then I moved it to a folder called “convert”. Attached to that folder was an Applescript action that would tell FFMPEG to covert the file to a new format and save it in another folder called “compatible”. I then configured MediaTomb to scan the “compatible” folder every hour for new files and make them available to the PS3. For everything to work I had to rebuild FFMPEG to include codecs for aac, mp3, x264, and xvid. Below is the commands for MacPortsid

port deactivate ffmpeg
port install -f ffmpeg +nonfree

Below are the applescripts I wrote for the folder actions. When a file dropped into a folder the action would initiate the script and start processing the file through FFMPEG. Based on testing I had done some video files only needed the audio re-encoded for the PS3. Others required a complete re-encode. I’ll admit the PowerMac didn’t have the power to re-encode at realtime speeds, but I normally let it take care of files during the night or while I was at work.

Re-encoding only audio of a video file example:

on adding folder items to this_folder after receiving these_items
repeat with i in these_items
set {name:Nm} to (info for i)
set Nm to quoted form of Nm as string
set vFolder to quoted form of POSIX path of this_folder as string
set vSource to quoted form of POSIX path of i as string
do shell script "/opt/local/bin/ffmpeg -y -i " & vSource & " -vn -f mp3 -ab 192k -ac 2 -ar 44100 " & vFolder & "converted/" & Nm & ".mp3"
on error
display dialog "There was an error when re-encoding " & Nm
end try
end repeat
end adding folder items to

Re-encoding Audio and video example:

on adding folder items to this_folder after receiving these_items
repeat with i in these_items
set {name:Nm} to (info for i)
set Nm to quoted form of Nm as string
set vFolder to quoted form of POSIX path of this_folder as string
set vSource to quoted form of POSIX path of i as string
do shell script "/opt/local/bin/ffmpeg -y -i " & vSource & " -vcodec libxvid -vb 1000k -acodec libmp3lame -ar 44100 -ab 128k -ac 2 " & vFolder & "converted/" & Nm & ".avi"
on error
display dialog "There was an error when re-encoding " & Nm
end try
end repeat
end adding folder items to

Starting Meidatomb during startup:

  1. Created a plain text file with the command /opt/local/bin/mediatomb -d
  2. Save the file as mediatomb.command
  3. Open a terminal window
  4. Run the command chmod +x _folder_location_/mediatomb.command
  5. Open System Preferences and go to Accounts
  6. Select the account that auto logs in and select Login Items
  7. Add mediatomb.command

With enough time and patience I could create a start lauch daemon to take care of starting MediaTomb up as a service, but I took the lazy man’s approach.

Next time: Other odds and things

Homemade NAS Box Part 2

it may have took more than 6 months but I am finally going to finish documenting my build of the homemade NAS Box. The project so far has turned out well. Right now I have it providing four main functions: Time Machine and Windows 7 backup, Bittorrent server, UPnP media server, and proxy server. In future posts I will provide more details.

OS Configuration

I decided to keep the partition layout in OS X simple. The OS would live on the 320GB hard drive. The 2TB drives would not have any special RAID configuration. Just one partition on each drive. Ideally I would have used 3x 2TB hard drives and configured them into a hardware RAID 5 configuration. That would have gave me 4TB of total storage with redundancy in the event one of the hard drives failed. Sadly the FirmTek SATA controller didn’t support any kind of hardware RAID and OS X didn’t support software RAID 5.

Backup Server

Creating a backup server was the easiest part to setup. On the server all I had to do was open up the Sharing System Preferences and enable AFP/SMB file sharing. Now the drives were available to other systems in my network. To get my Mac and Windows systems to use the network storage for backup required configuration on their end.

Open up a terminal window and enter the following command.
defaults write TMShowUnsupportedNetworkVolumes 1
Using network shares other than an Apple Time Capsule is completely unsupported by Apple. Users previously reported issues when a drive filled up, which caused their entire Time Machine backup to become corrupt. I’m uncertain if the the issues were ever resolved in 10.6 but to test I followed the advice of some and added a disk quota for the backup’s sparse bundle. Right now I’ve yet to hit the limit so I don’t know what to expect when I do.

Windows 7:
Windows Vista/7 came with a built in backup utility that allowed for the use of network shares as a storage location. That is great if it wasn’t for the fact Vista/7 also broke authentication when connecting to Windows shares hosted on OS X 10.5. The problem was remedied by making an edit to the system with “gpedit.msc”. Information was found at the following link: With the authentication issues sorted out it was possible to configure Windows 7 to perform a full backup of the system drive on a regular basis.

Next Post: Media Sharing

Newton Networking On-The-Go

A public service announcement from a fellow Newton nerd

Do you surf the web on a mobile phone?
Do you find that experience too rich and interactive?
Do you wish for a simpler Internet experience while on the go?
What if I told you there was a way? A way to surf the Internet anywhere there is a cellular signal?
And do it from a Newton?

Introducing: WiFi Tether 3.1 Beta 11. Now with WiFi Tether you can turn your mobile phone into a mobile wifi hotspot and allow any wireless device to connect on the go.

How much would you be willing to pay for a product like this? $20? $50? $100? Now for an unlimited time you can have Wifi Tether 3.1 Beta 11 for the low price of $0.00. To prove how easy this product it I’m going to demonstrate on an Apple Newton 2000 MessagePad. Just watch:
Continue reading “Newton Networking On-The-Go”

Homemade NAS Box

So back in 2008 I started on a project to build a media/storage server. The whole thing was for a senior capstone project with lots of research, hours of configuring/testing, and finally presenting. Using Windows Home Server and FreeNAS I showed the pros and cons of each. Unfortunately I lived on campus so setting up a real server was frowned upon. Instead, everything was simulated using Windows Virtual Server running on my now gaming PC.

This year I thought it was time to finally build a physical media server and move all of my music, videos, and old documents off my PCs. The original plan was to build a server using a mini-ITX motherboard with 4 SATA ports, and 3x 2 terabyte hard drives in a RAID 5 configuration, stuffed inside the smallest case possible. The system, in theory, would sit behind my TV and share everything out using FreeNAS.

Unfortunately, those plans have not worked out so now I’m falling back on an alternative. Why not take an old computer I already have and turn it into the storage I want?
Continue reading “Homemade NAS Box”

IM Chatting with a Newton

About two years ago I wrote a wiki article detailing how to setup a Newton to use Jabber as an instant messaging client for Yahoo, MSN, AIM, etc… Unfortunately that wiki no longer exists and the Internet Archive never backed up the pages. So I pulled out the old document I typed up and have reposted it here. I hope somebody finds it useful.

Continue reading “IM Chatting with a Newton”