Quick File Sharing for Linux and Mac OS X

This is a great little trick to quickly make a directory of files accessible to anyone. You can do it in any OS that has Python installed, which most Linux distros and Mac OS X do. Windows does not have python installed by default, but the same thing should work from there if python is installed.

First, open the terminal and navigate to the directory you want to share. While in that directory type the following command:

python -c "import SimpleHTTPServer;SimpleHTTPServer.test()"

This will start a web server on port 8000. This is a very simple and quick way to share a file over the network. Just send a link to the IP address of the machine.

If you are behind a NAT router or firewall, port 8000 needs to be forwarded or opened, but if you are on the same network all you need to do is send them a link to http://<your_ip_address>:8000 and they can easily browse the directory you ran the command from and download any file there. When you’re finished, go back to the terminal and use Ctrl+C to end the process.

Accessing Mac OS X Leopard Grayed-out Preference Panes

UPDATE: This also works on Snow Leopard if you are having the same problem accsessing any preference panes.

I have a work-issued MacBook Pro with Leopard, specifically Mac OS X 10.5.8, installed. It is a test image that was installed to test ideas about ways to administer systems for users without Administrative rights. At the end of the test, my access was changed to grant my user administrative rights on the laptop, but it still has many problems. I am waiting for the new Snow Leopard image to be completed to have my laptop reimaged. In the mean time, I have been struggling with a few issues.

The system blocks access to certain preference panes in System Preferences. This was probably an oversight or the leftovers of some experiment, because it does not block access to some of the more sensitive preferences. I can add new users to the laptop and do all sorts of things that I should probably not do on the network. The preferences I could not access were not too important for me to change, like Growl, for instance. Then I tried to use Apple’s Magic Mouse. When I installed the system update that enables its advanced features, I could not access the new Mouse preference pane. When I hover over it, the tooltip says “Your access to this preference has been restricted.” If you try to open the pane directly the error says “You cannot open “[name of preference pane]” preferences pane because it is not available to you at this time. You might need to connect a device to your computer to see this preferences pane.” It looks like this:

Here’s how you do it:

  1. Open the Applications folder and find the System Preferences.app file.
  2. Right click or Command-click System Preferences.app and choose Create Duplicate.
  3. Right click or Command-click the new System Preferences copy.app and choose Show Package Contents.
  4. Navigate to Contents > Resources and find the NSPrefPaneGroups.xml file.
  5. Move NSPrefPaneGroups.xml to the Trash.
  6. Make sure System Preferences is not running and double click System Preferences copy.app to run it. All the preference panes appear to be gone!
  7. In the System Preferences application click the View menu at the top of the screen. All the preference panes are now accessible from the View menu.
  8. When you have changed the preferences you need to change, close System Preferences.

Any time you need to access the disabled system preferences, just use System Preferences copy.app, otherwise you can still use the original System Preferences.app for changing system preferences normally.

EtherPad is Dead: Long Live EtherPad!

I announced that EtherPad was dead, case but it looks like the public outcry was heard loud and clear and now a new transition plan has been announced in which EtherPad will be released as Open Source software! New free public pads can be created again effective immediately, nurse which was the biggest short-term complaint many people had with the move to close EtherPad. Now that the project will be released to the public, this is even better than if EtherPad had remained an independent entity.

Thanks Google for killing EtherPad

UPDATE: EtherPad will be released as open source software!

I love EtherPad. It’s a collaborative text pad that lets you see what others write in realtime, character by character, and automatically highlights text in a different color based on who typed it. One of the best things about EtherPad was that a free public pad could be created instantly without logging in. Other users could be invited to collaborate with only a link to the pad. Now that has all gone away. When I tried to create a new pad today I got the following message:

Creation of new free pads is permanently disabled as part of EtherPad’s acquisition by Google.

Google Wave is an interesting experiment, but it’s nowhere even close to being a replacement for EtherPad. It doesn’t even highlight text automatically! My hope is that these guys will get put on the Google Docs team to add realtime collaboration there. Having to wait 15-30 seconds for page updates makes the tool practically useless for simultaneous editing.

Read about the EtherPad acquisition by Google and see how many people are disappointed.

YNAB 3 on the Verge of Release

I started using YNAB—You Need A Budget—for a couple of years now. It’s software that implements for basic rules about how to handle budgeting. It’s much simpler than Quicken and it provides some functions that Quicken never will. Quicken is good at showing you where your money went, while YNAB will show you where your money will go.

One of the biggest helps with YNAB is the shift in thinking about where the money comes from for spending. The first rule of YNAB is to build a buffer of one month’s worth of expenses, then only spend money that you earned the previous month. While you spend last months income you accumulate the buffer for next month. You always know how much money you have to spend because you already made it last month.


YNAB 3 is going to be amazing!

100% Free Digital Converter Boxes at Amazon

I just bought two Zinwell ZAT-970A Digital to Analog TV Converter Boxes at Amazon.com and I didn’t have to pay shipping or tax! They didn’t even ask for a credit card. I used my two TV Converter Box coupons for $40 each off the purchase of qualifying boxes. Since the price of the box on Amazon is exactly $40 and it qualifies for free shipping and no tax for Arizona residents the grand total was $0.00.

Now all I have to do is wait, and when they finally get here that old TV I’ve had since I was a kid will work like a charm! These are great to have on hand in case of an emergency if all you can find is an analog TV and you need to get TV reception.

Consumer Reports has excellent Digital to Analog TV Converter Box ratings.

Ghostbusters MAME Arcade Cabinet Complete

The t-molding came in on Friday and I had some time on Saturday, so I installed the t-molding and finished up the project. I took some pictures of the control panel on the finished arcade.

I don’t have a router, but a coworker’s father was in town with all of his tools and he finally give me the means to finish the project. When I tried to install the t-molding at first there were some areas that weren’t deep enough. I used my dremel to make the slot deeper all the way around. I wouldn’t have been able to do that with the dremel alone, but since there was already a slot it helped. I have a depth guide that I attached to the dremel to make it work. I didn’t even need any glue! I just put the t-molding around the outside. Using a towel as a cushion I tapped the molding in place. The hardest part was cutting the v-shaped notches in the “t” part of the molding so it would go around the corners. Since this t-molding also had a lip I had to cut that, too. The lip was necessary to keep the vinyl down around the edges. For some reason the adhesive didn’t work very well around the edges and it wanted to come up.

I attached the top piece with the controls to the bottom piece with two hinges on the front side and a catch on the other so I can flip it up from the back to work on the wiring underneath. You can see the control panel wiring in the Unfinished section of the gallery page.

The Arcade cabinet came with a control panel, but it only allowed 2 buttons per player and the joysticks weren’t very good. The new configuration is also somewhat narrower so the machine can now fit through most doorways without taking off the control panel and the box it is on. Now that it’s done I’ve got exactly what I had envisioned!

Now, to work on that Donkey Kong high score…

Arcade Control Panel

LinkedIn Updates

I have been working on getting my LinkedIn profile up to date so I can feel comfortable inviting more people to link to me. I have included new functionality to have relevant blog posts included on my LinkedIn profile. I was struggling with how to enter my freelance web design and Linux consulting while I was a student, troche but I think I came up with a solution, so the gaps in my employment history are gone. Excellent!

Backporting D2K Driver from Misfit MAME to AdvanceMAME

I have an arcade cabinet that runs AdvanceMAME 0.106. My arcade cabinet has an arcade monitor in it and AdvanceMAME is the only software I have found that can recreate the arcade games with pixel-perfect accuracy on my monitor. Unfortunately, AdvanceMAME is no longer in active development, although there was a recent bugfix release.

I am trying to use the source from Misfit MAME 0.127e which supports Donkey Kong II: Jumpan Returns (or d2k for short) but the changes in MAME are somewhat drastic and I’m having trouble coming up with the appropriate code to make the new dkong.c work in the old MAME environment. I will keep trying, though, because it would be amazing to get it running on my arcade cab until I can afford a real Donkey Kong machine to run D2K on.

Who knows, maybe once I understand the code a little bit better, I might be able to make some real contributions to MAME or possibly fix some buggy drivers in AdvanceMAME 0.106.

Relation Browser and the UN

I am looking for a good way to be able to map multiple IT governance and compliance frameworks (like COBIT, SOX, TOGAF, ISO 20000, etc.) to one another and be able to interactively browse through them. A week ago I came across Moritz Stefaner and his Relation Browser indirectly through an article called A Cosmological Approach to IT Governance about how the UN put together some software called 6 Degrees to do something similar. Mr. Stefaner responded to my email within a few hours while the author of the article working at the UN hasn’t responded yet.

The only real problem is that the software is written using Flash and Actionscript. I know nothing about either so I’m working from the ground floor trying to get a grasp on what’s going on. Both Relation Browser and 6 Degrees are reportedly open source, but I can’t find 6 Degrees anywhere and the source for Relation Browser is not directly linked to anywhere that I could find (I had to ask Mr. Stefaner for the link).

Moritz Stefaner is a master of visual representation of data using newer technologies. I hold him in high regard and consult his work for inspiration much as I do Edward Tufte and his work.