Category Archives: Uncategorized

Uncategorized

FitBit Badge List

In case you might be new to the platform, I published a page at http://krypted.com/utilities/fitbit-badge-list/ 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 http://krypted.com/utilities/nike-and-nikefuel-badge-list/.

Uncategorized

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

Animated

  • 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

Sphere

Explorers

Surrogates

Primer

Nirvana

Young Frankenstein

The Time Machine

Scanners

Contact

Untraceable

Hackers Pwn Teh World

Jobs

Firewall

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:

Miscellaneous:

  • 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

 

Uncategorized

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.

netinstall1

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.

netinstall2

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.

netinstall3

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

netinstall4

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.

Netinstall5

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.

Netinstall6

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.

netinstall7

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

netinstall8

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.

netinstall9

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.

netinstall10

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.

netinstall11

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.

netinstall12

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”

Uncategorized

Use an ipsw to Manually Upgrade an iOS Device

Recently, I needed to test the behavior of something during the upgrade process of an iOS device. The device was running the latest version of iOS so I needed to use an ipsw to load a specific version of the OS. Usually I use Configurator for running a lot of updates, but I didn’t want to restore the device, so I used iTunes. After I backed up the device, here’s what I did:

  • Download the ipsw file from Apple for that specific device
  • Connect the device (make sure Configurator isn’t open, enter a passcode if needed and then launch iTunes
  • Click on the device in iTunes (You might need to show sidebar if you don’t initially see it)
  • Click on the Summary tab
  • Option-Click on Check for Update (Alt-Click on Windows)Screen Shot 2014-08-28 at 11.17.47 AM
  • Select the ipsw previously downloaded
  • When prompted, click Update
  • When the device reboots, wait for the status bar and you should be all done

 

 

Good luck!

Uncategorized

Electric Run – Minneapolis

Last year, I did the Electric Run last year in Minneapolis. This year it’s at the Minnesota State Fairgrounds, rather than around a lake. June 6th from 9:30pm on. Should be a great time. Hope to see ya’ there!

Uncategorized

Scrum Master 101

meanscrubs

Uncategorized

Bring Out Yer Apps with Autopkg! (Maybe with a little help)

(Guest post by Allister Banks)

Working with modern tools in the ‘auto'(dmg/pkg) suite, it sure reinforces the old chestnut, ‘it’s turtles XML all the way down.’ The thing that struck me when first diving into using autopkg was that different product recipes could potentially have a good amount of similarities when they share common processors. One example is drag-drop apps that can be discovered with an ‘appcast’ URL, which, in my recollection, became common as the Sparkle framework gained popularity.

This commonality is exactly the type of thing sysadmins like myself seek to automate, so I built a few helper scripts to 1. discover what apps have appcast URLs, 2. generate the base download recipe, and further, the 3. pkg-building recipe that can use the download recipe as a ‘parent’, and the 4. munki or JSS recipes which can nest the pkg recipe in it. Recursivity is the new black.

screnshotsOfCode

Please do take a look if you feel you’ve got apps that folks haven’t built recipes for yet, and laugh at/use/fork my code as you see fit!

Uncategorized

How to Find the Build Version of a Mavericks Installer

(Guest post by Allister Banks)

We’re several years in to Apple distributing its installer through its (formerly with the ‘Mac’ prefix) App Store, which if you right-click the bundle you can show package contents, and then navigate to the packages involved in the install as part of an Electronic Software Distribution image(or InstallESD.dmg for short.) Guidance remains the same, however, regarding getting the proper version of the OS to reinstall on your computer – in almost all cases, the newest hardware will only be supported by a ‘forked‘ version of the operating system. That means the process outlined here on Rich Trouton’s DerFlounder blog is still 100% applicable if you need to create and image with a tool like AutoDMG or perform a clean install for those models.

For the Lion releases of the OS, there was not really a functional difference between the InstallESD.dmg you’d find in the Install OS X {Mountain Lion,Lion}.app, and the old physical discs the installer was previously distributed on. Since the dmg was a bootable system unto itself, it had the normal complement of files with which you could query for what build it would install. In specific you could look at the same ProductBuildVersion key in the /System/Library/CoreServices/SystemVersion.plist file you’d find on any Mac(as of this writing, that number is 13B42 for most models released before the late 2013 Retina MacBook Pros and new MacPro.)

For the regular ‘universal’ builds (which would be listed here,) you can unflatten the OSInstall.mpkg you’d find in the Shared Support folder in the Contents folder within the app. (I have an automator service for expanding packages that may be of use to folks for this process, described here.)
Inside of the expanded OSInstall.mpkg you could open the Distribution file in your text editor of choice and look at the end of (currently) line three for the osBuildVersion value. (CreateOSXInstallPkg uses python’s minidom for this)

As of Mavericks, there’s a different directory structure inside the InstallESD.dmg, which confuses some folks who collect one for each of their forked models, and will need to continue to grab those specific builds from Internet Recovery for the foreseeable future. Fortunately, the only thing this new layout actually requires is a slight tweak to query:

PathFromMavsBaseSystemDMG

The actual dmg that gets dropped on the destination (to boot from) is there at the root, but hidden from the Finder when the InstallESD.dmg is mounted. Another way of navigating to it(besides turning on hidden files) is to run this command from the terminal after mounting InstallESD.dmg:

open /Volumes/OS\ X\ Install\ ESD/BaseSystem.dmg

Inside that BaseSystem.dmg there is the regular SystemVersion.plist at the path you’d traditionally find it, as mentioned above.

And there you go! Now you can make sense of all these InstallESD.dmg’s you’ve been stockpiling to serve the forked models in your fleet.

Uncategorized

Put wget On OS X

To install wget on a Mac, first make sure you have Xcode installed. Then, create a place to do your installation from:

mkdir ~/Desktop/wgetinstall; cd ~/Desktop/wgetinstall

Then, curl it down from the gnu.org ftp servers:

curl -O http://ftp.gnu.org/gnu/wget/wget-1.14.tar.gz

Next, extract the tar file:

tar xvf ~/Desktop/wgetinstall/wget-1.14.tar.gz

Then cd into the wget directory:

cd wget-1.14

And then let’s config:

./configure --with-ssl=openssl

Then a standard make:

make

Then a typical make install:

make install

Now let’s make sure we know where it went:

type -a wget

And now let’s test

wget —version

And to test downloading:

wget http://www.apple.com

Then, clean up after your installer:

rm -rf ~/Desktop/wgetinstall