Mac OS X Iodine DNS Tunnel using Namecheap DNS

Iodine is a software that let’s you tunnel IPv4 data through a DNS server. If you’re wondering why on earth you’d ever need such a thing, read here. You basically need a client (in my case an Apple MacBook Air) and a Linux server (see here for some super cheap low end Linux VPS boxes) to start off. Please see one of the tutorials on how to setup the Iodine daemon (iodined) on the Linux server. In this post I’m focusing on the client setup for OS X.

Iodine can be easily compiled using Xcode but I’m providing the binaries in this site’s download area for your convenience. You also need to install a tunnel device on the OS X client. Check out the TunTap virtual interface device kernel extension. Read more »

Use a VPN to selectively cloak your IP address to access Pandora, Netflix, and the like

There are certain situations on the internet when you need to pretend to be someone you’re not. For instance, if you want to listen to Pandora. If Pandora detects that your IP address is not originating from the U.S., you will politely be told that licensing agreements prevent them from making their internet radio station available to you. Same with Netflix, Google voice, Hulu, parts of Youtube, just to name a few. To access these services from outside the U.S. all you need is a U.S. based VPN. The easiest way to get a U.S. based IP address is to subscribe to a U.S. based VPN service (like HideMyAss‘ Pro VPN) and route all your computer’s network traffic through a VPN tunnel as long as you need it. This wasn’t flexible enough for me. I wanted to go the extra mile and build my own VPN service, and set up a centralized network routing on my DSL router (a Fritz!Box 7390). That way, all traffic from my internal home network (be it from an Apple TV, iPhone, iPad, a Mac, or even a Windows PC) that I want to originate from an foreign IP address will automatically use the VPN, and all other traffic will use my usual WAN IP address from my DSL service provider. Read more »

Show routing table in Mac OS X

Here’s a quick one. The route command won’t show you the full routing table in Mac OS X. You have to use the netstat command:

netstat -rn

This will print the numeric view. If you prefer host names, omit the n parameter:

netstat -r

How to read WebLogic 10.3 transaction logs (TLOG)

When analyzing distributed XA transaction problems it can prove useful to have a look at Oracle WebLogic’s internal transaction backup log file (TLOG). Since that file is all binary, it needs to be converted into a more human readable format first. In WebLogic 10.3, the TLOG file can be converted to text using this class:

weblogic.transaction.internal.StoreTransactionLoggerImpl

The class needs the transaction library from the modules directory and weblogic.jar in the classpath. Read more »

No Genius in iTunes Match on iPhone/iPad

I’ve been a paying subscriber of iTunes Match since it was first available in an iTunes developer beta in late August. As you’d expect it was pretty buggy in the early stages but improved somewhat over time. The official release of iTunes Match this month still seems premature to me. While it achieves the task of storing my music library in the Cloud for playback on iOS devices just fine, things look a bit different when it comes to other features that come with iTunes.

No Genius in iOS 5

The Genius feature, introduced in iTunes 8, automatically generates a playlist of songs from the user’s library which are similar to the selected song. I’m using this feature a lot because my library is quite extensive and Genius surprises me every now and then with a song that I didn’t know I even had. However, if you enable iTunes Match on iPhone or iPad, the Genius feature will not be available anymore. Yep, Genius has left the building. Also missing are the dynamically created, genre-based Genius Mixes playlists.

Smart playlists not working

On my iOS devices, the names of the smart playlists are being synced. However, they contain either no or all songs in my entire library. They’re completely useless on my iPhone/iPad at the moment.

No higher quality conversion

I own a lot of lower bitrate (lower than 256 kpbs) 1980′s/1990′s stuff where iTunes Match was able to match the song in iCloud’s iTunes music database. Unfortunately, iTunes doesn’t offer me to to download the higher quality version from the iTunes Store to replace the local version for any of them. The only songs available for download in a higher quality are a handful of CD-ripped Neil Zaza instrumental guitar tracks for which iTunes Match was unable to detect the exact bitrate (most likely because Neil just shreds too hard). In fact, the version iTunes offers in these cases are of lower quality than the tracks existing in my local library. Obviously, I’m not gonna replace those.

With the absence of Genius and my carefully crafted smart playlists, listening to my music library is a lot less fun on my iPhone/iPad. I’d expect Apple to extend the subscription period for free until these bugs have been fixed but I know that might be wishful thinking.

Adobe Digital Enterprise Platform (ADEP 10) installation woes

If you’re trying to setup Adobe’s Digital Enterprise Platform (ADEP 10) and the ADEP configuration manager reports any of the following errors while bootstrapping, then I might have the solution for you.

com.adobe.pof.schema.ObjectTypeNotFoundException: Object Type: dsc.sc_property_editor not found

com.adobe.pof.schema.ObjectTypeNotFoundException: Object Type: dsc.sc_service_configuration not found

It took me days of experimenting until I figured this out by sheer luck. If you select UDP based cluster caching in the configuration manager, the document service component will use the specified UDP port while bootstrapping the core configuration. If another cluster is communicating over the same multicast port, bootstrapping the core component will fail with obscure error messages.

The official documentation says:

Note: The value for <port number> can be any available port between 1025 and 65535. The multicast port must be unique to the Document Services cluster (that is, the port must not be used by any other cluster on the same network, any attempt to use the same port by any other cluster on the same network would result in bootstrap failure). It is recommended that you configure the same <port number>
on all nodes in the Document Services cluster, as in this example: -Dadobe.cache.multicast-port=33456

I missed this section (as real programmers don’t read manuals :) and assumed that it is okay to use the same UDP cluster cache port number for different clusters in the same network. Obviously that’s not the case. I’m now using different port numbers for every ADEP cluster and haven’t seen a bootstrapping problem ever since.

If the configuration manager reports this error (Oracle WebLogic only):

weblogic.management.NoAccessRuntimeException: Access not allowed for subject: principals=[], on Resource AdobeService
Operation: set , Target: EnableSSL

Try to hit the initialize button again. I was able to get rid of the error this way. A more proper way would be to adjust the JMX security policies in WebLogic’s security realm configuration in the JMX Policy Editor. The affected properties are “Attributes: Permission to Write” and “Unregister instances of this
MBean using MBean server”, both need to have its role set to Anonymous. The exact steps are detailed in the ADEP installation instructions using WebLogic (see “Creating JMX policies for database initialization”). Make sure you remove those properties after the installation went through. Looks like a security hole to me if you leave them in.

MMITunes v3.0 brings you genre-based playlists

Just in case you’re one of the few users of MMITunes: I added a new feature to auto-create genre-based playlists in MMITunes v3.0. If you select create playlists for genres MMITunes will generate .m3u playlists for every genre it finds in the tracks on the selected volume (which ideally is an SD-card or similar).

If you find playlists with weird names like (79).m3u you will have to convert the ID3-tags of that particular track to a newer version. You’ll find the names of the tracks which may require attention in the MMITunes output window. To convert the ID3-tags simply open iTunes, right-click the track, select Convert ID3 tags and apply ID3 v2.4. An easier way is to convert all your tracks at once instead of selecting single tracks. Don’t forget to re-export the tracks you modified to your destination volume.

The names of the three default playlists MMITunes creates have changed slightly as well. MMITunes v3.0 is available in the downloads area.

Windows 7: Setup was unable to create a new system partition

Gosh, Windows 7 was giving me a really hard time when I tried to install it on a OCZ RevoDrive 3 PCI-Express SSD drive. Every installation attempt was greeted with this error message:

“Setup was unable to create a new system partition or locate an existing system partition”

Strangely, the drive was working perfectly as a non-boot drive under an existing Windows 7 installation and also visible as a SCSI drive in the BIOS drive list. Here are the steps which finally worked for me:

  1. Extract the RevoDrive 3 drivers on a FAT32-formatted USB flash drive
  2. Disconnect any disk drives (except the DVD drive) by unplugging the SATA cables
  3. Disconnect any USB devices (except for keyboard and mouse obviously)
  4. Boot Windows using the Windows 7 installation DVD
  5. When prompted for the target installation drive, choose “Load driver” (your list of available drives should be empty)
  6. Plug in the USB flash drive containing the drivers (don’t plug it in earlier!)
  7. Let Windows 7 load the driver from the flash drive
  8. Unplug the USB flash drive
  9. Choose the RevoDrive 3 as the installation drive and continue the Windows 7 installation
  10. Once Windows 7 is installed, reconnect all your SATA and USB devices

This PCIe SSD is ridiculously fast! Being a Mac person this drive even makes me like Windows a tiny bit more ;-) Unfortunately, there are no drivers available for OS X Lion and according to OCZ there never will be. This super fast SSD would be such a wonderful addition to any Mac Pro or Hackintosh setup.

USB Bluetooth dongle for your OS X 10.7 Lion Hackintosh

Want to use Bluetooth on your OS X 10.7 Lion Hackintosh? I went through several super-low-cost USB Bluetooth dongles until I found one that still works after waking the Hack from sleep, which seems to be a common problem for some Bluetooth dongles. I’m only using Bluetooth for my Magic Trackpad though but so far, this dongle works a treat. I got mine from eBay for $1.88 including free shipping (no kiddin’!) from this seller. The item is shipping from China, delivery may take 2 weeks. Read more »

RTMPDump 2.4 binaries for OS X 10.7 Lion

I just got word from a commenter that RTMPDump 2.4 is out (thanks!). Since the release of Xcode 4 I have been unable to compile the RTMPDump binaries using the supplied Makefile. Actually, the binaries are all there but I always get a signal fault when the rtmpdump binary tries to establish a connection to a target server. I had to resort to plan B which was to import the RTMPDump sources into Xcode and to create a proper console application project. Read more »

Lowering Radeon 6870 fan noise in OS X Lion

While in Windows 7 the Radeon 6870′s GPU fan is almost inaudible under idle conditions, the fan is clearly audible in OS X Lion. In OS X the GPU fan is permanently changing its speed which creates quite some bothersome noise. If you can’t live with that noise, here’s a tip for the not-so-faint-of-heart about how to modify the fan control curve of your Radeon graphics card. This involves flashing your graphics card’s BIOS using an optimized temperature/fan-speed map. Ain’t that cool? :-) Read more »

Best graphics card for an OS X 10.7 Lion Hackintosh

If you’re about to build a new OS X 10.7 Hackintosh or to replace the graphics card in your current Hackintosh rig, you may want to consider the AMD Radeon HD 6870. Power-wise it’s a mid-range graphics card which comes with an affordable price tag. The big advantage of the Radeon 6870 is that it fully supports Quartz Extreme and Core Image (QE/CI) in OS X Lion out of the box, no additional kernel extension like ATY_y.kext needed. All you have to do is to set graphics enabler to YES in Chameleon’s com.apple.Boot.plist. If you don’t need a high-performance gamer graphics card, this is the one to go for!

AMD Radeon HD 6870 Series:
  Chipset Model:	AMD Radeon HD 6870 Series
  Type:	GPU
  Bus:	PCIe
  PCIe Lane Width:	x16
  VRAM (Total):	1024 MB
  Vendor:	ATI (0x1002)
  Device ID:	0x6738
  Revision ID:	0x0000

Does Google manipulate CPC (cost-per-click) in Google AdWords?

I’m currently running an AdWords campaign for my new project wheniskeynote.com. Since that web site is strictly non-commercial and won’t ever generate any revenues I have to bear the costs for the ad myself. It’s more like a test to learn how Google AdWords works and how it could be useful to me in future projects.

The CPC (cost-per-click) for the keywords I use (permutations of something like “next apple keynote”) is around 50 cents, which is pretty high considering that my ad is the only ad ever showing up in searches (I’m not using the content network btw.) using these keywords. Google’s answer to this particular situation is rather cryptic and not really comprehensible for an AdWords client. Fortunately, the CPC for my campaign is still far off from keywords like “auto insurance price quotes”, “consolidate graduate student loans” which sell for a whopping $50 per click on average!

Interestingly, one of my keyword combinations which was already running successfully for a few days suddenly showed a 20% CPC increase. My ad wasn’t even shown in searches anymore for that combination because the CPC now was higher than my maximum default bid. The reason why I suspect a CPC manipulation is that there’s no other bidder for this combination. If I increase the CPC to the requested bid level, my ad is showing up again but still the only one showing up. Needless to say that I won’t be bullied into bidding for artificially increased CPC. Someone at Google should redesign this revenue-generating algorithm in a way that isn’t THAT obvious :-)

About OS X Lion NAS Time Machine compatibility, Netatalk & GPL violations

While many NAS-vendors like QNAP updated their products to ensure compatibility with AFP-shares in OS X Lion 10.7, things look different when it comes to Time Machine support. Most NAS-vendors still use an older version of Netatalk which supports AFP-shares in Lion (at least when using the DHX2 authentication module) but not the new Time Machine features introduced in AFP 3.3 like “Replay Cache”.

In order to ensure compatibility with OS X Lion’s Time Machine, NAS-vendors will have to use the latest Netatalk v2.2. Users trying to connect to a NAS-based Time Machine volume using an older Netatalk version are greeted with this error message:

The network backup disk does not support the required AFP features

Now, here’s the catch: the current Netatalk maintainer NetAFP.com decided to make this important release closed source, only releasing it to customers who are paying for commercial support (looks like you’re lucky if you own a Netgear or Drobo NAS!). With this move the maintainer deliberately grossly violates the GPL license which Netatalk is based upon in order to blackmail NAS-vendors into paying for commercial support. Make sure to check out Matthew Keller’s insightful response to NetAFP’s new closed source strategy. While both sides have their points I agree with Matthew that violating the GPL in order to earn money doesn’t sound like a solid business model.

Since NAS-vendors who advertise Time Machine compatibility in their products are in a locked-in situation, they only have two choices:

  1. Fork the last available Netatalk version and continue the development on their own (or better: form an alliance between NAS-vendors to advance development of Netatalk)
  2. Pay the current maintainer for commercial support and in turn get access to GPL-based software

I just hope things get sorted out quickly so we can all continue to use Time Machine backups using our Linux-based NAS’ with OS X Lion.

ASUS P6T Hackintosh & i7 970 6-core Gulftown CPU

Today, I updated the i7 920 Nehalem quad core processor in my ASUS P6T based Hackintosh to an even more spiffy 970 6-core Gulftown CPU.  Since the i7 970 was retired and discontinued (EOL) recently, prices for the leftover stock have fallen sharply so I decided to get a new one as long as they’re still available. If you own an ASUS P6T make sure you use at least Bios rev. 1303 or the mainboard won’t recognize the 970.

Upon booting OS X I noticed that P-state P0 a.k.a “Turbo Mode” wasn’t working anymore with the new hexacore CPU on the mainboard. In order to get Turbo Mode back, I needed to edit Chameleon’s com.apple.Boot.plist. Here’s what I added:

	<key>GeneratePStates</key>
	<string>Yes</string>
	<key>GenerateCStates</key>
	<string>Yes</string>

With these settings Chameleon automatically takes care of the C-states and P-states for the CPU. Very cool, that saved me a lot of time messing around with the DSDT! You need at least a recent Chameleon version like RC5 though, the last official release from 2009 won’t support those properties.

Here’s the Geekbench score of the updated rig:

 

Next Page »