<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>freebsd &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/freebsd/</link>
	<description>Feed of posts on WordPress.com tagged "freebsd"</description>
	<pubDate>Sun, 26 May 2013 00:29:23 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[FreeBSD jail on embedded Nas4Free install]]></title>
<link>http://lameguy.wordpress.com/2013/02/05/freebsd-jail-on-embedded-nas4free-install/</link>
<pubDate>Tue, 05 Feb 2013 03:10:37 +0000</pubDate>
<dc:creator>ado_dado</dc:creator>
<guid>http://lameguy.wordpress.com/2013/02/05/freebsd-jail-on-embedded-nas4free-install/</guid>
<description><![CDATA[Setting up a FreeBSD jail on embedded Nas4Free install As most DIY computer geeks i have a server at]]></description>
<content:encoded><![CDATA[<h1>Setting up a FreeBSD jail on embedded Nas4Free install</h1>
<p>As most DIY computer geeks i have a server at home, more specifically a DIY Nas. It is basically an old p4 mini atx motherboard i had laying around with a raid controller card and a couple of hdd&#8217;s. The Nas runs an embedded FreeBSD distribution called <a title="Nas4Free" href="http://www.nas4free.org" target="_blank">Nas4Free</a>,</p>
<p>Since the distro is an embedded install this means that any changes you make to it are gone when the server is restarted. So how can you extend its functionality and for example add a subsonic server to it.</p>
<p>The answer lies in <a title="FreeBSD jails" href="http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/jails-intro.html" target="_blank">Freebsd jails</a>.Jails, sometimes referred to as an enhanced replacement of chroot environments, are a very powerful tool for system administrators, but their basic usage can also be useful for advanced users.<!--more--></p>
<p>Jails improve on the concept of the traditional chroot environment, in several ways. In a traditional chroot environment, processes are only limited in the part of the file system they can access. The rest of the system resources (like the set of system users, the running processes, or the networking subsystem) are shared by the chrooted processes and the processes of the host system. Jails expand this model by virtualizing not only access to the file system, but also the set of users, the networking subsystem of the FreeBSD kernel and a few other things.</p>
<p><strong>A jail is characterized by the following characteristics:</strong></p>
<ul>
<li>A directory subtree — the starting point from which a jail is entered. Once inside the jail, a process is not permitted to escape outside of this subtree.</li>
<li>A hostname — the hostname which will be used within the jailm usualy a descriptive one for the service that is running inside the jail.</li>
<li>An IP address — The IP address of a jail is usually an alias address for an existing network interface, but it is not an requirement.</li>
<li>A command — the path name of an executable to run inside the jail.</li>
</ul>
<p>All of this means that this is the correct way to go when adding functions to an Nas4Free embedded install. So after some extensive googling and reading about FreeBSD jails i was confident enough to try setting up an jail.</p>
<h1>Configuring Nas4Free</h1>
<ol>
<li><span style="font-style:inherit;line-height:1.625;">Go to this page: </span><a style="font-style:inherit;line-height:1.625;" href="http://wiki.nas4free.org/doku.php?id=documentation:setup_and_user_guide:services_ssh" rel="nofollow">http://wiki.nas4free.org/doku.php?id=documentation:setup_and_user_guide:services_ssh</a></li>
<li><span style="font-style:inherit;line-height:1.625;">Check so that ssh is enabled and check the port number and also check that the option “Permit root login”is enabled.(The root password is the same as the WebGUI password but the login name is always “root”)</span></li>
<li><span style="font-style:inherit;line-height:1.625;">Go to the Nas4Free webgui and navigate the menu like this: System-&#62;Advanced-&#62;sysctl.conf<br />
</span><span style="font-style:inherit;line-height:1.625;">Add there:<br />
</span><span style="font-style:inherit;line-height:1.625;">Name: security.jail.chflags_allowed<br />
</span><span style="font-style:inherit;line-height:1.625;">Value: 1<br />
</span><span style="font-style:inherit;line-height:1.625;">Comment: can be whatever you want.</span></li>
<li><span style="font-style:inherit;line-height:1.625;">Now navigate in the webgui like this: Advanced-&#62;File Editor</span></li>
<li><span style="font-style:inherit;line-height:1.625;">In the file path textbox write “/etc/rc.conf”</span></li>
<li><span style="font-style:inherit;line-height:1.625;">Click load</span></li>
<li><span style="font-style:inherit;line-height:1.625;">Add to the file jail_enable=”yes”</span></li>
<li><span style="font-style:inherit;line-height:1.625;">Click the save button next to the textbox where you wrote the path to the file and then restart the nas4free server</span><span style="font-style:inherit;line-height:1.625;">.</span></li>
</ol>
<p>And now the fun starts ssh via putty or some other equivalent to the server and follow the following steps.</p>
<h2>Create the folders and mount points</h2>
<p>Remember to change all reference to /mnt/data to the mountpoint on your Nas where you are going to store the jail.</p>
<ul>
<li>mkdir /jail</li>
<li>mkdir /mnt/data/jail</li>
<li>mkdir /mnt/data/jail/{work,plugins,conf}</li>
<li>mount_nullfs /mnt/data/jail /jail</li>
</ul>
<p>The mount_nullfs command points /mnt/data/jail to /jail for ease of installation and use.</p>
<p>/jail/work is used for downloads,temporary files.<br />
/jail/plugins the jail itself, this is where we are going to install subsonic.<br />
/jail/conf contains the configuration and run-time files.</p>
<h2>Download and extract the FreeBSD base system</h2>
<p>The base system has to be downloaded to make sure you get all the necessary binaries, config files and scripts. To download it you can just copy paste the following commands into the ssh shell.</p>
<ul>
<li>cd /jail/work</li>
<li>fetch ftp://ftp.freebsd.org/pub/FreeBSD/releases/`uname -m`/`uname -m`/`uname -r &#124; cut -d- -f1-2`/base.txz</li>
<li>fetch ftp://ftp.freebsd.org/pub/FreeBSD/releases/`uname -m`/`uname -m`/`uname -r &#124; cut -d- -f1-2`/lib32.txz</li>
</ul>
<p>The last command for fetching lib32 is not needed if you are running Nas4Free on an 32bit system.</p>
<p>The following two commands extract the base system into the plugins folder inside the jail.</p>
<ul>
<li>tar xvf /jail/work/base.txz -C /jail/plugins/</li>
<li>tar xvf /jail/work/lib32.txz -C /jail/plugins/</li>
</ul>
<h2>Installing the plugins jail binaries</h2>
<ul>
<li>cd /jail</li>
<li>mkdir -p conf/root/{etc/rc.d/,usr/bin,usr/sbin}</li>
<li>cp plugins/etc/rc.d/jail conf/root/etc/rc.d/</li>
<li>cp plugins/usr/sbin/{jail,jexec,jls} conf/root/usr/sbin/</li>
<li>cp plugins/usr/bin/mktemp conf/root/usr/bin/</li>
</ul>
<p>The commands above create the file structure for the runtime files, also copy the nescessery rc script and binaries to conf.</p>
<h2>Configuring the jail</h2>
<ul>
<li>cp /etc/resolv.conf /jail/plugins/etc/</li>
<li>cp /jail/plugins/usr/share/zoneinfo/Europe/Stockholm /jail/plugins/etc/localtime</li>
</ul>
<p>The commands above copy the resolv.conf file from the Nas to the jail and also the timezone file. Obviously exchange Europe/Stockholm for your own timezone. Next we will configure the mounts that the jail is going to be able to access</p>
<ul>
<li>touch /jail/conf/fstab.plugins</li>
<li>mkdir /jail/plugins/mnt/DataDisk1</li>
<li>nano /jail/conf/fstab.plugins</li>
</ul>
<p>Copy into the fstab file the following lines:</p>
<p>/mnt/data/DataDisk1 /jail/plugins/mnt/DataDisk1 nullfs ro 0 0</p>
<p>Of course exchange DataDisk1 for the mounts that you have on the Nas that you want to be accessible in the jail. The next part of the configuration is to create the rc.conf file.</p>
<ul>
<li>touch conf/rc.conf.local</li>
<li>nano conf/rc.conf.local</li>
</ul>
<p>Copy into the rc.conf.local the following lines:</p>
<p>jail_enable=&#8221;YES&#8221; # enable jails YES&#124;NO<br />
jail_list=&#8221;proto&#8221; # name of the jail to start, it can be basically whatever you want &#8220;proto www&#8230;&#8221;<br />
jail_proto_rootdir=&#8221;/jail/plugins&#8221; # path to our jail<br />
jail_proto_hostname=&#8221;plugins.domain.local&#8221; # hostname<br />
jail_proto_ip=&#8221;192.168.2.201&#8243; # ip of the jail, replace with a ip in the same subsystem as your NAS<br />
jail_proto_interface=&#8221;fxp0&#8243; # Network Interface to use, replace with your NAS interface name<br />
jail_proto_devfs_enable=&#8221;YES&#8221; # use devfs<br />
jail_proto_mount_enable=&#8221;YES&#8221; # mount YES&#124;NO<br />
jail_proto_fstab=&#8221;/jail/conf/fstab.plugins&#8221; # File with Filesystems to mount</p>
<h2><strong>And the last step is to create the jail start-up script</strong></h2>
<ul>
<li>nano /jail/conf/jail_start</li>
</ul>
<p>Copy into jail_start the following lines:<br />
#!/bin/tcsh -x<br />
#mounting to /jail<br />
mkdir /jail<br />
mount_nullfs /mnt/data/jail /jail<br />
# copy jail binaries to /usr, not needed if N4F is 454 or up<br />
# because Daoyama include needed files, uncomment if you use low .454 version<br />
# cp -r /jail/conf/root/ /<br />
# link config files to /etc<br />
ln -s /jail/conf/rc.conf.local /etc<br />
#start all jails<br />
/etc/rc.d/jail start</p>
<p>For the startup script to be executable we have to make it executable via the following command:</p>
<ul>
<li>chmod 755 /jail/conf/jail_start</li>
</ul>
<p>And to make it run each time the Nas server is started we add it via the webgui under: System&#124;Advanced&#124;Command Scripts.</p>
<p>Command: /mnt/data/jail/conf/jail_start<br />
Type: PostInit</p>
<p>Save and apply, and reboot your server. After a successful reboot you can check your new jail via SSH using the jls command. If everything went as it should you should see something like this:</p>
<p style="padding-left:30px;">JID             IP Address                   Hostname                      Path<br />
1                192.168.1.201             plugins.domain.local       /jail/plugins</p>
<p>If the output of the jls command is different, type the following command: rehash and then try the jls command again. If the output is still different then go over the steps and verify that you didn&#8217;t miss a step.</p>
<p>P.s. to enter the jail you use the jexec command in the case of the plugins jail you would type in the ssh console &#8221; jexec 1 csh &#8220;.</p>
<p>So basically that&#8217;s how you set up a FreeBSD jail on a Nas4Free embedded install.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Solve the corruped ports problem]]></title>
<link>http://hocje.wordpress.com/2013/02/04/solve-the-corruped-ports-problem/</link>
<pubDate>Mon, 04 Feb 2013 15:53:48 +0000</pubDate>
<dc:creator>Gibbon Hermit (Einsiedler)</dc:creator>
<guid>http://hocje.wordpress.com/2013/02/04/solve-the-corruped-ports-problem/</guid>
<description><![CDATA[When the installation of ports on Freebsd corrupt, like unexpectedly lost of power supply. I can go]]></description>
<content:encoded><![CDATA[<p>When the installation of ports on Freebsd corrupt, like unexpectedly lost of power supply. I can go to the distfiles.</p>
<p><a href="http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/ports-using.html">z.B:</a></p>
<blockquote><p># make</p>
<p>&#62;&#62; lsof_4.57D.freebsd.tar.gz doesn&#8217;t seem to exist in <span style="color:#008000;">/usr/ports/distfiles/.</span></p>
<p>&#62;&#62; Attempting to fetch from ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/.</p>
<p>===&#62; Extracting for lsof-4.57</p>
<p>&#62;&#62; Checksum OK for lsof_4.57D.freebsd.tar.gz.</p></blockquote>
<p>Using the Ports Collection assumes a working Internet connection. Otherwise, manually obtain and place a copy of the distfile into /usr/ports/distfiles.</p>
<p>If the file is corruped, then the Checksum will be stopped, so I must delete the tar file under /usr/ports/distfiles/, Then back to the ports, do make install again.</p>
<p>Otherwise,</p>
<blockquote><p># rm -rf /usr/ports/*</p>
<p># rm -rf /var/db/portsnap/files/*</p>
<p>#portsnap fetch extract</p></blockquote>
<p>That will completely clear out the ports tree, remove all the history for portsnap, fetch the latest portsnap tarball, and create a new ports tree.</p>
<p>Since you have filesystem corruption already, the &#8220;nuke&#8217;n pave&#8221; method is the only way to be sure everything is in place.</p>
<p>&#8212;-by Phoenix</p>
<p><a href="http://forums.freebsd.org/showthread.php?t=30508" rel="nofollow">http://forums.freebsd.org/showthread.php?t=30508</a></p>
<p>&#160;</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[FreeBsd resize VirtualBox disk]]></title>
<link>http://attendees.wordpress.com/2013/02/04/freebsd-resize-virtualbox-disk/</link>
<pubDate>Mon, 04 Feb 2013 15:27:15 +0000</pubDate>
<dc:creator>ivboko</dc:creator>
<guid>http://attendees.wordpress.com/2013/02/04/freebsd-resize-virtualbox-disk/</guid>
<description><![CDATA[I have a FreeBsd 9.1 VirtualBox guest machine I&#8217;ve created with a 10G disk. After installing m]]></description>
<content:encoded><![CDATA[<p>I have a FreeBsd 9.1 VirtualBox guest machine I&#8217;ve created with a 10G disk. After installing my usual programs, I&#8217;ve got the not-so-friendly &#8220;disk full&#8221; message.What to do:Resize the virtual disk:VBoxManage \ modifyhd &#8220;FULL_PATH_TO_VDI&#8221; \ &#8211;resize SIZE_IN_MBSFor example: VBoxManage modifyhd &#8230;<img src="http://feeds.feedburner.com/~r/delphifeeds/~4/pWIqNkwS32E" height="1" width="1" /></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[WindowMaker on FreeBSD]]></title>
<link>http://sparcie.wordpress.com/2013/02/04/windowmaker-on-freebsd/</link>
<pubDate>Mon, 04 Feb 2013 04:38:37 +0000</pubDate>
<dc:creator>sparcie</dc:creator>
<guid>http://sparcie.wordpress.com/2013/02/04/windowmaker-on-freebsd/</guid>
<description><![CDATA[WindowMaker on FreeBSD This weekend I decided it was time to upgrade the software on the two functio]]></description>
<content:encoded><![CDATA[<div id="attachment_1093" class="wp-caption alignleft" style="width: 310px"><a href="http://sparcie.wordpress.com/2013/02/04/windowmaker-on-freebsd/screenshot-untitled-window/" rel="attachment wp-att-1093"><img class="size-medium wp-image-1093" alt="The basic WindowMaker interface plus a few applications." src="http://sparcie.files.wordpress.com/2013/02/screenshot-untitled-window.png?w=300&#038;h=193" width="300" height="193" /></a><p class="wp-caption-text">WindowMaker on FreeBSD</p></div>
<p>This weekend I decided it was time to upgrade the software on the two functional Sun Sparc systems I have. I have FreeBSD on the newer of the two machines, and had been trying various window managers to use. The older Sparc has FVWM (recently upgraded to the latest version) on it so whilst it is really my favourite for reasons of nostalgia, I felt I&#8217;d like something different. I had tried XFce, but many features of it were broken on the FreeBSD/Sparc64 platform. So I installed a few other window managers to see what they were like.</p>
<p>I had never installed WindowMaker before but had certainly heard of it. I remember looking through many package lists to see many of the dock apps, and wondering about the window manager itself. WindowMaker has a similar style to the old NeXT workstations operating system called NeXTStep the system that would eventually become mac OSX.</p>
<p>The first thing I noticed when I fired it up was how minimalist it appeared to be. I found the root menu relatively quickly and managed to work out most of how it works within a few hours. I was quite impressed with how fast the interface responded when I clicked on items, although FVWM is a slight bit faster but not by much. There is a very nifty configuration program built-in that controls pretty much everything you could want to change. This makes it very newb friendly, I was able to set up my desktop the way I wanted it very quickly.</p>
<p>It isn&#8217;t the most pretty of window managers however, and there is no pager built-in. Workspaces are managed by the clip icon, usually at the top left of the screen. When using it via X on the local network it was quite fast, but over a VPN or SSH connection it became quite sluggish when FVWM maintains reasonable speed. I&#8217;ve heard that it can get slow if you have a large number of dock apps running.</p>
<p>Overall I quite like WindowMaker, whilst it isn&#8217;t a replacement for FVWM for me, it will be a nifty interface for my newer sparc machine. I like that I can configure most things with the user interface, and the large number of dock apps available for it. It isn&#8217;t so useful when I&#8217;m connecting into my machine externally however as the speed drops of significantly. It&#8217;s available on all the different distributions and the various BSD systems.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[How to find files in Freebsd]]></title>
<link>http://hocje.wordpress.com/2013/02/03/how-to-find-files-in-freebsd/</link>
<pubDate>Sun, 03 Feb 2013 15:42:14 +0000</pubDate>
<dc:creator>Gibbon Hermit (Einsiedler)</dc:creator>
<guid>http://hocje.wordpress.com/2013/02/03/how-to-find-files-in-freebsd/</guid>
<description><![CDATA[FIND A FILE OR A DIRECTORY: The locate command is good for finding files and directories.  Enter som]]></description>
<content:encoded><![CDATA[<p>FIND A FILE OR A DIRECTORY:</p>
<p>The locate command is good for finding files and directories.  Enter something similar to:</p>
<p>locate someprogram &#124; more</p>
<p>If that doesn&#8217;t work, perhaps try the whereis or find commands:</p>
<p>whereis someprogram &#124; more</p>
<p>find / -name &#8220;someprogram*&#8221;</p>
<p>For variations on these commmands, you can type:</p>
<p>man locate</p>
<p>man whereis</p>
<p>man find</p>
<p><a href="http://www.us-webmasters.com/FreeBSD/Tips-Hints-Tricks/How-to-Find-Files-and-Directories-on-FreeBSD/" rel="nofollow">http://www.us-webmasters.com/FreeBSD/Tips-Hints-Tricks/How-to-Find-Files-and-Directories-on-FreeBSD/</a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Generate hash]]></title>
<link>http://packthub.wordpress.com/2013/02/01/gen-hash/</link>
<pubDate>Fri, 01 Feb 2013 22:19:30 +0000</pubDate>
<dc:creator>z3r0bit</dc:creator>
<guid>http://packthub.wordpress.com/2013/02/01/gen-hash/</guid>
<description><![CDATA[Generate md5 hash openssl passwd -1 Generate sha512 hash echo "password" | openssl dgst -sha512]]></description>
<content:encoded><![CDATA[<p><strong>Generate md5 hash</strong><br />
<code>openssl passwd -1</code></p>
<p><strong>Generate sha512 hash</strong><br />
<code>echo "password" &#124; openssl dgst -sha512</code></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[chmod]]></title>
<link>http://packthub.wordpress.com/2013/02/01/chmod/</link>
<pubDate>Fri, 01 Feb 2013 22:14:10 +0000</pubDate>
<dc:creator>z3r0bit</dc:creator>
<guid>http://packthub.wordpress.com/2013/02/01/chmod/</guid>
<description><![CDATA[Find all directories in current directory and change permissions find . -type d -print0 | xargs -0 c]]></description>
<content:encoded><![CDATA[<p><strong>Find all directories in current directory and change permissions</strong><br />
<code>find . -type d -print0 &#124; xargs -0 chmod 755</code></p>
<p><strong>Find all files in current directory and change permissions</strong><br />
<code>find . -type f -print0 &#124; xargs -0 chmod 644</code></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Introduction to PfSense]]></title>
<link>http://regenet.wordpress.com/2013/02/01/introduction-to-pfsense/</link>
<pubDate>Fri, 01 Feb 2013 12:30:46 +0000</pubDate>
<dc:creator>Oaktree</dc:creator>
<guid>http://regenet.wordpress.com/2013/02/01/introduction-to-pfsense/</guid>
<description><![CDATA[Welcome at this post about PfSense, I will explain some background information regarding this amazin]]></description>
<content:encoded><![CDATA[<p><a href="http://regenet.files.wordpress.com/2013/02/pfsense.png"><img class="size-full wp-image-214 aligncenter" alt="pfsense" src="http://regenet.files.wordpress.com/2013/02/pfsense.png?w=300&#038;h=110" width="300" height="110" /></a>Welcome at this post about PfSense, I will explain some background information regarding this amazing software. Later this month I will build a dedicated system on which I will run PfSense to secure my network, privacy and extend the possibilities of my router.</p>
<p><strong>What is Pfsense ?</strong></p>
<p>pfSense is a free, open source customized distribution of <a href="http://www.freebsd.org">FreeBSD</a> tailored for use as a firewall and router. In addition to being a powerful, flexible firewalling and routing platform, it includes a long list of related features and a package system allowing further expandability without adding bloat and potential security vulnerabilities to the base distribution. pfSense is a popular project with more than 1 million downloads since its inception, and proven in countless installations ranging from small home networks protecting a PC and an Xbox to large corporations, universities and other organizations protecting thousands of network devices.</p>
<p>This project started in 2004 as a fork of the <a href="http://m0n0.ch/wall/">m0n0wall</a> project, but focused towards full PC installations rather than the embedded hardware focus of m0n0wall. pfSense also offers an embedded image for Compact Flash based installations, however it is not our primary focus.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Programming the Arduino Uno and Nano under PCBSD 9.1]]></title>
<link>http://grenville.wordpress.com/2013/01/29/programming-the-arduino-uno-and-nano-under-pcbsd-9-1/</link>
<pubDate>Tue, 29 Jan 2013 10:25:37 +0000</pubDate>
<dc:creator>grenville</dc:creator>
<guid>http://grenville.wordpress.com/2013/01/29/programming-the-arduino-uno-and-nano-under-pcbsd-9-1/</guid>
<description><![CDATA[This post describes the small patch required to the FreeBSD Port of avrdude 5.11 to enable programmi]]></description>
<content:encoded><![CDATA[<p>This post describes the small patch required to the FreeBSD Port of avrdude 5.11 to enable programming of the Arduino Uno R3 directly from a <a href="http://www.pcbsd.org/" target="_blank">PCBSD 9.1</a> desktop.</p>
<p>At the time of writing, the Arduino IDE version 1.0.3 is available as a PCBSD &#8220;<a href="http://wiki.pcbsd.org/index.php/Using_AppCafe" target="_blank">PBI</a>&#8220;. This PBI bundles avrdude version 5.11, which does the low-level programming for a wide variety of Arduino devices. As supplied, the Arduino IDE had no problem programming <a title="My first (clone) Arduino Nano 3.0" href="http://grenville.wordpress.com/2012/06/06/my-first-clone-arduino-nano/" target="_blank">my Nano</a> over the USB-serial interface. However, it refused to program <a title="My first (clone) Arduino Uno R3" href="http://grenville.wordpress.com/2012/05/30/my-first-arduino-uno-rev3-clone/" target="_blank">my Uno R3</a> &#8212; I would get the following error each time:</p>
<pre>avrdude: stk500_getsync(): not in sync: resp=0x00</pre>
<p>Turns out to be a problem with avrdude sending a too-short reset signal to the Uno over the USB-serial connection. Bob Frazier <a href="https://savannah.nongnu.org/bugs/index.php?35208" target="_blank">noted</a> the solution (extending part of the reset signal from 50ms to 250ms) in early January 2012. This is  <a href="http://svn.savannah.nongnu.org/viewvc?view=rev&#38;root=avrdude&#38;revision=1036" target="_blank">fixed</a>  in avrdude&#8217;s main development branch, but hasn&#8217;t (<a href="http://www.freebsd.org/cgi/query-pr.cgi?pr=163749" target="_blank">yet</a>) been incorporated into the FreeBSD Port for avrdude 5.11.</p>
<p>The trick is to build avrdude from Ports (with patch applied), install the new avrdude executable into its usual (non-PBI) location, delete the PBI&#8217;s own version of avrdude and symlink in the newly built Ports version.</p>
<p>First, fetch and unpack the avrdude Port&#8217;s source files:</p>
<pre>  [gja@gjadesktop] /usr/ports/devel/avrdude# make fetch
  ===&#62;  License GPLv2 accepted by the user
  =&#62; avrdude-5.11.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
  =&#62; Attempting to fetch http://nongnu.askapache.com/avrdude/avrdude-5.11.tar.gz
  avrdude-5.11.tar.gz                           100% of  536 kB  148 kBps
  [gja@gjadesktop] /usr/ports/devel/avrdude#
  [gja@gjadesktop] /usr/ports/devel/avrdude# make extract
  ===&#62;  License GPLv2 accepted by the user
  ===&#62;  Extracting for avrdude-5.11
  =&#62; SHA256 Checksum OK for avrdude-5.11.tar.gz.
  [gja@gjadesktop] /usr/ports/devel/avrdude#</pre>
<p>Install the patch in a form that the Port will automagically apply during &#8216;make build&#8217;:</p>
<pre>  [gja@gjadesktop] /usr/ports/devel/avrdude# mkdir files
  [gja@gjadesktop] /usr/ports/devel/avrdude# cd files
  [gja@gjadesktop] /usr/ports/devel/avrdude/files# fetch http://www.mrp3.com/patch-arduino.c.20120102.txt
  patch-arduino.c.20120102.txt                  100% of  442  B   64 kBps
  [gja@gjadesktop] /usr/ports/devel/avrdude/files# mv patch-arduino.c.20120102.txt patch-arduino.c
  [gja@gjadesktop] /usr/ports/devel/avrdude/files# cd ../</pre>
<p>Build &#38; install the new avrdude:</p>
<pre>  [gja@gjadesktop] /usr/ports/devel/avrdude# make build
  ===&#62;  Patching for avrdude-5.11
  ===&#62;  Applying FreeBSD patches for avrdude-5.11
  ===&#62;  Configuring for avrdude-5.11
  checking build system type... amd64-portbld-freebsd9.1
  checking host system type... amd64-portbld-freebsd9.1
  checking target system type... amd64-portbld-freebsd9.1
	  [...various build-related messages...]
  cc -Wall -Wno-pointer-sign -O2 -pipe -I/usr/local/include -fno-strict-aliasing   -L/usr/local/lib -o avrdude avrdude-main.o avrdude-term.o ./libavrdude.a -lusb -lusb -lftdi -lusb  -lm -lreadline -lncurses -ltermcap
  [gja@gjadesktop] /usr/ports/devel/avrdude#
  [gja@gjadesktop] /usr/ports/devel/avrdude# make install
  ===&#62;  Installing for avrdude-5.11
  ===&#62;   Generating temporary packing list
  ===&#62;  Checking if devel/avrdude already installed
  make  install-recursive
  test -z "/usr/local/bin" &#124;&#124; ./install-sh -c -d "/usr/local/bin"
    install  -s -o root -g wheel -m 555 avrdude '/usr/local/bin'
  Backing up avrdude.conf in /usr/local/etc
  test -z "/usr/local/etc" &#124;&#124; ./install-sh -c -d "/usr/local/etc"
  install  -o root -g wheel -m 444 avrdude.conf '/usr/local/etc'
  test -z "/usr/local/man/man1" &#124;&#124; ./install-sh -c -d "/usr/local/man/man1"
  install  -o root -g wheel -m 444 avrdude.1 '/usr/local/man/man1'
  ===&#62;   Compressing manual pages for avrdude-5.11
  ===&#62;   Registering installation for avrdude-5.11
  [gja@gjadesktop] /usr/ports/devel/avrdude#</pre>
<p>Replace the PBI&#8217;s version of avrdude:</p>
<pre>  [gja@gjadesktop]/usr/ports/devel/avrdude# cd /usr/pbi/arduino-amd64/
  [gja@gjadesktop] /usr/pbi/arduino-amd64# mv bin/avrdude bin/avrdude-pbi-orig
  [gja@gjadesktop] /usr/pbi/arduino-amd64# ln -s /usr/local/bin/avrdude bin/avrdude</pre>
<p>(This, of course, is a nasty hack that violates the normally self-contained nature of a PBI. Hopefully a future update of the Arduino IDE PBI will include a suitably patched avrdude.)</p>
<p>But in any case, I can now program my Uno R3.</p>
<p>The patch itself is rather small, altering one line of code:</p>
<pre>  [gja@gjadesktop] /usr/ports/devel/avrdude# diff work/avrdude-5.11/arduino{.c,.c.orig}
  96c96
  &#60;   usleep(250*1000); // increased from 50msec to 250msec - BBB
  ---
  &#62;   usleep(50*1000);
  [gja@gjadesktop] /usr/ports/devel/avrdude#</pre>
<p>Fun times ahead!</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Kirk McKusick and the FreeBSD Project]]></title>
<link>http://axialcorps.wordpress.com/2013/01/28/kirk-mckusick-and-the-freebsd-project/</link>
<pubDate>Mon, 28 Jan 2013 23:28:42 +0000</pubDate>
<dc:creator>Jeff Rand</dc:creator>
<guid>http://axialcorps.wordpress.com/2013/01/28/kirk-mckusick-and-the-freebsd-project/</guid>
<description><![CDATA[AxialMarket HQ was proud to host Kirk McKusick on January 17th in a discussion about the history of]]></description>
<content:encoded><![CDATA[<p><a href="http://axialcorps.files.wordpress.com/2013/01/tumblr_mgtymvhbqb1rrczl1o10_1280.jpg?w=300"><img class="size-medium wp-image-100 alignright" alt="Working the crowd" src="http://axialcorps.files.wordpress.com/2013/01/tumblr_mgtymvhbqb1rrczl1o10_1280.jpg?w=300&#038;h=225" width="300" height="225" /></a>AxialMarket HQ was proud to host <a href="http://en.wikipedia.org/wiki/Marshall_Kirk_McKusick">Kirk McKusick</a> on January 17th in a discussion about the history of <a href="http://en.wikipedia.org/wiki/FreeBSD">FreeBSD</a>, the <a href="http://en.wikipedia.org/wiki/FreeBSD_Foundation">FreeBSD Foundation</a>, and what it takes to keep an open source project alive and vibrant. Kirk&#8217;s talk was focused on the community aspect of the FreeBSD Project. Many open source projects have a short shelf-life, starting with one leader and a galvanized base. Often, projects like these fail because of disinterest by the leader, who by the nature of not choosing a successor (or not having one) the vision of the project is lost.</p>
<p><a href="http://axialcorps.files.wordpress.com/2013/01/tumblr_mgtymvhbqb1rrczl1o9_r1_1280.jpg"><img class="wp-image-99 alignleft" alt="More about the Project" src="http://axialcorps.files.wordpress.com/2013/01/tumblr_mgtymvhbqb1rrczl1o9_r1_1280.jpg?w=229&#038;h=306" width="229" height="306" /></a>The FreeBSD Project has solved this problem by distributing the leadership to a group of 9 Core members, who are democratically elected by the Committers. The 275 Committers of the project can submit code changes to the master repositories, and integrate the changes submitted by around 5500  Contributors, who cannot. Contributors can be promoted to a Committer after a successful career of adding high quality code. It&#8217;s this organic structure that has helped the Project be successful and survive for over 30 years. Learn more about the FreeBSD Project&#8217;s <a href="http://people.freebsd.org/~jcamou/en_US.ISO8859-1/books/dev-model/model-orgstruct.html">organization structure here</a>.</p>
<p><a href="http://axialcorps.files.wordpress.com/2013/01/tumblr_mgtymvhbqb1rrczl1o8_1280.jpg"><img class="size-medium wp-image-98 alignright" alt="Beastie" src="http://axialcorps.files.wordpress.com/2013/01/tumblr_mgtymvhbqb1rrczl1o8_1280.jpg?w=300&#038;h=225" width="300" height="225" /></a>The Project&#8217;s interaction as a legal entity are handled by the FreeBSD Foundation, which is a 501(c)(3) non-profit organization dedicated to supporting the Project financially and representing it where a legal entity is required. Kirk McKusick is a Director, and helped build the governance structure for the Project. He also holds the copyright on the <a href="http://en.wikipedia.org/wiki/BSD_Daemon">BSD Daemon,</a> better known as Beastie.</p>
<p>We had a great crowd of over 60 who came to talk with Kirk. There was a big contingent from <a href="http://www.nycbug.org/">NYC*Bug</a>, other Unix user groups and message distros. There were a lot of great questions, including asking about the benefits of the <a href="http://opensource.org/licenses/BSD-2-Clause">BSD License</a> vs the <a href="http://www.gnu.org/licenses/gpl.html">GPL</a>, how the Foundation builds relationships, both public and private, with large companies that run FreeBSD.<br />
<a href="http://axialcorps.files.wordpress.com/2013/01/tumblr_mgtymvhbqb1rrczl1o3_1280.jpg?w=300"><img class="alignleft" alt="Wieste, Ike and Eric" src="http://axialcorps.files.wordpress.com/2013/01/tumblr_mgtymvhbqb1rrczl1o3_1280.jpg?w=300&#038;h=225" width="300" height="225" /></a>We had two surprise attendees in the crowd, <a href="http://en.wikipedia.org/wiki/Wietse_Venema">Wietse Venema</a>, the author of <a href="http://en.wikipedia.org/wiki/Postfix_(software)">postfix</a>, and <a href="http://en.wikipedia.org/wiki/Eric_Allman">Eric Allman</a>, the author of <a href="http://en.wikipedia.org/wiki/Sendmail">sendmail</a>. I had a chance to sit down and pick Eric&#8217;s brain on a couple of ideas we&#8217;ve been talking about at HQ. While getting his master at Berkeley in the 1980&#8242;s, Eric worked on <a href="http://en.wikipedia.org/wiki/Ingres_(database)">Ingress</a>, a fully open source ACID compliant RDBMS with <a href="http://en.wikipedia.org/wiki/Michael_Stonebraker">Michael Stonebraker</a>, Jerry Held and others. Ingress is the predecessor to Sybase, Microsoft SQL Server, and Postgres (Post Ingress). We floated the idea of building in Unix permissions to the row level, allowing for more granular data access. <a href="http://axialcorps.files.wordpress.com/2013/01/tumblr_mgtymvhbqb1rrczl1o5_1280.jpg?w=300"><em id="__mceDel"><img class="alignright" alt="Talking with Eric" src="http://axialcorps.files.wordpress.com/2013/01/tumblr_mgtymvhbqb1rrczl1o5_1280.jpg?w=300&#038;h=225" width="300" height="225" /></em></a>Ingress had tried to apply row level permissions, but removed it because of the highly complicated nature of resolving multiple levels of permission granting across users. Since we’re not planning to add any grant permissions for this Eric said our crazy idea was feasible, but wasn&#8217;t sure it was advisable. All we heard was <em>feasible</em>.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple – Notes / summary for the “OS X Support Essentials 10.8 Exam”]]></title>
<link>http://bjornhouben.wordpress.com/2013/01/28/apple-notes-summary-for-the-os-x-support-essentials-10-8-exam/</link>
<pubDate>Mon, 28 Jan 2013 17:20:37 +0000</pubDate>
<dc:creator>Bjorn Houben</dc:creator>
<guid>http://bjornhouben.wordpress.com/2013/01/28/apple-notes-summary-for-the-os-x-support-essentials-10-8-exam/</guid>
<description><![CDATA[As I already wrote in yesterday&#8217;s post Apple &#8211; Notes / summary for the &#8220;Mac Integr]]></description>
<content:encoded><![CDATA[<p>As I already wrote in yesterday&#8217;s post <a title="Apple – Notes / summary for the “Mac Integration Basics 10.8 Exam”" href="http://bjornhouben.wordpress.com/2013/01/27/apple-notes-summary-for-the-mac-integration-basics-10-8-exam/" target="_blank">Apple &#8211; Notes / summary for the &#8220;Mac Integration Basics 10.8 Exam&#8221;</a>, I&#8217;ve mainly been working with Microsoft products all my life. Since recently however, I&#8217;m also trying to get more familiar with Apple, Mac products and OS X and am trying to <a title="Apple OS X Certifications" href="http://training.apple.com/certification/osx" target="_blank">become certified</a>.</p>
<p>One of the reasons, I&#8217;d never used Apple products before was because I never really deemed it necessary. Nowadays the number of Mac users seem to be growing and there is more demand for people with Mac / OS X knowledge.</p>
<p>As such my quest for knowledge and certification began. For me personally this meant:</p>
<ul>
<li>Using Apple online resources
<ul>
<li><a href="http://www.apple.com/support/">http://www.apple.com/support/</a></li>
<li><a href="http://switchtoamac.com/guides/mac-os-x/spotlight/extend-spotlight-with-plugins.html">http://switchtoamac.com/</a></li>
<li><a href="http://training.apple.com/itpro/macinteg/exam">http://training.apple.com/itpro/macinteg/exam</a></li>
</ul>
</li>
<li>Reading books (mainly the great book <a title="http://www.peachpit.com/store/apple-pro-training-series-os-x-support-essentials-9780321887191" href="OS X Support Essentials" target="_blank">Apple Pro Training Series: OS X Support Essentials</a>. Before purchasing, you might also want to look for coupon codes as it might save you 30% off or more.)</li>
<li>Watching computer based training (CBT) videos</li>
<li>Working with OS X (thanks go out to my employer <a title="Open Line" href="http://www.openline.nl" target="_blank">Open Line</a> for providing me with a MacBook Pro, books and most importantly &#8230; TIME)
<ul>
<li>Personally I didn&#8217;t think it was necessary to take a course at a training center, but some people might prefer this.</li>
</ul>
</li>
<li>Asking colleagues for help (thanks guys !!!)</li>
<li>Making sure that I understood everything and if it wasn&#8217;t the case, look it up.</li>
<li>Taking notes / creating this summary blog post that can be used as a reference if needed</li>
<li>Testing my knowledge using test questions from <a title="Revise IT" href="https://itunes.apple.com/gb/app/revise-it/id480682657?mt=8" target="_blank">Revise IT</a></li>
</ul>
<p>I&#8217;ve taken the exam last friday and passed with 92.5%. Even though I think it was a pretty good score, I still had to make some educated guesses. This made me realize that there&#8217;s still a lot to learn and that getting more experience is important as well.</p>
<p>I also want to mention that I took the exam at <a title="LAI the training institute for IT professionals" href="http://www.lai.nl" target="_blank">LAI the training institute for IT professionals</a> in Schiedam (The Netherlands). They were really kind, helpful and service oriented. The waiting area and test room were great and they even provided a pastry and all kind of drinks at no charge. This has been my best test taking experience to date, so keep up the good work guys.</p>
<p>I&#8217;m looking forward to attending the OS X Server 10.8 course at <a title="LAI the training institute for IT professionals" href="http://www.lai.nl" target="_blank">LAI the training institute for IT professionals</a> at the end of March. I&#8217;ll try to create another blog post about this as well.</p>
<p>But now back to the important stuff, here are my notes/summary. I hope it is useful. If you find any errors or have any suggestions, please leave a comment.</p>
<h1><strong>Notes / summary for the “OS X Support Essentials 10.8 Exam”</strong></h1>
<p><!--more--></p>
<h1><strong><span style="text-decoration:underline;">Installation</span></strong></h1>
<ul>
<li>OS X Mountain Lion can only be aquired from the Mac App Store.</li>
<li>Install preparations:
<ul>
<li>Needs to be supported model
<ul>
<li>iMac (Mid 2007 or newer)</li>
<li>MacBook (Late 2008 Aluminum, or Early 2009 or newer)</li>
<li>MacBook Pro (Mid/Late 2007 or newer)</li>
<li>Xserve (Early 2009)</li>
<li>MacBook Air (Late 2008 or newer)</li>
<li>Mac mini (Early 2009 or newer)</li>
<li>Mac Pro (Early 2008 or newer)</li>
</ul>
</li>
<li>Requires 2GB RAM, 8GB of available HDD space. Also firmware needs to be up-to-date. More info on the <a title="OS X Mountain Lion Technical Specifications" href="http://www.apple.com/osx/specs/" target="_blank">website</a>.</li>
<li>Upgrade from OS X v10.6.8 or later.</li>
<li>Don&#8217;t install an older version of OS X than the <a title="Mac OS X versions (builds) for computers" href="http://support.apple.com/kb/HT1159?viewlocale=en_US" target="_blank">version that came with your Mac</a>. Newer hardware might not be supported, possible issues are described <a title="Don't install a version of Mac OS X earlier than what came with your Mac" href="http://support.apple.com/kb/HT2186?viewlocale=en_US" target="_blank">here</a>.</li>
<li>Before upgrading:
<ul>
<li>Check if applications are compatible.</li>
<li>Backup data.</li>
<li>Ensure firmware is up-to-date (System Information, Boot Rom Version).</li>
</ul>
</li>
<li>Review configuration by going to the Apple icon in the upper left corner. Use the option key to switch between &#8220;About this Mac&#8221; and &#8220;System Information&#8221;. If desirable, save system information as .spx or print it to PDF. For older OS X versions, use &#8220;System Profiler&#8221;.
<ul>
<li>In &#8220;About this Mac&#8221; you can click on the OS X version multiple times so it will show Build and Serial Number also.</li>
</ul>
</li>
<li>Make backups if appropriate and make sure you can recover from them.</li>
</ul>
</li>
<li>Install options:
<ul>
<li><a title="OS X Recovery" href="http://www.apple.com/osx/recovery/" target="_blank">Using OS X recovery disk (700MB) by booting computer while holding the option key</a>.
<ul>
<li>Restore from Time Machine Backup</li>
<li>Reinstall OS X.</li>
<li>Use disk utility to prepare/fix disk for installation.</li>
</ul>
</li>
<li>Install from DVD.</li>
<li>Install from internet source.</li>
<li>Upgrade by downloading OS X Mountain Lion from the App Store.
<ul>
<li>Installation process will delete installer application. Quit the installer if you want to upgrade several computers or create a full OS X recovery disk.</li>
</ul>
</li>
</ul>
</li>
<li>Possible destination disk (startup volume) situations preventing installation:
<ul>
<li>Disk is faulty (hardware). In system information you can check the service and support coverage status.</li>
<li>Disk contains Time Machine backups.</li>
<li>Disk does not use required GUID (GPT) partitioning scheme.</li>
<li>Disk is not formatted as Mac OS Extended (Journaled) volume.</li>
<li><a title="OS X Lion: Installer reports &#34;This disk cannot be used to start up your computer" href="http://support.apple.com/kb/TS3926?viewlocale=en_US" target="_blank">Disk needs to be slightly resized (reduced with 128MB).</a></li>
<li><a title="OS X: &#34;Some features of Mac OS X are not supported for the disk (volume name)&#34; appears during installation" href="http://support.apple.com/kb/HT4649?viewlocale=en_EN" target="_blank">Disk uses software RAID or uses nonstandard Boot Camp partitioning. Installation is possible, but OS X Recovery HD cannot be created.</a></li>
</ul>
</li>
<li>Installation disk can be an external disk as well. Does not need to be internal disk.</li>
<li>For monitoring and/or troubleshooting open the &#8220;Installer log&#8221; during installation or after installation use the &#8220;Console&#8221; application and open the &#8220;/var/log/install.log&#8221;.</li>
</ul>
<h1><strong><span style="text-decoration:underline;">Initial configuration steps</span></strong></h1>
<ul>
<li>Configuration can be performed:
<ul>
<li>Manually using Setup Assistant/System Setup at user/system initialization.</li>
<li>Manually using the System Preferences app.</li>
<li>Manually by <a title="OS X Server: How to edit configuration files" href="http://support.apple.com/kb/HT4850" target="_blank">editing configuration files</a>.</li>
<li>Automated using configuration profiles.</li>
</ul>
</li>
<li>You can configure the computer name from within System Preferences, Sharing.</li>
<li>Software updates:
<ul>
<li>Software update preferences apply to all users now with Mountain Lion.</li>
<li>Keep in mind that OS X system updates can be bigger than 1 GB. Consider <a title="OS X Server: How to cascade Software Update Servers from a Central Software Update Server" href="http://support.apple.com/kb/HT3765" target="_blank">deploying a central software update server</a>. Alternatively download updates to a local repository from <a href="http://support.apple.com/downloads" rel="nofollow">http://support.apple.com/downloads</a>.</li>
<li>Client configuration for using a central software update server is not possible from within the GUI. Use a profile instead.</li>
</ul>
</li>
<li>Setup Assistant helps getting the system configured properly for users. Includes by example language, keyboard, network settings, migration assistant, location settings, Apple ID, iCloud, time zone, registration and setting the computer account. The computer account is the only initial administrative user account.
<ul>
<ul>
<li>Migration assistant provide options to migrate settings, accounts and data:
<ul>
<li>From another Mac. Using ethernet of firewire. Requires Mac OS X v10.4 or later and it should be updated to the latest version.</li>
</ul>
</li>
</ul>
<ul>
<ul>
<li>From a Windows PC.</li>
<li>From Time Machine or another disk (including external disks or other Macs in <a title="OS X Lion: Transfer files between two computers using target disk mode" href="http://support.apple.com/kb/PH3838" target="_blank">target disk mode</a> connected via FireWire or Thunderbolt).</li>
</ul>
</ul>
</ul>
</li>
<li>Configuration profile
<ul>
<li>Originally created to provide easy setup for iOS devices.</li>
<li>Is a document that includes instructions for specific system settings and/or applications.</li>
<li>Filename extension is .mobileconfig</li>
<li>Verify the profile content and its result by testing it properly.</li>
<li>Consider signing configuration profiles for added security.</li>
<li>Install by simply double clicking if you have administrative privileges.</li>
<li>Can be created using 3rd party tools or these ones created by Apple:
<ul>
<li>iPhone Configuration Utility.</li>
<li>Apple Configurator application.</li>
<li>Profile Manager service of OS X server.</li>
</ul>
</li>
<li>Can be distributed:
<ul>
<li>In any way you would distribute any other file (b.e. e-mail, fileserver, website).</li>
<li>Using push for OS X systems that are enrolled in a management server like by example OS X Server Profile Manager.</li>
</ul>
</li>
<li>Open Profiles in System Preferences to see the profiles on a computer.
<ul>
<li>Profiles will only show in System Preferences if a Profile is installed.</li>
</ul>
</li>
<li>More information in the <a title="Technical White Paper: Managing OS X with Configuration Profiles" href="http://training.apple.com/pdf/wp_osx_configuration_profiles.pdf" target="_blank">Technical White Paper: Managing OS X with Configuration Profiles</a>.</li>
</ul>
</li>
</ul>
<h1><strong><span style="text-decoration:underline;">OS X Recovery</span></strong></h1>
<ul>
<li>Replaces functionality previously accessed via OS X installation DVD.</li>
<li>Provides access to:
<ul>
<li>Configuration and troubleshooting utilities.
<ul>
<li>Disk Utility, storage-related administration and maintenance.</li>
<li>Firmware Password Utility, secure startup process by disabling all alternate startup modes without a password.</li>
<li>Network Utility, network and internet troubleshooting utility.</li>
<li>Terminal, UNIX CLI of OS X. Most useful command: resetpassword
<ul>
<li>Reset password via Terminal.
<ul>
<li>Also resets home folder permissions to default.</li>
<li>Consider mitigating risks by setting a firmware password and/or enabling FileVault 2.</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>Restore from Time machine Backup.</li>
<li>Reinstall OS X.</li>
</ul>
</li>
<li>By default located on the primary system disk. Macs with newer firmware can start up from an Apple server over the internet and access OS X Recovery features.</li>
<li>Accessed by restarting while holding command+R</li>
<li>Hold option key for startup manager with all boot options, including external OS X Recovery disks.</li>
<li>When disks are protected by FileVault 2, the disk needs to be unlocked before performing actions.</li>
<li>In OS X Recovery, Ethernet and Wi-Fi networking is available if the network provides DHCP services.
<ul>
<li>Can also browse the internet.</li>
</ul>
</li>
<li>External OS X Recovery disk creation options:
<ul>
<li>Create a minimal OS X Recovery disk using the OS X Recovery Disk Assistant.
<ul>
<li>You need to download the Recovery Disk Assistant.</li>
<li>Must have a local hidden Recovery HD partition.</li>
<li>Requires only 1GB (USB flash) disk.</li>
<li>Requires local admin account.</li>
<li>Requires GPT and Mac OS Extended (Journaled) partitioning.</li>
<li>Supported by Apple.</li>
<li>Does not contain OS X installation assets, need to be downloaded from internet.</li>
</ul>
</li>
<li>Create a full OS X Recovery disk.
<ul>
<li>Includes the OS X installation assets. Make sure you create and use full OS X Recovery disks only for systems that are supported with a specific OS X version.</li>
<li>Requires 8GB (USB flash) disk.</li>
<li>Use disk utitlity on the disk and configure InstallESD.dmg as the source.</li>
<li>Requires GPT and Mac OS Extended (Journaled) partitioning.</li>
</ul>
</li>
</ul>
</li>
<li>You can change your startup disk from within OS X recovery using:
<ul>
<li>Apple menu, Startup Disk.</li>
<li>Menu, Quit OS X utilities, choose Startup Disk.</li>
</ul>
</li>
</ul>
<h1><strong><span style="text-decoration:underline;">Applications</span></strong></h1>
<ul>
<li>The Installer application simplifies installation of packaged application installations.</li>
<li>The Installer /private/var/log/install.log can be viewed with the Console application.</li>
<li>You can view the installed applications using the System information application.</li>
<li>New features/options for Installer applications introduced with OS X 10.5:
<ul>
<li>Users may specify home folder as installation folder.</li>
<li>Dynamic installation package that remains up-to-date when there is Internet access.</li>
<li>Network installation packages download latest version from server during installation.</li>
<li>Support for signed packages to increase security and reliability.</li>
</ul>
</li>
</ul>
<h1><strong><span style="text-decoration:underline;">Local user accounts and groups</span></strong></h1>
<ul>
<li>Types of user accounts
<ul>
<li>Sharing only user
<ul>
<li>Only non authenticated access to shared files and folder.</li>
<li>Cannot log in and no home folder.</li>
</ul>
</li>
<li>Guest user
<ul>
<li>By default only non authenticated access to shared files.</li>
<li>The home folder, settings and history will be deleted on logoff.</li>
<li>Optionally enable guest user account support for unauthenticated login.
<ul>
<li>Will have same access as standard user.</li>
<li>Can restart or shutdown your Mac. Could compromise system during startup.</li>
<li>Consider disabling, changing permissions and/or applying parental controls.</li>
</ul>
</li>
</ul>
</li>
<li>Standard user
<ul>
<li>Standard user cannot install software.</li>
<li>Managed user is a standard user to whom parental controls apply. By example:
<ul>
<li>Limit the allowed applications.
<ul>
<li>Limit App Store Apps.</li>
<li>Limit Other Apps.
<ul>
<li>Parental controls are not honored by most 3rd party applications (b.e. FireFox and Outlook), keep this in mind when limiting applications.</li>
</ul>
</li>
<li>Limit Widgets</li>
<li>Limit Utilities</li>
</ul>
</li>
<li>Web &#8211; unrestricted access, try to limit access to adult websites, Allow access to only specific websites.</li>
<li>(Bedtime) Time Limits &#8211; weekday time limits, weekend time limits, prevent access during specific times.</li>
<li>People &#8211; allow communication only with approved addresses for Game Center, Mail and Messages.</li>
<li>Other &#8211; Restrict access to dicatation services, printers, password changes, optical media and the dock.</li>
<li>Maintain Safari, Messages and Application usage logs (both allowed and attempted but denied access).</li>
</ul>
</li>
<li>Parental controls preferences can be managed remotely from another Mac OS X on the local network if you Allow Remote Setup.</li>
<li>Parental controls preferences is a limited subset of the more extensive managed preferences system available when using OS X Server.</li>
</ul>
</li>
<li>Administrative user
<ul>
<li>Initial account created during Mac set up.</li>
<li>Can modify anything on the computer. Including other administrative user accounts and the root account.</li>
<li>Can be used for daily use, but better is to adhere to principle of least privilege. Prevents catastrophic results of by example user errors, viruses or malicious scripts/applications.</li>
</ul>
</li>
<li>Root user (System Administrator)
<ul>
<li>Disabled by default.</li>
<li>Enable using Directory Utility. Use Finder, Go To, /System/Library/CoreServices/
<ul>
<li>In Directory Utility, Directory Editor, Systems Administrator.</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>Administer users accounts and groups using Users &#38; Groups.
<ul>
<li>Use secondary (or Control) click on a user to access advanced options.
<ul>
<li>User ID, Group, Account name, Login shell, Home directory, UUID and Aliases.
<ul>
<li>UUID is used for group membership and ACLs.</li>
</ul>
</li>
</ul>
</li>
<li>Using Login Options you can configure to join a Network Account Server (Active Directory, LDAPv3, NIS).</li>
</ul>
</li>
<li>User account information stored in XML in /var/db/dslocal/nodes/Default/users , accessible by root.</li>
<li>In Users &#38; Groups you can configure Login Options (shown in login screen) like:
<ul>
<li>Set a master password that can be used to reset the password of a user even when it&#8217;s logged on.</li>
<li>Auto login (disabled by default).</li>
<li>Show list of available users (enabled by default).</li>
<li>Password hints after three wrong password attempts.</li>
<li>Configure fast user switching (enabled by default).
<ul>
<li>Not supported for network accounts.</li>
<li>When using fast user switching:
<ul>
<li>you can run into contention issues with applications, documents or devices that cannot be used by multiple users simultaneously.</li>
<li>Attached external storage devices are available for all users in read/write. Disk images are available in read only. Only network shares remain secure.</li>
</ul>
</li>
</ul>
</li>
<li>Configure the Mac to use accounts hosted from a shared network directory. By example from OS X Server.</li>
</ul>
</li>
<li>Home folders
<ul>
<li>Default location for local home folder is /Users/&#60;accountname&#62;</li>
<li>By default includes the following items:
<ul>
<li>Desktop</li>
<li>Documents</li>
<li>Downloads</li>
<li>Library
<ul>
<li>Hidden by default in OS X Lion and later. Access through Finder menu, Go, holding the option key.</li>
<li>Includes many non-document resources like files, fonts, contacts, keychains, mailboxes, favourites, screen savers, widgets and many other application resources.</li>
</ul>
</li>
<li>Movies</li>
<li>Music</li>
<li>Pictures</li>
<li>Public
<ul>
<li>Drop Box</li>
</ul>
</li>
</ul>
</li>
<li>Optionally contains:
<ul>
<li>Applications (preferred location for application installations)</li>
<li>Sites (legacy folder for upgraded or migrated computers, viewable for others).</li>
</ul>
</li>
<li>Content only accessible for user (and root).Exceptions:
<ul>
<li>The Public folder where others have read access.</li>
<li>The Drop Box folder inside public folder where others have write and only the owner of the home folder can view it.</li>
<li>By default, files and folder put at the root of the home folder will be viewable by other users. Permissions can be modified ofcourse.</li>
<li>/Users/Shared</li>
<li>System Administrator (root) has access.</li>
</ul>
</li>
<li>Options for migrating and restoring home folders:
<ul>
<li>Using Migration Assistant.
<ul>
<li>Automates many steps.</li>
<li>Can use data from disks or other computers (including Windows).</li>
<li>Cannot be used if you need to reformat the disk containing the data.</li>
<li>Migration Assistant runs as part of the OS X Setup Assistant with new installations but can also be run manually afterwards.
<ul>
<li>Legacy FileVault-protected users accounts can only be migrated during the initial OS X Setup Assistant process.</li>
</ul>
</li>
</ul>
</li>
<li>Using a manual restore.
<ul>
<li>Is useful when you need to reformat the disk containing the data, because you will copy the data to a different disk before reformat.</li>
<li>Can also be used when an account has been deleted and the home folder content is still in /Users/Deleted Users</li>
<li> Basic steps:
<ul>
<li>Document the user account name.</li>
<li>Copy the user&#8217;s home folder to different disk. <a title="how to show hidden files in MAC Osx - mountain Lion " href="http://www.ajayadas.com/2012/08/31/how-to-show-hidden-files-in-mac-osx-mountain-lion" target="_blank">Make sure hidden files/folders like the Library are included as well.</a></li>
<li>On new install create and admin account with a different name than the account to be restored.</li>
<li>Copy the backup to the /Users folder. <a title="how to show hidden files in MAC Osx - mountain Lion " href="http://www.ajayadas.com/2012/08/31/how-to-show-hidden-files-in-mac-osx-mountain-lion" target="_blank">Make sure hidden files/folders like the Library are included as well.</a></li>
<li>In Users &#38; Groups Preferemces create the user&#8217;s account with the same account name and choose to use the existing folder when prompted.</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>Customization
<ul>
<li>Move menu items on the right side of the menu bar (menulets) by dragging the menu item while holding down the Command key. Example include the wireless icon and the volume icon.</li>
</ul>
</li>
<li>Passwords
<ul>
<li>Users can change their passwords using Users &#38; Groups preferences. It even includes a Password Assistant that can help generate a strong password. You can also use Security &#38; Privacy.</li>
<li>Resetting passwords
<ul>
<li>Reset Regular and Legacy FileVault user account passwords using:
<ul>
<li>User &#38; Group preferences with an administrator account for regular user accountss and with the Master Password for Legacy FileVault accounts.</li>
<li>Master Password
<ul>
<li>Does not require an admin account.</li>
<li>Enable and set in Users &#38; Groups preferences.</li>
<li>At login when user enters incorrect password three times, a prompt will appear to rest the password using the master password.</li>
</ul>
</li>
<li>Apple ID. At login when a non-Legacy FileVault user enters an incorrect password three times, and the account is associated with an Apple ID you can reset the local account password by logging authenticating with your Apple ID.</li>
<li>Reset Password in OS X Recovery.</li>
</ul>
</li>
<li>Reset Master password
<ul>
<li>Reset using Users &#38; Groups preferences.</li>
<li>Delete /Library/Keychains/FileVaultMaster.cer and /Library/Keychains/FileVaultMaster.keychain files.</li>
</ul>
</li>
<li>Reset Apple ID
<ul>
<li>Follow the instructions on <a href="https://iforgot.apple.com">https://iforgot.apple.com</a></li>
</ul>
</li>
<li>FileVault 2 password
<ul>
<li>After three incorrect password logins, you need to reset the password using a Recovery Key that you can you can write down / store somewhere or you can store it with Apple. If you store it with Apple you need to configure security questions and answers. To recover the key you can contact AppleCare if it is supported in your region.</li>
</ul>
</li>
</ul>
</li>
<li>Login Keychain is normally synchronized with the account password. By resetting the account password it will not be in sync anymore. At first new logon however you will be presented with options to remedy this.</li>
</ul>
</li>
</ul>
<h1><span style="text-decoration:underline;"><strong>System Security Settings</strong></span></h1>
<ul>
<li>System and security settings include, but are not limited to:
<ul>
<li>Logging out after x minutes of inactivity.</li>
<li>Automatically update safe downloads list</li>
<li>Requiring administrator password to access locked preferences.</li>
<li>Requiring password after sleep or screensaver.
<ul>
<li>Lock computer using:
<ul>
<li>Control+Shift+Eject for lock (screen off)</li>
<li>If fast user switching is enabled, click the user account name in the top right corner and choose Login WIndow.</li>
<li>Configure keychain to show in menu bar, choose lock screen there.</li>
</ul>
</li>
</ul>
</li>
<li>Disabling automatic login.</li>
<li><a title="OS X: How to display a custom message at the Login window" href="http://support.apple.com/kb/PH4558" target="_blank">Configuring a login message or policy banner</a>.</li>
<li>Configuring to allow applications downloaded from:
<ul>
<li>Mac App Store</li>
<li>Mac App Store and identified developers</li>
<li>Anywhere</li>
</ul>
</li>
<li>Encryption (FileVault).</li>
<li>Firewall.</li>
<li>Location services (can be limited to specific applications).</li>
<li>Apps that are allowed to access your contacts.</li>
<li>Disable remote control infrared receiver.</li>
<li>Option to send diagnostics and usage data to Apple.</li>
</ul>
</li>
<li>Legacy OS X FileVault (prior to OS X Lion)
<ul>
<li>Only protects data in user&#8217;s home folder (not full disk encryption).</li>
<li>Incompatible with many system management and backup applications.</li>
<li>Deprecated, it is advised to use FileVault 2 instead. Requires:
<ul>
<li>Disabling all Legacy FileVault users.</li>
<li>Enough free space to be able to make a decrypted copy of home folder data. If this is not the case, consider manually migrating a copy of the home folder.</li>
</ul>
</li>
</ul>
</li>
<li>Find My Mac / Find My iPhone (iCloud)
<ul>
<li>Remotely locate, lock, erase (or wipe) and display a message on the Mac or an iOS device using <a href="http://www.icloud.com">http://www.icloud.com</a></li>
<li>Requires active internet connection.</li>
<li>Requires local OS X Recovery partition.</li>
<li>Requires iCloud and Find My Mac to be enabled.</li>
<li>Systems with Find My Mac enabled also feature a &#8220;Guest&#8221;mode when the system is restarted. This increases the chance that the system will be used and will be able to access the internet, in turn helping locate the device.</li>
</ul>
</li>
<li>Firmware Password
<ul>
<li>Setting the Firmware Password prevents unauthorized users from using any startup-interrupt keyboard shortcuts.</li>
<li>You can still boot from another startup disk if you hold the Option key when you start the Mac and enter the correct password.</li>
<li>When the Firmware Password is lost:
<ul>
<li>Many Mac models before 2010 allow for the Firmware Password to be reset by removing some of the system memory. Then restart the Mac while holding the Command-Option-P-R keys.</li>
<li>For Mac models of 2010 or later you need to visit an Apple Authorized Service provider to clear the firmware password.</li>
</ul>
</li>
</ul>
</li>
<li>Application security
<ul>
<li>Besides operating system and hardware security, it&#8217;s also important to use secure applications.</li>
<li><a title="Safari Security and Privacy" href="http://www.apple.com/safari/features.html#security" target="_blank">Safari security</a></li>
</ul>
</li>
</ul>
<h1><span style="text-decoration:underline;"><strong>Keychain Management</strong></span></h1>
<ul>
<li>The keychain contains securely stored passwords, keys, web forms, secure notes and certificates.
<ul>
<li>Some website information may be store in cookies instead of in the keychain.</li>
</ul>
</li>
<li>The local account password is not in the keychain.</li>
<li>If you forget a keychain&#8217;s password, its contents are lost forever due to encryption.</li>
<li>Managed using the Keychain Access application.
<ul>
<li>Add/remove keychains, secure notes and password items.</li>
<li>View passwords stored in the keychain and change them.</li>
<li>Import/open keychains.</li>
<li>Configure Keychain login settings to lock after x minutes or when sleep is initiated</li>
<li>Verify or repair Keychain files using Keychain First Aid (requires password).</li>
<li>Certificate assistant to create, request and configure certificates.</li>
<li>Set preferences:
<ul>
<li>Show status in menu bar (easy access to keychain and to lock screen)</li>
<li>First aid options</li>
<li>Certificate options (including certificate revocation list settings)</li>
</ul>
</li>
</ul>
</li>
<li>Keychain files
<ul>
<li>/Users/&#60;useraccountname&#62;/Library/Keychain/login.keychain
<ul>
<li>Each user has its own keychain. By default the password matches the user&#8217;s account password so it will unlock and use its content automatically.</li>
<li>A user can create multiple keychains and with different passwords for added security. Consider by example electronic banking accounts.</li>
</ul>
</li>
<li>/Libary/Keychain/System.keychain
<ul>
<li>Contains non user specific authentication data like passwords for wireless networks, 802.1X, network passwords, Kerberos, Legacy FileVault and Apple Push Service.</li>
<li>All users benefit from the keychain, only administrative users can modify.</li>
</ul>
</li>
<li>/Libary/Keychain/FileVaultMaster.Keychain
<ul>
<li>Encrypted with the FileVault master password.</li>
</ul>
</li>
<li>/System/Library/Keychains
<ul>
<li>Contains root certificates.</li>
<li>All users benefit from the keychain, only administrative users can modify.</li>
</ul>
</li>
</ul>
</li>
</ul>
<h1><span style="text-decoration:underline;"><strong>File Systems</strong></span></h1>
<ul>
<li>File Systems and Storage
<ul>
<li>Managed using Disk Utility.
<ul>
<li>Dynamic disk repartitioning since OS X 10.5 with specific filesystems/options.</li>
<li>Provides secure erase options. Most secure (7-pass erase).
<ul>
<li>Meets US DoD standards according to Apple.</li>
<li>This may detoriate life expectancy for SSD.</li>
</ul>
</li>
<li>Secure erase an item in CLI using srm command.</li>
<li>Create new volumes in an encrypted format.
<ul>
<li>It is however not possible to convert an existing Mac OS Extended volume to an encrypted volume with Disk Utility. You can do this using Finder though.
<ul>
<li>Requires disk to be using GPT.</li>
<li>For the system volume, FileVault 2 needs to be enabled.</li>
</ul>
</li>
</ul>
</li>
<li>To erase or repartition disks that contain encrypted volumes you need to first erase the encrypted volume or decrypt it.</li>
<li>Disk utility displays startup disk and its partitions first.</li>
</ul>
</li>
<li>Partition schemes:
<ul>
<li>GPT (GUID Partition Table).
<ul>
<li>Default for Intel-based Mac. Boot only supported on Intel.</li>
<li>Can be accessed from PowerPC Mac OS X 10.4.6 or later.</li>
</ul>
</li>
<li>MBR (Master Boot Record).
<ul>
<li>Used by non-Mac + devices/peripherals (USB stick/memory cards).</li>
<li>Mac cannot boot from it.</li>
</ul>
</li>
<li>APM (Apple Partition Map).
<ul>
<li>Default PowerPC-based Mac. Boot only supported on PowerPC.</li>
<li>Can be accessed from Intel-based Mac.</li>
</ul>
</li>
</ul>
</li>
<li>Most commonly used volume formats in OS X:
<ul>
<li>Mac OS Extended. All options include
<ul>
<li>Journaled (helps preserve volume structure integrity)</li>
<li>Encrypted
<ul>
<li>Full disk XTS-AES 128 encryption, used by FileVault 2.</li>
<li>Not compatible with OS X prior to OS X Lion.</li>
<li>Cannot be dynamically repartitioned.</li>
<li>Existing non-encrypted disk can be converted to encrypted disk.</li>
</ul>
</li>
<li>Case sensitivity. By default, Mac OS Extended format is case-preserving but case-insensitive. You can choose it to be case sensitive, but many (3rd party) applications may experience issues and it is not supported.</li>
</ul>
</li>
<li>Unix File System (UFS).</li>
<li>MS DOS File System / (Extended) File Allocation Table (FAT32, ExFAT)</li>
<li>NT File System (NTFS). Read-only by default. Can add read-write support with 3rd party apps</li>
</ul>
</li>
</ul>
</li>
<li>FileVault 2
<ul>
<li>If a local user is still configured to use Legacy FileVault, you cannot enable FileVault 2.</li>
<li>If there are multiple local users, you can selectively grant users the ability to unlock and decrypt the protected system disk allowing them to start up the system by entering their password.</li>
<li>Users whose password has been changed on the local system will continue to be FileVault enabled. After passwords resets from the network directory server, the user will however not be allowed to unlock the local FileVault 2 system disk. Re-enable the account for FileVault in Security &#38; Privacy.</li>
<li>When enabled, login window appears faster because startup is initiated from a special EFI booter on the Mountain Lion Recovery HD. User has to authenticate.</li>
<li>If a user forgets their password, use the recovery key. If both are not available, the data will be lost.</li>
<li>If FileVault 2 is enabled, other security features also turned on to ensure security.
<ul>
<li>Password required to log in after sleep and to exit screensaver.</li>
<li>After initial startup, only users enabled in FileVault will be able to log in, other users need an administrator to log in first.</li>
</ul>
</li>
</ul>
</li>
<li>File and folder actions
<ul>
<li>In Finder, use File, Quick Look (Command+Y) to determine folder size and item count.</li>
<li>Secure erasing files is possible using Finder in combination with Secure Empty Trash.</li>
<li>Remounting volumes on a connected disk requires first unmounting and ejecting remaining volumes, then physically disconnecting and reconnecting the disk and then remounting. With Disk Utility you can do this without physically disconnecting and reconnecting.</li>
<li>Properly unmounting/ejecting volumes helps minimizing the risk of data corruption.</li>
<li>If a disk was improperly unmounted, a file system diagnostic will be run on the disk before it remounts volumes. This might take a while. Verify by checking if fsck process is running using the Activity Monitor application.</li>
<li>Unmounting/ejecting volumes might fail because files might be in use. You can quit all programs, log out, restart the computer or use 3rd party applications like <a title="What's Keeping Me ? Application" href="http://www.hamsoftengineering.com/products/wkm/wkm.html" target="_blank">What&#8217;s Keeping Me (WKM)</a> to resolve this.</li>
<li>To encrypt files using finder, go the <span style="text-decoration:underline;">desktop</span> and use CTRL+click on the volume you want to encrypt. Then enter the password you want to use.</li>
</ul>
</li>
<li>Permissions (privileges) and Sharing
<ul>
<li>Only users and processes with root account access can ignore file permissions.</li>
<li>View and modify permissions using Finder. Get Info for single item,Inspector for multiple.
<ul>
<li>Get Info - Select file/directory, Finder menu, File, Get Info<br />
(or select file/directory and press Command+I).</p>
<ul>
<li>When changing permissions, Get Info remembers previous settings so you can revert.</li>
</ul>
</li>
<li>Show Inspector - Finder menu, File, hold Option, Show Inspector<br />
(Option+Command+I)</li>
<li>Add/remove users and groups using the + or &#8211; icons.</li>
<li>Change privileges using the drop down boxes.</li>
<li>Use the cog icon to revert privilege changes on files.</li>
<li>You can also propagate privilege changes recusively to items in the folder by using the &#8220;Apply to enclosed items&#8230;&#8221; option.
<ul>
<li>Cannot be easily reverted.</li>
<li>Locked items remain in their Original state.</li>
</ul>
</li>
</ul>
</li>
<li>Permissions can be verified and repaired:
<ul>
<li>In Disk Utility.</li>
<li>In Terminal
<ul>
<li>For a folder:
<ul>
<li>sudo chmod -R 755 &#60;path&#62;</li>
<li>chown root:wheel &#60;path&#62;</li>
</ul>
</li>
<li>For the system: sudo diskutil repairPermissions /</li>
</ul>
</li>
</ul>
</li>
<li>Ownership for Permissions:
<ul>
<li>Owner. By default the creator of the file/folder.</li>
<li>Group. By default, group inherited from the folder it was created in. Mostly:
<ul>
<li>Belong to staff (primary group for local standard users)</li>
<li>Belong to wheel (primary group of root system account)</li>
<li>Belong to admin groups.</li>
</ul>
</li>
<li>Everyone. Used to define access for those who are not owner and not part of a group (includes local, sharing and guest users).</li>
</ul>
</li>
<li>File permissions:
<ul>
<li>Read &#38; Write</li>
<li>Read Only</li>
<li>No Access</li>
</ul>
</li>
<li>Folder permissions:
<ul>
<li>Read &#38; Write</li>
<li>Read Only</li>
<li>Write Only (Drop Box), can copy/move files to it, but not browse it.</li>
<li>No Access</li>
</ul>
</li>
<li>More details about <a title="Filesystem permissions" href="http://en.wikipedia.org/wiki/Filesystem_permissions" target="_blank">UNIX-style permissions on Wikipedia</a>.</li>
<li>Access Control Lists (ACL) and Access Control Entries (ACE)
<ul>
<li>Developed to expand on UNIX permissions architecture to provide more control and flexibility.</li>
<li>Similar to Windows-based NTFS permissions and UNIX NFSv4.</li>
</ul>
</li>
<li>Effective permissions
<ul>
<li>ACLs trump standard UNIX permissions.</li>
<li>Effective permissions are based on a combination of permissions.</li>
</ul>
</li>
<li>Effective permissions examples
<ul>
<li>Read &#38; Write folder
<ul>
<li>Read &#38; Write file
<ul>
<li>Can edit file content</li>
<li>Can view or copy file</li>
<li>Can move or delete file</li>
<li>Can rename file</li>
</ul>
</li>
<li>Read Only file
<ul>
<li>Can&#8217;t edit file content</li>
<li>Can view or copy file</li>
<li>Can move or delete file</li>
<li>Can rename file</li>
</ul>
</li>
</ul>
</li>
<li>Read Only Folder
<ul>
<li>Read &#38; Write file
<ul>
<li>Can edit file content</li>
<li>Can view or copy file</li>
<li>Can&#8217;t move or delete file</li>
<li>Can&#8217;t rename file</li>
</ul>
</li>
</ul>
</li>
</ul>
<ul>
<ul>
<li>Read Only file
<ul>
<li>Can&#8217;t edit file content</li>
<li>Can view or copy file</li>
<li>Can&#8217;t move or delete file</li>
<li>Can&#8217;t rename file</li>
</ul>
</li>
</ul>
</ul>
<ul>
<li>Read Only Folder
<ul>
<li>Read &#38; Write file
<ul>
<li>Can edit file content</li>
<li>Can view or copy file</li>
<li>Can&#8217;t move or delete file
<ul>
<li>Beware: Many applications will not be able to save changes to files in Read Only folders because they attempt to replace the original file instead of revising the file content.</li>
</ul>
</li>
<li>Can&#8217;t rename file</li>
</ul>
</li>
</ul>
</li>
</ul>
<ul>
<ul>
<li>Read Only file
<ul>
<li>Can&#8217;t edit file content</li>
<li>Can view or copy file</li>
<li>Can&#8217;t move or delete file</li>
<li>Can&#8217;t rename file</li>
</ul>
</li>
</ul>
</ul>
<ul>
<li>Read &#38; Write folder
<ul>
<li>Read &#38; Write Locked File (locked file prevents non owner from modifying, moving, deleting or renaming. Sticky bit is similar)
<ul>
<li><span style="text-decoration:underline;">Only owner</span> can edit file content</li>
<li>Can view or copy file, but <span style="text-decoration:underline;">copies are locked</span></li>
<li><span style="text-decoration:underline;">Only owner</span> can move or delete</li>
<li><span style="text-decoration:underline;">Only owner</span> can rename file</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>Permission behaviour when moving, copying or creating new files and folders
<ul>
<li>New files/folders will inherit permissions of its parent.</li>
</ul>
</li>
<li>Permissions for Nonsystem Volumes
<ul>
<li>With external disks files and folders can easily be used on multiple computers. The issue however is that these computers don&#8217;t share the same user account database. As a result interpreting file ownership can be an issue.</li>
<li>To prevent access issues, ownership is ignored on nonsystem volumes by default in OS X. If this is undesirable (security), you can override this using Finder, Get Info and unchecking &#8220;Ignore ownership on this volume&#8221;.</li>
</ul>
</li>
<li>UNIX Permissions and the Terminal application
<ul>
<li>File and folder permissions
<ul>
<li>Read (r&#8211;) = 4</li>
<li>Write (-w-) = 2</li>
<li>Execute (&#8211;x) = 1, necessary for opening folder.</li>
<li>No access (&#8212;) = 0</li>
</ul>
</li>
<li>For <strong>d</strong>irectories permissions have a leading d. It could look like : <strong>d</strong>rwxr-xr-x</li>
<li>For files permissions having a leading -. It could look like : <tt><strong>-</strong>rw-r--r--</tt></li>
<li>View permissions using ls -le</li>
<li><a title="Viewing permissions with Terminal" href="http://km.support.apple.com/library/APPLE/APPLECARE_ALLGEOS/HT2963/HT2963_2.jpg" target="_blank">The first three characters after the leading character define the Owner privileges, the next three the Group privilege and the last three the Others privileges.</a></li>
<li>Setting privileges this way can be annoying. There is a numerical alternative:
<ul>
<li>0 = No access<br />
1 = Execute<br />
2 = Write<br />
4 = Read</li>
<li>Permissions range from no access 0 (&#8212;) to full access 7 (rwx).</li>
<li><strong>d</strong>rwxr-xr-x translates to 755 for the directory (leading d character).</li>
<li><tt><strong>-</strong>rw-r--r--</tt> translates to 644 for the file (leading &#8211; character)</li>
</ul>
</li>
<li>Change ownership using <strong>chown</strong>
<ul>
<li>By example: sudo chown useraccountname &#8220;~/Documents/file.pdf&#8221;</li>
<li>man chown for more info (q to quit).</li>
</ul>
</li>
<li>Modify permissions/ACLs <strong>chmod</strong>.
<ul>
<li>By example: sudo chmod 777 &#8220;~/Documents/file.pdf&#8221;</li>
<li>man chmod for more info (q to quit).</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li> File System and permission Troubleshooting
<ul>
<li>Some troubleshooting tools have already been discussed in the previous part.</li>
<li>Keep in mind that you can also use Target disk mode on supported systems and disks.</li>
<li>Recover data using Time Machine is applicable.</li>
<li>Consider 3rd part disk recovery utilities.</li>
<li><a title="Troubleshooting permissions issues in Mac OS X" href="http://support.apple.com/kb/HT2963" target="_blank">Troubleshooting permissions issues in Mac OS X</a></li>
</ul>
</li>
</ul>
<h1><span style="text-decoration:underline;"><strong>Data management</strong></span></h1>
<ul>
<li>Hidden Items and Shortcuts
<ul>
<li>By default the Finder hides much of the complexity of OS X from the user.</li>
<li>Items can be hidden in two ways:
<ul>
<li>UNIX style, using a period &#8220;.&#8221; at the beginning will hide from Finder and Terminal.</li>
<li>OS X style, setting the item&#8217;s hidden flag will hide only from finder.</li>
<li>The user&#8217;s Library folder is hidden by default. Go to Finder, Go and hold the Option key to reveal the Library.</li>
<li>Finder, Go, Go to Folder (Command-Shift-G) to manually enter path.</li>
</ul>
</li>
<li>Bundles and Packages
<ul>
<li>Are common folders that contain related software and resources. By example .app, .bundle, .framework, .plugin, .download, etc.</li>
<li>Finder treats them as single files.</li>
<li>By default users cannot navigate them with Finder. To show content, use right click (control+click) and choose &#8220;Show Package Contents&#8221;.</li>
<li>Tools for creating and modifying bundles and packages are available to those with Mac Dev Center access.</li>
</ul>
</li>
<li>File System shortcuts
<ul>
<li>Not to be confused with shortcuts in Dock or the Finder sidebar.
<ul>
<li>Save references to Original items as part of their config files.</li>
</ul>
</li>
<li>Real File System Shortcuts appear as individual files that can be located anywhere on a volume.</li>
<li>Types of File System Shortcuts. Comparison when used with 100MB file:
<ul>
<li>Alias
<ul>
<li>Can be created with Finder
<ul>
<li>Finder menu, File, Make Alias (Command+L).</li>
<li>Right click (Control+click), Make Alias.</li>
<li>Click and drag the original item while holding down the Option and Command keys.</li>
</ul>
</li>
<li>Useless in Command-Line tools like Terminal. They think aliases are files, not references.</li>
<li>More resilient to location changes of the original items. Finder even has option &#8220;Fix Alias&#8221;.</li>
<li>Finder, Get Info, shows Kind: Alias and size of 1.2 MB.</li>
<li>Used by Finder, File, New Burn Folder.</li>
</ul>
</li>
<li>Symbolic Links
<ul>
<li>Can be created only in Terminal.</li>
<li>Can be used in CLI and Finder.</li>
<li>Pointers to the file system path of the original item.</li>
<li>Symbolic link is broken when original file changes location. Replacing file is no problem.</li>
<li>Finder, Get Info, shows Kind: Alias and size of 35 bytes.</li>
</ul>
</li>
<li>Hard links
<ul>
<li>Can be created only in Terminal.</li>
<li>Can be used in CLI and Finder.</li>
</ul>
</li>
</ul>
</li>
</ul>
<ul>
<ul>
<ul>
<li>Removing original item does not remove hard links.</li>
<li>Used by Time Machine.</li>
<li>Finder, Get Info, shows Kind: &#60;original file type&#62; and size &#60;original file size&#62;.</li>
</ul>
</ul>
</ul>
</li>
</ul>
</li>
<li>System Resources
<ul>
<li>Found in Library  through Finder (Go, hold Option key, Library).</li>
<li>System resource hierarchy domains (keep in mind when troubleshooting).
<ul>
<li>User (deprecated, might still be used by applications though).</li>
<li>Local (available to all local user accounts, includes root Applications and root Library folder).</li>
<li>Network (configure automounted share to enable).</li>
<li>System (all items necessary to provide core system functionality).</li>
</ul>
</li>
<li>When multiple copies of similar resources exist in different domains, the resource most specific to the user will be used.</li>
<li>Some of the Library items and the domains they can be found in:
<ul>
<li>Application Support (in User and Local)
<ul>
<li>Often contains help files, templates or resources.</li>
</ul>
</li>
<li>Extensions (in Local and System)
<ul>
<li>Also called kernel extensions.</li>
<li>Low-level drivers that attach to kernel, core or OS and provide support for hardware, networking and peripherals.</li>
</ul>
</li>
<li>Fonts (in every Library folder)
<ul>
<li>Use System Information view installed fonts.</li>
<li>Use Font Book to manage fonts in a GUI (fonts can be added, removed, disabled, verified, restored to default).</li>
<li>3rd party font-management tools are available.</li>
<li>Applications may need restart before font is available.</li>
<li>If font for all users, place in /Library/Fonts</li>
<li>If font for current user, place in ~/Library/Fonts</li>
<li>Mac OS X font search order: /System/Library, /Network/Library, ~/Library</li>
<li>Outline fonts (vector fonts) include TrueType fonts, OpenType fonts and Postscript fonts.</li>
</ul>
</li>
<li>Frameworks (in every Library folder)
<ul>
<li>Repositories of shared code.</li>
<li>Use System Information to view loaded frameworks.</li>
</ul>
</li>
<li>Keychains (in every Library folder)
<ul>
<li>Contains securely stored passwords, keys, web forms, secure notes and certificates.</li>
</ul>
</li>
<li>LaunchDaemons and LaunchAgents (in Local and System)
<ul>
<li>Define processes that start automatically via the launchd process.</li>
<li>LaunchAgents for processes to run when user is logged in.</li>
<li>LaunchDaemons for processes to run in background even when no user is logged in.</li>
</ul>
</li>
<li>Logs (in every Library folder)
<ul>
<li>Use Console to view logs.</li>
</ul>
</li>
<li>PreferencePanes (in every Library folder)
<ul>
<li>Can be found in <a title="Mac Basics: Set your preferences" href="http://support.apple.com/kb/HT2490" target="_blank">System Preferences</a>.</li>
<li><a title="28 Insanely Useful Third Party Preference Panes for Mac" href="http://mac.appstorm.net/roundups/utilities-roundups/28-insanely-useful-third-party-preference-panes-for-mac/" target="_blank">Possibly useful 3rd party preference panes</a>.</li>
</ul>
</li>
<li>Preferences (in User and Local)
<ul>
<li>Contains files with system and application preferences.</li>
</ul>
</li>
<li>Startup Items (in Local and System)
<ul>
<li>Precursors to LaunchDaemons and LaunchAgents.</li>
<li>Apple discourages the use of Startup Items. Currently launchd still supports many Startup Items, but may not be true for future versions.</li>
<li>Generally installed by 3rd party software that hasn&#8217;t been updated.</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>Metadata and Spotlight
<ul>
<li>Metadata describes content. By example names, paths, creation and modification dates, permissions, extended attributes (color label) and flags (hidden).</li>
<li>You can add custom metadata to your files/folders by entering Spotlight comments in the Get Info and Inspector from the Finder.</li>
<li>Apple uses a forked file system:
<ul>
<li>Makes complex items appear as a single item in the file system, while it actually consists of a data fork and a resource fork.</li>
<li>Only fully supported on Mac OS Extended File System volumes.</li>
<li>Legacy file systems like FAT, Xan and older NFS shares do not know how to properly store meta data:
<ul>
<li>AppleDouble file format used to work around this:
<ul>
<li>Metadata stored seperately in ._&#60;filename&#62;</li>
<li>Invisible in Finder (and Windows Explorer by default).</li>
<li>Some files have trouble with being split up.</li>
</ul>
</li>
</ul>
</li>
<li>NTFS supports alternative data streams (similar to file forking) and is used by OS X when writing to NTFS based SMB shares.</li>
</ul>
</li>
<li>Spotlight search
<ul>
<li>Access by pressing Command+Space or clicking the looking glass icon in the top menu bar. Access the Spotlight window using Option+Command+Space.</li>
<li>Spotlight goes beyond local filesystem search. It is able to search e-mail, shared files from other Mac clients, servers, airdisk volumes, Time Machine backups, Wikipedia and even results from your default web search engine.</li>
<li>Search results are grouped by type. By example Applications, System Preferences, Documents, Messages, PDF documents, Webpages.</li>
<li>Using Spotlight preferences customize locations not to index, categories to be included and the order in which they are presented.</li>
<li>When you hover over search results, contents of files can be shown as a preview using Quick Look. Examples include e-mails or PDF files and iWork and Microsoft Office files (even when these applications are not installed). These previews are even dynamic, allowing you to browse through them and making it easier to find what you&#8217;re looking for.</li>
<li>Advanced Spotlight search operations include AND, OR, NOT, ranges, is, matches, contains, begins with, ends with. You can also use multiple criteria in a single search (use Finder and click the + icon).</li>
<li>Searches can be saved if desirable.</li>
<li>Spotlight uses indexing for search results.
<ul>
<li>New volumes are automatically indexed.
<ul>
<li>Ignoring requires manual configuration.</li>
</ul>
</li>
<li>Shared volumes from other computers are not indexed. Spotlight can connect to indexes on AFP shares hosted on OS X Server.</li>
<li>Location of indexes:
<ul>
<li>At the root of every volume in a folder .Spotlight-V100</li>
<li>For Legacy FileVault user at the root level inside the encrypted home folder.</li>
<li>In application defined location, for mail by example in:  ~/Library/Mail/Envelope Index</li>
</ul>
</li>
</ul>
</li>
<li>When experiencing issues with Spotlight consider forcing index rebuild by deleting index and restarting the computer.</li>
<li>Spotlight filters search results based on permissions. This means results on locally attached non-system volumes will be shown as well by default because owership is ignored.</li>
<li>Spotlight Plug-Ins
<ul>
<li>Can be created by Apple (/System/Library/Spotlight) or third parties (/Library/Spotlight or ~/Library/Spotlight).</li>
<li>Determine what is indexed. It provides functionality to:
<ul>
<li>Extract and index metadata</li>
<li>Extract and index content of filetypes like mail, PDF, iWork, Office, Photoshop.</li>
<li>Use or search (meta)data from applications.</li>
<li>Search in other places like by example Wikipedia</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>File Archives
<ul>
<li>Archiving is saving copies of information to another location or format better suited for long-term storage or network transfer.</li>
<li>Archiving options include (Zip) Archives and Disk Images
<ul>
<li>(Zip) Archives
<ul>
<li>Created using Finder.</li>
<li>Highly compatible with other operating systems.</li>
<li>Easy way to archive relatively small amounts of data.</li>
<li>Finder decompresses in the same folder as the source by default.</li>
<li>Archive utility gives more control over (de)compression preferences.
<ul>
<li>/System/Library/CoreServices/Archive Utility.app<br />
(take a look in this folder for even more useful tools).</li>
<li>Archive Utility contains a preference pane Archive that can be installed in System Preferences. To do this in Finder, right click (Control+click) Archive Utility.app and select &#8220;Show Package Contents&#8221;. Then double click /Contents/Resources/Archives.prefPane</li>
<li>Cannot compress any mounted volume.</li>
</ul>
</li>
</ul>
</li>
<li>Disk Images
<ul>
<li>Created using Disk Utility.
<ul>
<li>Size can be up to 2 TB.</li>
<li>Can be read-only or read/write.</li>
<li>Can be compressed.</li>
<li>Can be encrypted (128-bit or 256-bit AES).</li>
<li>Can be fixed size or expendable (sparse disk image).</li>
<li>Disk image format can be converted by saving it to a new copy.</li>
<li>Supports any partition scheme or volume format that OS X supports.</li>
</ul>
</li>
<li>By default only OS X can access. Other OS requires 3rd party tools.</li>
<li>Files that contain entire virtual disks and volumes.
<ul>
<li>Image can only be created from volume that can temporarily be dismounted.</li>
</ul>
</li>
<li>Can be treated like a removable volume (mount/unmount).</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>Time Machine
<ul>
<li>Time machine is Apple&#8217;s solution for easily creating backups.
<ul>
<li>Enabled by default.</li>
<li>User must select backup disk. System auto scans network for Time Machine network share or waits for you to attach external disk.</li>
<li>Choose the disk to use and whether or not to use encryption.
<ul>
<li>Even though it is possible to backup to a second partition of the local disk, it is not recommended since it does not provide protection against disk failure or loss of the computer.</li>
</ul>
</li>
<li>Configuration, preferences and backup status can be accessed from
<ul>
<li>The Time Machine icon in the menu bar</li>
<li>Time Machine in System Preferences</li>
<li>Secondary click (Control+click) Time Machine</li>
</ul>
</li>
</ul>
</li>
<li>Time machine can backup:
<ul>
<li>To any local Mac OS X volume except for the startup volume.</li>
<li>To Apple Filing Protocol (AFP) network shares hosted by OS X Server or <a title="Apple Time Capsule" href="http://www.apple.com/timecapsule/" target="_blank">Time Capsule wireless base station</a>.</li>
</ul>
</li>
<li>Compression is not used for performance reasons.</li>
<li>Encryption is supported. Password is saved to the local system keychain for automatic retrieval. Needs to be entered manually when the disk is connected to a different computer.</li>
<li>In OS X Mountain Lion support has been added for multiple Time Machine backup disks.
<ul>
<li>Allows for more flexibility.</li>
<li>Makes strategies for storing backups offsite easier.</li>
<li>Allows for combining local backups and backups to network share.</li>
</ul>
</li>
<li>In OS X Mountain Lion Time Machine supports local snapshots.
<ul>
<li>Backups can be made even when the backup disk is not available.</li>
<li>Backups are made to the local disk, which means it is not a true backup because in the event of hardware failure everything will be gone. It does however provide a way to go back in time as long as there are no hardware issues.</li>
<li>Only enabled on Mac portables with Time Machine left in &#8220;On&#8221; state.</li>
<li>Notification if 10 days passed without backup to the backup disk.</li>
<li>The amount of disk space used by local snapshots can be found in About This Mac, More Info, Storage. Space used on the system volume used for local snapshots appears as &#8220;Backups&#8221;.</li>
</ul>
</li>
<li>System sleep can prevent Time Machine backups.
<ul>
<li>With OS X Mountain Lion, Time Machine can backup while in <a title="Power Nap mode" href="http://support.apple.com/kb/HT5394" target="_blank">Power Nap mode</a>.</li>
</ul>
</li>
<li>Backup procedure
<ul>
<li>Entire file system backups are created hourly by the backupd process by default.
<ul>
<li>To only backup manually, turn off Time Machine and start manually by secondary clicking (control+click) Time Machine application.</li>
<li>Backups to local disks can be postponed by disconnecting the disk.</li>
</ul>
</li>
<li>Manual backups can be initiated using the Time Machine icon in the menu bar.</li>
<li>Time Machine copies almost all content of the file system to the backup volume.</li>
<li>If you don&#8217;t perform a full backup of your system volume, you cannot perform a full restore. This means you have to install OS X first and then restore the rest.</li>
<li>Time Machine Backup exclusions.
<ul>
<li>Files that can be easily restored or are not important are ignored.
<ul>
<li>System log files are excluded.</li>
<li>Spotlight index is excluded.</li>
<li>Files in trash are excluded.</li>
<li>Software developers can specify application data not to backup.</li>
<li>You can modify the configuration file that specifies what to ignore: /System/Library/CoreServices/backupd.bundle/Contents/Resources/StdExclusions.plist</li>
<li>In Time Machine preferences you can also configure exclusions.</li>
</ul>
</li>
</ul>
</li>
<li>Between backups, background process monitors changes. With next backup only change items are copied to the backup volume. Then the new content is combined with hard link file system pointers to the previous backup content to create a simulated point-in-time state and save space.</li>
<li>Time machine &#8220;ages out&#8221; data to save space.
<ul>
<li>Notification when older items need to be deleted for new backups.</li>
<li>Hourly backups are kept for 1 day.</li>
<li>Daily backups are kept for 1 week.</li>
<li>Weekly backups until the backup volume is full.</li>
<li>Time machine always keeps at least one copy of every item that is still on your current file system.</li>
</ul>
</li>
</ul>
</li>
<li>Time Machine caveats
<ul>
<li>Not suitable for large files that change often (and only a few bytes).
<ul>
<li>File needs to be backupped completely again.</li>
<li>Uses lots of space on backup volume.</li>
<li>Causes &#8220;aging out&#8221; of backups, limiting restore history.</li>
</ul>
</li>
<li>Can only backup Legacy FileVault accounts when the user is logged out.</li>
</ul>
<ul>
<li>Time Machine caveats</li>
</ul>
</li>
<li>Restore using Time Machine application
<ul>
<li>Easy graphical user interface (GUI). By secondary clicking (Control+click) Time Machine application you can:
<ul>
<li>Enter Time Machine.</li>
<li>Browse other Time Machine disks.</li>
</ul>
</li>
<li>Graphical user interface is available from within some applications, but most will present you with a historical view in Finder.
<ul>
<li>Apps with Time Machine restore integration including Apple created apps like Address Book, Mail and iPhoto.
<ul>
<li>To access Time Machine for these applications make sure the application is in the foreground and then start Time Machine either from the menu bar or from the Dock.</li>
</ul>
</li>
</ul>
</li>
<li>Local snapshots (not really backupped) show as grey tickmarks in the timeline, while regular backups have pink tickmarks. If pink tickmarks appear dimmed, it&#8217;s because the Time Machine backup disk is currently unavailable.</li>
<li>Legacy FileVault users cannot access home folder backup via Time Machine application.</li>
</ul>
</li>
<li>Restore via Migration Assistant
<ul>
<li>Can be used to restore complete user home folder (also for Legacy FileVault user) or other nonsystem data.</li>
</ul>
</li>
<li>Restore an entire system using OS X Recovery
<ul>
<li>Only possible when you did not exclude items from the system volume backup.</li>
<li>Scans for local and network Time Machine backup volumes.</li>
</ul>
</li>
<li>Restore using Finder manually
<ul>
<li>When GUI restore is not working, you can browse backup with Finder since file system features are used that are part of standard Mac OS Extended volumes.</li>
<li>Directly modifying Time Machine backup contents can damage backup hierarchy. Default file system permissions prevent write access.</li>
<li>Backup locations:
<ul>
<li>Local snapshots are cached locally to a hidden folder:<br />
/Volumes/MobileBackups</p>
<ul>
<li>Items in this location aren&#8217;t permanent. They will eventually be copied to backup disk and then erased on the local disk.</li>
</ul>
</li>
<li>Time Machine backups on local disks are located in the root of the backup volume in a folder named Backups.backupdb
<ul>
<li>Folder contains a subfolder for each computer backed up on this volume. Then for each computer there are subfolders with the date and time of the backup.</li>
</ul>
</li>
<li>Time Machine network backups are located at the root of the share, most commonly named Backups.
<ul>
<li>Each computer&#8217;s backup is saved as a seperate sparse disk image file with the computer&#8217;s sharing name.</li>
<li>When you browse the sparse disk image, similar structure is used as with Time Machine backups on local disks.</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<h1><span style="text-decoration:underline;"><strong>Applications and Processes</strong></span></h1>
<ul>
<li>Application Installation
<ul>
<li>Installation using Mac App Store. Requires internet, Apple ID and admin authentication.
<ul>
<li>Purchasing apps from Mac App Store requires OS X 10.6.6 or later.</li>
<li>When you want to re-install an application you&#8217;ve purchased from the Mac App Store or if you want to install the application to another device, go to &#8220;Purchases&#8221; in the App Store.</li>
<li>Applications in the Mac App Store need to meet several requirements and have gone through a verification process before they are available.
<ul>
<li>This is for quality reasons and to minimize the risk that applications are harmful (b.e. malware, privacy).</li>
<li>As of June 2012, application has to be sandboxed.</li>
<li>Application is code signed.</li>
<li>If harmful applications were able to get through the initial process, Apple can quickly pull the application from their store.</li>
</ul>
</li>
<li><a title="Creating an iTunes Store, App Store, iBookstore, and Mac App Store account without a credit card" href="http://support.apple.com/kb/HT2534" target="_blank">Create an Apple ID from the iTunes Store or the iOS App Store if you only want it to be able to install free items.</a></li>
<li>Applications are tied to your Apple ID.
<ul>
<li>If purchases are made using an iCloud account, you can enable automatic downloading of purchased applications. This comes in handy when you own multiple Mac computers. There are limitations though, see the <a title="iTunes Store Terms and Conditions" href="http://www.apple.com/legal/itunes/uk/terms.html#APPS" target="_blank">iTunes Store Terms and Conditions</a>.</li>
</ul>
</li>
<li>Automatic updates are enabled by default and you get notifications about available updates.
<ul>
<li>If you don&#8217;t see updates you should be seeing, force the Mac App Store to reevaluate your installed software. Hold the Option key, open Mac App Store, click Updates, release Option key.</li>
</ul>
</li>
<li>Mac App Store access can be disabled or limited for user with parental controls. You can specify specifically allowed apps or you can specify to allow only apps that are appropriate for specific age groups.
<ul>
<li>Do not delete Mac App Store, is required to perform system updates.</li>
</ul>
</li>
</ul>
</li>
<li>Traditional installation methods
<ul>
<li>Four primary application environments in OS X are:
<ul>
<li>Native OS X applications
<ul>
<li>Can be created using Cocoa and Carbon.
<ul>
<li>Cocoa
<ul>
<li>Apps run on iOS and Mac OS X.</li>
<li>Primarily based on Objective-C.</li>
<li>Full support 64-bit graphical apps.</li>
<li>Latest OS X features can be used.</li>
</ul>
</li>
<li>Carbon
<ul>
<li>Still works in Mountain Lion, but deprecated.</li>
<li>Primarily based on C and C++.</li>
<li>No full support 64-bit graphical apps.</li>
<li>Latest OS X features cannot be used b.e. Auto Save and iCloud services.</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>UNIX commands</li>
<li>Java applications
<ul>
<li>Java application environment originally developed by Sun Microsystems. Now owned and primarily maintained by Oracle Corporation.</li>
<li>The goal in Java is to create nonplatform-specific apps.</li>
<li>Java Runtime Environments currently available for OS X:
<ul>
<li>Java SE 6 not included with OS X, instead it will auto download and install the first time it is needed.
<ul>
<li>Requires administrative permissions.</li>
</ul>
</li>
<li>Oracle supplies Java SE 7.</li>
</ul>
</li>
<li>Both environments can be installed side-by-side.</li>
<li>When you know Java is needed, consider including it in the standard install.</li>
<li>Managed using /Applications/Utilities/Java Preferences</li>
<li>Check installed version in System Preferences, Other.</li>
</ul>
</li>
<li>UNIX applications that use the X Window System
<ul>
<li>Previous OS X versions included the Apple version of X11.</li>
<li>In Mountain Lion, X11 is not included anymore. When you try to run it from within applications, <a title="About X11 and OS X Mountain Lion" href="http://support.apple.com/kb/HT5293" target="_blank">support article HT5293</a> will be shown in the browser with a link to the XQuartz project for X11. XQuartz 2.7.2 or later is recommended.</li>
</ul>
</li>
</ul>
</li>
<li>Other (non primary) application environments in OS X.
<ul>
<li>Legacy Mac applications
<ul>
<li>Applications created for Mac OS 9 with PowerPC.</li>
<li>Classic compatibility environment is used to to run Mac OS 9 apps, but is not supported since OS X 10.5</li>
<li>Rosetta Compatibility environment is used to run PowerPC based apps but is not supported since Lion.</li>
</ul>
</li>
<li>Unix applications
<ul>
<li>Mac OS X 10.5 and later are POSIX and Unix 03 compliant.</li>
<li>Mac OS X system foundation named Darwin is baed on the open source FreeBSD (Free Berkely Software Distribution) Unix CLI.</li>
<li>Mostly accessed using Terminal.</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>Application Security
<ul>
<li>While applications in the Mac App Store have gone through a process that also evaluates security, this is not the case for other applications. To protect against bad software, OS X includes the following technologies:
<ul>
<li>Process Security
<ul>
<li>Processes started by user will have access similiar to that of the user.</li>
<li>If system privileges are needed, you need to provide credentials, granting the application system level access (b.e. installations).</li>
</ul>
</li>
<li>Application Sandboxing
<ul>
<li>Application and process sandboxing limits access to what is needed through a sophisticated arrangement of rules.</li>
<li>Sandboxing is an optional feature.
<ul>
<li>Apple sandboxed all applications and processes that could benefit from it</li>
</ul>
</li>
<li>The majority of sandbox rules are created by developers.</li>
<li>Some sandbox rules are user initiated.
<ul>
<li>User opening a specific file outside of the sandbox.</li>
<li>Other examples of user-initiated access are found in Security &#38; Privacy under Privacy.</li>
</ul>
</li>
</ul>
</li>
<li>Code Signing
<ul>
<li>Secure signed application and process code support since OS X 10.5</li>
<li>Code is verified on disk AND while it&#8217;s running.</li>
<li>Used in OS X Mountain Lion for automatically identifying trust for new app installs.</li>
<li>Also provides application identification for other parts of the system, including keychain, personal application firewall, parental controls preferences, application settings and managed client settings.</li>
<li>Developers can use the Mac App Store system to code sign their application even though they won&#8217;t use the Mac App store.</li>
</ul>
</li>
<li>File Quarantine
<ul>
<li>Introduced in OS X 10.5</li>
<li>File quarantine service displays warning on attempt to open item downloaded from an external source like the Internet.</li>
<li>Quarantined items include documents, scripts and disk images.</li>
<li>File quarantine requires that the item is marked for quarantine by the application that downloaded it. Built-in OS X applications do this, but 3rd party applications might not.</li>
<li>Files copied to the Mac from by example a share or a USB drive also do not trigger file quarantine.</li>
<li>Administrative users can permanently clear quarantine, users cannot.</li>
<li>Apple maintains a list of known malicious software that is updated automatically via OS X software update mechanism. It is stored in:<br />
/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/XProtect.plist</li>
<li><a title="About file quarantine in OS X" href="http://support.apple.com/kb/ht3662" target="_blank">More info : HT3662 &#8220;About file quarantine in OS X&#8221;</a></li>
</ul>
</li>
<li><a title="OS X: About Gatekeeper" href="http://support.apple.com/kb/HT5290" target="_blank">Gatekeeper</a>
<ul>
<li>Introduced in Mountain Lion.</li>
<li>Leverages both code signing and file quarantine.</li>
<li>You can choose one of these options to allow applications downloaded from:
<ul>
<li>Mac App Store
<ul>
<li>When a version of the application is available from the Mac App Store, when you download it from somewhere else it is not allowed.</li>
</ul>
</li>
<li>Mac App Store and identified developers (default setting)
<ul>
<li>Developers can use an Apple-verified code signing certificate to identify their applications and that contains their unique developer ID.
<ul>
<li>File quarantine dialog will be shown for downloaded applications.</li>
<li>Blocks non (properly) signed apps.</li>
<li>Daily check with Apple for blacklisted developer signatures. If an app from a blacklisted developer is installed on the user&#8217;s system it will not open.</li>
</ul>
</li>
</ul>
</li>
<li>Anywhere
<ul>
<li>Similar to previous OS X versions.</li>
<li>All applications are allowed regardless of source.</li>
<li>File quarantine dialog will be shown for downloaded applications.</li>
</ul>
</li>
</ul>
</li>
<li>Identifies modified/damaged applications regardless of security.</li>
<li>You can temporarily bypass/override gatekeeper. In Finder secondary click (Control+click) the application and choose open. Then confirm you want to open the application from the unidentified developer.
<ul>
<li>Once you&#8217;ve bypassed Gatekeeper for an application, it will be considered an exception and will open normally.</li>
<li>Use instead of setting security to &#8220;Anywhere&#8221; if possible.</li>
<li>Will not work for applications that automatically open other background or child applications (also trigger GateKeeper).
<ul>
<li>Temporarily set security to &#8220;Anywhere&#8221; until app has been installed and is working correctly.</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>Installing applications
<ul>
<li>Traditional Installation Methods
<ul>
<li>Drag-and-drop installations
<ul>
<li>Generally used for less complex application installations.</li>
<li>Some items will be installed by simply double clicking. By example fonts, preference panes, screen savers and widgets.</li>
<li>Install by dragging and dropping application file to desired folder.
<ul>
<li>In general OS X doesn&#8217;t care where it is located. Keep in mind though that some locations are more appropriate and secure than others.</li>
<li>Many developers simplify the proces by using a Finder window background that encourages users to copy applications to an appropriate directory. TextWrangler by example does this.</li>
</ul>
</li>
<li>Often the following folders are used for applications:
<ul>
<li>For all users : /Applications
<ul>
<li>Only administrative users can modify.</li>
</ul>
</li>
<li>For the current logged on user : ~/Applications
<ul>
<li>User has to create this.</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>Installation packages
<ul>
<li>Generally used for complex application installations (.pkg or .mpkg).</li>
<li>Default deployment mechanism for most Apple software updates and third-party software that requires install of items in multiple locations.</li>
<li>Installer application is opened when you open an installation package and will guide you through the installation.
<ul>
<li>By clicking the lock icon in the top right corner in Installer, you can view the certificate and its path.</li>
<li>On occasion third-party installers may be used (.app)</li>
</ul>
</li>
<li>Often requires administrative user authentication, because frequently install items that can affect other users and the operating system.</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>Updating installed applications
<ul>
<li>Apple software and software from Mac App Store is updated automatically by default. Configure using Software Update in System Preferences.</li>
<li>Third-party software can provide self-update option.</li>
<li>Manually update software.</li>
</ul>
</li>
<li>Removing installed applications
<ul>
<li>Drag and drop to the Trash.</li>
<li>For Mac App Store applications only:
<ul>
<li>Open Launchpad, hold option key, click &#8220;x&#8221; button.</li>
<li>Open Launchpad, hover the applicaton, click and hold until &#8220;x&#8221; button appears and then click the &#8220;x&#8221; button.</li>
</ul>
</li>
<li>Application uninstaller in rare occasions if 3rd party installer was used.</li>
</ul>
</li>
<li>Document Management
<ul>
<li>Auto Save and document Versions
<ul>
<li>The idea is that users shouldn&#8217;t worry about saving files (after initial save).</li>
<li>This is combined with versions to provide users more control/flexibility.</li>
<li>Auto Save applications have file menu option &#8220;Duplicate&#8221; instead of &#8220;Save As&#8221; (after the initial save). Holding Option key will also show &#8220;Save As&#8221;.</li>
<li>Auto-save applications in Mountain Lion also add &#8220;Rename&#8230;&#8221; and &#8220;Move To&#8230;&#8221; to the file menu.</li>
<li>If the title bar of an application contains &#8220;Edited&#8221; this is also a visual cue that the application auto saves.</li>
<li>You can easily go back to previous versions using File, Browse All Versions &#8230;
<ul>
<li>Versions browser restore GUI similar to Time Machine GUI.
<ul>
<li>Can use copy and paste using Command+C and Command+V or using secondary click (Command+click).</li>
<li>To delete a version, select the document name in the title bar and select &#8220;Delete this version&#8221;.</li>
</ul>
</li>
<li>Versions are stored in : /.DocumentRevision-V100 at the root of the disk containing original document.
<ul>
<li>Locked by default.
<ul>
<li>Manually (un)lock a file by clicking on the file name in the title bar and selecting lock or unlock. When it is locked, this also shows in the title bar.</li>
</ul>
</li>
</ul>
</li>
<li>Document Version history is maintained only on the volume where the original document is saved. If you send a file by mail or any other way, it does not include the version history.</li>
<li>If Time Machine is enabled, version history will use these backups (integration) and you will be able to go back further.</li>
</ul>
</li>
<li>Most Apple-designed applications in Mountain Lion support Auto Save and Versions including TextEdit, Pages, Preview, Numbers and KeyNote.</li>
<li>You can disable Auto Save by going to System Preferences, General and selecting &#8220;Ask to keep changes when closing documents&#8221;.
<ul>
<li>Can cause delay and require manual action for logout.</li>
</ul>
</li>
</ul>
</li>
<li>Automatic Resume
<ul>
<li>Resume after logout is enabled by default.
<ul>
<li>If disabled, forcibly override by holding Option key when logging out</li>
</ul>
</li>
<li>Resume after quit is disabled by default. Enable from System Greferences, General by deselecting &#8220;Close windows when quitting an application&#8221;.</li>
<li>Allows supported applications to maintain their current state event if the user logs out or the application is quit by automatically saving the documents and the state of the application.</li>
<li>Supported applications can also be automatically quit by the system when system resources are running low. Only idle applications are quit.</li>
</ul>
</li>
<li>iCloud integration to save in iCloud (introduced with OS X Mountain Lion).
<ul>
<li>Requires user signed in to iCloud with Documents &#38; Data enabled.</li>
<li>Only Mac App Store applications are able to save to iCloud. Examples include TextEdit, Preview, Pages, Numbers and Keynote.</li>
<li>Using the file menu of a supported application like TextEdit you can use &#8220;Save as&#8221; or &#8220;Duplicate To&#8221; to save in iCloud.</li>
<li>When opening supported application (TextEdit), it shows a new iCloud document browser interface which also can be manually opened using File, Open.
<ul>
<li>Open files stored in iCloud or upload files to iCloud by dragging them onto the iCloud document browser interfade.</li>
<li>In title bar switch between &#8220;iCloud&#8221; and local resources &#8220;On My Mac&#8221;.</li>
<li>Browser interface of specific app only shows files managed by app.</li>
<li>iCloud documents can be managed using finder as well:<br />
~/Library/Mobile Documents/ with subfolders for each service/app.</li>
</ul>
</li>
<li>Similar to iOS, you can create folders in the iCloud document browser interface by dragging a document onto another document.</li>
<li>Move local files to iCloud by clicking name in title bar, move to iCloud.</li>
<li>Quick Look can also be used by pressing space.</li>
<li>Secondary click (Control+click) includes more options, including sharing.</li>
<li>iCloud synchronization is performed in the background nearly instantaneous.</li>
<li>iCloud synchronizes data locally if multiple devices on the same network share and iCloud account for efficiency.</li>
<li>You can also manage iCloud documents using <a title="iCloud" href="http://www.icloud.com" target="_blank">http://www.icloud.com</a></li>
</ul>
</li>
<li>OS X Launch Services
<ul>
<li>Determines action when user double clicks file.</li>
<li>Maintains database that maps file types to appropriate apps.</li>
<li>Many common file types are mapped to built-in applications like Preview, Pages and TextEdit if the primary application is missing.</li>
<li>If no appropriate application can be found, you get a prompt that allows you to either choose an application manually or to search suggests search the Mac App Store for a compatible application.</li>
<li>In Finder you can either secondary click a file (Control+click) and choose Open With or use Finder, Get Info, Open With to:
<ul>
<li>Determine the current default application <span style="text-decoration:underline;">for this file</span>.</li>
<li>Choose appropriate application to open the file with.</li>
<li>Manually browse for an application that is not in this list.</li>
<li>Search the Mac App Store for a compatible application.</li>
<li>You can also choose to always use the chosen application for this file.</li>
</ul>
</li>
<li>From Finder you can use Get Info (Command+I) or Inspector (Option+Command+I) to do the same as described above. It also allows you to change the default application <span style="text-decoration:underline;">for all files of this filetype</span> though. To do this, under &#8220;Use this application to open all documents like this one&#8221; click the &#8220;Change All&#8230;&#8221; button and confirm.</li>
</ul>
</li>
<li>Quick Look
<ul>
<li>Quick look shows an interactive preview of files including videos.</li>
<li>Supports many document formats.</li>
<li>Is used in Spotlight when you hover over a document.</li>
<li>Can be openend (and closed) by pressing Space in Finder, Time Machine restore interface, most open and save browser dialogs, Mail, other applications.</li>
<li>Provides previews for other views including Cover Flow, Get Info, Inspector.</li>
<li>Plugins can be found in /Library/QuickLook or ~/Library/QuickLook</li>
<li>3rd parties can create Quick Look plugins.</li>
</ul>
</li>
</ul>
</li>
<li>Application Management and Troubleshooting
<ul>
<li>Process types
<ul>
<li>Applications
<ul>
<li>Started by user.</li>
</ul>
</li>
<li>Commands
<ul>
<li>Started by user.</li>
<li>CLI</li>
</ul>
</li>
<li>Daemons
<ul>
<li>Runs in background as system.</li>
<li>Usually start at startup and keeps running.</li>
<li>Rarely have UI.</li>
</ul>
</li>
<li>Agents
<ul>
<li>Runs only when user is logged on.</li>
</ul>
</li>
</ul>
</li>
<li>Process Features
<ul>
<li>OS X Process Performance Features balances resources without letting any single process hog all resources.</li>
<li>Symmetric multiprocessing (multi cpu/gpu cores and threads)</li>
<li>Simultaneous 32-bit and 64-bit support
<ul>
<li>Most Apple software is 64-bit now.
<ul>
<li>Using Finder, Get Info or Inspector shows Kind: Application (32-bit) for 32-bit applications. The 64-bit applications show as Kind: Application.</li>
</ul>
</li>
<li>Process that handles Dashboard runs both 32-bit and 64-bit widgets.</li>
<li>System Preferences prompts to restart when you switch between 32-bit and 64-bit preference panes.</li>
<li>32-bit drivers, software and plugins need to be considered.
<ul>
<li>32-bit plugins will not work in 64-bit application. From the Finder Get Info or Inspector you can secondary click (Control+click) and selecting &#8220;Open in 32-bit mode&#8221; as a workaround.</li>
</ul>
</li>
</ul>
</li>
</ul>
<ul>
<li>&#8220;Open in Low Resolution&#8221; checkbox is available on Macs with Retina display to disable high res assets that might be incompatible with older app plug-ins.</li>
</ul>
</li>
<li>Memory management features
<ul>
<li>Protected memory (process memory is seperate from other processes).</li>
<li>Dynamic memory allocation (efficient use of real and virtual memory).</li>
<li>Secure memory allocation (execute disable and address space layout randomization)</li>
</ul>
</li>
<li>System Information gathers information about installed applications when opened.
<ul>
<li>Includes name, version number, modification date, application type and if it was purchased from the Mac App Store (does not show for apps included in OS X).</li>
<li>Scans:
<ul>
<li>/Applications</li>
<li>/Applications/Utilities</li>
<li>~/Applications</li>
<li>/System/Library/CoreServices</li>
<li>Other Applications folders at the root of any mounted volumes.</li>
</ul>
</li>
</ul>
</li>
<li>Monitoring Processes with Activity Monitor
<ul>
<li>By default shows columns with for each process the ID (PID), name, user, % CPU, threads, Real Mem and the kind : Intel (64-bit) or Intel.</li>
<li>Shows system wide summary stats for CPU, System Memory, Disk Activity, Disk Usage and Network.
<ul>
<li>System Memory &#8220;page ins&#8221; and &#8220;page outs&#8221; are totals since last system startup. High number of page outs indicates system does not have enough real memory, slowing performance.</li>
</ul>
</li>
<li>By default shows only processes for current. Change with drop-down box.</li>
<li>Search box can be used to filter processes.</li>
<li>From Menu, View you can:
<ul>
<li>Modify (additional) columns to be shown
<ul>
<li>CPU Time</li>
<li># Ports</li>
<li>Real Private Memory, Real Shared Memory,  Virtual Private Memory</li>
<li>Messages Sent</li>
<li>Messages Received</li>
<li>Sudden Termination (yes=app supports automatic resume)</li>
<li>Sandbox (yes=app is sandboxed)</li>
</ul>
</li>
<li>Modify update frequency</li>
<li>Filter Processes</li>
</ul>
</li>
<li>Can be used to Quit Process, Inspect and Sample Process.</li>
</ul>
</li>
<li>For more detailed info, take a look at Instruments application of Xcode Tools Package.</li>
<li>Application troubleshooting
<ul>
<li>General application troubleshooting steps you can use:
<ul>
<li>Check if application is compatible with used OS X version. <a title="About incompatible software (Mac OS X v10.6, OS X Lion, OS X Mountain Lion)" href="http://support.apple.com/kb/HT3258" target="_blank">Mac OS X v10.6 and later protect against certain incompatible software that can quit unexpectedly or cause other issues</a>.</li>
<li>Try another document</li>
<li>Restart application</li>
<li>Try another application</li>
<li>Restart computer</li>
<li>Try another user account</li>
<li>Check diagnostic reports in Console application created at crash/hang
<ul>
<li>~/Library/Logs/DiagnosticReports</li>
<li>Log is &#60;application&#62; with extension .crash .hang or .spin</li>
<li>Can also use File, New System Log Query to perform custom search across most common logs.</li>
</ul>
</li>
<li>Delete application&#8217;s cache files in:
<ul>
<li>/Library/Caches</li>
<li>~/Library/Caches</li>
<li>~/Library/Saved Application State</li>
</ul>
</li>
<li>Replace preference file</li>
<li>Replace application resources / reinstall application</li>
</ul>
</li>
</ul>
</li>
<li>Forcibly quit application
<ul>
<li>In Apple menu, Force Quit (Command+Option+Escape).</li>
<li>In Dock, on the application do a secondary click (Control+Click) or click and hold. Then hold the Option key and click &#8220;Force Quit&#8221;.</li>
<li>In activity monitor, select application, Quit Process, Force Quit.
<ul>
<li>Only GUI method to quit processes of other users/system.</li>
</ul>
</li>
</ul>
</li>
<li>Preference troubleshooting
<ul>
<li>Common application resource to cause problems.</li>
<li>Can be found in any Library folder. Normally in ~/Library/Preferences for user related preferences and /Library/Preferences for general preferences.
<ul>
<li>Folder naming example: com.apple.dashboard.plist</li>
</ul>
</li>
<li>Most application and system preferences saved as property list (plist) files.
<ul>
<li>Contain both internal application configuration and user preferences.</li>
<li>Plist file can be XML or binary encoded. Both can easily be viewed using Quick Look. For editing, you can use tools like xCode that can be found in the Mac App Store.</li>
<li>Often change, increased risk of corruption.
<ul>
<li>Apple worked hard to safeguard its apps and preferences against corruption.</li>
<li>3rd party applications that use the Apple preference model recognize corrupt file, ignore it and create a new one.</li>
<li>Many 3rd party applications use own proprietary preference models that are not as resilient. Could lead lead to crashing during startup or frequent crashes in general.</li>
</ul>
</li>
<li>Rename preference file, have app create new with original settings.</li>
<li>Some applications do not use property list files. Consult the documentation or developer to find out what files are used for what and where they are stored.</li>
</ul>
</li>
</ul>
</li>
<li>Application Resource Troubleshooting
<ul>
<li>Corrupted application software can cause issues, but rare.</li>
<li>Associated nonpreference resources can be a source of application problems as well. Examples include resources from local and user Library folders like fonts, plug-ins and keychains and items in the Application Support folder.</li>
<li>When troubleshooting:
<ul>
<li>Knowing the application behaviour is crucial.</li>
<li>Some applications store resources in ~/Documents as well.</li>
<li>Check if issue affects all users or specific users only to narrow possible causes.</li>
<li>Check application and diagnostic report logs to determine which resources the application tried to access when it crashed.</li>
<li>If many corrupted files, file system or hardware might be faulty.</li>
</ul>
</li>
</ul>
</li>
<li>Assistive technologies (accessibility features in System Preferences)
<ul>
<li>Universal settings:
<ul>
<li>Enable access for assistive devices (b.e. braille devices).</li>
<li>Show Accessibility status in menu bar.</li>
</ul>
</li>
<li>Seeing (assist people who have trouble seeing/cannot see)
<ul>
<li>Display
<ul>
<li>Modify cursor size</li>
<li>Modify display resolution</li>
<li>Modify brightness</li>
<li>Enhance contrast</li>
<li>Use greyscale</li>
<li>Invert colors</li>
</ul>
</li>
<li>Zoom
<ul>
<li>Configure zooming preferences including gestures and keyboard shortcuts</li>
</ul>
</li>
<li>VoiceOver (spoken-word interface)
<ul>
<li>Enable using Command+F5</li>
<li>Open VoiceOver Training</li>
<li>Open VoiceOver Utility</li>
<li>Enable Voiceover at login window using User &#38; Groups Preference Pane.</li>
<li>VoiceOver is very elaborate, do the VoiceOver Training, open the VoiceOver Utility and visit the <a title="Apple VoiceOver resource website" href="http://www.apple.com/accessibility/voiceover/" target="_blank">Apple VoiceOver resource website</a> for more information.</li>
</ul>
</li>
</ul>
</li>
<li>Hearing (assist people who have trouble hearing/cannot hear)
<ul>
<li>Enable screen flash as alternative to alert sound.</li>
<li>Play stereo audio as mono.</li>
<li>Modify volume levels.</li>
</ul>
</li>
<li>Interacting (assist people who have trouble interacting)
<ul>
<li>Keyboard
<ul>
<li>Enable sticky keys (enable to press a set of modifier keys as a sequence, instead of all at once).</li>
<li>Enable slow keys (configure delay between key press and activation of the key press).</li>
<li>Open keyboard preferences
<ul>
<li>Key repeat detection configuration</li>
<li>Keyboard brightness (backlight) settings</li>
<li>Enable use of F1, F2, etc. keys as standard function keys (when selected press Fn key to use special features printed on the key).</li>
<li>Modifier keys (option key, control key, command key and caps lock).</li>
<li>Change keyboard type.</li>
</ul>
</li>
</ul>
</li>
<li>Mouse &#38; Trackpad
<ul>
<li>Enable Mouse Keys (use keyboard to emulate mouse)</li>
<li>Configure double-click speed</li>
<li>Ignore built-in trackpad when mouse or wireless trackpad is present.</li>
<li>Trackpad options (scroll speed, scroll type, dragging)</li>
<li>Mouse options (scroll speed)</li>
</ul>
</li>
<li>Speakable Items (spoken commands)
<ul>
<li>Settings
<ul>
<li>Speakable items on/off
<ul>
<li>Voice can be modified using Dictation &#38; Speech preferences.</li>
</ul>
</li>
<li>Upon recognition, &#8220;Speak command acknowledgement&#8221; on/off and what sound to play.</li>
</ul>
</li>
<li>Listening Key
<ul>
<li>Change listening key</li>
<li>Listening method
<ul>
<li>Listen only when key is pressed.</li>
<li>Listen continuously with keyword</li>
</ul>
</li>
</ul>
</li>
<li>Commands
<ul>
<li>Enable, disable and configure command sets.</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>Dashboard and Widgets
<ul>
<li>Provides instant access to Widgets.</li>
<li>Access using:
<ul>
<li>F12 or F4 (depending on Mac model) by default, can be changed.</li>
<li>Four finger swipe</li>
<li>CTRL + left arrow key, CTRL + right arrow key, CTRL + up arrow key</li>
</ul>
</li>
<li>Add/remove widgets.
<ul>
<li>Add/remove using the + and &#8211; icons. When you press + you also get option &#8220;More Widgets &#8230;&#8221; that will open <a href="http://www.apple.com/downloads/dashboard/" rel="nofollow">http://www.apple.com/downloads/dashboard/</a> where you can find more widgets in multiple categories.</li>
<li>If you download the widget with Safari, it auto prompts for install. If you aquire it another way, double click in Finder.</li>
<li>Widget applications are subject to quarantine and Gatekeeper.</li>
<li>You can also very easily create your own custom widgets from (parts of) webpages in Safari by choosing File, Open in Dashboard and selecting the part you want to include in your Dashboard.</li>
</ul>
</li>
<li>Stored system wide in /Library/Widgets and for users in ~/Library/Widgets</li>
<li>launchd process starts at user log in, launchd starts Dock process. First time user attempts to access Dashboard, Dock process starts Dashboard process.</li>
<li>Dashboard runs with user privileges.</li>
<li>Download of 3rd party widget cannot be prevented, but use can be restricted using Parental Controls preferences.</li>
<li>Troubleshooting Widgets
<ul>
<li>Reset from Dashboard by clicking once on the widget and pressing Command+R. An animation indicates it has been reset.</li>
<li>Forcibly quit the dashboard process and restart it. Alternatively restart all processed by logging out the user and logging back in again.</li>
<li>Similar to troubleshooting other applications, consider removing preference files for the specific Widget and restarting the dashboard.</li>
<li>Remove all Dashboard and Widget preference files, log out, log in.</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<h1><span style="text-decoration:underline;"><strong>Network Configuration</strong></span></h1>
<ul>
<li>Network Essentials
<ul>
<li><a title="WikiPedia OSI model" href="http://en.wikipedia.org/wiki/OSI_model" target="_blank">7 layer OSI model</a> (Open Systems Interconnection Reference Model).</li>
<li>Network interface can be physical or virtual (b.e. VPN).</li>
<li>Network protocl defines a set of standard rules dor data representation, signaling, authentication, or error detection across network interfaces (b.e. TCP/IP).</li>
<li>Network service
<ul>
<li>In the context of System Preferences, Network, it describes configuration assigned to interface. By example Ethernet, Firewire, Wi-Fi, Bluetooth PAN.</li>
<li>In another context it describes a service like by example File Sharing services, messaging services, collaboration services, DHCP services, DNS services, etc.</li>
</ul>
</li>
<li>MAC address, 48-bit, 00:1C:B3:D7:2F:99,first 3 groups define OUI (Organizationally Unique Identifier) while the last three groups define the device.</li>
<li>TCP/IP
<ul>
<li>Data is split into multiple packets, that are then being re-assembled in order at the cost of some overhead.</li>
<li>Transmission Control Protocol (TCP) ensures data arrives complete (reliable).</li>
<li>Internet Protocol (IP) provides network addressing and data routing.</li>
</ul>
</li>
<li>UDP (User Datagram Protocol)
<ul>
<li>Does not guarantee reliability or ordering of data, but less overhead. Used for by example DNS, media streaming, VoIP.</li>
</ul>
</li>
<li><a title="WikiPedia IPv4" href="http://en.wikipedia.org/wiki/IPv4" target="_blank">IPv4</a>, 32-bit, 4 billion globally unique addresses, 4 octets each within range 0-255 (b.e. 192.168.1.1), <a title="WikiPedia Private Network" href="http://en.wikipedia.org/wiki/Private_network" target="_blank">private address space ranges</a> used with Network Address Translation (NAT) to translate between public and private IP and to make the most out of limited number of globally unique addresses.</li>
<li>Subnet mask, only required for IPv4. Declares which part of IP address defines the network the device is on, notation can be four octets (b.e. 255.255.255.0) or Classless Inter Domain Routing &#8211; CIDR (b.e. /24), used to determine if communication is local.</li>
<li>Router address / gateway, reroute traffic between networks they bridge, uses routing tables.</li>
<li><a title="WikiPedia IPv6" href="http://en.wikipedia.org/wiki/IPv6" target="_blank">IPv6</a>, 128 bit, 2^128 globally unique addresses, eight groups of four-digit hex seperated by colon (b.e. 2C01:0EF9:0000:0000:0000:0000:142D:57AB), omit one or more consecutive sections of zeroes, using a double colon (::) b.e. (2C01:0EF9::142D:57AB).</li>
<li>Address Resolution Protocol (ARP) maps IP to MAC and stores in table for fast switching.</li>
<li><a title="WikiPedia DNS" href="http://en.wikipedia.org/wiki/Domain_Name_System" target="_blank">Domain Naming System (DNS)</a>, translates DNS name to IP (forward lookup) or IP to DNS name (reverse lookup), hierarchical structure with at the top the &#8220;root&#8221; or &#8220;.&#8221; domain.</li>
<li>Dynamic Host Configuration Protocol (DHCP), DHCP server provides IP addressing automatically to DHCP clients. Can include DNS and other options as well.
<ul>
<li>Enabled by default for Ethernet and Wi-Fi interfaces in OS X.</li>
<li>In some cases, DHCP Client ID needs to be configured in advanced settings.</li>
<li>IPv6 addressing information is auto detected as well. Automatic IPv6 configuration is not provided by standard DHCP or PPP services though.</li>
<li>If multiple DHCP servers available, first one that responds will be used.</li>
</ul>
</li>
<li><a title="WikiPedia Bonjour" href="http://en.wikipedia.org/wiki/Bonjour_%28software%29" target="_blank">Bonjour</a> is Apple&#8217;s implementation of Zero configuration networking (<a title="Zero Configuration Networking (Zeroconf)" href="http://www.zeroconf.org" target="_blank">Zeroconf</a>). A group of technologies that includes service discovery, address assignment, and hostname resolution. Bonjour locates devices such as printers, other computers, and the services that those devices offer on a local network using multicast Domain Name System (mDNS) service records (UDP5353).
<ul>
<li>OS X also uses SMB to auto discover other devices/file services.</li>
<li>Local Bonjour requires no configuration.</li>
<li>Wide-Area Bonjour requires Mac to be configured to use DNS server and search domain that supports the protocol.</li>
<li>Register your Mac for Wide Area Bonjour from Sharing, edit and then selecting the checkbox &#8220;Use dynamic global hostname&#8221;. You can then enter Hostname, user, password and choose to &#8220;Advertise services in this domain using Bonjour&#8221;.</li>
<li>Bonjour name is &#60;computername&#62;.local by default.</li>
<li>On OS X 10.5 and higher, Bonjour and SMB cannot be disabled through GUI.</li>
</ul>
</li>
</ul>
</li>
<li>Network configuration, viewing and troubleshooting
<ul>
<li>Initial networking configuration is handled by Setup Assistant that runs the first time you start up after a new OS X installation.
<ul>
<li>If you don&#8217;t configure during inital setup, Mac auto enables any active network interface (including connecting to unrestricted wireless networks) and attempts to configure via DHCP.</li>
</ul>
</li>
<li>Network in System Preferences
<ul>
<li>Shows network services
<ul>
<li>Based on interfaces (b.e. Ethernet, Firewire, Thunderbolt, Wi-Fi (PAN), Bluetooth PAN, USB cellular GPRS/3G, virtual interface).</li>
<li>Can be added and removed.</li>
<li>Service status lights:
<ul>
<li>Green = Connected and configured
<ul>
<li>Does not guarantee correct TCP/IP config.</li>
</ul>
</li>
<li>Red = Not Connected
<ul>
<li>No cable</li>
<li>Disconnected (not always on interface b.e. VPN)</li>
<li>Settings might be incorrect</li>
</ul>
</li>
<li>Yelllow = Connected but not properly configured
<ul>
<li>Connection active, TCP/IP no correct config.</li>
<li>Wi-Fi is on, but not connected</li>
<li>Bluetooth PAN is in Unknown state, no IP.</li>
</ul>
</li>
<li>No light / Greyed out = Disabled</li>
</ul>
</li>
<li>Can turn off Wi-Fi and bluetooth.</li>
<li>Advanced allows you to configure IP addressing, DNS, WINS (netbios name, workgroup, WINS servers), 802.1X, Proxies and hardware (speed, duplex, MTU size).
<ul>
<li>MTU packet size for internet traffic is 1500 bytes by default. If network uses Jumbo Frames, adjust accordingly.</li>
</ul>
</li>
<li>Using the Action button (gear/cog icon) for services, you can:
<ul>
<li>Duplicate, rename, (de)activate services</li>
<li>Set service order (priority with multiple active services).</li>
<li>Import / export configuration.</li>
<li>manage virtual interfaces.
<ul>
<li>PPoE (Point-to-Point Protocol over Ethernet)</li>
<li>VPN (Virtual Private Network)</li>
<li>VLAN (Virtual Local Area Network)</li>
<li>Link aggregate (teaming)</li>
<li>6 to 4 (tunnel between IPv4 and IPv6)</li>
</ul>
</li>
</ul>
</li>
<li>Deactivating or deleting a network service from the list is the only way to disable a hardware network interface in OS X.
<ul>
<li>Network service interfaces can only be deleted if they&#8217;re not part of a configuration profile. If necessary modify using the Profiles system preference.</li>
</ul>
</li>
</ul>
</li>
<li>Lets you choose current location (b.e. home) and lets you edit available locations and the settings you want to use for other locations (b.e. work). The default location is named Automatic.
<ul>
<li>If multiple locations have been created, you can also switch location by clicking the Apple menu icon and selecting Location.</li>
</ul>
</li>
<li>&#8220;Assist me &#8230;&#8221; provides option &#8220;Network Diagnostics&#8221; to help troubleshoot and resolve issues.</li>
<li>&#8220;Network Setup Assistant&#8221; helps with setting up a new connection.</li>
<li>When modifying configuration, it is not applied immediately. Use apply or revert.</li>
<li>Applying new configuration or switching location, may disrupt connection.</li>
<li>When multiple service types are available for the same network, OS X will auto determine the preferred interface. By example wired is preferred over wireless and is considered the primary active network service interface.
<ul>
<li>Automatic source routing ensures related incoming and outgoing connections use the same interface, regardless of service order.</li>
</ul>
</li>
</ul>
</li>
<li>Network utility application (also available in OS X Recovery)
<ul>
<li>Info (for all interfaces MAC, IP, speed, status, vendor, model, statistics).
<ul>
<li>Often en0 interface is the first internal Ethernet port and en1 Wi-Fi.</li>
</ul>
</li>
<li>Netstat (routing table, statistics for each protocol, multicast info, state of all current socket connections)</li>
<li>Ping (unlimited pings or x number of pings).
<ul>
<li>Ping might be blocked by firewalls.</li>
</ul>
</li>
<li>Lookup (forward and reverse DNS lookup)</li>
<li>Traceroute
<ul>
<li>Ping might be blocked by firewalls.</li>
</ul>
</li>
<li>Whois (domain to look up and whois server to get whois info from)</li>
<li>Finger (enter user name and domain to get info about user)</li>
<li>Port Scan</li>
</ul>
</li>
<li>Wi-Fi
<ul>
<li>Wi-Fi icon in the menu bar can be used to view, join, create (ad-hoc) network and can also be used to access Network Preferences.
<ul>
<li>Use &#8220;Join Other Network&#8221; to join network with invisible network where the SSID is not broadcasted.</li>
<li>Access Wi-Fi Diagnostics by holding option while clicking Wi-Fi icon.
<ul>
<li>Create Diagnostic Report. Collects information about Bonjour services, nearby networks, Wi-Fi performance and runs a number of diagnostic tests.</li>
<li>Turn On Debug Logs. Enables basic or advanced logging to diagnose the state of the network.</li>
<li>Capture Network Traffic. Captures all network traffic on the Wi-Fi, Ethernet or Bluetooth interfaces.</li>
</ul>
</li>
</ul>
</li>
<li>Supported auth: WEP, WPA(2), WPA(2) Enterprise (per-user authentication)
<ul>
<li>At join WPA(2) Enterprise as admin, pass is saved to system keychain. All users can connect and Mac auto connects at start/wake.</li>
</ul>
</li>
<li>If you join and authenticate to a WPA/WPA2 Enterprise, an 802.1X service configuration is created automatically. May also prompt for certificate validation. Will also be saved to system keychain by default.</li>
<li>If a captive portal is detected for the wireless network you joined, a window showing the portal&#8217;s sign-in page will be opened.</li>
<li>In Advanced settings of Wi-Fi you can configure whether administrator authorization is required to:
<ul>
<li>Create computer-to-computer networks</li>
<li>Change networks</li>
<li>Turn Wi-Fi on or off</li>
</ul>
</li>
</ul>
</li>
<li>Bluetooth
<ul>
<li>Icon con be configured to show in the menu bar.
<ul>
<li>Set Bluetooth to on, off or discoverable.</li>
<li>Send file</li>
<li>Browse Device</li>
<li>Set up Bluetooth Device</li>
<li>Open Bluetooth Preferences</li>
</ul>
</li>
<li>Holding option while clicking icon in menu bar reveals extra option:
<ul>
<li>Create diagnostics report on the desktop</li>
</ul>
</li>
</ul>
</li>
<li>VPN
<ul>
<li>OS X includes VPN support out-of-the-box for:
<ul>
<li>L2TP over IPsec (UDP 1701)</li>
<li>Point-to-Point Tunneling Protocol &#8211; PPTP (TCP 1723)</li>
<li>Cisco IPSec (UDP 4500)</li>
</ul>
</li>
<li>VPN is easiest to configure using configuration profile. See Profiles.</li>
<li>VPN status icon can be shown in the menu bar and can also be used to establish a VPN connection.</li>
<li>Options vary for each VPN type.
<ul>
<li>Authentication options
<ul>
<li>User Authentication
<ul>
<li>Password</li>
<li>RSA SecurID</li>
<li>Certificate</li>
<li>Kerberos</li>
<li>CryptoCard</li>
</ul>
</li>
<li>Machine Authentication
<ul>
<li>Shared Secret</li>
<li>Certificate
<ul>
<li>Group Name (Optional)</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>Advanced options (not supported in the built-in Cisco IPsec client)
<ul>
<li>Options
<ul>
<li>Session
<ul>
<li>Disconnect when switching user accounts</li>
<li>Disconnect when user logs out</li>
<li>Send all traffic over VPN connection</li>
</ul>
</li>
<li>Advanced
<ul>
<li>Use verbose logging</li>
</ul>
</li>
</ul>
</li>
<li>VPN on Demand (only with certificate-based authentication)
<ul>
<li>Automatically creates VPN connection.</li>
<li>Configure domains where VPN on Demand should be used and specify which configuration should be used for each domain.</li>
</ul>
</li>
<li>TCP/IP
<ul>
<li>IPv4 config (using PPP, manually, off)</li>
<li>IPv6 config (auto, manually or link-local only)</li>
</ul>
</li>
<li>DNS
<ul>
<li>DNS servers (configure one or more)</li>
<li>Search domains (configure one or more)</li>
</ul>
</li>
<li>Proxies
<ul>
<li>Select protocols to configure</li>
<li>enable/disable : Exclude simple hostnames</li>
<li>Bypass proxy settings for specific Hosts and Domains.</li>
<li>Enable/disable : Use Passive FTP Mode (PASV)</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>Some VPN services require a 3rd party VPN client. VPN might also need to be configured using a 3rd party tool and might not be configurable from Network in system preferences.</li>
<li>Troubleshoot using /var/log/system.log using Console.</li>
</ul>
</li>
<li>802.1X Configuration
<ul>
<li>Can be used to secure wired and wireless networks.</li>
<li>Supported methods for automatic configuration:
<ul>
<li>User-selected <span style="text-decoration:underline;">Wi-Fi</span> network with WPA(2) Enterprise authentication</li>
<li>Administrator-provided 802.1X configuration profile
<ul>
<li>Only method for <span style="text-decoration:underline;">non Wi-Fi</span> 802.1X</li>
<li>Double click local copy of configuration profile or having Mac managed by a Mobile Device Management (MDM) solution like OS X Server through Profile Manager.</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>IP Proxies
<ul>
<li>Supports proxy for FTP, HTTP(S), streaming (RTSP),Socks and Gopher.</li>
<li>Supported configuration methods
<ul>
<li>Using manual configuration</li>
<li>Using local or network hosted proxy auto-config (PAC) files</li>
<li>Using Web Proxy Auto Discovery Protocol (WPAD)</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<ul>
<li>Network Troubleshooting
<ul>
<li>Apple provides many resources for network configuration and troubleshooting at <a title="Apple Support Networking" href="http://www.apple.com/support/networking/" target="_blank">http://www.apple.com/support/networking/</a></li>
<li>Determine network issue area
<ul>
<li>Local (hardware, settings, cabling)</li>
<li>Network (hardware, settings, cabling)</li>
<li>Network service (applications, settings, daemons)</li>
</ul>
</li>
<li>Main tools are Network preferences, Network Diagnostics and Network Utility.</li>
<li>Common network issues
<ul>
<li>Ethernet connectivity issue troubleshooting considerations:
<ul>
<li>Local cable (try other cable, check if not substandard cable, check NIC lights if appropriate)</li>
<li>Local settings and switch port settings (speed/duplex)</li>
<li>Ethernet status in System Preferences, Network</li>
<li>Ethernet stats in Network Utility (send errors, recv errors, collisions)</li>
<li>Switch port statistics (send errors, recv errors, collisions)</li>
<li>Other physical cables in the path (patch panel, switch)</li>
<li>Other physical ports (patch panel, switch)</li>
<li>Check driver/firmware version</li>
</ul>
</li>
<li>Wi-Fi Connectivity issue troubleshooting considerations:
<ul>
<li>Use Wi-Fi icon in menu bar to:
<ul>
<li>Check if connected to correct wireless network.</li>
<li><a title="Mac OS X 10.6 Snow Leopard: The AirPort status menu (AirPort Menu Extra) FAQ" href="http://support.apple.com/kb/HT3821" target="_blank">Check connection status</a></li>
</ul>
</li>
<li>Check driver/firmware version</li>
<li>Hold the Option key while clicking the Wi-Fi icon in the menu bar:
<ul>
<li>Shows statistics for the currently selected Wi-Fi network:
<ul>
<li>PHY Mode: b.e. 802.11n</li>
<li>Channel : b.e. 11  (2.4 GHz)</li>
<li>BSSID (Basic service set identification) which is the MAC address of the access point.</li>
<li>Security: b.e. WPA2 Enterprise</li>
<li>RSSI (Received Signal Strength Indication). indication of the power level being received by the antenna. The higher the RSSI (or less negative), the stronger the signal. : b.e. -45</li>
<li>Transmit rate in Mbit/s : b.e. 120</li>
<li><a title="IEEE 802.11n-2009" href="http://en.wikipedia.org/wiki/IEEE_802.11n-2009" target="_blank">MCS (Modulation and Coding Scheme)</a> Index : b.e. 23</li>
</ul>
</li>
</ul>
</li>
</ul>
<ul>
<ul>
<li>Reveals option &#8220;Open Wi-Fi Diagnostics&#8221; that allows you to &#8220;Create Diagnostic Report&#8221;, &#8220;Turn on Debug Logs&#8221; or &#8220;Capture Network Traffic&#8221;.</li>
</ul>
</ul>
</li>
<li>DHCP Service Issues troubleshooting considerations:
<ul>
<li>Local settings configured to use DHCP ?</li>
<li>Self-assigned (link-local / APIPA) address (169.254.x.x) used ?
<ul>
<li>Shows as Self-Assigned in Network preferences.</li>
<li>Client can only connect with other network devices on the local network in the same subnet (no gateway)</li>
</ul>
</li>
<li>More people / devices with problems ?
<ul>
<li>Check if DHCP server and service is working.</li>
<li>Check for connectivity from the client to the DHCP server/service.
<ul>
<li>DHCP request forwarding (iphelper) necessary and working ?</li>
<li>Firewall not blocking ?</li>
</ul>
</li>
<li>Check if scope is exhausted.</li>
<li>Check for rogue DHCP servers.</li>
</ul>
</li>
</ul>
</li>
<li>DNS Service Issues Troubleshooting considerations:
<ul>
<li>Local settings configured correctly (IP, subnet mask, gateway, DNS).
<ul>
<li>Configured correctly in DHCP ?</li>
<li>Rogue DHCP ?</li>
</ul>
</li>
<li>Keep in mind that in most cases the topmost network service interface is the primary and is used for all DNS resolution (except if primary network interface is lacking router/gateway configuration).</li>
<li>Do only specific hosts (or specific zones) not resolve (correctly) ?</li>
<li>Flush/reset the DNS cache using Terminal:<br />
OS X 10.6: sudo dscacheutil -flushcache<br />
OS X (Mountain) Lion: sudo killall -HUP mDNSResponder</li>
<li>More people / devices with problems ?
<ul>
<li>Check if DNS server and service is working correctly.</li>
<li>Check for connectivity from the client to the DNS server/service.
<ul>
<li>Firewall not blocking ?</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<h1><span style="text-decoration:underline;"><strong>Network Services<strong></strong></strong></span></h1>
<ul>
<li>Network services
<ul>
<li>Network Services Architecture
<ul>
<li>Client-Server architecture (mail, internet, etc.)</li>
<li>Protocols and ports used. <a title="Well known TCP and UDP ports used by Apple software products" href="http://support.apple.com/kb/TS1629" target="_blank">List of well known ports products</a>.</li>
<li>Network service identification using by example:
<ul>
<li>IP</li>
<li>DNS</li>
<li>Dynamic Service Discovery.
<ul>
<li>Browse local and WAN resources like browsing network shares from Finder or locating network printers using Print &#38; Fax preferences.</li>
<li>Used by built-in network applications like Messages, Image Capture iPhoto, iTunes, Safari and OS X Server.</li>
<li>Used by 3rd party network applications.</li>
<li>Bonjour Service Discovery Protocol</li>
<li>AppleTalk network browsing protocol unsupported for OS X 10.6 and later.</li>
</ul>
</li>
</ul>
</li>
<li>Network Service Account Settings / Authentication
<ul>
<li>Can be deployed using local copies of a configuration profile or managing Mac using Mobile Device Management (MDM) solution like Profile Manager in OS X Server.</li>
<li>Mail, Contacts &#38; Calendars in System Preferences sets up your accounts to use with Mail, Contacts, Calendar, Messages, and other apps. Use the + and &#8211; icon to add/remove. Includes:
<ul>
<li>iCloud</li>
<li>Microsoft Exchange</li>
<li>Gmail</li>
<li>Twitter</li>
<li>Facebook</li>
<li>Yahoo!</li>
<li>AoL</li>
<li>vimeo</li>
<li>flickr</li>
<li>Add Other Account
<ul>
<li>Mail</li>
<li>Messages</li>
<li>CalDAV</li>
<li>CardDAV</li>
<li>LDAP</li>
<li>OS X Server account
<ul>
<li>Auto detects OS X Server &#62;= 10.7</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>Application specifics
<ul>
<li>Mail version 6 (Mountain Lion)
<ul>
<li>Requires Microsoft Exchange Server 2007 SP1 UR4 with Exchange Web Services (EWS) enabled.</li>
<li>POP (TCP110), IMAP (TCP143), Encrypted POP (TCP995), Encrypted IMAP (TCP993). SMTP (TCP25), Encrypted SMTP (TCP25, TCP465 or TCP587). Exchange Web Services &#8211; EWS (TCP80), Exchange Web Services Secure (TCP443).</li>
<li>MAPI is not supported.</li>
</ul>
</li>
<li>Notes
<ul>
<li>Uses IMAP mail services to save notes.</li>
<li>Can be shared with other network services using sharing.</li>
<li>Can only access network service when configured via Mail, Contacts &#38; Calendars preference or configuration profile.</li>
</ul>
</li>
<li>Calendar version 6 (previously iCal) and Reminders (tasks/to-do)
<ul>
<li>Ideally configured using Mail, Contacts &#38; Calender preferences or configuration profile.</li>
<li>Calendar also features its own Setup Assistant.</li>
</ul>
<ul>
<li>Cannot configure Reminders seperately from Calendar.</li>
<li>Save Reminders locally or to network calendar service like:
<ul>
<li>Internet based calendar services like iCloud, Yahoo and Google (TCP443).</li>
<li>CalDAV collaborative calendaring.
<ul>
<li>Open standard</li>
<li>Uses WebDAV (TCP8008) encrypted (TCP8443)</li>
<li>OS X Server Calendar Service is based on CalDAV.</li>
</ul>
</li>
<li>Exchange 2007 or newer using EWS.</li>
<li>Calendar web publishing and subscription
<ul>
<li>TCP80 and TCP443 (encrypted)</li>
<li>Subscribe to iCalendar files .ics hosted on WebDAV servers.</li>
<li>Allows sharing, but doesn&#8217;t provide true collaborative calendaring environment.</li>
<li>Apple hosts many calendars for many purposes on its <a title="Apple iCal Calendars" href="http://www.apple.com/downloads/macosx/calendars" target="_blank">website</a>.</li>
</ul>
</li>
</ul>
</li>
<li>Reminders application creates and manages to-do calendar events. Calendar ignores to-do events.</li>
<li>Calendar email invitation
<ul>
<li>Uses iCalendar files.</li>
<li>Integrated with Mail to auto send/receive calendar invitations as email attachments.</li>
</ul>
</li>
</ul>
</li>
<li>Contacts version 7 (formerly known as Address Book)
<ul>
<li>Can use local. But can also use network contact services:
<ul>
<li>Internet-based contact services (iCloud, Google, Yahoo)</li>
<li>CardDAV contact sharing</li>
<li>Exchange 2007 or newer contact sharing</li>
<li>Directory service contacts (LDAP), configure:
<ul>
<li>Directly from account Setup Assistant</li>
<li>Through integration with OS X systemwide directory services (configured in User &#38; Groups preferences).</li>
</ul>
</li>
</ul>
</li>
<li>Can also share contacts by clicking share button.</li>
<li>Ideally configured using Mail, Contacts &#38; Calender preferences or configuration profile.</li>
<li>Contacts also features its own Setup Assistant.</li>
<li>You can update contact information from other services in Mail, Contacts &#38; Calendars preferences by selecting the service and clicking &#8220;Update Contacts&#8221;.</li>
</ul>
</li>
<li>Messages version 7 (formerly known as iChat)
<ul>
<li>Supports ten-way audio conferencing, four-way video conferencing, peer-to-peer file sharing, remote screen sharing, and high-resolution Messages Theater for sharing video from supported applications.</li>
<li>Depending on features used, TCP and UDP ports need to be opened. Even though outdated, this <a title="Using iChat with a firewall or NAT router" href="http://support.apple.com/kb/HT1507?viewlocale=en_US" target="_blank">KB document</a> may be of help.</li>
<li>Ideally configured using Mail, Contacts &#38; Calender preferences or configuration profile.</li>
<li>Messages also features its own Setup Assistant for configuring chat network service accounts.</li>
<li>Supports:
<ul>
<li>iCloud iMessage
<ul>
<li>Can communicate with iOS devices.</li>
<li>Can only be configured with Mail, Contacts &#38; Calender preferences.</li>
<li>Highly efficient for devices that rely on battery power (based on Apple push).</li>
<li>Does not support advanced features like video conferencing, screen sharing and Messages Theater.</li>
</ul>
</li>
<li>Internet Messaging services (AOL Instant Messenger/AIM, Yahoo!, Google Talk)</li>
<li>Privately hosted messaging services based on open source Jabber servers:
<ul>
<li>Uses eXtensible Messaging and Presence Protocol &#8211; XMPP (TCP5222) or encrypted (TCP5223).</li>
<li>b.e. OS X Server Messages service.</li>
</ul>
</li>
<li>Ad hoc messaging
<ul>
<li>Bonjour network discovery protocol is used to automatically find other Messages or iChat users.</li>
<li>No configuration necessary.</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>File Sharing Protocols
<ul>
<li>OS X provides built-in support for file service protocols:
<ul>
<li>Apple Filing Protocol &#8211; AFP v3 (TCP548) encrypted SSH (TCP22)
<ul>
<li>Supports all features of Mac OS Extended file system.</li>
</ul>
</li>
<li>Server Message Block &#8211; SMB (TCP139+445)
<ul>
<li>Mainly used by Windows, but also other platforms use it.</li>
<li>Supports many features of Mac OS Extended file system.</li>
<li><a title="OS X Lion: Guidelines for connecting to a DFS namespace via SMB" href="http://support.apple.com/kb/ht4794" target="_blank">OS X supports Distributed File Service (DFS) referrals</a>.</li>
</ul>
</li>
<li>Web-based Distributed Authoring and Versioning &#8211; WebDAV (TCP80) and encrypted (TCP443)
<ul>
<li>Extends HTTP service with basic read/write file services.</li>
<li>Use the http prefix in the connect to server screen.</li>
</ul>
</li>
<li>File Transfer Protocol &#8211; FTP (TCP20+21)
<ul>
<li>Supported</li>
<li>Finder mounts FTP shares as read only.</li>
<li>Secure FTP &#8211; FTPS (TCP989+990).
<ul>
<li>Commands are encrypted, but data is not.</li>
<li>Supported in Terminal, but not in Finder.</li>
</ul>
<ul>
<li>Not to be confused with SSH File Transfer Protocol &#8211; SFTP (TCP22)
<ul>
<li>Uses SSH encryption.</li>
<li>Commands and data are encrypted.</li>
<li>Supported in Terminal and Finder.</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>Connecting to File Shares
<ul>
<li>Connecting to File Shares Using Finder
<ul>
<li>Automatically discovered shared resources can be browsed
<ul>
<li>In Sidebar
<ul>
<li>Shared category shows first eight computers + All&#8230; that links to the Finder Network folder.
<ul>
<li>The Network folder is not a standard folder. Updated dynamically with discovered network file services and currently mounted file systems.</li>
</ul>
</li>
<li>Access the Network folder directly by going to the Devices category, &#60;device name&#62;, Network (Command+Shift+K).</li>
</ul>
</li>
</ul>
</li>
<li>Manually connect by entering the address of the server.
<ul>
<li>Using Menu, Go, Connect To Server (Command+K),enter:
<ul>
<li>Protocol &#8211; afp:// , smb:// , nfs:// , http:// , https:// , ftp:// or ftps://</li>
<li>Server &#8211; ip, fqdn, bonjour name</li>
<li>Share / resource name</li>
</ul>
</li>
<li><a title="OS X Lion: Guidelines for connecting to a DFS namespace via SMB" href="http://support.apple.com/kb/ht4794" target="_blank">For connecting to DFS, read this KB article</a>.</li>
<li>When connected, server is added to Sidebar in Shared.</li>
</ul>
</li>
</ul>
</li>
<li>File Share Authentication
<ul>
<li>Automatic authentication is attempted using these methods:
<ul>
<li>Kerberos when using Kerberos SSO authentication.</li>
<li>Using previously saved authentication info in keychain when using non-Kerberos authentication.</li>
<li>Authenticate as guest.</li>
</ul>
</li>
<li>Manual authentication
<ul>
<li>In Finder in Shared category select Server and choose &#8220;Connect As&#8221;. Then select either:
<ul>
<li>Connect as Guest</li>
<li>Registered User
<ul>
<li>Enter user name and password and optionally save credentials in keychain</li>
</ul>
</li>
<li>Using an Apple ID
<ul>
<li>Only for AFP share using Apple ID</li>
<li>Only shows when local Mac and computer hosting the share run OS X</li>
<li>Local account must be tied to Apple ID</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>File Share mount / dismount
<ul>
<li>Mounted File Shares show in the Finder Sidebar and will also show in any application&#8217;s Open dialog.
<ul>
<li>It will also show in the Save As / Duplicate dialog if you select &#60;computer name&#62; in the Where field and then use the arrow down button next to the Save As field.d</li>
</ul>
</li>
<li>When authenticated to file services, you are presented with the list of shared volumes your account is allowed to access. Select the shared volumes you want to mount (use Command key to select multiple).</li>
<li>You can dismount volumes by pressing the Eject icon next to the server in Finder.</li>
<li>You can automatically mount file shares for users: Go to Users &#38; Groups, select account, Login Items, + , select share you want to add.
<ul>
<li>Alternatively create shotcuts / aliases in Dock, Desktop or in Finder.
<ul>
<li>Drag and drop from Finder sidebar or the Network browser to login items on the Dock does not work. Instead do this from the Desktop or from the Computer location in the Finder using Menu, Go, Computer (Shift+Command+C).</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>Troubleshooting Network Applications and File Sharing service
<ul>
<li>Check application specific configurations and preferences.</li>
<li>Mail
<ul>
<li>Mail app includes tool: Menu, Window, Connection Doctor.</li>
<li><a title="Apple Online Mail Setup Assistant" href="http://www.apple.com/support/macosx/mailassistant/" target="_blank">Apple online mail Setup Assistant</a> helps configure mail.</li>
</ul>
</li>
<li>Messages
<ul>
<li>Messages app includes tool: Menu, Video, Connection Doctor. View conference statistics, chat capabilities and Messages error log.
<ul>
<li>Note: Connection Doctor is just for Mail and Messages application.
<ul>
<li>For troubleshooting network/internet connection issues you should use network diagnostics instead. It can be found under System Preferences, Network, Assist me, Diagnostics.</li>
<li>For home users, initially configuring is simplied by using the Network Setup Assistant. It can be found under System Preferences, Network, Assist me, Assistant.</li>
<li>Network Tools app includes ping, lookup, etc.</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>File Sharing Service troubleshooting
<ul>
<li>Windows servers prior to 2008 include Services for Macintosh (SFM) which only provides the legacy AFP 2 file service. While OS X is still compatible with AFP 2, it is optimized for AFP 3.1
<ul>
<li>There are many known performance issues with AFP 2, so try to avoid using it.</li>
<li>Use SMB instead if possible or use 3rd party product like Group Logic ExtremeZ-IP for AFX 3.1 support.</li>
<li><a title="Connecting to legacy AFP services" href="http://support.apple.com/kb/HT4700" target="_blank">Legacy AFP on OS X requires specific configuration</a>.</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>Host Sharing and Personal Firewall
<ul>
<ul>
<li>OS X already includes many of the core technologies that make OS X Server possible.</li>
</ul>
<li>Host Sharing Services (configured using Sharing)
<ul>
<li>DVD or CD Sharing (Remote Disc)
<ul>
<li>Only shares Optical Disc</li>
<li>Cannot configure user-specific access</li>
<li>Can only access using Bonjour</li>
<li>When enabled, launchd process listens and when request comes in, starts ODSagent process that listens for requests on very high randomly selected TCP port.</li>
<li>Accessible only from Macs using Finder sidebar or Migration Assistant</li>
</ul>
</li>
<li>File Sharing
<ul>
<li>AFP (AppleFileServer process), SMB (smbd process)</li>
<li>Only standard and administrative have users access by default.</li>
</ul>
</li>
<li>Printer sharing
<ul>
<li>Covered in detail later on.</li>
</ul>
</li>
<li>Scanner sharing
<ul>
<li>Only for Macs using Bonjour and Image Capture application.
<ul>
<li>Use Image Capture also for sharing a digital camera.</li>
</ul>
</li>
<li>When enabled, launchd process listens and when request comes in, starts Image Capture Extension Background process that listens for requests on very high randomly selected TCP port.</li>
<li>Using Sharing preferences you can enable specific scanners.</li>
<li>When using network scanner sharing, keep in mind that other computers on the network can see what&#8217;s on the scanner bed. Especially with sensitive information.</li>
</ul>
</li>
<li>Remote Login (sshd)
<ul>
<li>SSH, SCP, SFTP (Secure File Transfer Protocol)</li>
</ul>
</li>
<li>Remote Management &#8211; Apple Remote Desktop (ARD) application.
<ul>
<li>Screen Sharing is a subset of ARD. Both provide the VNC service.</li>
</ul>
</li>
<li>Remote Apple Events
<ul>
<li>Allows applications and AppleScripts on another Mac to communicate with applications and services on your Mac.</li>
<li>Often used to facilitate automated AppleScript workflows between applications running on seperate Macs.</li>
<li>When enabled, launchd process listens for TCP+UDP 3130 and when request comes in, starts AEServer background process as needed.</li>
<li>By default just non-guest users can access. Can limit using Sharing.</li>
</ul>
</li>
<li>Screen Sharing &#8211; System Screen Sharing (AppleVNCServer)
<ul>
<li>Screen Sharing Methods in OS X:
<ul>
<li>System Screen Sharing</li>
<li>Messages Screen Sharing</li>
<li>Apple Remote Desktop (ARD).</li>
</ul>
</li>
<li>Screen sharing is a subset of ARD remote management service. When Remote Management is enabled, Screen Sharing inaccessible.</li>
<li>Modified version of cross-platform Virtual Network Computing &#8211; VNC protocol (TCP+UDP5900) that includes clipboard, file sharing and optional encryption (when using ARD or OS X Lion or later).
<ul>
<li>Should integrate with 3rd party VNC solutions.</li>
</ul>
</li>
<li>Backwards compatible with OS X 10.5 or later</li>
<li>Screen sharing to virtual desktop supported with OS X Lion or newer.</li>
<li>By default only administrative users can access. You can optionally specify users/groups to allow access, or allow guest access (either view only or control with password).</li>
<li>When attempting to access Mac computer&#8217;s screen sharing, current logged-in user must authorize the session.</li>
<li>You can access a system&#8217;s screen sharing by:
<ul>
<li>Finder, sidebar, shared, select Mac, click Share Screen.</li>
<li>Finder, menu, Go, Connect to Server, vnc://&#60;computer&#62;</li>
<li>The methods above start the Screen Sharing application. You can also start it directly from /System/Library/CoreServices/</li>
<li>Using a 3rd party VNC client.</li>
</ul>
</li>
<li>You can connect:
<ul>
<li>By asking for permission</li>
<li>As a registered user</li>
<li>Using an Apple ID</li>
</ul>
</li>
<li>Depending on remote computer&#8217;s system, the following three situations can occur:
<ul>
<li>Remote computer not a Mac running OS X
<ul>
<li>You connect to its current screen.</li>
</ul>
</li>
<li>Remote computer is Mac running OS X
<ul>
<li>No one logged in.
<ul>
<li>You connect to its current screen.</li>
</ul>
</li>
<li>Authenticated as currently logged-in user.
<ul>
<li>You connect to its current screen.</li>
</ul>
</li>
<li>Authenticated as different user than the one currently using the Mac.
<ul>
<li>You can choose to log in to a virtual screen or to Share Display with a currently logged on user (user has choice to allow or not).</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>When Screen Sharing application is active, all keyboard commands are sent to the remote computer (including keyboard shortcuts)</li>
</ul>
</li>
<li>Screen Sharing &#8211; Messages Screen Sharing
<ul>
<li>Messages application can be used for screen sharing while also being able to use voice and instant messages.</li>
<li>Supports reverse screen sharing.</li>
<li>Does not require Mac to have Screen Sharing enabled.</li>
<li>Requires OS X 10.5 or later.</li>
<li>Cannot force user to share screen. User decides to allow or not.</li>
</ul>
</li>
<li>Screen Sharing &#8211; Apple Remote Desktop 3 (ARD) Remote Management
<ul>
<li>Most complete Screen Sharing solution included in OS X.</li>
<li>ARD administration software provides advanced functionality: <a title="Apple Remote Desktop 3" href="http://www.apple.com/remotedesktop" target="_blank">http://www.apple.com/remotedesktop</a>.
<ul>
<li>Remotely gather system information, usage statistics, change settings, add/remove files and software, send UNIX commands, perform almost any management task.</li>
</ul>
</li>
<li>ARDagent listens for incoming administration requests (UDP3283).</li>
<li>AppleVNCServer listens for screen sharing requests (TCP5900).</li>
<li>You can configure who has access and what they are allowed to do.</li>
</ul>
</li>
<li>Internet Sharing &#8211; NAT (natd), DHCP (bootpd), DNS (named)</li>
<li>Bluetooth Sharing</li>
</ul>
</li>
<li>Host Network Identification Methods in OS X:
<ul>
<li>IP: used by any network host, configure using Network.</li>
<li>DNS name: used by any network host, configure on DNS server.</li>
<li>Computer name: used by Mac (AirDrop+Bonjour), configure using Sharing.</li>
<li>Bonjour Name: used by any Bonjour host, configure using Sharing.</li>
<li>Netbios name: used by any SMB host, configure using Network.</li>
</ul>
</li>
<li>AirDrop (peer-to-peer Wi-Fi file sharing service)
<ul>
<li><a title="OS X: Can I use AirDrop with my computer?" href="http://support.apple.com/kb/HT4783" target="_blank">Only available on newer Mac models</a>.
<ul>
<li>If your Mac is supported, AirDrop can be accessed using Finder, Go, Airdrop (Shift+Command+R). Depending on your preferences, it might also be in the finder sidebar.</li>
</ul>
</li>
<li>Scans for AirDrop systems within Wi-Fi range every time you select the window.
<ul>
<li>Both users don&#8217;t have to be connected to the same Wi-Fi network.</li>
</ul>
</li>
<li>For other systems to show up in AirDrop, the other System must also have the AirDrop window selected in Finder.</li>
<li>Icons in AirDrop window are based on Mac computer&#8217;s logged-in user account.</li>
<li>Name in AirDrop defaults to Mac computer name as set in Sharing. If current logged-in user has Apple ID associated and you have the user in your Contacts.</li>
<li>Transfer files by simply drag and drop. Requires confirmation by both parties.</li>
</ul>
</li>
<li>Personal Firewall
<ul>
<li>Disabled by default.</li>
<li>Enable and configure using Security &#38; Privacy.
<ul>
<li>By default incoming traffic allowed for connections that where initiated from your Mac and for any signed software of enabled service.</li>
</ul>
</li>
<li>Firewall options you can configure:
<ul>
<li>Block all incoming connections (except those required for basic Internet services such as DHCP, Bonjour and IPSec).</li>
<li>Specify which applications to allow/block incoming conections for:
<ul>
<li>Add/remove applications manually and specify action.</li>
<li>Adding/removing services in Sharing, affects the items.</li>
<li>When new applications requests network access, you will get a dialog asking whether to allow or deny.</li>
</ul>
</li>
<li>Automatically allow signed software to receive incoming connections.</li>
<li>Enable stealth mode (do not respond to/acknowledge ICMP ping, etc).
<ul>
<li>Adds complexity when troubleshooting.</li>
</ul>
</li>
</ul>
</li>
<li>Traditional firewall uses rules based on service port numbers, which can be troublesome with applications that use dynamic ports. Modern firewall like thatin OS X uses adaptive technology that allows connections based on applications and service needs (also closes ports when not needed anymore).
<ul>
<li>port-based firewall ipfw is still in OS X as well. Use terminal or config files to configure.</li>
</ul>
</li>
<li>Firewall logging always enabled. Use Console: /private/var/log/appfirewall.log</li>
</ul>
</li>
<li>Shared Service Troubleshooting
<ul>
<li>Determine where the likely cause of the issue is.
<ul>
<li>One client affected, then probably local client issue.
<ul>
<li>Software</li>
<li>Hardware</li>
<li>Configuration (network, application)</li>
<li>User error</li>
<li>Authentication</li>
</ul>
</li>
<li>More clients affected
<ul>
<li>Might be Mac providing shared service
<ul>
<li>Application/Service</li>
<li>Local firewall</li>
<li>Software</li>
<li>Hardware</li>
<li>Configuration</li>
</ul>
</li>
<li>Might be network related
<ul>
<li>Network firewall</li>
<li>Routing</li>
<li>Switch</li>
<li>Switches</li>
</ul>
</li>
<li>Might be related to other services the shared service depends on (b.e. DNS or LDAP/Active Directory).</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<h1><span style="text-decoration:underline;"><strong>Peripherals and Printing</strong></span></h1>
<ul>
<li>Peripherals and Drivers
<ul>
<li>Peripheral technologies
<ul>
<li>Peripheral connectivity types
<ul>
<li>Peripheral buses &#8211; general pupose to connect external device</li>
<li>Expansion buses &#8211; expand HW compatibility / extra connect options</li>
<li>Storage buses &#8211; access storage devices</li>
<li>Audio and video connectivity</li>
</ul>
</li>
<li>Each connection is specialized for particular communication. Combination of technologies often required for peripheral.</li>
<li>Use System Information to view connected peripherals and connection types.</li>
<li>Peripheral buses examples
<ul>
<li>FireWire 400/800 (IEEE-1394)
<ul>
<li>Hot-pluggable.</li>
<li>Can be daisy-chained.</li>
<li>Up to 63 simultaneous devices using hubs.</li>
<li>Can supply about 7 watts per port (instead of 2.5 of USB).</li>
<li>Standard interface for many digital video devices.</li>
<li>Allows Mac to be used in target disk mode without OS.</li>
<li>Firewire 400 max 400 Mbit/s, FireWire 800 max 800 Mbit/s.</li>
<li>Firewire 800 port backwards compatible with Firewire 400.</li>
<li>USB and Thunderbolt are replacing FireWire because it is cheaper and/or better.</li>
</ul>
</li>
<li>Universal Serial Bus (USB) 1.1 / 2.0 / 3.0
<ul>
<li>Hot-pluggable.</li>
<li>Can be daisy-chained.</li>
<li>Up to 127 devices per USB host controller.</li>
<li>Most Macs have two external USB host controllers.</li>
<li>Port may supply up to 2.5 watts of power (500 mA at 5v) to power device (instead of 7 watts with Firewire).
<ul>
<li>Unpowered hubs split power between ports, usually supplying only 0.5 watts (100 mA) each.</li>
<li>System displays warning and disables device if not enough power is available for device. System information displays current available to and desired by device.</li>
</ul>
</li>
<li>USB 1.1 , 1.5-12 Mbit/s</li>
<li>USB 2.0 , max 480 Mbit/s theoretically in reality lower.</li>
<li>USB 3.0 , max 5 Gbit/s , often blue inside of connector.</li>
<li>USB versions are <span style="text-decoration:underline;">back</span>wards compatible.</li>
</ul>
</li>
<li>Bluetooth (BT)
<ul>
<li>Short range wireless 1-10m peripheral connection.</li>
<li>Standard originally developed by Ericsson for phone headsets. Used for headsets, mice, keyboard, printers, cell phones.</li>
<li>Not designed for fast wireless connections like WiFi.</li>
<li>Power efficient (works with low power devices).</li>
<li>Bluetooth versions:
<ul>
<li>BT 1.2 (712 kb/s)</li>
<li>BT 2.1 + Extended Data Rate &#8211; EDR (3Mbit/s)</li>
<li>BT 3.0 + High Speed &#8211; HS (24Mbit/s)</li>
<li>BT 4.0 + Low energy support (200kbit/s)</li>
</ul>
</li>
<li>Newer Mac systems (2011+) support all BlueTooth versions. Previous Mac compatible with OS X Mountain Lion (without Xserve) support up to 2.1 + EDR.</li>
</ul>
</li>
<li><a title="Thunderbolt Technology for Developers" href="www.intel.com/technology/io/thunderbolt/index.htm" target="_blank">Thunderbolt</a>
<ul>
<li>Provides 2 bidirectional 10Gbit/s channels (20Gbit/s in and 20Gbit/s out simultaneously).
<ul>
<li>Future versions planned to provide up to 100 Gbit/s channels.</li>
</ul>
</li>
<li>Up to 10W of power to connected devices.</li>
<li>Max cable length 3 meters
<ul>
<li>Optical cabling available soon (100m no power)</li>
</ul>
</li>
<li>Combines PCI Express and DisplayPort data into single connection and cable.</li>
<li>Supports hub or daisy chain of up to six devices (up to two of these devices being high-resolution displays).</li>
<li>One cable can be used for multiple purposes. By example the Apple Thunderbold display is connected with the Mac through a single Thunderbolt cable and provides high-definition digital display, built-in camera, microphone, audio speakers, 3-port USB hub, FireWire port, Gigabit Ethernet port and an additional Thunderbolt port for another display.</li>
</ul>
</li>
</ul>
</li>
<li>Expansion Buses examples
<ul>
<li>PCI Express (PCIe)
<ul>
<li>PCIe 1.x (32 Gb/s)</li>
<li>PCIe 2.x (64 Gb/s), backwards compatible</li>
</ul>
</li>
<li>ExpressCard 34 &#8211; based on PCIe and USB (2.5 Gb/s)</li>
</ul>
</li>
<li>Storage Buses examples
<ul>
<li>Advanced Technology Attachment &#8211; ATA (133 MB/s)
<ul>
<li>Only 2 drives per controller.</li>
</ul>
</li>
<li>Serial ATA &#8211; SATA
<ul>
<li>SATA300 (3 Gb/s) or SATA600 (6 Gb/s)</li>
<li>External SATA (eSATA)</li>
</ul>
</li>
<li>Small Computer System Interface &#8211; SCSI (320 MB/s)
<ul>
<li>Up to 16 drives per controller</li>
</ul>
</li>
<li>Serial Attached SCSI &#8211; SAS (3 Gb/s)
<ul>
<li>Up to 16384 devices using expanders</li>
</ul>
</li>
<li>Fibre Channel (up to multiple GB/s)
<ul>
<li>Relatively expensive</li>
<li>Apple Xsan network storage built around it</li>
</ul>
</li>
</ul>
</li>
<li>Audio and Video Connectivity
<ul>
<li>Analog stereo audio</li>
<li>TOSLINK digital audio</li>
<li>Composite video (640&#215;480)</li>
<li>S-Video (640&#215;480)</li>
<li>Video Graphics Array &#8211; VGA (2048&#215;1536)</li>
<li>Digital Video Interface &#8211; DVI (1920&#215;1200)</li>
<li>Dual-Link DVI &#8211; DVI-DL (2560&#215;1200)</li>
<li>Mini DisplayPort (3840&#215;2160)
<ul>
<li>Multiple versions with different specs.</li>
<li>Thunderbolt uses same connector form factor.</li>
</ul>
</li>
<li>High Definition Multimedia Interface &#8211; HDMI (3840&#215;2160)
<ul>
<li>Multiple versions with different specs.</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>Bluetooth (BT) peripherals
<ul>
<li>Configure using Bluetooth in System Preferences or using the menu icon.
<ul>
<li>Make sure BT is enabled on your Mac.</li>
<li>Options:
<ul>
<li>Turn BT mode on/off.</li>
<li>Turn discoverable mode on/off.</li>
<li>Enable/disable BT icon in menu bar.
<ul>
<li>In menu bar you can see paired devices, edit settings for these devices and also access general BT settings and preferences.</li>
</ul>
</li>
<li>BT sharing setup.</li>
<li>Press the + or &#8211; icon to add/remove device (including pairing using Bluetooth Setup Assistant).</li>
</ul>
</li>
</ul>
</li>
<li>Discoverable mode advertises Mac as BT resource to any device within range. For security reasons only enable when pairing to a peripheral.</li>
<li>Paired devices are shown by clicking on the Bluetooth icon in the Menu bar. By clicking on the device you can adjust settings like the name.</li>
</ul>
</li>
<li>Peripheral troubleshooting
<ul>
<li>Peripheral Device Classes (based on function)
<ul>
<li>Human Input Devices (HID) &#8211; Keyboard, mouse, trackpad, gamepad.</li>
<li>Storage devices &#8211; hard disk, flash disk, optical drive, iPod.</li>
<li>Printers</li>
<li>Scanners &#8211; Using Image Capture Framework and Image Capture app.
<ul>
<li>Supports both local and shared scanners.</li>
</ul>
</li>
<li>Digital cameras</li>
<li>Video devices &#8211; uses Quicktime framework</li>
<li>Audio devices &#8211; uses Core Audio framework</li>
</ul>
</li>
<li>Peripheral Device Drivers
<ul>
<li>OS is intermediary between peripherals and applications. Application needs to support the device class, while OS handles technical details of communicating with each model of peripheral in that class.</li>
<li>Some peripherals are supported via generic class drivers, while others require their own specific driver.
<ul>
<li>Driver needs to be installed before connecting peripheral.</li>
</ul>
</li>
<li>Device driver implementations in OS X include:
<ul>
<li>Kernel Extensions (KEXTs)
<ul>
<li>Adds peripheral support at OS X kernel.</li>
<li>Load and unload with system automatically.</li>
<li>Some are hidden, most in /Library/Extensions or /System/Library/Extensions</li>
<li>Examples include HID, storage devices and audio and video devices.</li>
<li>Currently loaded KEXTs can be viewed using System Information, Extensions.</li>
<li>Mountain Lion is the first OS X version that requires kernel startup in 64-bit mode.
<ul>
<li>Third-party KEXTs that haven&#8217;t been upgraded to 64-bit won&#8217;t work and will be ignored.</li>
</ul>
</li>
</ul>
</li>
<li>Framework plug-ins
<ul>
<li>Adds specific peripheral support to framework.</li>
<li>By example adds support for additional scanners and digital camers to Image Capture framework.</li>
</ul>
</li>
<li>Applications
<ul>
<li>Application is specifically written for peripheral.</li>
<li>By example iTunes for iPod, iPhone and iPad.</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>General Peripheral Troubleshooting
<ul>
<li>Check System Information</li>
<li>Check cables and hardware.</li>
<li>Try on different computer.</li>
<li>Latest driver/firmware  and software?
<ul>
<li>Check System Information Utility, Software &#8211; Extensions</li>
<li>If latest, try older versions (downgrade) ?</li>
</ul>
</li>
<li>Sufficient USB power ?</li>
<li>Tried reconnecting peripheral ?</li>
<li>Tried using different port, cable, device, etc ?</li>
<li>Tried restarting computer ?</li>
<li>Tried unplugging other devices ?</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>Print and Scan
<ul>
<li>Print system architecture
<ul>
<li>OS X uses Common Unix Printing System 1.6 (<a title="Cups" href="http://www.cups.org/" target="_blank">CUPS</a>) to manage local printing.
<ul>
<li>Uses Internet Printing Protocol (IPP) for managing printing tasks.</li>
<li>Uses PostScript Printer Description (PPD) files as basis for drivers.
<ul>
<li>non-Postscript printers can also be described using PPD.</li>
</ul>
</li>
</ul>
</li>
<li>Process
<ul>
<li>User prints, spool is generated in /var/pool/cups, cupsd passes spool through print chain (series of filter process) that transform it to a format understood by the destination printer and sends it to it.
<ul>
<li>When printed from app in GUI or Terminal print command, Portable Document Format (PDF) is generated as spool.</li>
<li>When printed from the command line, a PostScript (PS) file is generated.</li>
</ul>
</li>
</ul>
</li>
<li>Configure printer settings
<ul>
<li>Associate printer driver with printer device.
<ul>
<li>Default OS X installation only includes Apple and generic print drivers (saves space).</li>
<li>Installation requires administrative</li>
<li>If you add a printer for driver not available, will download using Apple software update service.</li>
<li><a title="rinter and scanner software available for download" href="http://support.apple.com/kb/HT3669" target="_blank">Apple supplies driver downloads for most popular models.</a></li>
<li>Preferrably use Apple provided drivers, otherwise download directly from manufacturer.</li>
<li>Apple built-in drivers installed in /System/Library/Printers</li>
<li>3rd part in /Library/Printers
<ul>
<li>Primarily in PPD folder, but may differ.</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>Print and scan configuration
<ul>
<li>Configure or check config using Print &#38; Scan preferences.</li>
<li>Locally connected printers show local Mac  sharing name as location.</li>
<li>When you physically plug in local printer and if administrative user:
<ul>
<li>Auto installs driver if Mac already has driver.</li>
<li>Prompted with automatic software update installer if driver isn&#8217;t installed, but is available from Apple.</li>
<li>Nothing happens auto when driver is unavailable.</li>
</ul>
</li>
<li>Configure auto-discovered network printer
<ul>
<li>Must be added manually.
<ul>
<li>From File, Print in any application, printer dropdown box, select auto detected printer.</li>
<li>Using Print &#38; Scan.</li>
<li>You can add network printer on local network (bonjour, shared on other Mac or AirPort Base station.</li>
<li>Apropriate drivers are aquired from Mac that is sharing the network printer.</li>
</ul>
</li>
</ul>
</li>
<li>Configure non auto-discovered network printer
<ul>
<li>Must be added manually.</li>
<li>From File, Print in any application, printer dropdown box, add printer.</li>
<li>Using Print &#38; Scan.</li>
<li>Using /System/Library/CoreServices/AddPrinter</li>
</ul>
</li>
<li>Add printer window options
<ul>
<li>Default (usb, firewire, network auto detect printer)</li>
<li>Fax (select modem port)</li>
<li>IP (Line Printer Daemon &#8211; LPD, Internet Printing Protocol &#8211; IPP, HP JetDirect printer).
<ul>
<li>Might require manual driver specification fom dropdown box Print Using. You can use spotlight to narrow the search.</li>
</ul>
</li>
<li>Windows (SMB)
<ul>
<li>Might require manual driver specification fom dropdown box Print Using. You can use spotlight to narrow the search.</li>
</ul>
</li>
</ul>
</li>
<li>Print &#38; Scan options
<ul>
<li>Add/remove printer.</li>
<li>Set printing defaults (printer + paper size).</li>
<li>Open print queue</li>
<li>Edit an existing configuration and check supply levels.</li>
<li>Open scanner and enable/disable sharing options.</li>
</ul>
</li>
<li>From Sharing preference, configure shared printers and user permissions.
<ul>
<li>By default users can re-share printers. In general not desired.</li>
</ul>
</li>
</ul>
</li>
<li>Managing print jobs
<ul>
<li>OS X features unified Print dialog that combines previously seperate Page Setup (document size, orientation and scale settings) and Print dialog (all other printer settings).</li>
<li>For backwards compatibility, OS X allows older applications to seperate the dialogs.</li>
<li>Some applications may use custom dialogs.</li>
</ul>
</li>
<li>Basic printing
<ul>
<li>Choose File, Print (or press Command+P) to print.
<ul>
<li>Some apps may bypass the print dialog if Command+P is used.</li>
<li>Print dialog often shows preview and starts with default settings.</li>
<li>You can override settings like Printer, Copies, Two-Sided, Pages to print, PDF (print to PDF, print to PostScript).
<ul>
<li>Use Show details for more options.
<ul>
<li>Bottom half shows application specific printing settings.</li>
<li>You can save print presets.
<ul>
<li>Stored in : ~/Library/Preferences/com.apple.print.custompresets.plist</li>
<li>Application specific settings cannot be saved to preset.</li>
<li>Manage presets by selecting Show Presets.</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>PDF Tools workflow options:
<ul>
<li>Default: Open PDF in Preview, Save as PDF, Save as PostScript, Fax PDF, Add PDF to iTunes, Mail PDF, Save PDF to Web Recipients Folder.</li>
<li>You can manually add PDF workflows to /Library/PDF Services or ~/Library/PDF Services</li>
<li>You can create custom PDF workflows using /Applications/Utilities/AppleScript Editor or /Applications/Automator application</li>
</ul>
</li>
<li>Managing Printer Queues
<ul>
<li>Access printer queue:
<ul>
<li>If printer queue already open, click Dock icon.</li>
<li>Using Print &#38; Scan preferences by selecting device, Open Print Queue.</li>
<li>Using finder ~/Library/Printers
<ul>
<li>Drag folder to Dock for easier access.</li>
</ul>
</li>
</ul>
</li>
<li>Queue options (re-order job, pause job, delete job, settings and scanner if it&#8217;s a multifunctional).</li>
</ul>
</li>
<li>Print system troubleshooting
<ul>
<li>Check printer queue (connection issue, paused, stuck jobs)</li>
<li>Check page and print settings.</li>
<li>Check PDF output of the application because that part in the CUPS workflow might cause an issue. Then it&#8217;s generic issue and not specific application printing issue.</li>
<li>Check if you can print from another application.</li>
<li>Check cabling.</li>
<li>Check printer hardware status (visual, menu, tooling).</li>
<li>Check phone line and settings for fax issues.</li>
<li>Use peripheral troubleshooting techniques for local printers.</li>
<li>Use network troubleshooting techniques for network printers.</li>
<li>Delete and reconfigure printers.</li>
<li>Update/reinstall drivers.</li>
<li>Repair installed software disk permissions using the Disk Utility Repair Permissions feature.</li>
<li>Review CUPS log files.
<ul>
<li>While in any printer queue application choose Printer, Log &#38; History. Opens Console utility to CUPS error_log. Can also access_log and page_log in /private/var/log/cups</li>
<li>Manually open above files using Finder.</li>
<li>CUPS error_log may not exist if CUPS service hasn&#8217;t yet logged any serious print errors.</li>
</ul>
</li>
<li>For advanced print system management and troubleshooting, access Mac CUPS web interface <a href="http://localhost:631" rel="nofollow">http://localhost:631</a></li>
<li>Reset the entire print system:
<ul>
<li>Print &#38; Scan preferences, secondary click (Control+click) in the printer list and choose &#8220;Reset Printing System&#8221;.</li>
<li>Print &#38; Scan preferences, option+click the minus &#8220;-&#8221; button.</li>
<li>This will clear all configured devices, shared settings, custom presets and queued print jobs.</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<h1><span style="text-decoration:underline;"><strong>System Startup</strong></span></h1>
<ul>
<li>OS X system startup process fail can have many causes.</li>
<li>Each system startup stage has audible and/or visible cues.</li>
<li>System startup stages are:
<ul>
<li>System initialization (processes for OS start) consists of the stages firmware, booter, kernel, system and launchd:
<ul>
<li>Firmware (HW test and initialization and locating and starting booter).
<ul>
<li>Power On Self Test (POST) + UEFI.</li>
<li>If POST succesful, startup chime sound, bright flash from power-on light and all displays show light gray background.</li>
<li>If POST fails, display may remain blank or off and you may get error codes that can manifest as tones and lights. Meaning differs per model, see <a href="http://www.apple.com/support" rel="nofollow">http://www.apple.com/support</a>. Firmware passes on any special startup mode instructions to the booter (see startup keys).
<ul>
<li>Check hardware.</li>
<li>Check cabling.</li>
<li>Go to Apple Store or Apple Authorized Service Provider.</li>
</ul>
</li>
</ul>
</li>
<li>Booter, loads system kernel and kernel extensions (KEXTs)
<ul>
<li>By default loads last specified boot file stored in NVRAM.
<ul>
<li>If FileVault 2 is used, system starts with OS X Recovery HD boot where user must enter credentials. Also at the end stage, the user doesn&#8217;t have to enter credentials to log on.</li>
</ul>
</li>
<li>When found/succesful, dark gray Apple logo on main display.
<ul>
<li>Same is true when using NetBoot and downloading booter file and cached kernel info from NetBoot server. Will also add small dark gray spinning globe icon below Apple icon.</li>
</ul>
</li>
<li>If no booter file found, flashing folder icon + question mark is shown.</li>
<li>If unable to load kernel, dark gray prohibited sign is shown. <img alt="" src="http://asset2.cbsistatic.com/cnwk.1d/i/tim/2011/07/14/prohibitorysign.gif" width="30" height="34" />
<ul>
<li>If starting Mac from volume containing system the Mac has never booted from, the prohibited icon indicates that the version of OS X on the volume is not compatible with the Mac&#8217;s hardware. Only occurs when installing older OS X version to newer Mac, which is not supported.</li>
<li>Use Safe Boot (hold shift). Booter attempts startup volume verify and repair (dark gray progress bar). If repairs are necessary, Mac auto restarts before continuing and you need to keep holding down shift. Booter verifies  startup volume again and if ok, loads kernel and essential KEXTs again (using the cleanest and slowest process that clears caches).</li>
</ul>
</li>
<li>Booter process: /System/Library/CoreServices/boot.efi</li>
</ul>
</li>
<li>Kernel (provides foundation, loads additional drivers and core UNIX BSD).
<ul>
<li>If succesful,dark gray spinning gear below Apple logo on main display.
<ul>
<li>May not be noticeable on new fast models.</li>
</ul>
</li>
<li>In most cases kernel is loaded by booter from cached files. It is however also located on system volume at /mach_kernel</li>
<li>If unsuccesful, try Safe Boot (hold shift).
<ul>
<li>If unsuccesful, reinstall OS X.</li>
<li>If succesful, issue may be 3rd party KEXT. Then start in Verbose mode (Command+V) to identify offending KEXT and move it to quarantine and reboot normally.
<ul>
<li>Can use Target disk mode for moving.</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>System launchd (starts non kernel process launchd that loads rest of system)
<ul>
<li>Process ID (PID) of 1.
<ul>
<li>Kernel_task is its parent process, PID 0.</li>
</ul>
</li>
<li>Dark gray spinning gear disappears and white background appears briefly on all displays. If succesful login screen will be shown or the Finder if user is set to auto logon.
<ul>
<li>When using multiple displays you might also notice white flash on secondary display as result of launchd starting WindowServer process.</li>
</ul>
</li>
<li>If unsuccesful, login screen may not be shown and/or screen may be stuck at black or white screen.
<ul>
<li>Safe Boot (hold shift), forces system launchd process to ignore 3rd party fonts, launch daemons and startup items.
<ul>
<li>If then it works:
<ul>
<li>Start Verbose mode, find and (re)move offending item(s).</li>
<li>Consider removing /Library/Caches.</li>
<li>Consider renaming preferences in /Library/Preferences and/or /Library/Preferences/SystemConfiguration</li>
</ul>
</li>
<li>If then it still does is does not work:
<ul>
<li>Start Mac in single-user mode (Command+S):
<ul>
<li>verify and repair system volume : /sbin/fsck -fy<br />
keep repeating until OK.</li>
<li>Mount startup volume as read write: /sbin/mount -uw</li>
<li>Make changes like removing suspicious file.</li>
<li>Start up the system by entering the exit command or shutdown using shutdown -h now</li>
</ul>
</li>
<li>Re-install OSX</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>Launchd preference files in /Library/LaunchDaemons and /System/Library/LaunchDaemons</li>
<li>Apple encourages use of launchd for all auto started processes, but legacy startup routines are supported as well:
<ul>
<li>Traditional Unix : /etc/rc.local (not included in OS X default)</li>
<li>launchd also starts /sbin/SystemStarter process that manages system processes as with legacy OS X startup items.
<ul>
<li>OS X has no built-in startup items, but SystemStarter looks in /System/Library/StartupItems and /Library/StartupItems</li>
</ul>
</li>
</ul>
</li>
<li>You can view the processes that are loaded by launchd using Activity monitor and selecting &#8220;All processes, hierarchically&#8221; from the dropdown box.</li>
</ul>
</li>
</ul>
</li>
<li>User session with the stages:
<ul>
<li>loginwindow process (started by launchd)
<ul>
<li>Launches the Dock and the Finder.</li>
<li>Can run as background process and a graphical interface application.
<ul>
<li>maintains user session.</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<ul>
<ul>
<ul>
<li>Owned by root if no user logged on. Otherwise owned by user.</li>
<li>/System/Library/CoreServices/loginwindow.app
<ul>
<li>Prefer. : /Library/Preferences/com.apple.loginwindow.plist</li>
</ul>
</li>
<li>loginwindow + opendirectoryd process authenticates user.</li>
<li>After login, loginwindow process runs in background</li>
<li>If loginwindow process not able to initialize the user environment:
<ul>
<li>User will never be given control of GUI</li>
<li>Desktop background may be shown, but Dock, Finder and applications do not load.</li>
<li>May seem that session starts, but login screen reappears.</li>
<li>Try Safe Mode login:hold shift while clicking &#8220;Log In&#8221;.
<ul>
<li>Does not auto open user defined login items or applications set to resume.</li>
<li>Does not start user-specific Launch Agents.
<ul>
<li>If Safe Mode login is succesful, consider modifying /Library/LaunchAgents and/or ~/Library/LaunchAgents</li>
<li>If Safe Mode login unsuccesful, try user account troubleshooting steps.</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</ul>
</ul>
<ul>
<ul>
<li>User launchd (user-specific instance started when user is authenticated)</li>
</ul>
<ul>
<ul>
<li>If fast-switching enabled, additional loginwindow and launchd started.</li>
<li>User&#8217;s loginwindow and launchd process set up GUI by:
<ul>
<li>Get account info from opendirectoryd and apply settings.
<ul>
<li>OpenDirectory stores localuser accounts in /var/db/dslocal/nodes/Default</li>
</ul>
</li>
<li>Configure mouse, keyboard, sound using user preferences.</li>
<li>Load user preferences, environment variables, devices, file permissions and keychain access.</li>
<li>Open Dock, Finder and SystemUIServer (responsible for UI elements like menu extras on right side of menu bar).</li>
<li>Auto open user&#8217;s login items.</li>
<li>Auto resume applications that were open before last logout.</li>
</ul>
</li>
<li>Differences between various autostarting mechanisms:
<ul>
<li>launch daemons
<ul>
<li>Start at system initialization by root launchd.</li>
</ul>
</li>
<li>startup items
<ul>
<li>Start at system initialization by root launchd.</li>
</ul>
</li>
<li>launch agents
<ul>
<li>Start at system initialization by user launchd.</li>
<li>Mostly started at user environment initialisation, can also be started afterwards or on regular repeating basis as needed.</li>
<li>/System/Library/LaunchAgents , /Library/LaunchAgents or ~/Library/LaunchAgents</li>
</ul>
</li>
<li>login items
<ul>
<li>Start at system initialization by user launchd.</li>
</ul>
</li>
</ul>
</li>
</ul>
<li>User environment
<ul>
<li>User&#8217;s launchd+loginwindow process stay active while user logged in.</li>
<li>Loginwindow process monitors user session by:
<ul>
<li>Managing logout, restart and shutdown procedures.</li>
<li>Managing Force Quit Applications window.</li>
<li>Writing standard-error output to user&#8217;s console.log file.</li>
</ul>
</li>
<li>Launchd process process monitprs user session by:
<ul>
<li>Restarting applications that remain open while the user is logged in. By example Finder and Dock.</li>
<li>If user&#8217;s loginwindow process is ended, all user&#8217;s applications and processes quit without saving changes. Then launchd process auto restarts loginwindow process as if Mac had just been started up (login screen or auto logon).</li>
</ul>
</li>
</ul>
</li>
</ul>
<li>Sleep modes, logout and shutdown
<ul>
<li>Generally user intitiated using Apple menu or the physical power button.
<ul>
<li>Process or application can also initiate these actions:
<ul>
<li>Restart after install with Installer or Mac App Store app.</li>
<li>Energy Saver preference with e.g. auto sleep.</li>
<li>Auto logout after inactivity as set in Parental Controls.</li>
</ul>
</li>
</ul>
</li>
<li>Sleep does not quit open processes, while logout and shutdown does.
<ul>
<li>OS X feature Auto Resume is enabled by default and reopens user&#8217;s items to their previous state upon login.</li>
<li>Safe Sleep is supported on all OS X mountain Lion compatible portable Macs. They also copy entire contents of system memory to an image file on the system volume. This way no data is lost when the Mac runs out of battery power.
<ul>
<li>When restarting from safe sleep mode, a light gray version of Mac screen is shown together with a small progress bar. If FileVault 2 is used, credentials need to be entered first.</li>
</ul>
</li>
<li>Power Nap
<ul>
<li>Supported for Mac systems mid 2011 or later with all flash storage.
<ul>
<li>SSD and Flash Storage are not the same. Flash storage is directly connected while SSD are connected to a controller instead.</li>
</ul>
</li>
<li>Allows Mac to occasionally wake to low-power mode. Also known as dark wake (no display, only background tasks).</li>
<li>Many built-in OS X apps and services support Power Nap. Including Mail, Contacts, Calendar, Reminders, Notes, documents in iCloud, Photo Stream, Mac AppStore Updates, Time Machine Backup, Find My Mac updates, VPN on demand and MDM configuration profiles.</li>
<li>Power Nap only updates apps running when sleep initiated.</li>
<li>Enabled by default when Mac connected to power adapter. Can optionally be enabled when running on battery power.
<ul>
<li>When power level is 30% or less, Power Nap will be suspended until connected to power adapter.</li>
</ul>
</li>
<li>After sleep, will wait 30 minutes before dark-waking. Then dark-wakes every hour. Update frequency varies per app.</li>
<li>Power Nap log at /var/log/zzz.log</li>
<li><a title="Mountain Lion: About Power Nap" href="http://support.apple.com/kb/HT5394" target="_blank">Some Macs require firmware update to support Power Nap</a>.</li>
</ul>
</li>
<li>Logout
<ul>
<li>loginwindow process issues Quit Application event to all applications.
<ul>
<li>Applications that support OS X Auto Save and Resume save open documents and quit app.</li>
<li>Otherwise app asks user to save documents.</li>
<li>If the document save or application quit is not completed in 45 seconds, logout will be aborted.</li>
<li>If application quit is complete, background processes and GUI session quit, logout scripts are run and logout is written to main system.log</li>
<li>When logging out (not shutting down or restarting), new loginwindow process is started.</li>
</ul>
</li>
</ul>
</li>
<li>Shutdown and Restart
<ul>
<li>loginwindow process Logs out current user.</li>
<li>If other user logged in with fast user switching, enter administrative user authentication before forcibly quiting.</li>
<li>After all users logged out, issue quit to remaining processes</li>
<li>When all processes are quit, kernel stops system launch and shuts down the system.
<ul>
<li>If system not shut down, wait a while. After that, force by holding down power button.</li>
</ul>
</li>
<li>If restart issued, computer firmware begins startup process.
<ul>
<li>With restart, full POST is not performed.  So when troubleshooting hardware, Shut Down.</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>Diagnose startup issues
<ul>
<li>Startup shortcuts
<ul>
<li>If Mac firmware password is set, all startup shortcuts are disabled except for the Option key for Startup Manager that will prompt for the password.</li>
<li>Some hardware may not support startup keys (e.g. Bluetooth wireless keyboards). Keep wired USB keyboard / mouse nearby.</li>
<li>Startup shortcuts to select other system:
<ul>
<li>Option &#8211; Startup Manager.</li>
<li>C &#8211; Boot CD/DVD.</li>
<li>D &#8211; Start Apple Hardware Test partition on first restore DVD.</li>
<li>Command-Option-D &#8211; Start Apple Hardware test using internet connection to Apple Servers.</li>
<li>N &#8211; Start from last-used Netboot server, if none then from default Netboot server.</li>
<li>Option+N &#8211; Start from default Netboot server.</li>
<li>Command+R &#8211; Start from local OS X recovery if available, otherwise OS X internet recovery.</li>
<li>Command+Option+R &#8211; Start from OS X internet recovery.</li>
</ul>
</li>
<li>Startup shortcuts to modify OS X default startup
<ul>
<li>Shift &#8211; Safe Boot
<ul>
<li>OS X diagnostic modes cannot be used on systems with FileVault 2 enabled. For more info, see this <a title="OS X Lion: How to per- form a Safe Boot if FileVault 2 is enabled." href="http://support.apple.com/kb/TS4235" target="_blank">KB</a>.</li>
</ul>
</li>
<li>Command+V &#8211; Verbose mode. Shows startup progress.</li>
<li>Command+S &#8211; Single user mode. Starts only core kernel and BSD Unix functionality.
<ul>
<li>You&#8217;ll be logged in as root.</li>
<li>Get processes using: &#8220;ps -ax&#8221;</li>
<li>Test local TCP/IP stack using: ping -c2 127.0.0.1
<ul>
<li>-c2 is 2 pings.</li>
<li>Without -c2 will continue to ping until CTRL+C.</li>
</ul>
</li>
<li>Examine system log file using: &#8220;less +G /var/log/system.log&#8221; b = backwards, space = forward, q = quit.</li>
<li>Change to directory  /var/db : &#8220;cd /var/db&#8221;</li>
<li>Remove file using : &#8220;rm &#60;file&#62;&#8221;</li>
</ul>
</li>
</ul>
</li>
<li>Other Startup Utilities
<ul>
<li>T &#8211; Target disk mode
<ul>
<li>Alternatively you can go to System Preferences, Startup Disk, Target Disk Mode to restart in Target Disk Mode.</li>
</ul>
</li>
<li>Command+Option+P+R &#8211; Reset NVRAM settings and restart.</li>
<li>Eject, F12, mouse or trackpad &#8211; Eject removable media.</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Arch has got a BSD fork]]></title>
<link>http://somefossnews.wordpress.com/2013/01/25/arch/</link>
<pubDate>Fri, 25 Jan 2013 19:58:54 +0000</pubDate>
<dc:creator>musicxs</dc:creator>
<guid>http://somefossnews.wordpress.com/2013/01/25/arch/</guid>
<description><![CDATA[There is an alternative for those of you that both like Arch Linux and also like FreeBSD. The princi]]></description>
<content:encoded><![CDATA[<p>There is an alternative for those of you that both like <a class="zem_slink" title="Arch Linux" href="http://www.archlinux.org/" target="_blank" rel="homepage">Arch Linux</a> and also like <a class="zem_slink" title="FreeBSD" href="http://www.freebsd.org" target="_blank" rel="homepage">FreeBSD</a>. The principle will be the same as Arch has (i.e. a <a href="http://en.wikipedia.org/wiki/KISS_principle">KISS</a>-principle). The <a class="zem_slink" title="Berkeley Software Distribution" href="http://en.wikipedia.org/wiki/Berkeley_Software_Distribution" target="_blank" rel="wikipedia">BSD</a> fork uses the FreeBSD 9.0 kernel with the same software that comes with Arch Linux according to <a href="http://bsd.slashdot.org/story/13/01/23/1453206/arch-gnulinux-ported-to-run-on-the-freebsd-kernel">slashdot</a>. The <a class="zem_slink" title="ISO image" href="http://en.wikipedia.org/wiki/ISO_image" target="_blank" rel="wikipedia">.iso-file</a> is not available yet, but the author said that as soon the website is fully set up, he or she will be making the file available.</p>
<p>Unfortunately, there is not much information about the distribution. This is because their <a href="http://archbsd.net/">website</a> is still under construction, since it was set up two days ago.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Arch BSD: Arch Linux Atop The FreeBSD Kernel]]></title>
<link>http://thelinuxsite.wordpress.com/2013/01/25/arch-bsd-arch-linux-atop-the-freebsd-kernel/</link>
<pubDate>Fri, 25 Jan 2013 13:27:22 +0000</pubDate>
<dc:creator>0XV01D</dc:creator>
<guid>http://thelinuxsite.wordpress.com/2013/01/25/arch-bsd-arch-linux-atop-the-freebsd-kernel/</guid>
<description><![CDATA[The Arch BSD operating system is moving forward, an attempt at a BSD platform that&#8217;s inspired]]></description>
<content:encoded><![CDATA[<p>The Arch BSD operating system is moving forward, an attempt at a BSD platform that&#8217;s inspired by the Arch Linux distribution and using its package-set.</p>
<p>An email arrived at Phoronix this morning that the <a href="http://archbsd.net/">ArchBSD.net</a> web-site is now online. This new site looks just like <a href="https://www.archlinux.org/">ArchLinux.org</a>, but Linux references are replaced by BSD. Right now there isn&#8217;t too much information available on Arch BSD, but the news from this week states that a test ISO should be available shortly. <!--more--></p>
<p>While information is limited, it doesn&#8217;t appear to be a very haphazard idea. There&#8217;s references to Arch BSD going back to mid-2012 in <a href="https://bbs.archlinux.org/viewtopic.php?id=142679">the Arch Linux forum</a> that appear to be by the same developer.</p>
<p>It appears the Arch BSD concept began in June of last year. As far as why Arch Linux is being gutted of the Linux kernel and replaced by FreeBSD, the developer wrote, &#8220;Why would I do this? If like me, you enjoy FreeBSD and love it, but also like the philosophy behind Arch Linux, which is a fast, lightweight, optimized distro, I figured why not combine the both. Even tho you could just do it on FreeBSD using the ports, not everyone wants to compile.&#8221;</p>
<p>There is <a href="https://github.com/Amzo/ArchBSD">a GitHub repository</a> that seems to be by the same developer and for his operating system attempt. &#8220;Welcome to the ArchBSD project, currently work is still under process and there is still quite a bit of work to be done. However I am approaching to release a test ISO soon after months of work. The ArchBSD project focuses on using ArchLinux package manager on the FreeBSD distribution, to provide optimised, up to date package for FreeBSD users. This project has also chose to use Gentoo&#8217;s OpenRC init system as opposed to the default init system used by FreeBSD. Which personally I think provide a benfit of speeds and features otherwise not present in the current RC scripts.&#8221;</p>
<p>The most recent activity in that Arch BSD script repository is just over one week old and has lineage going back to mind-June of 2012.</p>
<p>For those curious about the differences between Arch and FreeBSD, there&#8217;s <a href="https://wiki.archlinux.org/index.php/Arch_Compared_to_Other_Distributions#FreeBSD">this Wiki comparison page</a> written from the perspective of Arch.</p>
<p>The Arch BSD concept is very similar to that of <a href="http://www.phoronix.com/scan.php?page=search&#38;q=kFreeBSD">Debian GNU/kFreeBSD</a>, the pairing of the Debian GNU user-land with the FreeBSD kernel. With the last release of Debian (Squeeze), the Debian GNU/kFreeBSD port reached a rather usable state and continues to progress nicely. <a href="http://www.phoronix.com/vr.php?view=18254">Debian Wheezy is also much improved for GNU/kFreeBSD</a>.</p>
<p>Another similar attempt has been <a href="http://www.gentoo.org/proj/en/gentoo-alt/bsd/fbsd/">Gentoo/FreeBSD</a> to have a FreeBSD-based Gentoo operating system, but that effort really hasn&#8217;t gotten off the ground compared to Debian&#8217;s work. &#8220;Gentoo/FreeBSD (or Gentoo/FBSD, or G/FBSD) is an effort to create a complete FreeBSD-based Gentoo system, sharing the complete administration facilities of Gentoo with the reliability of the FreeBSD kernel and userland. An experimental, yet incomplete release have been done, and it&#8217;s possible to install Gentoo/FreeBSD following the install guide. This project is still in its infancy. If you are interested in working on it, please send an email to the Gentoo/*BSD team.&#8221;</p>
<p><span style="color:#000000;font-family:verdana, arial, helvetica, sans-serif;font-size:12px;line-height:normal;background-color:#ffffff;"> </span></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Startup "to watch" Hiring Support Technician / Systems Analyst!]]></title>
<link>http://purplsquirrel.wordpress.com/2013/01/23/it-jobs-support-technician-systems-analyst/</link>
<pubDate>Wed, 23 Jan 2013 18:40:15 +0000</pubDate>
<dc:creator>Discopants</dc:creator>
<guid>http://purplsquirrel.wordpress.com/2013/01/23/it-jobs-support-technician-systems-analyst/</guid>
<description><![CDATA[I have an immediate need for a Support Technician and Systems Analyst! This is a full-time, direct-h]]></description>
<content:encoded><![CDATA[<address><span style="color:#000000;"><img class="alignleft size-thumbnail wp-image-440" alt="purple-squirrel2" src="http://purplsquirrel.files.wordpress.com/2013/01/purple-squirrel2.jpg?w=150&#038;h=150" width="150" height="150" />I<b> </b>have an immediate need for a Support Technician and <a class="zem_slink" title="Systems analyst" href="http://en.wikipedia.org/wiki/Systems_analyst" target="_blank" rel="wikipedia">Systems Analyst</a>! This is a full-time, direct-hire position with an amazing client that develops highly-lauded data analytics software products. </span></address>
<h2><span style="color:#800080;">Two Jobs: <strong>Systems Analyst</strong> and</span><span style="color:#800080;"> <strong><a class="zem_slink" title="Unix" href="http://www.unix.org" target="_blank" rel="homepage"><span style="color:#800080;">U</span></a>nix engineers</strong></span></h2>
<address><span style="color:#000000;"> a winning candidate, no job is too big nor too small; not a connectivity issue, conferencing issue, server issue, nor a team-building exercise fazes you. You are aware of what you know and what you don&#8217;t know and you appreciate learning more to bridge that gap. You find joy in doing your every day tasks, may it be with the small successes you accomplish each day or with the exceptionally passionate, fun, and wacky team members you interact with.</span></address>
<h2><span style="text-decoration:underline;"><span style="color:#800080;text-decoration:underline;"><b>Responsibilities</b></span></span></h2>
<ul>
<li>
<div>
<address><span style="color:#000000;">Evaluate, design, implement, and maintain core <a class="zem_slink" title="Information technology management" href="http://en.wikipedia.org/wiki/Information_technology_management" target="_blank" rel="wikipedia">IT infrastructure</a> solutions</span></address>
</div>
</li>
<li>
<address><span style="color:#000000;">Provide day-to-day support operations for back-end infrastructure (AD, Exchange, Internal Apps, Client Management, etc.)</span></address>
</li>
<li>
<address><span style="color:#000000;">Solve advanced issues escalated from Desktop Support</span></address>
</li>
<li>
<address><span style="color:#000000;">Deploy and maintain VTC infrastructure</span></address>
</li>
<li>
<address><span style="color:#000000;">Manage backup and restore operations</span></address>
</li>
<li>
<address><span style="color:#000000;">May include: Imaging Laptops, building and configuring servers, <a class="zem_slink" title="Logistics" href="http://en.wikipedia.org/wiki/Logistics" target="_blank" rel="wikipedia">logistical support</a>, onsite support.</span></address>
</li>
<li>
<address><span style="color:#000000;">Conference Tradeshow support</span></address>
</li>
</ul>
<h2><span style="text-decoration:underline;"><span style="color:#800080;text-decoration:underline;"><b>Requirements</b></span></span></h2>
<ul>
<li>
<address><span style="color:#000000;">3+ years of relevant experience with <a class="zem_slink" title="Windows" href="http://www.microsoft.com/WINDOWS" target="_blank" rel="homepage">MS Windows</a> <a class="zem_slink" title="Active Directory" href="http://en.wikipedia.org/wiki/Active_Directory" target="_blank" rel="wikipedia">Active Directory</a> and Exchange administration.</span></address>
</li>
<li>
<address><span style="color:#000000;">2+ years of scripting or development experience</span></address>
</li>
<li>
<address><span style="color:#000000;">Basic to Intermediate UNIX or Linux</span></address>
</li>
<li>
<address><span style="color:#000000;">Troubleshooting &#38; <a class="zem_slink" title="Infrastructure" href="http://en.wikipedia.org/wiki/Infrastructure" target="_blank" rel="wikipedia">Infastructure</a> Building</span></address>
</li>
<li>
<address><span style="color:#000000;">Can wear many hats.</span></address>
</li>
<li>
<address><span style="color:#000000;">Demonstrated strong organizational, documentation, interpersonal, and decision making skills.</span></address>
</li>
</ul>
<h4><span style="color:#800080;">*Positions available in Palo Alto, New York, <a class="zem_slink" title="Washington, D.C." href="http://maps.google.com/maps?ll=38.8951111111,-77.0366666667&#38;spn=0.1,0.1&#38;q=38.8951111111,-77.0366666667 (Washington%2C%20D.C.)&#38;t=h" target="_blank" rel="geolocation">Washington DC</a>, Canberra, <a class="zem_slink" title="United Arab Emirates" href="http://maps.google.com/maps?ll=24.4666666667,54.3666666667&#38;spn=10.0,10.0&#38;q=24.4666666667,54.3666666667 (United%20Arab%20Emirates)&#38;t=h" target="_blank" rel="geolocation">UAE</a> and <a class="zem_slink" title="London" href="http://maps.google.com/maps?ll=51.5072222222,-0.1275&#38;spn=0.1,0.1&#38;q=51.5072222222,-0.1275 (London)&#38;t=h" target="_blank" rel="geolocation">London</a>.</span></h4>
<h3><em><span style="text-decoration:underline;"><strong><span style="color:#800080;text-decoration:underline;"><a class="zem_slink" title="Social network" href="http://en.wikipedia.org/wiki/Social_network" target="_blank" rel="wikipedia"><span style="color:#800080;text-decoration:underline;">Contact</span></a> for consideration:</span></strong></span></em></h3>
<h3><em><span style="color:#ff0000;">David Scalisi &#124;<a href="mailto:David.c.scalisi@gmail.com"><span style="color:#ff0000;">Email</span></a> </span></em><span style="color:#800080;"><em><span style="color:#ff0000;">&#124;David.C.Scalisi@Gmail.com</span></em><br />
</span></h3>
<h3><span style="color:#800080;">To view my other open positions, please goto <a title="The Purple Squirrel Home Page" href="http://purplsquirrel.wordpress.com/"><span style="color:#800080;">The Purple Squirrel Home Page</span></a></span></h3>
<p><a href="http://purplsquirrel.wordpress.com/2012/12/03/senior-application-proxy-engineer/squirrel-running-resized-600/" rel="attachment wp-att-100"><img class="alignleft size-full wp-image-100" alt="squirrel running-resized-600" src="http://purplsquirrel.files.wordpress.com/2012/12/squirrel-running-resized-600.png?w=590&#038;h=403" width="590" height="403" /></a></p>
<h6 class="zemanta-related-title" style="font-size:1em;">Related articles</h6>
<ul class="zemanta-article-ul">
<li class="zemanta-article-ul-li"><a href="http://shizen008.wordpress.com/2013/01/18/addendum/" target="_blank">Addendum</a></li>
<li class="zemanta-article-ul-li"><a href="https://bigfuture.collegeboard.org/explore-careers/careers/hottest-careers-for-college-graduates" target="_blank">Hottest Careers for College Graduates</a> (bigfuture.collegeboard.org)</li>
<li class="zemanta-article-ul-li"><a href="http://hothits957.cbslocal.com/2012/12/10/looking-for-a-new-job-in-2013-here-is-what-career-builder-says-will-be-the-best-jobs/" target="_blank">Looking For A New Job In 2013? Here Is What Career Builder Says Will Be The Best Jobs.</a> (hothits957.cbslocal.com)</li>
<li class="zemanta-article-ul-li"><a href="http://purplsquirrel.wordpress.com/2013/01/22/it-security-manager/" target="_blank">IT Security Manager</a> (purplsquirrel.wordpress.com)</li>
<li class="zemanta-article-ul-li"><a href="http://networkprogrammingjobs.wordpress.com/2012/12/07/hello-world/" target="_blank">How Hiring: Principal Software Engineer</a> (networkprogrammingjobs.wordpress.com)</li>
<li class="zemanta-article-ul-li"><a href="http://365newsng.wordpress.com/2013/01/14/dont-hire-the-perfect-candidate/" target="_blank">Don&#8217;t Hire the Perfect Candidate</a> (365newsng.wordpress.com)</li>
<li class="zemanta-article-ul-li"><a href="http://www.answers.com/guides/three-pharmacy-technician-career-paths" target="_blank">Three Pharmacy Technician Career Paths</a> (answers.com)</li>
</ul>
]]></content:encoded>
</item>
<item>
<title><![CDATA[How Hiring- IT Jobs in QA, Software Engineers]]></title>
<link>http://networkprogrammingjobs.wordpress.com/2013/01/19/how-hiring-it-jobs-in-qa-software-engineers/</link>
<pubDate>Sun, 20 Jan 2013 07:04:20 +0000</pubDate>
<dc:creator>Discopants</dc:creator>
<guid>http://networkprogrammingjobs.wordpress.com/2013/01/19/how-hiring-it-jobs-in-qa-software-engineers/</guid>
<description><![CDATA[AMAZING START-UP HIRING QA, SWQE, SOFTWARE ENGINEERS. Posted on January 18, 2013 by Discopants Are y]]></description>
<content:encoded><![CDATA[<header>
<h1>AMAZING START-UP HIRING <a class="zem_slink" title="Quality assurance" href="http://en.wikipedia.org/wiki/Quality_assurance" target="_blank" rel="wikipedia">QA</a>, SWQE, <a class="zem_slink" title="Software engineering" href="http://en.wikipedia.org/wiki/Software_engineering" target="_blank" rel="wikipedia">SOFTWARE ENGINEERS</a>.</h1>
<div>Posted on <a title="11:36 pm" href="http://purplsquirrel.wordpress.com/2013/01/18/amazing-start-up-hiring-qa-swqe-software-engineers/" rel="bookmark">January 18, 2013</a> by <a title="View all posts by Discopants" href="http://purplsquirrel.wordpress.com/author/theoriginaldiscopants/" rel="author">Discopants</a></div>
</header>
<div>
<p>Are you looking to make a difference? Have you been searching for an environment that rewards your creative difference? If ‘YES’ your job search may be over! Our client is on a mission to solve the most important problems for the world’s most important institutions. They work on a variety of problem areas for various customers in both private and public sector, helping them answer the big questions:</p>
<ul>
<li>How do you prevent the next $65B <a title="Ponzi scheme" href="http://en.wikipedia.org/wiki/Ponzi_scheme" target="_blank" rel="wikipedia">Ponzi scheme</a>?</li>
<li>How do you take down <a title="Human trafficking" href="http://en.wikipedia.org/wiki/Human_trafficking" target="_blank" rel="wikipedia">human trafficking</a> networks?</li>
<li>How can we help borrowers avoid foreclosure on a massive scale/stabilize housing?</li>
<li>How can you prevent fraud in <a title="Medicare (United States)" href="http://en.wikipedia.org/wiki/Medicare_%28United_States%29" target="_blank" rel="wikipedia">Medicare</a>?Can you help governments save billions/identify ways to reduce spending?</li>
</ul>
<p><strong>If you are ready to accept the challenge we are ready to hear from you.</strong><br />
We are looking for members for a <a title="Quality assurance" href="http://en.wikipedia.org/wiki/Quality_assurance" target="_blank" rel="wikipedia">QA</a> Team who are energetic, highly motivated, passionate smart and detail-oriented. In this role, you will be responsible for testing a world-class information analysis platform to ensure a successful product release. Your duties will include running <a title="Test script" href="http://en.wikipedia.org/wiki/Test_script" target="_blank" rel="wikipedia">test scripts</a>, validating functionality, filing and verifying defects, and testing software for scale. This is an opportunity to join a fast growing start-up and play a substantial role in ensuring a successful product release.</p>
<h2>Responsibilities</h2>
<ul>
<li>Run test cases based on <a title="Functional requirement" href="http://en.wikipedia.org/wiki/Functional_requirement" target="_blank" rel="wikipedia">functional requirements</a></li>
<li>Perform regression/verification testing</li>
<li>File defects and verify fixed defects</li>
<li>Test software for scale</li>
<li>Deliver <a title="Maintenance testing" href="http://en.wikipedia.org/wiki/Maintenance_testing" target="_blank" rel="wikipedia">maintenance testing</a> on time</li>
</ul>
<h2>Requirements</h2>
<ul>
<li>BS in Engineering/CS, <a title="Information systems" href="http://en.wikipedia.org/wiki/Information_systems" target="_blank" rel="wikipedia">Information Systems</a>, or equivalent</li>
<li>Excellent <a title="Analytical skill" href="http://en.wikipedia.org/wiki/Analytical_skill" target="_blank" rel="wikipedia">analytical skills</a> and attention to detail</li>
<li>Strong problem solving and troubleshooting skills</li>
<li>Ability to work in a fast moving environment with quick turnaround objectives</li>
<li>Excellent teamwork skills</li>
<li>Excellent written and verbal communications skills</li>
</ul>
<p>Experience with any version of Linux or <a class="zem_slink" title="Unix" href="http://www.unix.org" target="_blank" rel="homepage">UNIX</a> is great.  In order of preference:  Linux, Centos, <a class="zem_slink" title="FreeBSD" href="http://www.freebsd.org" target="_blank" rel="homepage">FreeBSD</a> (or <a class="zem_slink" title="NetBSD" href="http://www.netbsd.org" target="_blank" rel="homepage">NetBSD</a>, <a class="zem_slink" title="OpenBSD" href="http://www.openbsd.org" target="_blank" rel="homepage">OpenBSD</a>,) Gentoo, Debian, Ubuntu, Fedora, <a class="zem_slink" title="NYSE: RHT" href="http://www.google.com/finance?q=NYSE:RHT" target="_blank" rel="googlefinance">Redhat</a>.  Still relevant but less excited about UNIX, Solaris, <a class="zem_slink" title="HP-UX" href="http://www.hp.com/go/hpux/" target="_blank" rel="homepage">HPUX</a>, AIX.</p>
<h2>Contact for consideration:</h2>
<h2>David.c.Scalisi@gmail.com</h2>
<h2><a href="mailto:David.c.scalisi@gmail.com">Email Me</a>!</h2>
<h2>To view my other open positions, please goto <a title="The Purple Squirrel Home Page" href="http://purplsquirrel.wordpress.com/">The Purple Squirrel Home Page</a></h2>
</div>
<h6 class="zemanta-related-title" style="font-size:1em;">Related articles</h6>
<ul class="zemanta-article-ul">
<li class="zemanta-article-ul-li"><a href="http://networkprogrammingjobs.wordpress.com/2013/01/19/how-hiring-it-jobs-in-qa-software-engineers/" target="_blank">How Hiring-IT Jobs in QA, Software Engineers</a> (networkprogrammingjobs.wordpress.com)</li>
<li class="zemanta-article-ul-li"><a href="https://fedoraproject.org/w/index.php?title=QA:Recognition&#38;diff=318560&#38;oldid=0" target="_blank">QA:Recognition</a> (fedoraproject.org)</li>
<li class="zemanta-article-ul-li"><a href="http://purplsquirrel.wordpress.com/2012/12/07/nowhiring-senior-software-developer/" target="_blank">NowHiring: Senior Software Developer</a> (purplsquirrel.wordpress.com)</li>
<li class="zemanta-article-ul-li"><a href="http://blog.covestor.com/weblog/2010/09/job-opportunity-qa-engineer-london.html" target="_blank">Job Opportunity &#8211; QA Engineer &#8211; London</a> (covestor.com)</li>
<li class="zemanta-article-ul-li"><a href="http://www.seomoz.org/blog/deployment-seo-strategy-and-checklist" target="_blank">Deployment SEO Strategy and Checklist &#124; SEOmoz</a> (seomoz.org)</li>
<li class="zemanta-article-ul-li"><a href="https://wiki.mozilla.org/index.php?title=QA/Execution/Web_Testing/Automation/Pip_Requirements&#38;diff=497065&#38;oldid=prev" target="_blank">QA/Execution/Web Testing/Automation/Pip Requirements</a> (wiki.mozilla.org)</li>
<li class="zemanta-article-ul-li"><a href="http://blog.covestor.com/weblog/2010/07/job-opportunity-senior-front-end-engineer-london.html" target="_blank">Job Opportunity &#8211; Senior Front End Engineer &#8211; London</a> (covestor.com)</li>
</ul>
]]></content:encoded>
</item>
<item>
<title><![CDATA["Start-up to watch" Is Hiring QA, SWQE, Software Engineers...]]></title>
<link>http://purplsquirrel.wordpress.com/2013/01/18/jobs-in-it-qa-swqe-software-engineers/</link>
<pubDate>Fri, 18 Jan 2013 23:36:41 +0000</pubDate>
<dc:creator>Discopants</dc:creator>
<guid>http://purplsquirrel.wordpress.com/2013/01/18/jobs-in-it-qa-swqe-software-engineers/</guid>
<description><![CDATA[Are you looking to make a difference? Have you been searching for an environment that rewards your c]]></description>
<content:encoded><![CDATA[<p><span style="font-family:Calibri;font-size:large;">Are you looking to make a difference? Have you been searching for an environment that rewards your creative difference? If &#8216;YES&#8217; your job search may be over! Our client is on a mission to solve the most important problems for the world’s most important institutions. They work on a variety of problem areas for various customers in both private and public sector, helping them answer the big questions:</span></p>
<ul>
<li>How do you prevent the next $65B <a class="zem_slink" title="Ponzi scheme" href="http://en.wikipedia.org/wiki/Ponzi_scheme" target="_blank" rel="wikipedia">Ponzi scheme</a>?</li>
<li>How do you take down <a class="zem_slink" title="Human trafficking" href="http://en.wikipedia.org/wiki/Human_trafficking" target="_blank" rel="wikipedia">human trafficking</a> networks?</li>
<li>How can we help borrowers avoid foreclosure on a massive scale/stabilize housing?</li>
<li>How can you prevent fraud in <a class="zem_slink" title="Medicare (United States)" href="http://en.wikipedia.org/wiki/Medicare_%28United_States%29" target="_blank" rel="wikipedia">Medicare</a>?Can you help governments save billions/find ways to cut spending?</li>
</ul>
<p><strong><span style="font-family:Calibri;font-size:large;color:#ff0000;">If you are ready to accept the challenge we are ready to hear from you.</span></strong><br />
<span style="font-family:Calibri;font-size:Large;">We are looking for members for a </span><span style="font-family:Calibri;font-size:Large;"><a class="zem_slink" title="Quality assurance" href="http://en.wikipedia.org/wiki/Quality_assurance" target="_blank" rel="wikipedia">QA</a> Team who are energetic, highly motivated, passionate smart and detail-oriented. In this role, you will be responsible for testing a world-class information analysis platform to make sure a successful product release. Your duties will include running <a class="zem_slink" title="Test script" href="http://en.wikipedia.org/wiki/Test_script" target="_blank" rel="wikipedia">test scripts</a>, validating functionality, filing and verifying defects, and testing software for scale. This is an opportunity to join a fast growing start-up and play a real role in ensuring a successful product release.</span></p>
<h2><span style="text-decoration:underline;"><span style="font-family:Calibri;font-size:large;">Responsibilities</span></span></h2>
<ul>
<li><span style="font-family:Calibri;font-size:medium;">Run test cases based on <a class="zem_slink" title="Functional requirement" href="http://en.wikipedia.org/wiki/Functional_requirement" target="_blank" rel="wikipedia">functional requirements</a></span></li>
<li><span style="font-family:Calibri;font-size:medium;">Perform regression/verification testing</span></li>
<li><span style="font-family:Calibri;font-size:medium;">File defects and verify fixed defects</span></li>
<li><span style="font-family:Calibri;font-size:medium;">Test software for scale</span></li>
<li><span style="font-family:Calibri;font-size:medium;">Deliver <a class="zem_slink" title="Maintenance testing" href="http://en.wikipedia.org/wiki/Maintenance_testing" target="_blank" rel="wikipedia">maintenance testing</a> on time</span></li>
</ul>
<h2><span style="text-decoration:underline;"><span style="font-family:Calibri;font-size:large;">Requirements</span></span></h2>
<ul>
<li><span style="font-family:Calibri;font-size:medium;">BS in Engineering/CS, <a class="zem_slink" title="Information systems" href="http://en.wikipedia.org/wiki/Information_systems" target="_blank" rel="wikipedia">Information Systems</a>, or equivalent</span></li>
<li><span style="font-family:Calibri;font-size:medium;">Excellent <a class="zem_slink" title="Analytical skill" href="http://en.wikipedia.org/wiki/Analytical_skill" target="_blank" rel="wikipedia">analytical skills</a> and attention to detail</span></li>
<li><span style="font-family:Calibri;font-size:medium;">Strong problem solving and troubleshooting skills</span></li>
<li><span style="font-family:Calibri;font-size:medium;">Ability to work in a fast-moving environment with quick turnaround goals</span></li>
<li><span style="font-family:Calibri;font-size:medium;">Excellent teamwork skills</span></li>
<li><span style="font-family:Calibri;font-size:medium;">Excellent written and verbal communications skills</span></li>
</ul>
<h2><span style="color:#ff0000;"><a class="zem_slink" title="Social network" href="http://en.wikipedia.org/wiki/Social_network" target="_blank" rel="wikipedia">Contact</a> for consideration:</span></h2>
<h2>David Scalisi</h2>
<h2><a href="mailto:David.c.scalisi@gmail.com">Email Me</a>!</h2>
<h2>To view my other open positions, please goto <a title="The Purple Squirrel Home Page" href="http://purplsquirrel.wordpress.com/">The Purple Squirrel Home Page</a></h2>
<p><a href="http://purplsquirrel.wordpress.com/2012/12/03/senior-application-proxy-engineer/squirrel-running-resized-600/" rel="attachment wp-att-100"><img class="alignleft size-full wp-image-100" alt="squirrel running-resized-600" src="http://purplsquirrel.files.wordpress.com/2012/12/squirrel-running-resized-600.png?w=590&#038;h=403" width="590" height="403" /></a></p>
<h6 class="zemanta-related-title" style="font-size:1em;">Related articles</h6>
<ul class="zemanta-article-ul">
<li class="zemanta-article-ul-li"><a href="http://shizen008.wordpress.com/2013/01/18/addendum/" target="_blank">Addendum</a> (shizen008.wordpress.com)</li>
<li class="zemanta-article-ul-li"><a href="http://www.businessinsider.com/hiring-part-time-qa-engineer-2013-1" target="_blank">Business Insider Is Looking For A Part-Time QA Engineer</a> (businessinsider.com)</li>
<li class="zemanta-article-ul-li"><a href="http://ubuntuclassroom.wordpress.com/2013/01/10/qa-introduction-to-manual-test-cases-class/" target="_blank">Ubuntu Classroom: QA Introduction to Manual Test Cases class</a> (ubuntuclassroom.wordpress.com)</li>
<li class="zemanta-article-ul-li"><a href="http://architects.dzone.com/articles/dev-vs-qa-should-there-be" target="_blank">Dev vs QA: Should There Be a Difference?</a> (architects.dzone.com)</li>
<li class="zemanta-article-ul-li"><a href="http://tech.gaeatimes.com/index.php/archive/why-software-testing-environment-should-be-on-virtualbox-vmware/" target="_blank">Why Software Testing Environment Should be on VirtualBox / Vmware</a> (tech.gaeatimes.com)</li>
<li class="zemanta-article-ul-li"><a href="http://www.prweb.com/releases/prweb2013/1/prweb10247382.htm" target="_blank">Magic Software Enterprises and QualiTest Team to Provide Manual and Automated Testing Services to Magic Customers</a> (prweb.com)</li>
<li class="zemanta-article-ul-li"><a href="http://www.slideshare.net/noahsussman/continuous-improvement-16013422" target="_blank">Continuous Improvement (GroupOn, Palo Alto 2013)</a> (slideshare.net)</li>
<li class="zemanta-article-ul-li"><a href="http://www.javacodegeeks.com/2013/01/dev-vs-qa-should-there-really-be-a-distinction.html" target="_blank">Dev vs QA, should there really be a distinction?</a> (javacodegeeks.com)</li>
<li class="zemanta-article-ul-li"><a href="https://wiki.mozilla.org/index.php?title=QA/Execution/Web_Testing&#38;diff=502285&#38;oldid=prev" target="_blank">QA/Execution/Web Testing</a> (wiki.mozilla.org)</li>
</ul>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Best Practices for Preparing a Windows Virtual Machine]]></title>
<link>http://rhyous.wordpress.com/2013/01/17/best-practices-for-preparing-a-windows-virtual-machine/</link>
<pubDate>Thu, 17 Jan 2013 17:17:09 +0000</pubDate>
<dc:creator>rhyous</dc:creator>
<guid>http://rhyous.wordpress.com/2013/01/17/best-practices-for-preparing-a-windows-virtual-machine/</guid>
<description><![CDATA[Read more]]></description>
<content:encoded><![CDATA[Read more]]></content:encoded>
</item>
<item>
<title><![CDATA[Maven installation - Mac OSX / Linux / Open BSD]]></title>
<link>http://madankumarpc.wordpress.com/2013/01/16/maven-installation-mac-osx-linux-open-bsd/</link>
<pubDate>Wed, 16 Jan 2013 05:30:00 +0000</pubDate>
<dc:creator>madankumarpc</dc:creator>
<guid>http://madankumarpc.wordpress.com/2013/01/16/maven-installation-mac-osx-linux-open-bsd/</guid>
<description><![CDATA[Installation of maven is simple on any platform. In this post, installation is been explained for Ma]]></description>
<content:encoded><![CDATA[<div dir="ltr" style="text-align:left;">Installation of maven is simple on any platform. In this post, installation is been explained for Mac OSX. These installation instructions assume that you are running bash.<br />You can download the binary release of Maven from the below link:<br /><a href="http://maven.apache.org/download.html">http://maven.apache.org/download.html</a>. <br />Download the current release of maven in a format that is convenient for you to work with. Select the place where you want to store the bianry. Consider unzipping it to <em>/usr/local/maven/</em>, you may want to set the path as follows:</p>
<p><em>/usr/local % ln -s maven-2.1.0 maven</em><br /><em>/usr/local % export M2_HOME=/usr/local/maven</em><br /><em>/usr/local % export PATH=${M2_HOME}/bin:${PATH}</em></p>
<p>So what you have done is adding th bin directory of the maven binary to the command path.<br />Add the last two lines of export path to .bash_login which will run every time you log in to the machine.</p>
<p>The installation instructions are same for OSX Tiger and Leopard. I believe after Maven 2.0.6, there is a shipment of XCode along with the binary. If you have XCode, run <em>mvn </em>from the command line to check availability. XCode installs maven in <em>usr/share/maven.</em></p>
<p>The same procedure is what is need to be followed if maven has to be installed in a linux machine or in Open BSD.</p></div>
<div class="blogger-post-footer">~ Share knowledge as you long as you can ~</div>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Human-readable du (file space usage) sorted by size]]></title>
<link>http://npre.wordpress.com/2013/01/15/du-sorted-by-size/</link>
<pubDate>Tue, 15 Jan 2013 11:25:43 +0000</pubDate>
<dc:creator>dotdoom</dc:creator>
<guid>http://npre.wordpress.com/2013/01/15/du-sorted-by-size/</guid>
<description><![CDATA[Ever wondered how much space is occupied by directories including files, recursively? I believe many]]></description>
<content:encoded><![CDATA[<p>Ever wondered how much space is occupied by directories including files, recursively? I believe many of us use &#8216;<code>du -s</code>&#8216; and it&#8217;s human-readable form &#8216;<code>du -sh</code>&#8216;.<br />
But while &#8216;<code>du -s</code>&#8216; is easily sortable with &#8216;<code>sort -n</code>&#8216;, a human-readable form of it isn&#8217;t. There are many ways to achieve the result though, the easiest ones invoke &#8216;<code>du -s</code>&#8216;, sort it and then employ &#8216;<code>du -sh</code>&#8216; on each entry, separately. This is a good solution thanks to FS caching, but not so good for network shares and really large/often changed files and directories.</p>
<p>Here&#8217;s a small snippet in Perl which only calls <code>du</code> once and then sorts it. Wrapped in a shell function, which can be put in your <code>.rc</code> (<code>.bashrc</code>) for convenience:</p>
<pre>function ds() {
        du -sh "$@" &#124; perl -e '
                %byte_order = ( G =&#62; 0, M =&#62; 1, K =&#62; 2, k =&#62; 2, 0 =&#62; 3 );
                print map { $_-&#62;[0] } sort { $byte_order{$a-&#62;[1]} &#60;=&#62; $byte_order{$b-&#62;[1]} &#124;&#124; $b-&#62;[2] &#60;=&#62; $a-&#62;[2] } map { [ $_, /^\s*[\d.]+([MGKk0])/, /^\s*([\d.]+)/ ] } &#60;&#62;'
}</pre>
<p>(this is a changed version of <a title="du question: sort by size &#38; show human-readable sizes" href="http://ubuntuforums.org/showthread.php?t=885344#7">http://ubuntuforums.org/showthread.php?t=885344#7</a>).</p>
<p>Usage:</p>
<pre>% ds .
195M .</pre>
<p>or</p>
<pre>% ds /boot/*
293M /boot/GENERIC
293M /boot/kernel
386k /boot/zfsloader
258k /boot/loader
258k /boot/pxeboot
65k /boot/zfsboot
38k /boot/gptzfsboot
35k /boot/support.4th
25k /boot/defaults
16k /boot/gptboot
15k /boot/loader.help
8.5k /boot/beastie.4th
8.5k /boot/boot
8.0k /boot/boot2
6.5k /boot/loader.4th
3.5k /boot/zfs
3.0k /boot/frames.4th
2.0k /boot/cdboot
1.5k /boot/device.hints
1.5k /boot/firmware
1.5k /boot/loader.conf
1.5k /boot/modules
1.5k /boot/screen.4th
1.0k /boot/boot0
1.0k /boot/boot0sio
1.0k /boot/boot1
1.0k /boot/loader.rc
1.0k /boot/mbr
1.0k /boot/pmbr</pre>
]]></content:encoded>
</item>
<item>
<title><![CDATA[FreeBSD 9.1 JAIL HOWTO (ezjail, root on zfs, zfs mirror)]]></title>
<link>http://thatreddevil.wordpress.com/2013/01/12/freebsd-9-1-jail-howto-ezjail-root-on-zfs-zfs-mirror/</link>
<pubDate>Sat, 12 Jan 2013 05:17:57 +0000</pubDate>
<dc:creator>Spirited Blowfish</dc:creator>
<guid>http://thatreddevil.wordpress.com/2013/01/12/freebsd-9-1-jail-howto-ezjail-root-on-zfs-zfs-mirror/</guid>
<description><![CDATA[FreeBSD 9.1 JAIL HOWTO &#8211; REVISED AND COMPLETE The purpose of this guide is to build a jail fri]]></description>
<content:encoded><![CDATA[<p><strong>FreeBSD 9.1 JAIL HOWTO &#8211; REVISED AND COMPLETE</strong></p>
<p>The purpose of this guide is to build a jail friendly host system using FreeBSD 9.1-RELEASE.  The host system will run on a &#8220;root on ZFS&#8221; mirror using GPT.  We will also use OpenNTPD (from ports) to keep correct time across the host/jails.  Jail administration will be done using ezjail (from ports).</p>
<p><em>This is not a guide for configuring/securing FreeBSD, nor is it a guide for the advanced use of jails/ezjail.</em></p>
<p><strong>*** THE HOST SYSTEM ***</strong></p>
<p>Boot from the FreeBSD media as per usual.  Choose Install, select your keyboard, set a hostname.  When you get to the &#8220;optional systems components&#8221; screen make sure to pick &#8220;src&#8221; (System Source Code) as this is required to build jails.  You can pick whatever else you think you&#8217;ll need, but I suggest not installing &#8220;ports&#8221; the Ports tree, as we will grab and extract this later on.</p>
<p>At the &#8220;Partitioning&#8221; screen drop to the shell.  We will now configure a ZFS mirror with 8GB swap per drive (swap is not mirrored to increase performance).</p>
<p> # gpart create -s gpt ada0<br />
 # gpart create -s gpt ada1<br />
 # gpart add -s 222 -t freebsd-boot -l boot0 ada0<br />
 # gpart add -s 8G -t freebsd-swap -l swap0 ada0<br />
 # gpart add -t freebsd-zfs -l disk0 ada0<br />
 # gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada0<br />
 # gpart add -s 222 -t freebsd-boot -l boot1 ada1<br />
 # gpart add -s 8G -t freebsd-swap -l swap1 ada1<br />
 # gpart add -t freebsd-zfs -l disk1 ada1<br />
 # gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada1<br />
 # kldload opensolaris<br />
 # kldload zfs<br />
 # zpool create -f -o altroot=/mnt zroot mirror /dev/gpt/disk0 /dev/gpt/disk1<br />
 # zfs set checksum=fletcher4 zroot<br />
 # zfs create -o compression=on -o exec=on -o setuid=off zroot/tmp<br />
 # chmod 1777 /mnt/tmp<br />
 # zfs create zroot/usr<br />
 # zfs create zroot/usr/local<br />
 # zfs create zroot/usr/jails<br />
 # zfs create -o setuid=off zroot/home<br />
 # zfs create -o compression=lzjb -o setuid=off zroot/usr/ports<br />
 # zfs create -o compression=off -o exec=off -o setuid=off zroot/usr/ports/distfiles<br />
 # zfs create -o compression=off -o exec=off -o setuid=off zroot/usr/ports/packages<br />
 # zfs create -o compression=lzjb -o exec=off -o setuid=off zroot/usr/src<br />
 # zfs create zroot/usr/obj<br />
 # zfs create zroot/var<br />
 # zfs create -o compression=lzjb -o exec=off -o setuid=off zroot/var/crash<br />
 # zfs create -o exec=off -o setuid=off zroot/var/db<br />
 # zfs create -o compression=lzjb -o exec=on -o setuid=off zroot/var/db/pkg<br />
 # zfs create -o exec=off -o setuid=off zroot/var/empty<br />
 # zfs create -o compression=lzjb -o exec=off -o setuid=off zroot/var/log<br />
 # zfs create -o compression=gzip -o exec=off -o setuid=off zroot/var/mail<br />
 # zfs create -o exec=off -o setuid=off zroot/var/run<br />
 # zfs create -o compression=lzjb -o exec=on -o setuid=off zroot/var/tmp<br />
 # chmod 1777 /mnt/var/tmp<br />
 # exit</p>
<p>The operating system will now install, once this is complete continue on with the post installation setup.  Set a root password, configure the network, set the timezone.</p>
<p>When you arrive at the &#8220;System Configuration&#8221; screen select any services you need, but DO NOT SELECT NTPD, this is not jail friendly.  We will configure a jail friendly NTPD service from ports further on in this guide.</p>
<p>Continue with the post installation, enable crash dumps if you wish, add users to the host system if needed, make any changes required.  Once you arrive at the &#8220;Complete&#8221; screen DO NOT REBOOT.  We will now use the FreeBSD Live CD to complete the ZFS configuration.</p>
<p>Select Live CD and login as root.</p>
<p> # echo &#8216;zfs_enable=&#8221;YES&#8221;&#8216; &#62;&#62; /mnt/etc/rc.conf<br />
 # echo &#8216;zfs_load=&#8221;YES&#8221;&#8216; &#62;&#62; /mnt/boot/loader.conf<br />
 # echo &#8216;vfs.root.mountfrom=&#8221;zfs:zroot&#8221;&#8216; &#62;&#62; /mnt/boot/loader.conf<br />
 # vi /mnt/etc/fstab</p>
<p>Edit /mnt/etc/fstab so it looks like this:</p>
<p><img src="http://s9.postimage.org/4uudxfn1b/Screen_Shot_2013_01_12_at_4_44_44_PM.png" alt="" /></p>
<p>Quit vi, and continue on.</p>
<p> # zfs unmount -a<br />
 # zpool export zroot<br />
 # zpool import -o cachefile=/tmp/zpool.cache -o altroot=/mnt zroot<br />
 # zfs set mountpoint=/ zroot<br />
 # cp /tmp/zpool.cache /mnt/boot/zfs/<br />
 # zfs unmount -a<br />
 # zpool set bootfs=zroot zroot<br />
 # zpool set cachefile=&#8221; zroot<br />
 # zfs set mountpoint=legacy zroot</p>
<p>You may get errors on the following &#8220;zfs set mountpoint&#8221; commands, these can be ignored.</p>
<p> # zfs set mountpoint=/tmp zroot/tmp<br />
 # zfs set mountpoint=/usr zroot/usr<br />
 # zfs set mountpoint=/var zroot/var<br />
 # zfs set mountpoint=/home zroot/home<br />
 # zfs set readonly=on zroot/var/empty<br />
 # reboot</p>
<p>FreeBSD is now configured to use ZFS on root.  Once rebooted login as root and we will continue configuring the host.</p>
<p>A jail host must have its services only listening on the host ip.  You can check which services need to be fixed by doing the following.</p>
<p> # sockstat &#124; grep &#8220;\*:[0-9]&#8220;</p>
<p>This guide is for a basic jail host only running sendmail, syslogd and ssh from the base system.  We will also add ntpd from ports.  These services will all run jail friendly by the end of this guide.</p>
<p>By default we only require 2 ports to get the jail host up and running. These are /usr/ports/sysutils/ezjail/ and /usr/ports/net/openntpd/.</p>
<p># portsnap fetch extract<br />
# cd /usr/ports/sysutils/ezjail/ &#38;&#38; make install clean<br />
# cd /usr/ports/net/openntpd/ &#38;&#38; make install clean</p>
<p>Once these ports are installed we will make the host jail friendly.</p>
<p>First edit /etc/ssh/sshd_config and uncomment and edit the ListenAddress line with the hosts IP:</p>
<p> #Port 22<br />
 #AddressFamily any<br />
 ListenAddress 192.168.1.100<br />
 #ListenAddress ::</p>
<p>Everything else will be configured in /etc/rc.conf.  These are my settings, be sure to edit/configure for your setup:</p>
<p> hostname=&#8221;host.jailserver.net&#8221;<br />
 ifconfig_bge0=&#8221; inet 192.168.1.100 netmask 255.255.255.0&#8243;<br />
 # Jail interface aliases<br />
 ifconfig_bge0_alias0=&#8221;inet 192.168.1.101 netmask 255.255.255.0&#8243;<br />
 defaultrouter=&#8221;192.168.1.254&#8243;<br />
 sshd_enable=&#8221;YES&#8221;<br />
 # Set dumpdev to &#8220;AUTO&#8221; to enable crash dumps, &#8220;NO&#8221; to disable<br />
 dumpdev=&#8221;AUTO&#8221;<br />
 zfs_enable=&#8221;YES&#8221;<br />
 ezjail_enable=&#8221;YES&#8221;<br />
 openntpd_enable=&#8221;YES&#8221;<br />
 # Make host jail-friendly<br />
 inetd_enable=&#8221;NO&#8221;<br />
 # uncomment if inetd needed<br />
 #inetd_enable=&#8221;YES&#8221;<br />
 #inetd_flags=&#8221;-wW -a 192.168.1.100&#8243;<br />
 rpc_bind_enable=&#8221;NO&#8221;<br />
 sendmail_enable=&#8221;NO&#8221;<br />
 syslogd_enable=&#8221;YES&#8221;<br />
 syslogd_flags=&#8221;-s -b 127.0.0.1&#8243;</p>
<p>You can add as many interface aliases as required under &#8220;# Jail interface aliases&#8221;, these are IP addresses that the jails will use.</p>
<p>Now we will configure ezjail to use the ZFS filesystem, and create a new filesystem for each jail.  Edit /usr/local/etc/ezjail.conf and uncomment/edit the following:</p>
<p> # Setting this to YES will start to manage the basejail and newjail in ZFS<br />
 ezjail_use_zfs=&#8221;YES&#8221;<br />
 # Setting this to YES will manage ALL new jails in their own zfs<br />
 ezjail_use_zfs_for_jails=&#8221;YES&#8221;<br />
 # The name of the ZFS ezjail should create jails on, it will be mounted at the ezjail_jaildir<br />
 ezjail_jailzfs=&#8221;zroot/usr/jails&#8221;</p>
<p>If you are interested in locking down your jail directories from normal users you can change /usr/jails permissions.</p>
<p> # chmod 700 /usr/jails</p>
<p>Now we need to run &#8220;buildworld&#8221; so ezjail can populate jails.</p>
<p> # chflags -R noschg /usr/obj/*<br />
 # rm -rf /usr/obj/*<br />
 # cd /usr/src<br />
 # make buildworld</p>
<p>Go watch a movie this is going to take a while.</p>
<p>Once &#8220;buildworld&#8221; is complete we will create ezjail&#8217;s basejail and templates.</p>
<p> # ezjail-admin update -i -p</p>
<p>Once this is done it is best to reboot to make sure the host is completely jail friendly.</p>
<p># reboot</p>
<p>When the system comes back up log on as root and run the following:</p>
<p> # sockstat &#124; grep &#8220;\*:[0-9]&#8220;<br />
 #</p>
<p>If sockstat just drops you back to the prompt your system is 100% jail friendly and we&#8217;re ready to move on to configuring a jail.</p>
<p><strong>*** THE JAILED SYSTEM ***</strong></p>
<p>By default ezjail will only have 1 &#8220;flavour&#8221; available &#8220;newjail&#8221;.  We will tweak this a bit to make things easier when building jails.</p>
<p> # cp /etc/localtime /usr/jails/newjail/etc/<br />
 # cp /etc/resolv.conf /usr/jails/newjail/etc/</p>
<p>Now it&#8217;s time to build a jail, we will use the interface alias IP address we configured on the hosts /etc/rc.conf:</p>
<p> # ezjail-admin create jailname.jailserver.net 192.168.1.101</p>
<p>That&#8217;s it the jail is installed, but we will need to restart ezjail to pick it up.</p>
<p> # /usr/local/etc/rc.d/ezjail restart</p>
<p>Now let&#8217;s log on to the jail:</p>
<p> # ezjail-admin console jailname.jailserver.net</p>
<p>This will log you in as root, you can now configure the jailed system as required.  So let&#8217;s edit /etc/rc.conf and enable ssh, we will also configure syslogd to not listen:</p>
<p> sshd_enable=&#8221;YES&#8221;<br />
 syslogd_flags=&#8221;-ss&#8221;</p>
<p>Just like the host, the jail&#8217;s services must only listen on their own IP.  So be sure to edit /etc/ssh/sshd_config:</p>
<p> #Port 22<br />
 #AddressFamily any<br />
 ListenAddress 192.168.1.101<br />
 #ListenAddress ::</p>
<p>Don&#8217;t forget to set a root password, add users, you can also use ports at this point or do any normal configuration.  Once you are done exit from the jail and you&#8217;ll be back on the host.  Restart ezjail and you can log in using ssh as per any normal FreeBSD install.</p>
<p> # /usr/local/etc/rc.d/ezjail restart</p>
<p>Now a few tips.</p>
<p><strong>*** EZJAIL TIPS ***</strong></p>
<p>To stop&#124;start&#124;restart a jail you do /usr/local/etc/rc.d/ezjail stop&#124;start&#124;restart jailname.jailserver.net for example.</p>
<p> # /usr/local/etc/rc.d/ezjail stop jailname.jailserver.net</p>
<p>To delete a jail.</p>
<p> # /usr/local/etc/rc.d/ezjail stop jailname.jailserver.net<br />
 # ezjail-admin delete -w jailname.jailserver.net</p>
<p>To update the ports tree for all installed jails.  This can be done while the jail is running.</p>
<p> # ezjail-admin update -P</p>
<p>Anyway that&#8217;s it, check out the ezjail man page to get more information on ezjail&#8217;s options.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[The Corps is Proud to Present: Kirk McKusick]]></title>
<link>http://axialcorps.wordpress.com/2013/01/11/the-corps-is-proud-to-present-kirk-mckusick/</link>
<pubDate>Fri, 11 Jan 2013 19:38:03 +0000</pubDate>
<dc:creator>mssaxm</dc:creator>
<guid>http://axialcorps.wordpress.com/2013/01/11/the-corps-is-proud-to-present-kirk-mckusick/</guid>
<description><![CDATA[We are very pleased to announce that UNIX pioneer Kirk McKusick will be joining us next Thursday, Ja]]></description>
<content:encoded><![CDATA[<p><img class="alignright" alt="" src="http://upload.wikimedia.org/wikipedia/commons/thumb/3/38/Marshall_Kirk_McKusick-lca2011.jpg/220px-Marshall_Kirk_McKusick-lca2011.jpg" width="220" height="330" />We are very pleased to announce that UNIX pioneer <a href="http://en.wikipedia.org/wiki/Marshall_Kirk_McKusick">Kirk McKusick</a> will be joining us next Thursday, January 17th at 6:30PM to discuss the history of the FreeBSD project.  You can register for this event using <a href="http://thefreebsdproject.eventbrite.com/">EventBrite</a>.  Hope to see you all there.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[C# Interview Questions]]></title>
<link>http://rhyous.wordpress.com/2013/01/10/c-interview-questions/</link>
<pubDate>Thu, 10 Jan 2013 17:07:14 +0000</pubDate>
<dc:creator>rhyous</dc:creator>
<guid>http://rhyous.wordpress.com/2013/01/10/c-interview-questions/</guid>
<description><![CDATA[Read more]]></description>
<content:encoded><![CDATA[Read more]]></content:encoded>
</item>
<item>
<title><![CDATA[Android Manager Agent protocol research]]></title>
<link>http://smallhacks.wordpress.com/2013/01/10/android-manager-agent-protocol-research/</link>
<pubDate>Thu, 10 Jan 2013 15:43:42 +0000</pubDate>
<dc:creator>sammczk</dc:creator>
<guid>http://smallhacks.wordpress.com/2013/01/10/android-manager-agent-protocol-research/</guid>
<description><![CDATA[My mobile phone comes with Android Manager Agent. It is Android agent + Windows desktop application]]></description>
<content:encoded><![CDATA[<p>My mobile phone comes with Android Manager Agent. It is Android agent + Windows desktop application to manage phone, including managing contacts, SMS, media files, applications, etc. It is possible to use this software via WIFI or USB. Unfortunately desktop client is Windows only and i was not able to run it in Wine. </p>
<p>So i decided to reverse protocol using wire-shark and Java decompiler. It was found that communication is not encrypted, only protection is MD5 of the agent PIN (in WIFI mode). Every packet contains from &#8220;magic&#8221; header, command type, status field and (optionally) data field. My goal is to write utility to backup/restore contacts book and calendar (yes, i don`t want to store it on google) and, possibly to make a GUI for offline browsing/editing.</p>
<p>Right now client is in very early stage and only able to connect to device (WIFI) and request some information. Patches, comments and suggestions are welcome. </p>
<p>Prototype is hosted on github &#8211; <a href="https://github.com/samm-git/one_touch_993D_gsm/blob/master/android_manager_client.pl" rel="nofollow">https://github.com/samm-git/one_touch_993D_gsm/blob/master/android_manager_client.pl</a> </p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[iOS versus Android, uma discussão sem fim e improdutiva]]></title>
<link>http://wataankaol.wordpress.com/2013/01/05/ios-versus-android-uma-discussao-sem-fim-e-improdutiva/</link>
<pubDate>Sat, 05 Jan 2013 13:04:29 +0000</pubDate>
<dc:creator>wataankaol</dc:creator>
<guid>http://wataankaol.wordpress.com/2013/01/05/ios-versus-android-uma-discussao-sem-fim-e-improdutiva/</guid>
<description><![CDATA[Olá pessoal! Talvez esse não seja o melhor espaço para discutir isso, mas não consigo me &#8220;segu]]></description>
<content:encoded><![CDATA[<p><a href="http://wataankaol.files.wordpress.com/2013/01/ios-vs-android.png"><img class="alignleft size-medium wp-image-77" alt="ios-vs-android" src="http://wataankaol.files.wordpress.com/2013/01/ios-vs-android.png?w=300&#038;h=147" width="300" height="147" /></a>Olá pessoal!</p>
<p>Talvez esse não seja o melhor espaço para discutir isso, mas não consigo me &#8220;segurar&#8221; com tantos argumentos.</p>
<p>Sim, posso acreditar que o Android seja realmente &#8216;melhor&#8217; que o iOS, posso concordar que a &#8216;liberdade&#8217; de instalar qualquer coisa seja realmente sedutor.</p>
<p>Há uma série de parâmetros verdadeiramente atraentes e sustentáveis que torna o Android um sedutor smartphone. Eu mesmo tenho imensa vontade de aprender a programar nesta plataforma, tenho desejo e meta. Neste ano de 2013, vou estar apto para desenvolver aplicativos nesta plataforma.</p>
<p>Agora, somos obrigados a reconhecer, a plataforma do Android pode ter inúmeros atrativos, liberdades e etc, mas em níveis de segurança, oferece muito mais brechas em falhas do que a plataforma iOS.</p>
<p>Não é à toa que mais de 100000 (cem mil) aplicativos para Android, atuam de forma ilícita, ameaçando a segurança e privacidade do conteúdo do smartphone. Não sou eu quem afirmo, mas os mais renomados sites de segurança da informação.</p>
<p>Não é em vão, que tal liberdade nesta plataforma, permitiu a criação de vírus, permitiu inclusive a criação de programas anti-vírus, para &#8220;eliminar&#8221; qualquer ameaça.</p>
<p>Isso tudo então, gera em torno do mercado capitalista. Você tem um smartphone, tem seus dados, corre risco de vírus e para isso, compra um programa de anti-vírus. Me parece uma &#8220;venda casada&#8221;, para uma liberdade subjetiva. Não que situações similares tenham ocorrido na plataforma iOS, mas a Apple teve a iniciativa (após tomar conhecimento) de impor aos desenvolvedores, condições para que o acesso à itens de privacidade fossem informados quando acessados. Muitos aplicativos foram banidos da AppStore e/ou re-escritos pelo desenvolvedor, para se enquadrar nas condições estabelecidas. Contudo, os mais de 100000 aplicativos do Android, foram solucionados?</p>
<p>Não quero levantar a bandeira pró Apple. Não ganho nada por isso.</p>
<p>Mas me vejo obrigado a fazer escolhas, opções e decidir o que seria &#8220;menos ruim&#8221; para mim.</p>
<p>Existe duas coisas básicas em Tecnologia da Informação, assim como em várias situações da vida: &#8211; O ideal e o possível. Sim, existem outras tantas variáveis que permitem outras tantas opções.</p>
<p>Da mesma forma que nosso amigo em comum, o Mandic, sempre abraça um desafio quando ouve um &#8220;impossivel fazer isso/assim/etc&#8221;, eu concordo em gênero, número e grau com ele. Sempre abraço os desafios também. No entanto, enquanto não consigo superar o desafio do &#8220;impossível&#8221;, vou me adaptando ao que tenho em mão, possível de alcançar e fazer naquele determinado momento.</p>
<p>Dizer que tal plataforma é melhor que a outra, é uma discussão sem fim. É a mesma coisa em discutir se o Windows da Microsoft é melhor que o Linux, da comunidade open source. Acredito que cada plataforma tem o seu melhor, para determinada função, determinada fatia, público e objetivo. Da mesma forma, vale ao discutir se o Linux, FreeBSD, OpenBSD e NetBSD quem é melhor que o outro. Cada qual tem o seu bom e o seu melhor.</p>
<p>Polemizar sobre as imposições que a Apple coloca na plataforma é deixar de discutir também o quanto &#8220;boazinha&#8221; a Google é com as pessoas. Ora, permitir serviços gratuitos, sempre tem um custo real nisso. Pode-se não pagar financeiramente de forma direta, mas paga-se muitas vezes com um prejuízo financeiro, muitas vezes imperceptível diretamente em nosso dia-a-dia.</p>
<p>Da mesma forma que Dan Brown abriu um leque de situações, imediatamente não aceitas pela grande maioria (a possível existência de uma descendência de Jesus de Nazaré &#8211; o Cristo, por exemplo), pela história (nos ensinada) que muitos conhecemos, sobre itens que ao longo de nossas vidas foram transmitidos de forma diferente. É necessário observar que o comportamento &#8220;bonzinho&#8221; que a Google transmite, pode funcionar como uma &#8220;faca de dois gumes&#8221;, ou seja, a Google pode, como companhia, estar fazendo a mesma estratégia que o filme Matrix sugeria. Então, escolher entre quem impõe uma série de itens e quem dá total liberdade, pode ser uma decisão lógica (e induzida), mas equivocada. O tanto de informação processada e armazenada pelo Google, por si só, assusta muito. Talvez saibam mais de cada um de nós, do que nós mesmos.</p>
<p>Sempre há um preço a ser pago, direta ou indiretamente.</p>
<p>Muitos ficam maravilhados quando abrem seu aplicativo de Google Maps e no último zoom, consegue ver a vista da rua, conhecida como &#8220;street view&#8221;. Realmente é uma facilidade imensa, considerando que em uma viagem ao estrangeiro, por exemplo, ter a facilidade de ver a imagem de onde deseja ir, facilita muito, principalmente quando se tem o receio que o motorista do táxi poderá querer cobrar à mais (caso do Brasil, China, México e tantos outros países). Eu mesmo utilizei várias vezes, logo que me mudei para Tokyo, onde o endereçamento foge dos padrões de nome da rua, número do imóvel; similares ao que temos no Brasil ou Estados Unidos (na ordem invertida), aqui, é pelo nome do bairro, subdivisão do bairro, número da quadra e nome do prédio. Difícil entender, mas obrigatório compreender quando se mora por aqui.</p>
<p>Por muito tempo, ouvia críticas que a plataforma o iOS não suportava o tão admirado &#8216;flash&#8217;, tornando impossível assistir vídeos no iPhone. Eu mesmo, lembro o quanto &#8220;emputecido&#8221; fiquei quando descobri, em 2007, que não iria poder assitir, no iPhone, aos vídeos que estava acostumado assistir pelo browser, pois dependia do flash e &#8220;ainda&#8221; não tinha uma versão para o iPhone (sic). A própria Adobe, parceira da Apple na plataforma de desktop, insistia que o flash para móbile era viável, confiante e estável, entre outros itens. Mas a Apple, &#8220;batia o pé&#8221; também, afirmando que seria necessário melhorar muito o flash para torná-lo viável no iOS. A Adobe no entanto, depois de muito custo e inúmeros adiamentos, admitiu que o flash realmente era pesado e prejudicial nas plataformas móveis, decidindo assim, não dar continuidade ao suporte deste produto para quaisquer dispositivo móvel. Neste caso, creio então, que a Apple teria razão? Ou não? Quem sou eu para julgar…</p>
<p>A insistência da Apple em apontar para novas soluções, capazes de suportar vídeo em dispositivos móveis, fez aperfeiçoar recursos pouco explorados até então (html5), por exemplo. Hoje, já é capaz de pessoas simples, com nenhum conhecimento de T.I., a assistir sua novela preferida no iPhone. Essa mesma insistência, sob o prisma do &#8220;impossível&#8221;, muitas vezes defrontados pelo Mandic, apontou para soluções até então inexistentes. É por essa razão (creio eu) que o Mandic sempre declara em suas entrevistas, que não gosta do termo &#8220;impossivel&#8221; fazer. Ele sempre se empenha em fazer, ainda que acabe encontrando uma solução até então inexistente.</p>
<p>Volto a insistir, não estou levantando a bandeira pró Apple, nem abraçando uma causa, mas agindo como &#8220;Advogado do Diabo&#8221;, abrindo situações onde outros pontos de vista devam ser considerados antes de debandar discussões infinitas e improdutivas.</p>
<p>Grato pelo desabafo.</p>
<blockquote><p><em>Publiquei este texto, o qual escrevi inicialmente em um grupo fechado, no Facebook, sobre testes de aplicativos, envolvendo iOS e Android.</em></p></blockquote>
]]></content:encoded>
</item>

</channel>
</rss>
