Category Archives: Technology

Nerd Rage: Apple’s Antics (again, REALLY!?!)

Apple has decided they don’t care about the Server/Enterprise market whatsoever. They have decided to drop their XServe (rackmount) configuration for Mac Mini and Mac Pro configurations.

They use Sun hardware and operating systems for their new data center instead of “eating your own dog food” XServe and Mac OS Server (so that their line can be improved for their customers).

I’ve just decided to set up permanently Boot Camp on my MacBook Pro for Windows 7 as my primary OS and using MacOS when I decide there’s an app I want to use that’s MacOS only. I’ll deal with the lack of “Teh Snappy” for an operating system that is supported in the Enterprise.

This is really a shame because I love Mac Notebook hardware (and I love MacOS and what it could be if it were more focused), but to be perfectly honest Windows 7 does, indeed rock as a desktop OS (even with all it’s legacy cruft).

Development in Windows is a much easier and streamlined as well (although XCode 4 looks like it’s just as easy and streamlined. It’s unattainable without a developer subscription).

Phooey 😛

MacBook Pro: 30 days later

Summary

After 30 days of use with my first Macintosh Laptop, I’ll convey my feelings and thoughts. In my “First Week” post I posted my initial thoughts on this baseline and bottom of the MacBook Pro line laptop.

Now it’s important to know that I’m not a first time Mac user, for I’ve owned a few G4 class PowerMacs in the past. I know that the biggest hurdle for a new Mac user is the use of the Command Key as a modifier key instead of the Control Key (assuming that the new user even knows about Control-* shortcuts), however after daily use it’s pretty much seamless as I use Linux, Windows and MacOS pretty consistently and equally the use of Command or Control is pretty automatic as I unconsciously know which OS I’m in. Both modifier keys are very awesome for different reasons, and neither one is better than the other.

“Teh Snappy”

(“Teh Snappy” is internet lingo for UI performance) As for drivers (mainly 3d drivers) and pure processing power, my Quad Core Windows 7 box is a much more powerful crunchy box (I have it converting Video files to MP4 for the last three weeks or so), but Windows 7 on the whole is just not as snappy of an OS… everything seems to have a Delay. Third party software still seems to take forever to load. Mac applications (with the exception of Adobe products and Steam) seem to load very quickly–especially for a lower class machine with half the memory (and laptop grade hardware).

Windows has more software choices available (especially Free software), however the Mac’s software quality (on the whole) seems much more robust and polished.

The Audio Unit/Core Audio interface for Garage Band instruments and inputs is hands down much better than anything Windows has built in. WDM just plain sucks as an interface to my MIDI & Audio Hardware in Cakewalk’s SONAR. I’ve never been able to get it to work right and I’ve always had to use SONAR in VST mode which required more memory to use (and was still buggy in some instances). Everything just worked awesomely on my Macs (albeit it was very slow on a G4 PowerMac when using software instruments).

Hardware & Integration

The integration between the OS and the hardware on MacOS X is hands down awesome. Bluetooth devices seem to be a part of the OS, instead of what seems like a bolt-on solution like Windows 7’s taskbar icon. The MacBook Pro just feels solid, as it’s a little heavier than one would first think. The keys are locked in and are almost impossible to pop off without breaking the key itself. My only complaint is that I’d like to have ONE MORE USB port so I don’t have to unplug my MIDI keyboard to sync my iPhone when I’ve got it docked at home to my external monitor. This is easily remedied if I were to just go procure a USB hub.

How to learn to use a Mac

I’ll be posting video tutorials soon (all I’m waiting on is to purchase a license for ScreenFlow), this will be from anything of how to navigate the Operating System to installing software to using Garage Band and other common software. I’ve made a few private videos which have been a smashing success with the few who have watched the videos. To be honest I doubt that I’ll limit myself to just Computer tutorials, but I figure that I wanted to start with things that I know fairly well.

Software that I use daily

  • Apple Mail (built into MacOS)
  • Safari (built into MacOS)
  • iTunes (with the Last.fm scrobbler plugin, built into MacOS)
  • iPhoto (part of iLife, which comes with every Mac)
  • Pages (part of the iWork suite)
  • Adium (a nice multiprotocol Instant Messenger)
  • Terminal (I connect to Linux servers, built into MacOS)

Software that I use almost daily or occasionally

  • Garage Band (part of iLife, which comes with every Mac)
  • VMWare Fusion (for testing Linux server distros and for my Windows XP virtual machine)
  • Keynote (part of the iWork suite)
  • iCal (built into MacOS)
  • CoRD (to administer to Windows Servers)
  • Chicken of the VNC

My only real User Interface complaint

Something needs to be done with the Dock… right now it’s using a strange amount of space. I normally turn autohiding on because otherwise when a window is maximized to use the whole screen there’s quite a bit of  wasted space on the right and left of the dock. Windows does have Mac on this front UI wise in my opinion. The Windows 7 taskbar  is used all the way across the bottom. Although depending on your configuration still has wasted space if you don’t have my programs open or docked), but the taskbar is there and at least has purpose instead of showing the background. It’s a matter of whether it seems to have purpose or not, even though both really take about the same amount of space.

Some would say that the menu bar across the top is a big issue of used space, but actually it’s not. Almost every Windows application will have the same amount of space allocated per program for a Menu bar. The Mac having it all the way on top all the time is something easily understood if a user has experience with the OS (yes, it bothered me too when I was just starting to use a Mac, now I understand and love it).

Macintosh & Ubuntu: Apple File & Time Machine Server

I’ve streamlined a script that will install netatalk (an open implmentation of the apple network file server protocol), avahi-daemon (Bonjour/ZeroConf service) and configure it all to set up home directories and a Time Machine shared folder at /home/TimeMachine (which can easily be changed, read below).

The link to the install script is at my Ubuntu Script sub-site (look for Apple File Server).

This has been tested in both 10.04 (LTS) and also 10.10 and works with my MacBook Pro very nicely.

By default you’ll have to “Connect As” a UNIX user on the system, but you should be able to figure out how to handle guest support with a few good Google searches.

Once everything is set up, the biggest (and most likely, the only) file to change for this service is /etc/netatalk/AppleVolumes.default

The install script will append a line to the bottom for the TimeMachine home directory, feel free to make this anywhere in your file system by changing the path area…or even rename it by changing the second parameter. There’s pretty good documentation on the netatalk website.

I’ve tested this on 2 real machines and about 4-5 virtual machines, so as long as you’re running Ubuntu 10 or better, it *should* work pretty much right after the script finishes.

To have Time Machine work for your clients, a small hack must be made (well, honestly a hidden setting must be changed).

Open the Terminal Application (which is in your Utilities directory) and copy paste the following (and press enter to run the setting change program) all on one line just in case it’s wrapped in your web browser:

defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1

An instructional RTF wit the above setting is is the default Time Machine folder just in case you don’t read this far or if you don’t want to refer to this post again.

Macintosh: Syncing your MacOS Contacts & Calendars with Google

As I promised here’s the tutorial to sync your calendars and contacts with your Google account (doesn’t matter if it’s Google Apps or plain Google). The instructions are a little short and to the point and the screenshots are a bit flakey, but I’m pretty sure it’ll help someone out there.

Contacts

  • Open your Address Book
  • Go to Address Book then Preferences
  • Click on the Accounts Icon at the top (this works like a Windows Tab)
  • Put a check beside Synchronize with Google

  • A dialog will pop up about they can’t take responsibility for lost contacts ,etc

  • Type in your google email address and password

  • Press OK
  • Now your contacts won’t sync until you press the sync button at the top of your menu area

Once it’s done your contacts from Google should now be in your Address Book!

Calendar

  • Open up iCal
  • Go to iCal then Preferences
  • Click on the Account icon at the top
  • Press the + button to create a new Account Subscription

  • Enter your google email address and password

  • and your calendar should show up as a CalDev account.
  • You may have to sync as above in the Address Book area, but I don’t think so (I honestly can’t recall)

Mail

Macintosh Impressions: First Week

I’ll admit it. I’m a Mac user now. I’ve been trying to use my new MacBook pro full time for the last week, and it’s been a smashing success. The 8 hour battery life of this little Laptop is quite extrordinary, and the few adapters and ‘nice touches’ from the MagSafe adapter to the Battery Indicator button on the left hand side of the computer are quite handy.

I do wish it had one more USB port for convenience when I’m at home connected to my external monitor, but I can purchase a nice USB hub to fix that up.

There are several programs I’m using

  • Pixelmator (Photoshop competitor, under trial)
  • CeltX (screenwriting software, FREE!)
  • iWork (for Keynote and Pages, nicely priced)
  • iLife (for Garage Band and iPhoto mainly, included with every Mac)
  • TextMate (programmer’s text editor–I’m holding out for the beta of Ultraedit for Mac before I purchase)
  • VMWare Fusion (awesome emulator, under trial UPDATE: Licensed, got a coupon for $20 off and purchased from VMWare directly–no sales tax from Texas)

I’m using Google to sync all my Calendars and Contacts…. I’ll write a tutorial of how to do that later this week.

Tricks I’ve come across

  • To silently change the volume (i.e. don’t make the plop sound when changing the volume): press shift while pressing the volume controls
  • To quickly change image & font sizes in most programs: pinch (use two fingers your mouse pad on your MacBook or Magic TrackPad
  • Right clicking is as easy as clicking with two fingers (nice touch!)
  • Dragging and dropping is easy once you get used to it: press and hold with your left hand in the corner to click on the item you want to drag then use your right finger to do the moving then release with your left finger when you want to drop…not too shabby.
  • I was able to connect my awesome Linux server to work as a Time Machine backup server quite easily.

The minor issue I’ve got so far

Keynote doesn’t seem to allow me to edit my slides as it’s presenting. I tend to like to be dynamic when doing church presentations and fix typo’s as I find them or switch out names if someone is not able to read, etc. MediaShout (the program we use for PC) does this very nicely, but is a very quirky program for the most part. I’d like to see this functionality in Keynote.

Gaming

What little gaming I do is either Starcraft II (which doesn’t run too badly on this little 13″ MacBook Pro for the most part) of the online web-browser game Lord of Ultima. I’ve not tried running Windows games under VMWare fusion or BootCamp (I haven’t purchased a Win7 license for this laptop yet, nor will I until I get a bigger hard drive and/or need the ability to boot to it).

Things I miss from Windows & Linux

Linux software repository – I sure would like a way to install open source software on the MacOS side

Windows 7 Shortcuts – specifically Windows Key – L to lock the screen and Windows Key # (to launch a program in the taskbar, from 1-10) everything else I’ve found a very nice substitute for in MacOS (and a few that were actually easier and there are no comparison in the Windows world such as Command-H to hide a window from the OS).

That’s it for now!

My new MacBook Pro

My MacBook Pro finally arrived!

It’s only a 13″ model, but it will be quite sufficient for my needs as a laptop and extremely portable.

All I need now is my Laptop Bag – which will be here Tuesday.

Here are some pics.

At least now I’ll be running a real copy of Snow Leopard instead of the hacked copy that’s on my desktop.

What I found amazing is that after only a few minutes everything was working exactly as it should…all I had to do is enter my User information (and install iWork and dropbox) and I was up and going. The Updates took 5 minutes to download and install, but that wasn’t bad.

Python Programming: Converting my old avi files to h.264

Here’s a little script that calls HandBrake‘s CLI interface to convert a whole directory full of media in a recursive manner.

No Instructions. No warranty. No guarantees. Your mileage may vary. Yadda Yadda Yadda.
Tested on Ubuntu and MacOS 10.6

Download it here or just read it (better to download it, since my blog removes the whitespace and hence the flow of the script):

#!/usr/bin/python
# This script requires the HandBrake CLI program
# Download it at http://handbrake.fr/downloads2.php

# You’ll need to change this to fit where everything is on your system
sFromDirectory = “/home/jeff/Videos/”
sToDirectory = “/home/jeff/Desktop/converted_video_output/”
sFullPathToHandbrakeCLI = “/usr/bin/HandBrakeCLI”

# Don’t mess with anything below this…..
import os.path
import shutil

def ConvertFile(sPath, sFile):
global sToDirectory
global sFromDirectory
global sFullPathToHandbrakeCLI
sExtension = os.path.splitext( sFile )
sNewFileName = sFile.replace(sExtension[len(sExtension) – 1], “.m4v”)
sNewDirectory = sPath.replace(sFromDirectory, sToDirectory)
if sPath != “”:
sOldFullPath =  sPath + “/” + sFile
else:
sOldFullPath =  sPath + sFile

if sPath != “”:
sNewFullPath =  sNewDirectory + “/” + sNewFileName
else:
sNewFullPath =  sNewDirectory + sNewFileName

# Don’t re-encode if it’s already a m4v
if not os.path.exists(sNewFullPath):
if sExtension == “.m4v”:
# Copy it instead of re-encoding it…
shutil.copyfile(sOldFullPath, sNewFullPath)
else:
sHandbrakeCommand = sFullPathToHandbrakeCLI + ‘ -i “‘ + sOldFullPath + ‘” -o “‘ + sNewFullPath + ‘” -v -m -E aac,ac3 -e x264 -q 0.65 -x ref=3:mixed-refs:bframes=6:b-pyramid=1:weightb=1:analyse=all:8x8dct=1:subme=7:me=umh:merange=24:filter=-2,-2:trellis=1:no-fast-pskip=1:no-dct-decimate=1:direct=auto’
os.system(sHandbrakeCommand)

def callback( arg, sDirectory, aFilenames ):
global sToDirectory
global sFromDirectory
print “Checking files in ” + sDirectory
sSubPath = sDirectory.replace(sFromDirectory, “”)
for sFile in aFilenames:
if sSubPath == “”:
sOldFullPath =  sDirectory + sFile
else:
sOldFullPath =  sDirectory + “/” + sFile

if os.path.isdir(sOldFullPath):
sNewDirectory = sOldFullPath.replace(sFromDirectory, sToDirectory)
print “”
if not os.path.exists(sNewDirectory):
print “Making new directory: ” + sNewDirectory
print “”
os.mkdir(sNewDirectory)
else:
ConvertFile(sDirectory,sFile)

if not os.path.exists(sToDirectory):
os.mkdir(sToDirectory)
arglist = []
os.path.walk(sFromDirectory,callback,arglist)

Updated (September 3rd): Fixed a directory recursion issue.

FreeBSD: Back to my roots (updated)

I’ve just started installing a virtual machine of the latest FreeBSD Release (8.1) mainly to see what features my old favorite OS from 1995-2003 has gained to compete with Ubuntu Server. I switched to Ubuntu Server several years ago as my favorite Unix/Unix-Like OS mainly due to ease of updates and installation of software, but now that I’m not able to easily have netatalk have SSL built in (for Mac sharing & Time Machine backups), I’m looking at my old favorite to see what improvements were made.

I’ll probably be posting tips and tricks of my perils and discoveries over the next few weeks (more than likely a post of my initial views later tonight).

Update

Ok-here we go

Using http://www.freebsd.org/doc/handbook/updating-freebsdupdate.html as a guide:

Pros:
Rock solid and stable (but so is Ubuntu Server)
License Model is more permissive
CC/GCC is installed by default (as it’s required to compile the ports tree)

Cons:
NO PYTHON BY DEFAULT – This is a big deal, as Python is freakin’ awesome (this is the only modern *nix OS that I’ve used that doesn’t have it installed by default).
Ports tree takes entirely too long to update
Although freebsd-update is a step in the right direction, aptitude is still much better
portupgrade isn’t installed by default and has to be installed via the ports

My humble conclusion

I’ll be sticking with Ubuntu server for my needs due to the availability of precompiled software (which I can easily download source packages and recompile myself) and ease of upgrades.