Category Archives: Uncategorized



So looking forward to Paul Rudd as an Avenger…


Yet Another Awesome Kickstarter

$8,782,571 funded from a $10,000 goal. Sweet.


How Does Your Page Rank?

There are a number of services that rank web sites. I find that I check here and there. So as you employ various techniques to make your site better, you can check back and see the long term impacts of how these efforts impact your ranking.

Screen Shot 2014-12-24 at 9.24.42 PM

You can also see demographics of visitors.

Screen Shot 2014-12-24 at 9.24.53 PM


And you can see geographic data as well.

Screen Shot 2014-12-24 at 9.25.01 PM

There are other better sites, with far more detailed information such as Google Analytics. But a very top-level, upper level view of how your site is performing is something like Nice and simple.


Check Active Directory Status On Windows

When scripting, sanity check logging takes way more time that actions. Before binding to an Active Directory domain, you should verify that your system isn’t currently a member of an Active Directory domain. After binding, you should also check that settings are as expected. Use the get-addomain commandlet to do so:


To be more specific about a given domain:

PS C:\> Get-ADDomain -Identity



He Wasn’t Kidding When He Said “I’ll Be Back”


Command Line iOS Device Management

The other day, we installed libimobiledevice and used it to view the logs of an iOS device. But you can do much more with the commands that were installed. In fact, if you have a paired device, you can actually use these commands to do some remedial regression testing and other pretty cool things. So this is going to be part two of that article, basically.

First up, make sure the device is paired (note: not all commands require a device to be unlocked). But, all interaction with a device requires the device to be paired. You can use the command line (e.g. if you’re running this on Linux) to view the logs and manage devices, but if you’re not paired using iTunes or another tool, you’ll need to use idevicepair to pair your device, followed by the pair verb (which is very different from the pear verb):

idevicepair pair

You can also unpair using the unpair verb:

idevicepair unpair

The first command we’ll use is idevicedate, which simply returns with the date and time stamp currently on the device:


The response would look similar to the following:

Thu Nov 13 08:58:30 CST 2014

Next, let’s check the apps installed on a device. We can do this with the ideviceinstaller command (also part of the ilibmobiledevice suite of tools). Here, we’ll use the -l option to just list what’s installed:

/usr/local/bin/ideviceinstaller -l

The output would show the app, along with the version of the app at rest on the device: - Pages 1716

To uninstall one of the listed apps, use the –uninstall option:

ideviceinstaller --uninstall com.protogeo.Moves

You can also install apps provided you’ve cached the ipa file (e.g. via iTunes).

ideviceinstaller --install /Users/charlesedge/Music/iTunes/iTunes\ Media/Mobile\ Applications/Box\ 3.3.0.ipa

Which returns the following:

Copying '/Users/charlesedge/Music/iTunes/iTunes Media/Mobile Applications/Box 3.3.0.ipa' to device... DONE.
Installing ''
Install - CreatingStagingDirectory (5%)
Install - ExtractingPackage (15%)
Install - InspectingPackage (20%)
Install - TakingInstallLock (20%)
Install - PreflightingApplication (30%)
Install - VerifyingApplication (40%)
Install - CreatingContainer (50%)
Install - InstallingApplication (60%)
Install - PostflightingApplication (70%)
Install - SandboxingApplication (80%)
Install - GeneratingApplicationMap (90%)
Install - Complete

When run against a device, the app can then open apps provided the AppleID owns the app.

There’s also a command for ideviceprovision, which can be used to view provisioning profiles, when run with the list verb:

/usr/local/bin/ideviceprovision list

The ideviceprovision command can also form the basis of a tool like wirelurker by allowing you to install a provisioning profile

/usr/local/bin/ideviceprovision install angrybirds.mobileprovision

The file would look something like the following:

<?xml version=”1.0″ encoding=”UTF-8″?>
<!DOCTYPE plist PUBLIC “-//Apple//DTD PLIST 1.0//EN” “”>
<plist version=”1.0″>
<string>Angry Birds</string>
<string>Angry Birds</string>

You can also remove this, by feeding in the UUID of the provisioning profile (obtained using the list verb but replacing MYUUID from below codeblock):

/usr/local/bin/ideviceprovision remove MYUUID

Note: I’m going to leave my rant about how wirelurker is about as much a security vulnerability as `rm` is due to the fact that it’s how you test the impact of upgrading apps on devices during the development process to another post – where I’ll also beg Apple not to let a little bad press cause them to rip away some of the few deployment and testing tools we actually have for the platform.

Or you could so something more annoying like put a device into recovery mode, so it would need to be plugged into a computer running iTunes and get a new ipsw installed, which is as simple as feeding the udid into ideviceenterrecovery:

/usr/local/bin/ideviceenterrecovery af36e5d7065d4ad666bf047b6e4de26dd144578c

Which brings up an interesting question, how would you get the udid? You can use ideviceinfo:

ActivationState: Activated
ActivationStateAcknowledged: true
BasebandActivationTicketVersion: V2
BasebandCertId: 3554301762
BasebandChipID: 7282913
AKeyStatus: 2
SKeyHash: 7MQEUyvzG4gjjZc7KsNNAVTS8g4=
SKeyStatus: 0
BasebandMasterKeyHash: AEA5CCE143668D0EFB4CE1F2C94C966A6496CZZZ
BasebandSerialNumber: JErUEw==
BasebandStatus: BBInfoAvailable
BasebandVersion: 3.11.00
BluetoothAddress: 90:fd:61:a6:f6:ZZ
BoardId: 0
BrickState: false
BuildVersion: 12B411
CPUArchitecture: arm64
CFBundleVersion: 18.0
IntegratedCircuitCardIdentity: 89148000001085935ZZZ
InternationalMobileSubscriberIdentity: 311480110469ZZZ
MCC: 311
MNC: 480
SIMGID2: //////////8=
CertID: 3554301762
ChipID: 35168
ChipSerialNo: JErUEw==
DeviceClass: iPhone
DeviceColor: #3b3b3c
DeviceName: OK Computer
DieID: 5177734985296
EthernetAddress: 90:fd:61:a6:f6:13
FirmwareVersion: iBoot-2261.3.32
FusingStatus: 3
HardwareModel: N51AP
HardwarePlatform: s5l8960x
HostAttached: true
IntegratedCircuitCardIdentity: 89148000001085935111
InternationalMobileEquipmentIdentity: 352008065544111
InternationalMobileSubscriberIdentity: 311480110469111
MLBSerialNumber: F3Y34040ZEDF7GRA
MobileEquipmentIdentifier: 35200806554111
MobileSubscriberCountryCode: 311
MobileSubscriberNetworkCode: 480
ModelNumber: NE341
auto-boot: dHJ1ZQ==
backlight-level: MTQ0MA==
bootdelay: MA==
PasswordProtected: false
PhoneNumber: (612) 867-5309
PkHash: 09pXQgM5cjY6TJJNOOzO//R5JuGKqjHElfshBbnxZZZ=
ProductType: iPhone7,1
ProductVersion: 8.1
ProductionSOC: true
ProtocolVersion: 2
RegionInfo: LL/A
SBLockdownEverRegisteredKey: true
SIMGID1: ug==
SIMGID2: /w==
SIMStatus: kCTSIMSupportSIMStatusReady
SIMTrayStatus: kCTSIMSupportSIMTrayInsertedWithSIM
SerialNumber: F97N61XZFZZZ
0: 1
TelephonyCapability: true
TimeIntervalSince1970: 1416017216.873442
TimeZone: America/Chicago
TimeZoneOffsetFromUTC: -21600.000000
TrustedHostAttached: true
UniqueChipID: 5177734985296
UniqueDeviceID: af36e5d7065d4ad666bf047b6e4de26dd1445ZZZ
UseRaptorCerts: true
Uses24HourClock: false
WiFiAddress: 90:fd:61:a6:f6:ZZ
WirelessBoardSerialNumber: D81C55315781
kCTPostponementInfoPRIVersion: 0.1.90
kCTPostponementInfoPRLName: 1
kCTPostponementStatus: kCTPostponementStatusActivated

The ideviceinfo output above shows more information that I knew you could actually get about a device previously. You can grep for the UniqueDeviceID and

ideviceinfo | grep UniqueDeviceID | awk '{ print $2}'

This would just return with the UDID. Since that’s blank when there’s no device connected, you can run a loop that waits a few seconds when empty and then uses that UDID as a $1 in some script. Of course, it’s much easier to use a command they built for this called idevice_id:

idevice_id -l

Next, you can use idevicediagnostics to obtain some information about the current state of the device:

idevicediagnostics diagnostics All -u af36e5d7065d4ad666bf047b6e4de26dd1445789

Which has an output similar to the following:

<?xml version=”1.0″ encoding=”UTF-8″?>
<!DOCTYPE plist PUBLIC “-//Apple//DTD PLIST 1.0//EN” “”>
<plist version=”1.0″>

Or query the IOreg of the device:

idevicediagnostics ioreg IODeviceTree -u af36e5d7065d4ad666bf047b6e4de26dd1445789

The output is way too long to paste in here, but interesting (kinda’). The idevicediagnostics command can also do some basic tasks such as restart, sleep and shutdown (each sent as a verb without a required UDID):

idevicediagnostics restart

The crash reports on a device (which include reports for uninstalled apps, forensically providing a glimpse into what apps were removed from a device and when) can all be extracted from a paired device as well, using idevicecrashreport:

idevicecrashreport -e /test

You can then view the logs or grep through them for specific pieces of information:

cat /Test/Baseband/log-bb-2014-08-06-stats.plist

The last command we’re going to cover in this article is idevicebackup2, used to backup devices. Here, we’re going to feed it the udid (which I’m lazily using the idevice_id command from earlier in backticks to grab the udid and backing up into that /test directory.

idevicebackup2 -u `idevice_id -l` backup /test

Here, we’ve backed up whatever device is plugged in, to the /test directory. Subsequent backups will be incrementals.


Update rake For OS X

Rake is basically make for Ruby. I recently needed to update rake for something I was working on. After doing so, I tried to update some stuff in Profile Manager and it seemed to work on the outside, but a lot of stuff in Yosemite and Yosemite Server rely on rake so be careful when doing this kind of thing. So, to update to the latest version of rake, use the gem command along with the install verb and then rake as the gem being updated:

sudo gem update rake

This is an interactive command line environment so you’ll be asked a few questions in order to update the gem. Once complete, you’re running (at the time of this writing) 10.3.2. Run the list verb to see what version of each local gem you are running:

sudo gem list

Because running a newer version of rake can conflict with some built-in OS X stuff, you might find a desire to go back. At the time I’m writing this article, 0.9.6 is the latest and greatest version of rake that OS X uses. We can remove the existing rake using uninstall:

sudo gem uninstall rake

Then we can install a specific version using the install verb, followed by the gem and then the version:

sudo gem install rake 9.6

For a full guide of the gem verbs (or commands) see


FitBit Badge List

In case you might be new to the platform, I published a page at of all the FitBit badges I’ve seen so far. Screen Shot 2014-10-18 at 1.34.48 PM

Note, I also updated my Nike badge list at


The 250 Nerdiest Movies Of All Time

Note: I’m going to turn this into a page and keep working on it. This is the draft; since it’s been sitting in the WordPress drafts for over a year, I thought I should do something with it…

What makes a movie nerdy? Comic books, hacking, robotics, fantasy and straight-up-nerdiness. There are a lot of movies that really hit on some of these topics. Some do it well and others do a terrible job. Everyone is going to have their favorites, but I wanted to share mine well in advance of Memorial Day if only to help you prep to stay indoors and get just a little more pasty than you got this winter. Given the subjective nature of the nerdy factor, I’ve chosen not to rate these in any particular order. Instead I’m grouping them by sub-nerdy-genre. Hope you enjoy!

Nerds Make Good

  • Revenge of the Nerds: Really, this is one of those movies that started it all and belongs at the top of the list.
  • The 40-Year Old Virgin: Almost didn’t put this on the list ’cause I couldn’t figure out if they were making too much fun of… Whatever, it’s hilarious…
  • Jon Dies at the End: Meat monsters, boys who get girls, alternative universes and a surprise ending where Jon dies… Go figure. Or does he…
  • Napoleon Dynamite: Instant classic. No description needed.
  • American Splendor: Underground comic books, girls, the 70s.
  • Fanboys: Star Wars, Trekkies, a girl. Srsly.
  • Jay and Silent Bob Strike Back: This movie should have been called Kevin Smith gets back at Hollywood for making him rich as hell. Pobresito.
  • Chasing Amy: You’re probably gonna’ see most Kevin Smith movies somewhere on the list. This one is a boy gets girl flick with a twist. I’m a sucker for those. Don’t tell anyone…
  • 21: This made the list because… It’s true. Get good at maths, go to Vegas, get wealthy, get a big head, get a beat down.
  • Pi: OK, so he doesn’t make good really because he drills out part of his brain. But he does end up being all Zen, looking at the leaves blowing, finding peace and not dying like the other guy.
  • Can’t Buy Me Love: Nerdy kid pays girl to date him, things go south, kid ends up with girl. Apparently if you tight roll your khakis Amanda Peterson (you know, from Silver Spoons and Annie) will fall all over you. Noted.
  • Love Potion Number 9: Sandra Bullock goes from nerdy chemist to socialite. Seems like I’ve seen that plot since…

Nerdy Fantasy Movies

  • Harry Potter
  • Highlander
  • The Princess Bride
  • Willow
  • The Labrynth
  • Lord of the Rings
  • The Hobbit
  • Stardust
  • Clash of the Titans
  • Wrath of the Titans
  • In the Name of the King: A Dungeon Siege Tale

Nerd Comedy

  • Monty Python and the Holy Grail
  • Spaceballs
  • Galaxy Quest
  • Frequently Asked Questions About Time Travel
  • This is the End
  • The Green Hornet: Seth Rogen, Kato, a car that shoots missiles.
  • Superbad: There almost needs to be a new genre called Nerd Comedy with Seth Rogen in it.

Nerdy Documentaries

  • Nerdcore Rising
  • The Internet’s Own Boy: The Story of Aaron Swartz
  • To Be Takei
  • Web Junkie
  • The Manhattan Project

Comic Book Movies

  • X-men
  • Comic Con Episode IV: A Fan’s Hope
  • Paul
  • Batman
  • Superman
  • Captain America
  • Thor
  • Iron Man
  • Guardians of the Galaxy
  • The Hulk
  • Spiderman
  • Sin City
  • Constantine
  • Elektra
  • Ghost Rider
  • Ghost World
  • Green Lantern
  • Hellboy
  • I, Frankenstein
  • Jonah Hex
  • Judge Dredd
  • Blade
  • Catwoman
  • Daredevil
  • The League of Extraordinary Gentlemen
  • Mystery Men
  • Punisher
  • R.I.P.D.
  • The Rocketeer
  • The Spirit
  • V for Vendetta
  • Watchmen
  • Steel
  • 300
  • Alien vs. Predator
  • The Avengers
  • Wanted
  • Swamp Thing
  • Steel

Science Fiction

  • Star Wars
  • Star Trek
  • Metropolis
  • Avatar
  • Hunger Games
  • Brazil
  • Serenity
  • Dune
  • Beyond Thunderdome
  • Alien
  • Cowboys and Aliens
  • Soylent Green
  • Equilibrium
  • Divergent
  • 2001 A Space Odyssey
  • Planet of the Apes
  • Vanilla Sky
  • War of the Worlds
  • Oblivion
  • Gattaca
  • Stargate
  • Solaris
  • Donnie Darko
  • Tank Girl
  • Timecop
  • Idiocracy
  • Hitchhikers Guide to the Galaxy
  • Strange Days
  • Limitless
  • Forbidden Planet
  • The Fly
  • The Fifth Element
  • Starship Troopers
  • John Carter
  • Iron Sky: Nazis on the moon. No huge names. Not awful given that.
  • Cube: A movie based on a bunch of rooms making an infinite maze of sorts that keeps changing? Math and a last ginger standing kind of pace.

Nerdy Kids Movies

  • The Last Airbender: I watched all the cartoons with my daughter and so when the movie came out I wanted to take her. Let me be clear, this is not a movie made for 4 year olds. But it was really well done I thought. Obviously, directors have to take some liberties when adopting a dozen hours worth of cartoon story line into a feature film, but I thought it was totally worth it. Too bad they didn’t finish the trilogy.
  • Flight of the Navigator: So bad it’s good. David pilots alien ships and disappears for 8 years without growing a day older. Great little flick that reminds me how I dressed when I was that age. Some of the graphics didn’t hold up, but I’m not so overly judgmental.
  • Kick-Ass: Not many movies are original. This one was. It was fun, campy and I didn’t want to throw up when I saw Big Daddy like I usually do in movies he’s in!
  • Kick-Ass 2: Rarely is a sequel as good as the first movie. This is no exception. But it was original and campy, much like the first and well, well worth the watch.
  • Super 8: Normally I don’t like kids in creepy movies, but they pulled this one off pretty well. Not for younger kids for sure!
  • Goonies: Ah, the originals make ya’ swoon don’t they. What more could you want, than a big bad guy, Corey Feldman, Josh Brolin, Sean Astin, Martha Plimpton and the list goes on. Pirates, booby traps, gold and who could forget Data!
  • Back to the Future: I’m just going to include the whole franchise here. I’m still after a Delorean. Michael J Fox at his best. Well, Teenwolf wasn’t so bad, either. But the Doc, the plutonium and changing the future from the past. Awesome!
  • Hugo: A crossover between nerdy kids and fantasy, this period flick feels more like a steampunk movie than the traditional Disney kids movie (Disney didn’t make it). It’s a good movie. Cinematography, story line, acting, directing, etc. Didn’t get nearly enough attention and I think it will stand the test of time unlike many kids movies.
  • Teenage Mutant Ninja Turtles
  • Attack the Block
  • Cloak & Dagger


  • Pretty much every anime movie ever. But Akira really stands out as being the
  • Wreck-It Ralph
  • The Lego Movie
  • The original Lord of the Rings
  • The original Hobbit
  • Final Fantasy: The Spirits Within

Nerdy Robots

  • I, Robot
  • Robocop
  • Transformers
  • Bicentennial Man
  • Short Circuit
  • Wall-E
  • A.I. Artificial Intelligence
  • Terminator
  • Blade Runner because even nerds dream of electric sheep
  • Real Steel:

Zombies, Nerdy Monsters, Werewolves & Vampires

  • Zombieland
  • Army of Darkness
  • Shaun of the Dead
  • Men in Black
  • Mars Attacks!

Video Games

  • Scott Pilgrim vs. The World
  • Tron
  • Lara Croft: Tomb Raider: This movie made a lot of money. It’s made over a quarter of a billion dollars. It also set a new record upon release for movies with a female protagonist. But the only reason it didn’t win worst acres was that Mariah Carey released Glitter that year. It did well enough in the box office though to score a sequel.
  • Power Glove
  • Electric Dreams
  • The Prince of Persia
  • Grandma’s Boy
  • The Wizard
  • Need for Speed
  • Gamer
  • Existenz
  • Noobz
  • Max Payne
  • Far Cry
  • Hitman
  • Postal
  • BloodRayne: Wow, did Uwe Boll just miss it with this one. I mean, another game that could have been a great movie but needed so much more. It’s not easy to screw up a movie with Billy Zane Michael Madsen and Ben Kingsley when you have a plot as awesome as BloodRayne to work with in the first place…
  • DOA:Dead or Alive: Honestly, when I saw this I thought “Self, you should be playing this video game or watching someone play this video game, not watching actors trying to act like they’re in a video game. Happens a lot but I keep watching all of these…
  • Resident Evil: This has just become a great little franchise.
  • Silent Hill: I almost didn’t put this on because I just don’t like creepy movies.
  • Doom: This movie was doomed the second The Rock was cast in it.
  • House of the Dead: Gratuitously violent, just like the game. If you drink every time a zombie bites it you will die. In fact, if you’ve read everything up until now you might want to anyway. I like that this movie is authentic in that it doesn’t remotely try to be good. Stupid young people shoot stupid zombies.
  • Double Dragon: Billy Lee and Jimmy Lee. Somehow Alyssa Milano and Andy Dick end up in here too. As an early video game movie (apparently grunge was more popular than nerdy stuff at the time) I think the rest of that industry learned from this movie that special effects alone wouldn’t get you there and that you needed a plot.
  • Street Fighter: This is where we learned that Jean-Claude Van Damme should have stopped long before. But it was a video game, so everyone into such things at the time went to see it anyway. We knew it would be awful and we still went. Like Daredevil. It did have to compete with Dumb and Dumber for box office dollars, though… Now if Duncan McCracken had been cast as Guile it could have been saved…SSF2T_Guile
  • Mortal Kombat francise: I had no idea this franchise could go downhill after the first one but… It did.
  • Wing Commander


Close Encounters of the Third Kind






Young Frankenstein

The Time Machine




Hackers Pwn Teh World



1. Office Space is the story of Peter Gibbons, a computer programmer who spends all day doing mindless tasks. Thanks to a hypnotic suggestion, Peter decides not to go to work at the same time his company starts laying people off. When layoffs affect his two best friends, they conspire to plant a virus that will embezzle money from the company into their account. The movie sports the scene where they take the fax out and smash it with baseball bats, the traffic scene on the way to work, the scene where he gets asked to work on Saturday, the scene where he pictures his boss and his new girlfriend (Jennifer Aniston) and of course the stapler. It is a classic and would be very easy to end up watching again tonight, as I write this…

2. Sneakers is probably one of the best hacking/phreaking movies of all time. Sure, it’s a little dated, but they all are. It was pretty good for the day though, and no completely off-the-wall ideas about what is and is not possible. The guy from 30something is awesome (aka “Dick”) and Martin Brice (Robert Redford) does a great job. River Phoenix is awesome and Dan Aykroyd is just like every conspiracy theorist ever. “It’s Not About Who’s Got the Most Bullets, It’s About Who’s Got the Information”. Great lines, great writing, great cast and still holds up as a pretty good movie after all these years (20, since it was released in 1992).

3. War Games is about Ferris Bueller (or a nerdy whizz kid of a Ferris Bueller) who connects into a top secret military mainframe and ends up with complete control over the United State’s nuclear arsenal. He then has to find the physical mainframe and disable it. What’s so awesome is that it’s InfoSec 101: use a password, put multiple layers of security in place and don’t hook ICBMs up to unsecured systems. Really makes the Wozniak quote “never trust a computer you can’t throw out of a window” make sense. I’ve been waiting for years to hear “shall we play a game?” Just like when I consider having an argument with my wife, “the only winning move is not to play.”

4. Tron is a movie about Kevin Flynn, a video game designer that gets converted into a digital person by an evil software pirate named Master Control. Disney somehow manages to take Jeff Bridges and turn him into a 3D version of himself. Complete with geometrical landscapes that comprise cyberspace, games and there’s even a girl (the one place where Tron isn’t very lifelike).

5. Hackers is the story of a young boy gets arrested by the Secret Service for writing a computer virus. He’s banned from using a computer until he turns 18. As a teenager, he moves to the big city to discover an awesome 2600-style underground of computer hackers. This one is complete with a teenage Angelina Jolie, skateboards, trench coats and modems. While it’s not completely realistic, it’s not utterly fantastical either (other than the hax0r kid getting the hot girl part). Imagine my disappointment when I got my first job with computers and Jolie wasn’t waiting for me…

6. Weird Science is a typical 80s flick about two unpopular teenage boys who “create” a woman via their computer. Their living and breathing creation is a gorgeous woman, Lisa (the name of the predecessor to the Macintosh, whose purpose is to boost their confidence level by putting them into situations which require Gary and Wyatt to act like men. On their road to becoming accepted, they encounter many hilarious obstacles, which gives the movie an overall sense of silliness.

7. Antitrust is a fictional account of computer programming extraordinaire Milo Hoffman. When Milo graduates from Stanford, he is recruited by Gary Winston, a character loosely based on Bill Gates. Winston is the CEO of a software company called NURV, on the brink of completing a global communications system called Synapse. Tragedy soon after strikes when Teddy Chin is murdered by a pair of Milo’s co-workers who made it look like a hate crime. Milo’s girlfriend Alice Poulson is turns out to be helping Winston and there are even bad guys working for the company inside the Justice Department. Basically, the message of the movie is that if you like computers, you should trusting no one and that nothing is as it seems. Luckily, in the real world, secrets can’t be kept for long (the more money you have the harder it seems to actually be to keep secrets). Which is why things like this don’t actually happen. But hey, at least we geeks get to feel important for a little while and this movie was actually well made. Having said that, Ryan Philippe is mediocre. Which was actually good enough in this one to be acceptable.

8. The Matrix trilogy is a fantastical look at futuristic hacker/programmer Thomas Anderson, living an ordinary life in 1999. Until Morpheus leads him into the real world, which is actually 200 years later and taken over by evil robots machines. The computers have created a fake 20th-century life called the Matrix to keep the human slaves asleep. The robots get power from the humans. Anderson is constantly chased by Agents (the opposite of that shirt that reads “I could replace you with a very tiny shell script”). At one point, the agents start replicating (I’ve accidentally filled a drive up by looping through cp before too). Anderson gets a cool name “Neo” and gets to be played by Keanu Reeves. All’s well (albeit varying degrees of well) until he becomes one with the matrix after about 7 or 8 hours of watching the movie. Actually, movies. It’s a trilogy. But Trinity (Reeves’ love interest) does use Nmap to run sshnuke against SSHv1 CRC32. Not a bad exploit for a lady wearing all leather…

9. The Net is the story of Angela Bennett, a computer expert whose interconnectedness comes back to haunt her. Back when Sandra Bullock was young and beautiful, she played an analyst who was never far from a computer. A friend like many of my own, whom she’s only spoken to over the net, Dale Hessman, sent her a program with a weird glitch needing debugging. She finds an easter egg on the disk which turns her life into a nightmare. Her records are erased from existence and she is given a new identity, complete with a police record. The best line is “computers are your life aren’t they?” Mostly because I find it easy to identify with such a line…

Oh, and she uses a Mac!

10. The Girl With The Dragon Tattoo is the most recent movie on this list. And there are more than one. I won’t say to see one over the others, but do check out the hacker girl. The latest installment has the most awesome song from Trent Reznor in the soundtrack, which I could totally listen to while writing scripties (and have).

11. Takedown is probably the movie that cost the least on the list to make. It’s not a great movie, but worthy of cult status to many. But here’s the thing: hacking stuff is pretty boring to watch. Unless of course, it’s the 2 days a year you leave your basement to go sit in Las Vegas and hack stuff with real humans around you…

12. The Pirates of Silicon Valley is a documentary about the tycoons that took control of the personal computer market. It starts with their time in college and then covers the actions that built up global empires now known as Apple and Microsoft Inc. My favorite part of this is the way that they made Steve Ballmer out to be a complete idiot. The parts about Bill Gates, Steve Jobs, Wozniak and Paul Allen were pretty well known to me, even before I saw the movie. With Noah Wyle I kept thinking that at some point he was going to throw on his scrubs and start giving someone an ER-style heart surgery. Anthony Michael Hall plays an uninspired Bill Gates. The best part of his part is when he does Saturday Night Fever on roller skates and then falls down. When he became the wealthiest man in the world I wonder if he got skate-dance lessons.

13. Swordfish was just a bad movie. But every computer nerd is going to watch it and hopefully turn it into a drinking game of some sort. Let me get this straight: a guy is supposed to hack into some of the most complex systems in the world and was supposed to do so while having relations with a lady and having a gun pointed at his head. Oh, did I mention, he’s dead if he isn’t done in 60 seconds? There are some really good uses of real computer stuff on some of the screens at time. But, Travolta should still give up his SAG card.

14. Johnny Mnemonic is the story of a data courier, again Keanu Reeves, who accepts a payload to big to keep in his head for long, that he then must deliver before it kills him. Classic Reeves, a cheesy flick. Has Dolph Lundgren, so must be at least funny-bad. Ice-T and Henry Rollins make appearances too (the 1990s, baby).

15. Live Free or Die Hard is the latest (4th) installment of the Die Hard saga. In this one though, the Mac Guy helps Bruce Willis hack into stuff and blow stuff up. This gets to be on the list because Bruce Willis says: “Command Center, it’s a basement.” I thought maybe he was talking about my place…

16. Minority Report is on the list because the tech that guy has was awesome. Not as good as the tech that Iron Man has, but a bit more realistic in some places. I actually think that a few products were developed after engineers watched this movie personally, and I’d love to see the rest made possible. Might have been higher except the cast.

17. D.A.R.Y.L. – After watching D.A.R.Y.L. I think I spent years thinking I was some sort of robot. Probably explains plenty. When I finally got around to reading Isaac Asimov’s Robot Series I guess I didn’t think I might be an android any longer. “It’s only human to make mistakes, but Daryl never does.” In this movie, a kid realizes he’s actually an artificial intelligence. He then gets chased down by the government, looking to reclaim their intellectual property. Classic ET-style the government are the bad guys kinda’ moments ensue.

18. Untraceable is a move from 2008 where Diane Lane plays a fed trying to track down a serial killer who posts live video of killing victims on the Internet. It’s borderline B-movie, but it’s not too badly done. Any plot gaps or technical mistakes I let slide due to the fact that the movie is set in Portland and the fact that I’ve always enjoyed Diane Lane.

19. Tron: Legacy is the second installment of Tron, which comes almost 30 years later, his son joins him in a movie that is more like the Big Lebowski turns digital samurai than the original… I’m kinda’ suck of the rich brat concept. But at least he breaks into a data center and blows stuff up before getting sucked into the Matrix…

20. Eagle Eye is the story of Jerry and Rachel, two strangers thrown together by a phone call from a lady they have never met. She makes them and others perform a series of increasingly dangerous situations, using everyday technology to track and control their moves. Turns out she’s a computer. Shia LaBeouf is the star of this. How he got to be the star of this, Transformers and the replacement for the Indiana Jones movies is beyond me. He’s not a terrible actor, but he’s not worthy of such reverence from the nerd/action movie elite… This is not as awesome a nerd movie as it is a symbol of the future of nerdy movies. I guess this one is more about that thing people call Mobility than computing, but close enough…

21. Lawnmower Man should have just been one movie. The only one with Stephen King, this was the first VR movie I remember seeing. Pierce Brosnan is the not-really-bad guy, but the creator of the bad guy. This is like a digital Frankenstein flick.

22. Disclosure is another movie from the 1990s (1994) that shows Michael Douglas getting seduced by a woman. But this time, he ends up stopping before he closes the deal. So instead of boiling the family pet, he just gets sued for sexual harrassment. Lots of computers and screen shots. And Demi Moore in a 90s power suit. Awesome stuff!

23. Virtuosity is about a virtual reality serial killer who’s actually more of a composite of serial killers. Weak plot, but Russell Crowe wasn’t a big star yet. It’s like of like Demolition Man, but with the VR spin on it. Russell Crowe is totally psycho. And he wears a couple of awesome suits in the movie (I’m pretty sure one of them was in Cool World as well). 50 terabytes was a lot back then!

24. eXistenZ is another artificial reality movie, but Jennifer Jason Leigh is a video game designer. I thought that the BioPort concept was too much, especially for the time. The theme was already a bit done by then, but it was at least a weird new twist…

25. The Computer Wore Tennis Shoes had Kurt Russell. It was from the 60s. But the time spent on explaining all the computing was awesome! The best part about this movie is that glimpse you get of what computers were like before the advent of the personal computer. Thank you to the Altair, Apple and other machines that helped to get us into a new world order!

Finally, while this clip isn’t a movie, if you were curious what hacking stuff really looks like most of the time:


  • Catch Me If You Can because of the social engineering awesomeness it happens to be.
  • Independence Day because aliens apparently have Windows running on all their ships.
  • Jumpin’ Jack Flash because Whoopi Goldberg is actually a somewhat convincing engineer (or not).
  • Mission Impossible gets a nod for having an upside down Apple logo (for the time).
  • The Italian Job gets a nod for the real inventor of Napster (I guess he can duke it out with Metallica next).
  • Revolution OS for being a documentary about Linux. I’d love to see more of this kind of thing in the years to come (there’s certainly enough money floating around in the computer world to make more of them happen).
  • Jurassic Park had some computing in it, but doesn’t really count.
  • The Thirteenth Floor doesn’t make the list because it wasn’t original enough in its look at virtual reality.
  • Code Hunter was terrible.
  • Enemy of the State didn’t make the list because I’m sick of movies making people into conspiracy theorists.
  • Max Hedroom for being cool, new and unique at the time – and perfect for the era.
  • Netforce – Oh wait, no, that was a typo.
  • One Point O – Which might have made the actual list had the star not become a police officer in Law and Order.

Very much excluded from this list:

  • Gone in 60 Seconds had a hacker named Toby, but it also had Nicolas Cage
  • Ocean’s 13 had Roman but it also had Brad Pitt
  • Superman III had Gus, but then, it was total crap
  • XXX: State of the Union had another Toby (popular name for movie hackers) but then, it had Vin Diesel



Setup NetInstall On OS X Yosemite Running the Server app

The NetBoot service allows administrators of OS X computers to leverage images hosted on a server to boot computers to a central location and put a new image on them, upgrade them and perform automations based on upgrades and images. Since the very first versions of OS X, the service has been called NetBoot. In the Server app, Apple provides a number of options surrounding the NetInstall service, based on Automator-style actions, now calling the service NetInstall.

The first step to configuring the NetInstall service is to decide what you want the service to do. There are three options available in System Image Utility (available under the Tools menu of the Server app in OS X Server):

  • Create a NetBoot Image: Allows Macs to boot over the network to a disk image hosted on a server.
  • Create a NetInstall Image: Leverage NetBoot as a boot disk so that an image hosted on a server can be used to run an OS X installer.
  • Create a NetRestore Image: Leverage NetBoot as a boot disk so that you can restore a computer that has been configured over a network. Use this option to restore an image that has been prepared.

For the purposes of this example, we’re going to use an OS X Yosemite (10.10) installer running Server 3 to boot an OS X computer over the network. The first step in doing so is to create a Network Disk Image of 10.10, or the 10.10 installation media (which is the Install OS X Yosemite bundle for this example). Before setting it up, download the Install OS X Yosemite installer app into the /Applications directory from the App Store.

To then set up the NetBoot disk image (you can’t start the NetInstall service until you give it an image to serve), often referred to as the NetBoot set, open the Server app and then click on System Image Utility from the Tools menu of OS X.


When System Image Utility opens, click on the Install OS X Yosemite entry in the list of available sources. Then, in the list of options, click on NetInstall Image and then click on the Continue button.


At the Image Settings screen, enter the name the NetBoot set will have in the Network Disk field. Then, enter a description of what is on the NetBoot set in the Description field. If the image will be served from multiple servers, check the box for “Image will be served from more than one server.”
Then provide an account name, short name and password in the Image Settings screen. Once provided, click Create to generate the Network Disk Image.


When prompted, click on the Agree button to accept the licensing agreement.


Then, when prompted, select a location to store the Disk Image, provide any tags to be applied to the files that comprise the image and click on Save.


The computer will then start creating the NetBoot set. Once finished, it’s time to set up the NetInstall service in OS X Yosemite Server. To get started, go back to the Server app.


First, define which disk will host NetBoot Images. To do so, click on the Edit Storage Settings button. At the Storage Settings overlay, select the volume that Images will be hosted as well as the volume that Client Data will be hosted. The Image is what you are creating and the Client Data is dynamic data stored in images.


If you only have one disk, as in this example, click on “Images & Client Data” for that disk. Then click on the OK button. Once you’ve selected a disk to store your image, we need to copy the disk image into the Library/NetBoot/NetBootSP0 folder of the disk used for images. Once in the appropriate folder, click on the Edit button for the Enable NetInstall on: field


Check the box for the interface you want to serve images over (if you only have one then it’s pretty obvious which interface this will be. Click on the OK button to save your settings. Then, click on the Images tab.


Each server can host multiple images. The Images tab displays a list of NetBoot images stored in the Library/NetBoot/NetBootSP0 directory. By default, images have a red indicator light. This means they’re not being served over any specific protocol yet. Double-click on an image.


At the image settings screen, check the box for “Make available over” and for many environments, select NFS as the protocol. Note, you can also restrict access to the image to certain models of Apple computers and/or certain MAC addresses by using the “Image is visible to” and “Restrict access to this images” options respectively. Additionally, use the Make this image available for diskless booting option to allow computers without hard drives to boot to the image.


Click on the Done button and the image will appear as green in the list of images. Click on the image and then click on the cog-wheel icon. Click on “Use as Default Boot Image” to set an image to be the default images computers boot to when booting to NetBoot. Now, it’s as easy as clicking on the ON button. Do so to start the service.


Once started, open a Terminal window. Here, let’s get a status of the service using the serveradmin fullstatus option (along with the service name, which is still netboot from the command line):

sudo serveradmin fullstatus netboot

The output of which shows the various components, logs and states of components:

netboot:state = “RUNNING”
netboot:stateTFTP = “RUNNING”
netboot:readWriteSettingsVersion = 1
netboot:netBootConnectionsArray = _empty_array
netboot:logPaths:netBootLog = “/var/log/system.log”
netboot:dhcpLeasesArray = _empty_array
netboot:stateDHCP = “STOPPED”
netboot:stateHTTP = “RUNNING”
netboot:serviceCanStart = 0
netboot:timeOfSnapshot = “2014-10-07 18:39:33 +0000″
netboot:stateNFS = “RUNNING”
netboot:stateImageArray:_array_index:0:_array_index:0 = 0
netboot:stateImageArray:_array_index:0:_array_index:1 = 0
netboot:stateImageArray:_array_index:0:_array_index:2 = 0
netboot:stateImageArray:_array_index:0:_array_index:3 = 0
netboot:stateImageArray:_array_index:0:_array_index:4 = 2
netboot:stateImageArray:_array_index:1:_array_index:0 = 0
netboot:stateImageArray:_array_index:1:_array_index:1 = 0
netboot:stateImageArray:_array_index:1:_array_index:2 = 0
netboot:stateImageArray:_array_index:1:_array_index:3 = 0
netboot:stateImageArray:_array_index:1:_array_index:4 = 2
netboot:stateImageArray:_array_index:2:_array_index:0 = 0
netboot:stateImageArray:_array_index:2:_array_index:1 = 0
netboot:stateImageArray:_array_index:2:_array_index:2 = 0
netboot:stateImageArray:_array_index:2:_array_index:3 = 0
netboot:stateImageArray:_array_index:2:_array_index:4 = 2
netboot:stateImageArray:_array_index:3:_array_index:0 = 0
netboot:stateImageArray:_array_index:3:_array_index:1 = 0
netboot:stateImageArray:_array_index:3:_array_index:2 = 0
netboot:stateImageArray:_array_index:3:_array_index:3 = 0
netboot:stateImageArray:_array_index:3:_array_index:4 = 2
netboot:servicePortsRestrictionInfo = _empty_array
netboot:netBootClientsArray = _empty_array
netboot:servicePortsAreRestricted = “NO”
netboot:setStateVersion = 1
netboot:startedTime = “”
netboot:stateAFP = “RUNNING”

And to start the service when not running:

sudo serveradmin start netboot

There are also a number of settings available at the command line that are not in the graphical interface. For example, to allow writing to the NetBoot share:

sudo serveradmin settings netboot:netBootStorageRecordsArray:_array_index:0:readOnlyShare = no

Or to get more verbose logs:

sudo serveradmin settings netboot:logging_level = “HIGH”

To stop the service:

sudo serveradmin stop netboot

In the beginning of this article, I mentioned that ways to configure NetInstall images. I’ll cover NetInstall and NetRestore in later articles as they tend to be more involved workflow-wise than copying a volume into a Network Disk Image. But to end this one, many an old-school admin might wonder where all the settings went that used to be in the GUI. Well, serveradmin still maintains a lot of the older stuff. To see a list of all available settings, run serveradmin with the settings verb and then netboot:

sudo serveradmin settings netboot

If there was a feature you want to use (e.g. maximum users), you should see it in the resultant list:

netboot:netBootFiltersRecordsArray = _empty_array
netboot:netBootStorageRecordsArray:_array_index:0:sharepoint = yes
netboot:netBootStorageRecordsArray:_array_index:0:clients = yes
netboot:netBootStorageRecordsArray:_array_index:0:volType = “hfs”
netboot:netBootStorageRecordsArray:_array_index:0:okToDeleteSharepoint = no
netboot:netBootStorageRecordsArray:_array_index:0:readOnlyShare = no
netboot:netBootStorageRecordsArray:_array_index:0:path = “/”
netboot:netBootStorageRecordsArray:_array_index:0:okToDeleteClients = yes
netboot:netBootStorageRecordsArray:_array_index:0:volName = “Yos”
netboot:netBootStorageRecordsArray:_array_index:1:sharepoint = yes
netboot:netBootStorageRecordsArray:_array_index:1:clients = yes
netboot:netBootStorageRecordsArray:_array_index:1:volType = “hfs”
netboot:netBootStorageRecordsArray:_array_index:1:okToDeleteSharepoint = yes
netboot:netBootStorageRecordsArray:_array_index:1:readOnlyShare = no
netboot:netBootStorageRecordsArray:_array_index:1:path = “/Volumes/Base_Image”
netboot:netBootStorageRecordsArray:_array_index:1:okToDeleteClients = yes
netboot:netBootStorageRecordsArray:_array_index:1:volName = “Base_Image”
netboot:netBootStorageRecordsArray:_array_index:2:sharepoint = yes
netboot:netBootStorageRecordsArray:_array_index:2:clients = yes
netboot:netBootStorageRecordsArray:_array_index:2:volType = “hfs”
netboot:netBootStorageRecordsArray:_array_index:2:okToDeleteSharepoint = yes
netboot:netBootStorageRecordsArray:_array_index:2:readOnlyShare = no
netboot:netBootStorageRecordsArray:_array_index:2:path = “/Volumes/New Volume 1″
netboot:netBootStorageRecordsArray:_array_index:2:okToDeleteClients = yes
netboot:netBootStorageRecordsArray:_array_index:2:volName = “New Volume”
netboot:netBootPortsRecordsArray:_array_index:0:deviceAtIndex = “en3″
netboot:netBootPortsRecordsArray:_array_index:0:isEnabledAtIndex = yes
netboot:netBootPortsRecordsArray:_array_index:0:nameAtIndex = “USB Ethernet”
netboot:logging_level = “MEDIUM”
netboot:filterEnabled = no
netboot:netBootImagesRecordsArray:_array_index:0:imageType = “netboot”
netboot:netBootImagesRecordsArray:_array_index:0:IsInstall = no
netboot:netBootImagesRecordsArray:_array_index:0:Kind = “1”
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:0 = “iMac10,1″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:1 = “iMac11,1″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:2 = “iMac11,2″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:3 = “iMac11,3″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:4 = “iMac12,1″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:5 = “iMac12,2″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:6 = “iMac13,1″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:7 = “iMac13,2″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:8 = “iMac13,3″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:9 = “iMac7,1″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:10 = “iMac8,1″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:11 = “iMac9,1″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:12 = “Mac-031B6874CF7F642A”
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:13 = “Mac-27ADBB7B4CEE8E61″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:14 = “Mac-50619A408DB004DA”
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:15 = “Mac-77EB7D7DAF985301″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:16 = “MacBook5,1″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:17 = “MacBook5,2″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:18 = “MacBook6,1″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:19 = “MacBook7,1″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:20 = “MacBookAir2,1″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:21 = “MacBookAir3,1″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:22 = “MacBookAir3,2″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:23 = “MacBookAir4,1″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:24 = “MacBookAir4,2″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:25 = “MacBookAir5,1″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:26 = “MacBookAir5,2″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:27 = “MacBookAir6,1″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:28 = “MacBookAir6,2″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:29 = “MacBookPro10,1″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:30 = “MacBookPro10,2″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:31 = “MacBookPro3,1″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:32 = “MacBookPro4,1″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:33 = “MacBookPro5,1″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:34 = “MacBookPro5,2″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:35 = “MacBookPro5,3″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:36 = “MacBookPro5,4″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:37 = “MacBookPro5,5″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:38 = “MacBookPro6,1″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:39 = “MacBookPro6,2″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:40 = “MacBookPro7,1″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:41 = “MacBookPro8,1″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:42 = “MacBookPro8,2″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:43 = “MacBookPro8,3″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:44 = “MacBookPro9,1″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:45 = “MacBookPro9,2″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:46 = “Macmini3,1″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:47 = “Macmini4,1″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:48 = “Macmini5,1″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:49 = “Macmini5,2″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:50 = “Macmini5,3″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:51 = “Macmini6,1″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:52 = “Macmini6,2″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:53 = “MacPro3,1″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:54 = “MacPro4,1″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:55 = “MacPro5,1″
netboot:netBootImagesRecordsArray:_array_index:0:DisabledSystemIdentifiers:_array_index:56 = “Xserve3,1″
netboot:netBootImagesRecordsArray:_array_index:0:Description = “NetBoot of OS X 10.10 (13A598) Install (7.14 GB).”
netboot:netBootImagesRecordsArray:_array_index:0:Name = “NetBoot of Install OS X Yosemite”
netboot:netBootImagesRecordsArray:_array_index:0:pathToImage = “/Library/NetBoot/NetBootSP0/NetBoot of Install OS X Yosemite.nbi/NBImageInfo.plist”
netboot:netBootImagesRecordsArray:_array_index:0:Index = 1280
netboot:netBootImagesRecordsArray:_array_index:0:osVersion = “10.10”
netboot:netBootImagesRecordsArray:_array_index:0:BackwardCompatible = no
netboot:netBootImagesRecordsArray:_array_index:0:SupportsDiskless = no
netboot:netBootImagesRecordsArray:_array_index:0:EnabledSystemIdentifiers = _empty_array
netboot:netBootImagesRecordsArray:_array_index:0:Language = “Default”
netboot:netBootImagesRecordsArray:_array_index:0:BootFile = “booter”
netboot:netBootImagesRecordsArray:_array_index:0:IsDefault = no
netboot:netBootImagesRecordsArray:_array_index:0:Type = “HTTP”
netboot:netBootImagesRecordsArray:_array_index:0:Architectures = “4”
netboot:netBootImagesRecordsArray:_array_index:0:IsEnabled = yes
netboot:netBootImagesRecordsArray:_array_index:0:RootPath = “NetBoot.dmg”
netboot:afpUsersMax = “50”