<?xml version="1.0"?>
<rdf:RDF
	xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:foaf="http://xmlns.com/foaf/0.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns="http://purl.org/rss/1.0/"
>
<channel rdf:about="http://planet.filibeto.org/">
	<title>Planet filibeto</title>
	<link>http://planet.filibeto.org/</link>
	<description>Planet filibeto - http://planet.filibeto.org/</description>

	<items>
		<rdf:Seq>
			<rdf:li rdf:resource="http://prefetch.net/blog/?p=5489" />
			<rdf:li rdf:resource="http://blogs.oracle.com/d/entry/using_prtpicl_to_get_cache" />
			<rdf:li rdf:resource="http://blogs.oracle.com/darren/entry/what_free_open_source_software" />
			<rdf:li rdf:resource="http://www.c0t0d0s0.org/archives/7430-guid.html" />
			<rdf:li rdf:resource="http://prefetch.net/blog/?p=5487" />
			<rdf:li rdf:resource="http://blogs.oracle.com/7000tips/entry/new_power_calculator_is_up" />
			<rdf:li rdf:resource="http://blogs.oracle.com/7000tips/entry/how_to_calculate_your_usable" />
			<rdf:li rdf:resource="http://blogs.oracle.com/dminer/entry/detroit_solaris_11_forum_february" />
			<rdf:li rdf:resource="http://prefetch.net/blog/?p=5483" />
			<rdf:li rdf:resource="http://prefetch.net/blog/?p=5454" />
			<rdf:li rdf:resource="http://prefetch.net/blog/?p=5308" />
			<rdf:li rdf:resource="http://prefetch.net/blog/?p=5410" />
			<rdf:li rdf:resource="http://prefetch.net/blog/?p=5386" />
			<rdf:li rdf:resource="http://constantin.glez.de/240 at http://constantin.glez.de" />
			<rdf:li rdf:resource="http://www.c0t0d0s0.org/archives/7429-guid.html" />
			<rdf:li rdf:resource="http://prefetch.net/blog/?p=5399" />
			<rdf:li rdf:resource="http://prefetch.net/blog/?p=5388" />
			<rdf:li rdf:resource="http://prefetch.net/blog/?p=5360" />
			<rdf:li rdf:resource="http://dtrace.org/blogs/ahl/?p=992" />
			<rdf:li rdf:resource="http://blogs.oracle.com/jsavit/entry/solaris_10_branded_zone_vm" />
			<rdf:li rdf:resource="http://blogs.oracle.com/jsavit/entry/new_wiki_article_exploring_oracle" />
			<rdf:li rdf:resource="http://prefetch.net/blog/?p=5337" />
			<rdf:li rdf:resource="http://blogs.oracle.com/jsavit/entry/dedicated_cpus_in_zones_a" />
			<rdf:li rdf:resource="http://prefetch.net/blog/?p=5303" />
			<rdf:li rdf:resource="http://blogs.oracle.com/7000tips/entry/new_storage_magazine_awards_for" />
			<rdf:li rdf:resource="http://prefetch.net/blog/?p=5274" />
			<rdf:li rdf:resource="http://cuddletech.com/blog/?p=685" />
			<rdf:li rdf:resource="http://blogs.oracle.com/d/entry/separation_of_debug_and_executable" />
			<rdf:li rdf:resource="http://constantin.glez.de/237 at http://constantin.glez.de" />
			<rdf:li rdf:resource="http://prefetch.net/blog/?p=5261" />
			<rdf:li rdf:resource="http://prefetch.net/blog/?p=5236" />
			<rdf:li rdf:resource="http://prefetch.net/blog/?p=5213" />
			<rdf:li rdf:resource="http://prefetch.net/blog/?p=5210" />
			<rdf:li rdf:resource="http://blogs.oracle.com/d/entry/c_and_inline_templates" />
			<rdf:li rdf:resource="http://blogs.oracle.com/7000tips/entry/new_zfssa_simulator_download" />
		</rdf:Seq>
	</items>
</channel>

<item rdf:about="http://prefetch.net/blog/?p=5489">
	<title>Blog O' Matty: Which file system should I use with Gluster?</title>
	<link>http://prefetch.net/blog/index.php/2012/02/05/which-file-system-should-i-use-with-gluster/</link>
	<content:encoded>I was reading through the Gluster 3.2.5 release notes today and came across the following blurb: Red Hat recommends XFS when formatting the disk sub-system. XFS supports metadata journaling, which facilitates quicker crash recovery. The XFS file system can also be de-fragmented and enlarged while mounted and active. Any other POSIX compliant disk file system, [...]</content:encoded>
	<dc:date>2012-02-05T20:53:13+00:00</dc:date>
	<dc:creator>matty</dc:creator>
</item>
<item rdf:about="http://blogs.oracle.com/d/entry/using_prtpicl_to_get_cache">
	<title>Darryl Gove: Using prtpicl to get cache sizes</title>
	<link>http://blogs.oracle.com/d/entry/using_prtpicl_to_get_cache</link>
	<content:encoded>&lt;p&gt;If you are on a SPARC system you can get cache size information using the command &lt;code&gt;fpversion&lt;/code&gt;, which is provided with Studio:&lt;/p&gt;

&lt;pre&gt;$ fpversion
 A SPARC-based CPU is available.
 Kernel says main memory's clock rate is 1012.0 MHz.

 Sun-4 floating-point controller version 0 found.
 An UltraSPARC chip is available.

 Use &quot;-xtarget=sparc64vii -xcache=64/64/2:5120/256/10&quot; code-generation option.
&lt;/pre&gt;

&lt;p&gt;The cache parameters are output exactly as you would want to pass them into the compiler - for each cache it describes the size in KB, the line size in bytes, and the associativity.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;fpversion&lt;/code&gt; doesn't exist on x86 systems. The next best thing is to use &lt;a href=&quot;http://docs.oracle.com/cd/E18752_01/html/816-5166/prtpicl-1m.html&quot;&gt;prtpicl&lt;/a&gt; to output system configuration information, and inspect that output for cache size. Here's the cache output for the same SPARC system using &lt;code&gt;prtpicl&lt;/code&gt;.&lt;/p&gt;

&lt;pre&gt;$ prtpicl -v |grep cache
              :l1-icache-size    0x10000
              :l1-icache-line-size       0x40
              :l1-icache-associativity   0x2
              :l1-dcache-size    0x10000
              :l1-dcache-line-size       0x40
              :l1-dcache-associativity   0x2
              :l2-cache-size     0x500000
              :l2-cache-line-size        0x100
              :l2-cache-associativity    0xa
&lt;/pre&gt;</content:encoded>
	<dc:date>2012-02-03T18:45:13+00:00</dc:date>
	<dc:creator>Darryl Gove</dc:creator>
</item>
<item rdf:about="http://blogs.oracle.com/darren/entry/what_free_open_source_software">
	<title>Darren Moffat: What Free/Open Source software is Solaris 11 still missing</title>
	<link>http://blogs.oracle.com/darren/entry/what_free_open_source_software</link>
	<content:encoded>&lt;p&gt;&lt;b&gt;&lt;i&gt;Note this is not a commitment from Oracle to deliver anything as a result of your answers, nor is it an official survey of any kind.&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;
  &lt;p&gt;Okay first my dirty little secret... my family home desktop machine runs Windows 7.  Earlier this week I had a need to check the MD5 or SHA256 checksum on an iso image I'd downloaded.  On &lt;a href=&quot;http://www.oracle.com/solaris/&quot; title=&quot;&quot;&gt;Solaris&lt;/a&gt; I'd just run 'digest -a sha256' or sha256sum on &lt;a href=&quot;http://www.oracle.com/solaris/&quot; title=&quot;&quot;&gt;Solaris&lt;/a&gt; or any Linux distro.  But on Windows 7 the best I could come up with was code it up in Java myself or install the GNU versions via Cygwin.&lt;/p&gt;
  &lt;p&gt;So that got me thinking, the &lt;a href=&quot;http://www.oracle.com/solaris/&quot; title=&quot;&quot;&gt;Solaris&lt;/a&gt; 11 repository has a lot more &quot;upstream&quot; Free/Open Source tools and frameworks than any other release of &lt;a href=&quot;http://www.oracle.com/solaris/&quot; title=&quot;&quot;&gt;Solaris&lt;/a&gt; ever had.  We have Python (which is really a core part of &lt;a href=&quot;http://www.oracle.com/solaris/&quot; title=&quot;&quot;&gt;Solaris&lt;/a&gt; 11 now), Ruby loads of the GNU runtime and development toolchains and much much more.   However many common Linux distributions still have more than we do but some of that isn't target at server use cases. &lt;/p&gt;
  &lt;p&gt;So what Free/Open Source software is &lt;a href=&quot;http://www.oracle.com/solaris/&quot; title=&quot;&quot;&gt;Solaris&lt;/a&gt; 11 still missing that you use to run your business on your &lt;a href=&quot;http://www.oracle.com/solaris/&quot; title=&quot;&quot;&gt;Solaris&lt;/a&gt; servers?&lt;/p&gt;
  &lt;p&gt;Even if you don't have &lt;a href=&quot;http://www.oracle.com/solaris/&quot; title=&quot;&quot;&gt;Solaris&lt;/a&gt; 11 installed you can quickly search for packags at &lt;a href=&quot;http://pkg.oracle.com/solaris/release&quot; title=&quot;Solaris Release Package Repository&quot;&gt;http://pkg.oracle.com/solaris/release &lt;/a&gt;&lt;br /&gt;&lt;/p&gt;
  &lt;p&gt;Please add details in the comments. &lt;br /&gt;&lt;/p&gt;
  &lt;p&gt;&lt;b&gt;&lt;i&gt;Again note this is not a commitment from Oracle to deliver anything as a
 result of your answers, nor is it an official survey of any kind, just my curiosity.  I will of course log the relevant bugs for viable things if any come up.&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;
  &lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content:encoded>
	<dc:date>2012-02-03T16:05:51+00:00</dc:date>
	<dc:creator>darrenm</dc:creator>
</item>
<item rdf:about="http://www.c0t0d0s0.org/archives/7430-guid.html">
	<title>Joerg Moellenkamp: Reminder: Oracle Solaris 11 Techdays 2012</title>
	<link>http://feedproxy.google.com/~r/Wwwc0t0d0s0org/~3/6BNVXpPsVgQ/7430-Reminder-Oracle-Solaris-11-Techdays-2012.html</link>
	<content:encoded>Ich möchte nochmal auf die nächste Woche startende Veranstaltungsreihe zum Thema Solaris 11 hinweisen. Es gibt zwar schon viele Anmeldungen aber ich will &quot;die Hütte voll sehen&quot; &lt;img src=&quot;http://www.c0t0d0s0.org/templates/default/img/emoticons/wink.png&quot; alt=&quot;;-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;.  Mehr Informationen sowie eine Agenda dazu &lt;a href=&quot;http://www.c0t0d0s0.org/archives/7429-Oracle-Solaris-11-Tech-Days-2012.html&quot;&gt;findet ihr hier&lt;/a&gt;. 
    &lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/Wwwc0t0d0s0org?a=6BNVXpPsVgQ:TFWZ_8z3Vo0:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Wwwc0t0d0s0org?d=yIl2AUoC8zA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/Wwwc0t0d0s0org?a=6BNVXpPsVgQ:TFWZ_8z3Vo0:63t7Ie-LG7Y&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Wwwc0t0d0s0org?d=63t7Ie-LG7Y&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/Wwwc0t0d0s0org?a=6BNVXpPsVgQ:TFWZ_8z3Vo0:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Wwwc0t0d0s0org?d=7Q72WNTAKBA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/Wwwc0t0d0s0org?a=6BNVXpPsVgQ:TFWZ_8z3Vo0:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Wwwc0t0d0s0org?i=6BNVXpPsVgQ:TFWZ_8z3Vo0:V_sGLiPBpWU&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/Wwwc0t0d0s0org?a=6BNVXpPsVgQ:TFWZ_8z3Vo0:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Wwwc0t0d0s0org?i=6BNVXpPsVgQ:TFWZ_8z3Vo0:F7zBnMyn0Lo&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/Wwwc0t0d0s0org?a=6BNVXpPsVgQ:TFWZ_8z3Vo0:dnMXMwOfBR0&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Wwwc0t0d0s0org?d=dnMXMwOfBR0&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/Wwwc0t0d0s0org/~4/6BNVXpPsVgQ&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content:encoded>
	<dc:date>2012-02-02T20:55:17+00:00</dc:date>
	<dc:creator>Joerg Moellenkamp</dc:creator>
</item>
<item rdf:about="http://prefetch.net/blog/?p=5487">
	<title>Blog O' Matty: ZFS and OS X meet again?</title>
	<link>http://prefetch.net/blog/index.php/2012/02/01/zfs-and-os-x-meet-again/</link>
	<content:encoded>I just came across a reference to ZEVO tonight. This appears to be an add-on package for OS X that is built on top of ZFS. I’m going to have to keep an eye on this. Snapshots, data checksumming, de-dup, compression and zfs send/recv would be pretty cool on my Laptop. :)</content:encoded>
	<dc:date>2012-02-02T02:08:18+00:00</dc:date>
	<dc:creator>matty</dc:creator>
</item>
<item rdf:about="http://blogs.oracle.com/7000tips/entry/new_power_calculator_is_up">
	<title>Steve Tunstall: New Power Calculator is up</title>
	<link>http://blogs.oracle.com/7000tips/entry/new_power_calculator_is_up</link>
	<content:encoded>&lt;p&gt;The Oracle Power Calculator for the new 3TB, 600GB, and 300GB drive versions of the ZFSSA is now up and running.&lt;/p&gt;
  &lt;p&gt;&lt;a href=&quot;http://www.oracle.com/us/products/servers-storage/sun-power-calculators/calc/s7420-power-calculator-180618.html&quot;&gt;http://www.oracle.com/us/products/servers-storage/sun-power-calculators/calc/s7420-power-calculator-180618.html&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;From this page, you can click on the &quot;Power Calculators&quot; link on top to go back out to the main screen where you will find power calculators for all of Oracle hardware. &lt;/p&gt;</content:encoded>
	<dc:date>2012-02-01T02:36:10+00:00</dc:date>
	<dc:creator>user12620172</dc:creator>
</item>
<item rdf:about="http://blogs.oracle.com/7000tips/entry/how_to_calculate_your_usable">
	<title>Steve Tunstall: How to calculate your usable space on a ZFSSA</title>
	<link>http://blogs.oracle.com/7000tips/entry/how_to_calculate_your_usable</link>
	<content:encoded>&lt;p class=&quot;MsoNormal&quot;&gt;So let’s say you’re trying to figure out the best way to
setup your storage pools on a ZFSSA. So many choices. You can have a Mirrored
pool, a RAIDz1, RAIDz2, or RAIDz3 pool, a simple striped pool, or (if you’re
REALLY anal) you can even have a Triple Mirrored pool.&lt;/p&gt; 
  &lt;p class=&quot;MsoNormal&quot;&gt;How can you choose which pool to make? What if you want more
than one pool on your system? How much usable space will you have when it’s all
done?&lt;/p&gt; 
  &lt;p class=&quot;MsoNormal&quot;&gt;All of these questions can be answered with Ryan Mathew’s
Size Calculator. Ryan made a great calculator a while back that allows one to
use the ZFSSA engine to give you back all sorts of pool results. You simply enter
how many disk trays you have, what size drives they are, how many pools you
want to make, and the calculator does the rest. It even shows you a nice
graphical layout of your trays. Now, it’s not as easy as a webpage, but it’s not too bad, I promise.
It’s a python script, but don’t let that scare you. I never used Python before I
got my hands on this calculator, and it was worth loading it up for this. First,
you need to go download and install Python 2.6 here: &lt;a href=&quot;http://www.python.org/getit/releases/2.6/&quot;&gt;http://www.python.org/getit/releases/2.6/&lt;/a&gt; Make sure you have 2.6 installed, as the calculator will not
work with the newer 3.0 Python. In fact, I had both loaded, and had to
completely uninstall 3.0 before it would work with my installed 2.6.&lt;/p&gt; 
  &lt;p class=&quot;MsoNormal&quot;&gt;Now, get your hands on the Size Calc script. Ryan is making a new one that is for the general public. It will be out soon. In the meantime, ask your local Oracle Storage SC to do a calculation for you.&lt;/p&gt; 
  &lt;p class=&quot;MsoNormal&quot;&gt;This is a copy from Ryan’s, but I fixed a few things to make
it work on my Windows 7 laptop. If you’re not using Windows 7, you may find Ryan’s
original blog and files here: &lt;a href=&quot;http://blogs.oracle.com/rdm/entry/capacity_sizing_on_7x20&quot;&gt;http://blogs.oracle.com/rdm/entry/capacity_sizing_on_7x20&lt;/a&gt;&lt;/p&gt; 
  &lt;p class=&quot;MsoNormal&quot;&gt;So now you’re ready. Go to a command line and get to the
Python26 directory, where you have also placed the “size3.py” script.&lt;/p&gt; 
  &lt;p class=&quot;MsoNormal&quot;&gt;Type “size3.py ZFSipaddress password 20” &lt;br /&gt;
Use your ZFSSA for the IP address and your root password for the password. You can use the simulator for this. Remember, the simulator is the real code and has no idea it's not a 'real' system.&lt;/p&gt; 
  &lt;p class=&quot;MsoNormal&quot;&gt;Mine looks like this:&lt;span&gt; &lt;/span&gt;“Size3.py&lt;span&gt; &lt;/span&gt;192.168.56.102&lt;span&gt; &lt;/span&gt;changeme&lt;span&gt; &lt;/span&gt;20” Now, you will see the calculator present a single tray with
20 drives, and all the types of pools you can make with that.&lt;/p&gt; 
  &lt;p&gt;&lt;img src=&quot;http://blogs.oracle.com/7000tips/resource/sizecalc11.jpg&quot; /&gt; &lt;/p&gt; 
  &lt;p class=&quot;MsoNormal&quot;&gt;So now, make it bigger. Along with the first tray that has
20 drives (because of the Logzillas, right?), we also want to add a 2&lt;sup&gt;nd&lt;/sup&gt;
and a 3&lt;sup&gt;rd&lt;/sup&gt; tray, each full with 24 drives. So type “Size3.py
192.168.56.102 changeme 20 24 24”  You could do this all day long. Notice that now you have
some extra choices, as the NSPF (no single point of failure) pools are now
allowed, since you have more than two trays.&lt;/p&gt; 
  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;img src=&quot;http://blogs.oracle.com/7000tips/resource/sizecalc2.jpg&quot; /&gt;&lt;/p&gt; 
  &lt;p class=&quot;MsoNormal&quot;&gt;That’s it for the basics. Pretty simple. Now, we can get
more complicated. Say you don’t want one big pool, but want to have an
active/active cluster with two pools. Type “Size3.py 192.168.56.102 changeme
10/10 12/12 12/12”&lt;/p&gt; 
  &lt;p class=&quot;MsoNormal&quot;&gt; &lt;img src=&quot;http://blogs.oracle.com/7000tips/resource/sizecalc3.jpg&quot; /&gt;&lt;br /&gt;This will create two even pools. They don’t have to be even.
Check this out. I want to make two pools, one with the first 2 disk trays with
8 logzillas plus half of full trays 3 and 4. So the second pool would only be
the other half of trays 3 and 4. I used “Size3.py 192.168.56.102 changeme 20/0
20/0 12/12 12/12”&lt;/p&gt; 
  &lt;p&gt; &lt;img src=&quot;http://blogs.oracle.com/7000tips/resource/sizecalc4.jpg&quot; /&gt;&lt;/p&gt; 
  &lt;p class=&quot;MsoNormal&quot;&gt;Here’s the last one for today- Say you already have a 2-disk
shelf system, with 2 pools, and you set it up like this: “Size3.py
192.168.56.102 changeme 10/10 12/12” &lt;span&gt; &lt;/span&gt;Simple. Now, you go out and buy another tray
of 24 drives, and you want to add 12 drives to each pool. You can use the “add”
command to add a tray onto an existing system. It’s very possible that adding a
tray will give you different results than if you configured 3 trays to begin
with, so be careful. This is a good example. Note that you get different
results if you do “10/10 12/12 12/12” then if you do “10/10 12/12 add 12/12”.&lt;/p&gt; 
  &lt;p&gt; &lt;img src=&quot;http://blogs.oracle.com/7000tips/resource/sizecalc15.jpg&quot; /&gt;&lt;/p&gt; 
  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span&gt;Our next lesson will be about VDEVs. When you add the “-v”
command right after “size3.py”, you may notice a new column in the output
called “VDEVS”.&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;b&gt;These are the most important aspect of your pool.&lt;/b&gt; &lt;span&gt;It’s very
important to understand what these are, how many you need and how many you
have.&lt;/span&gt;&lt;/p&gt; 
  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span&gt;It’s so important, I’m going to save it for another blog
topic. Have a great day!!!!&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;J&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</content:encoded>
	<dc:date>2012-02-01T02:21:44+00:00</dc:date>
	<dc:creator>user12620172</dc:creator>
</item>
<item rdf:about="http://blogs.oracle.com/dminer/entry/detroit_solaris_11_forum_february">
	<title>Dave Miner: Detroit Solaris 11 Forum, February 8</title>
	<link>http://blogs.oracle.com/dminer/entry/detroit_solaris_11_forum_february</link>
	<content:encoded>&lt;p&gt;I'm just posting this quick note to help publicize the &lt;a href=&quot;http://www.oracle.com/us/dm/h2fy11/35622-nafm10128512mpp008-oem-1432458.html&quot;&gt;Oracle Solaris 11 Technology Forum&lt;/a&gt; we're holding in the Detroit area next week.  There's still time to register and come get a half-day overview of the great new stuff in Solaris 11.  The &quot;special treat&quot; that's not mentioned in the link is that I'll be joining Jeff Victor as a speaker.  Looking forward to being back in my home state for a quick visit, and hope I'll see some old friends there!&lt;/p&gt;</content:encoded>
	<dc:date>2012-01-31T21:21:53+00:00</dc:date>
	<dc:creator>Dave Miner</dc:creator>
</item>
<item rdf:about="http://prefetch.net/blog/?p=5483">
	<title>Blog O' Matty: Reading a file into a Python string</title>
	<link>http://prefetch.net/blog/index.php/2012/01/30/reading-a-file-into-a-python-string/</link>
	<content:encoded>I’ve learned a number of useful things from the Google learn Python video series. One of the tips I got to use today. That tip was Python’s ability to read a file into a string: $ cat foo this is a test file of words $ python &amp;gt;&amp;gt;&amp;gt; f = open(“foo”,”r”) &amp;gt;&amp;gt;&amp;gt; string = f.read() [...]</content:encoded>
	<dc:date>2012-01-31T01:44:49+00:00</dc:date>
	<dc:creator>matty</dc:creator>
</item>
<item rdf:about="http://prefetch.net/blog/?p=5454">
	<title>Blog O' Matty: Getting MySQL running on a CentOS Linux server</title>
	<link>http://prefetch.net/blog/index.php/2012/01/29/getting-mysql-running-on-a-centos-linux-server/</link>
	<content:encoded>I started playing with MySQL back in the 4.X days, but never invested a lot of my time since my day job required me to support Oracle databases. I’m trying to branch out more now, and recently picked up a copy of MySQL, MySQL High Availability and PHP And MySQL. There are a slew of [...]</content:encoded>
	<dc:date>2012-01-29T14:21:44+00:00</dc:date>
	<dc:creator>matty</dc:creator>
</item>
<item rdf:about="http://prefetch.net/blog/?p=5308">
	<title>Blog O' Matty: Integrating ssh-agent into your login process</title>
	<link>http://prefetch.net/blog/index.php/2012/01/28/integrating-ssh-agent-into-your-login-process/</link>
	<content:encoded>Most of my readers utilize SSH keys to access remote systems. The security benefits are well known, and key-based authentication makes automating remote tasks a whole lot easier. When you use key-based authentication it becomes imperative to protect your private key, since a third party could access your systems if they were able to gain [...]</content:encoded>
	<dc:date>2012-01-28T13:35:14+00:00</dc:date>
	<dc:creator>matty</dc:creator>
</item>
<item rdf:about="http://prefetch.net/blog/?p=5410">
	<title>Blog O' Matty: Free video tutorials for C, Java, PHP, HTML5, Python, MySQL and more …</title>
	<link>http://prefetch.net/blog/index.php/2012/01/25/free-video-tutorials-for-c-java-php-html5-python-mysql-and-more/</link>
	<content:encoded>I just came across the new boston video tutorial series. I’ve watched 20 of the PHP videos and am hooked. The production quality is great, and the content is really, really good! Once I finish the 200 PHP videos I plan to watch their MySQL and HTML5 videos. Can’t recommend these videos enough, and the [...]</content:encoded>
	<dc:date>2012-01-25T12:36:24+00:00</dc:date>
	<dc:creator>matty</dc:creator>
</item>
<item rdf:about="http://prefetch.net/blog/?p=5386">
	<title>Blog O' Matty: The importance of keeping your storage array firmware up to date</title>
	<link>http://prefetch.net/blog/index.php/2012/01/24/the-importance-of-keeping-your-storage-array-firmware-up-to-date/</link>
	<content:encoded>A couple of weeks back I attempted to migrate a pair of clustered Solaris 10 servers to a new disk storage array. After rebooting into single user mode to pick up the new devices, I went to add the new quorum disk with clquorum. This resulted in both nodes panicking with the following panic string: [...]</content:encoded>
	<dc:date>2012-01-24T13:02:21+00:00</dc:date>
	<dc:creator>matty</dc:creator>
</item>
<item rdf:about="http://constantin.glez.de/240 at http://constantin.glez.de">
	<title>Constantin Gonzalez: I am a Mobile Sensor Network, Collecting Big Data</title>
	<link>http://feedproxy.google.com/~r/ConstantThinking/~3/e0ofAo3PfMs/i-am-mobile-sensor-network-collecting-big-data</link>
	<content:encoded>&lt;div class=&quot;all-attached-images&quot;&gt;&lt;div style=&quot;width: 320px;&quot; class=&quot;image-attach-body image-attach-node-241&quot;&gt;&lt;a href=&quot;http://constantin.glez.de/image/running-stats-over-running-path&quot;&gt;&lt;img src=&quot;http://constantin.glez.de/sites/constantin.glez.de/files/images/runningbigdata.blog.jpg&quot; title=&quot;Running stats over running path&quot; height=&quot;240&quot; width=&quot;320&quot; alt=&quot;Running stats over running path&quot; class=&quot;image image-blog &quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Don’t worry, this is not a desperate attempt at SEO for my blog (although I do appreciate your likes, Tweets, RSS subscriptions and other ways you help me reach a wider audience), nor is this my entry into the latest contest of IT BS Bingo.&lt;/p&gt;
&lt;p&gt;It just occurred to me yesterday that Big Data is everywhere. Even during your weekend jogging run.&lt;/p&gt;
&lt;h2&gt;Collecting Fitness Data, Step by Step, Heartbeat by Heartbeat, on Your Phone&lt;/h2&gt;
&lt;p&gt;For Christmas, I bought myself a &lt;a href=&quot;http://www.amazon.com/gp/product/B0042WGO3Y/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=conchathebloo-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=B0042WGO3Y&quot;&gt;Wahoo Fitness Key&lt;/a&gt;&lt;img src=&quot;http://www.assoc-amazon.com/e/ir?t=conchathebloo-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=B0042WGO3Y&quot; style=&quot;border: none !important; margin: 0px !important;&quot; height=&quot;1&quot; width=&quot;1&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;* and its matching &lt;a href=&quot;http://www.amazon.com/gp/product/B0042WO62U/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=conchathebloo-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=B0042WO62U&quot;&gt;ANT+ heart rate monitor (HRM)&lt;/a&gt;&lt;img src=&quot;http://www.assoc-amazon.com/e/ir?t=conchathebloo-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=B0042WO62U&quot; style=&quot;border: none !important; margin: 0px !important;&quot; height=&quot;1&quot; width=&quot;1&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;*. The key plugs into your iPhone and provides connectivity to the &lt;a href=&quot;http://en.wikipedia.org/wiki/ANT%2B&quot;&gt;ANT+ wireless sensor protocol&lt;/a&gt;. The HRM is another dongle that straps around your chest and electrically registers every heart beat, then transmits the data to the Wahoo key. If you have an iPhone 4S, you can do without the key and just buy a Bluetooth HRM like the &lt;a href=&quot;https://www.wahoofitness.com/Products/Wahoo-Fitness-Wahoo-Blue-HR-Heart-Rate-Strap-for-iPhone-4S.asp&quot;&gt;Wahoo BlueHR&lt;/a&gt;, because iPhone 4 supports Bluetooth 4.0 which includes a &lt;a href=&quot;http://en.wikipedia.org/wiki/Bluetooth_low_energy&quot;&gt;low power version of the protocol&lt;/a&gt; that supports sensor collection devices such as HRMs that run off of a coin cell.&lt;/p&gt;
&lt;p&gt;So iPhone + Wahoo + HRM = Wireless Sensor Network. And if your idea of a network involves more than two participants, Wahoo also sells an &lt;a href=&quot;http://www.amazon.com/gp/product/B0047841FG/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=conchathebloo-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=B0047841FG&quot;&gt;ANT+ pedometer&lt;/a&gt;&lt;img src=&quot;http://www.assoc-amazon.com/e/ir?t=conchathebloo-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=B0047841FG&quot; style=&quot;border: none !important; margin: 0px !important;&quot; height=&quot;1&quot; width=&quot;1&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;* to measure your stepping frequency along with heart beat data as well.&lt;/p&gt;
&lt;p&gt;(Android users: I'm sure you'll find a similar solution for yourselves as well. I just happen to prefer &lt;a href=&quot;http://constantin.glez.de/blog/2010/06/war-between-quality-and-popularity&quot;&gt;quality over popularity&lt;/a&gt;.)&lt;/p&gt;
&lt;h2&gt;Running 2.0&lt;/h2&gt;
&lt;p&gt;Thanks to modern gadgetry, apps like &lt;a href=&quot;http://www.ismoothrun.com/&quot;&gt;iSmoothRun&lt;/a&gt; on my phone can now tell me how I'm doing while I’m running, including time, distance (thanks to GPS, which is another sensor), pace, cadence (using the phone’s accelerometer or a &lt;a href=&quot;http://www.amazon.com/gp/product/B0047841FG/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=conchathebloo-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=B0047841FG&quot;&gt;wireless pedometer&lt;/a&gt;&lt;img src=&quot;http://www.assoc-amazon.com/e/ir?t=conchathebloo-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=B0047841FG&quot; style=&quot;border: none !important; margin: 0px !important;&quot; height=&quot;1&quot; width=&quot;1&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;*) and heart rate. I can also set up a target running profile (like “No more than 70% of max. heart rate so I can stay in the aerobic zone, please.”) and my phone will duck the music and tell me to slow down whenever I go beyond target heart rate.&lt;/p&gt;
&lt;p&gt;Pretty cool.&lt;/p&gt;
&lt;h2&gt;Social Network Running&lt;/h2&gt;
&lt;p&gt;But we live in the age of web 2.0 so there's obviously more to do if you want to maintain your running geek-cred: The iPhone also collects all data (position, heart-beats, and steps) over time and at the end of the run, it will not only present me with my running statistics, possibly spiced up with current weather data etc., it will also offer to upload the data to one of the emerging fitness social networks, such as &lt;a href=&quot;http://runkeeper.com/user/zalez/profile&quot;&gt;RunKeeper.com&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Sites like Runkeeper take the data and create web maps with my running path, complete with nice graphs that I can dive into for analyzing my own running behavior including altitude, pace, heart rate, cadence etc. They also collect other data such as weight and body fat percentage (yes, using a &lt;a href=&quot;http://www.amazon.com/gp/product/B002JE2PSA/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=conchathebloo-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=B002JE2PSA&quot;&gt;Withings Scale&lt;/a&gt;&lt;img src=&quot;http://www.assoc-amazon.com/e/ir?t=conchathebloo-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=B002JE2PSA&quot; style=&quot;border: none !important; margin: 0px !important;&quot; height=&quot;1&quot; width=&quot;1&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;*  for example, you can track weight/bodyfat data too, even data from a &lt;a href=&quot;http://www.amazon.com/gp/product/B005UJK39Y/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=conchathebloo-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=B005UJK39Y&quot;&gt;sleep tracking system&lt;/a&gt;&lt;img src=&quot;http://www.assoc-amazon.com/e/ir?t=conchathebloo-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=B005UJK39Y&quot; style=&quot;border: none !important; margin: 0px !important;&quot; height=&quot;1&quot; width=&quot;1&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;* can be collected!) and show you your running (or fat loss) progress over time.&lt;/p&gt;
&lt;p&gt;And thanks to social network goodness, you can run with friends over the network and compare statistics even if you’re not physically running at the same time. Or the same place.&lt;/p&gt;
&lt;p&gt;And this is where Big Data comes into play, but what is it and how does it work?&lt;/p&gt;
&lt;h2&gt;The Advent of Big Data&lt;/h2&gt;
&lt;p&gt;The first time I heard about big data was during an internal workshop about the Sun Cloud in 2009 (you know, the old Sun habit of being way before our time). While we contemplated the implications of cloud computing for enterprises, someone mentioned that this would be nothing compared to the implications of Big Data. Back then, Big Data was reserved to web giants like Google and Yahoo! and the occasional large research institute such as CERN.&lt;/p&gt;
&lt;p&gt;Big Data is the art of handling (surprise!) large amounts of data. “Large” can be anywhere starting at a dozen of Terabytes or a couple of Petabytes or any large number that no-one in their right mind would place into a single database on a single server.&lt;/p&gt;
&lt;p&gt;Big Data has been made popular by innovations from web companies like Google, Yahoo, Facebook or Twitter, who pioneered new ways of handling huge amounts of data.&lt;/p&gt;
&lt;p&gt;Today, Big Data is about to &lt;a href=&quot;http://www.amazon.com/gp/product/0060517123/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=conchathebloo-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0060517123&quot;&gt;cross the chasm&lt;/a&gt;&lt;img src=&quot;http://www.assoc-amazon.com/e/ir?t=conchathebloo-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=0060517123&quot; style=&quot;border: none !important; margin: 0px !important;&quot; height=&quot;1&quot; width=&quot;1&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;* from the domain of a few innovators and early adopters to the early majority, as businesses start to realize its value.&lt;/p&gt;
&lt;h2&gt;The Four V’s of Big Data&lt;/h2&gt;
&lt;p&gt;Big Data is typically associated with four V’s:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Volume&lt;/strong&gt;, meaning lots and lots of data from sensors, devices, social networks, the web, retail offices, mobile fleets, etc.,&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Variety&lt;/strong&gt;, meaning there’s no predefined structure in the data that one can rely on: Unstructured data. This is the main differentiator against classic data ware-housing, which is strictly structured.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Value&lt;/strong&gt;, meaning that somewhere within that data, there is some valuable information to extract, though most of the pieces of data individually may seem valueless.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Velocity&lt;/strong&gt;, meaning quick turnaround cycles, quick, almost real-time processing and also short innovation cycles. Fail fast, fail often is the mantra, until you hit data gold.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;RunKeeper and Big Data&lt;/h2&gt;
&lt;p&gt;Let’s come back to our running example: RunKeeper is a Big Data company because it collects GPS, heart rate, cadence and other data from its millions of users. Assuming that only half of their 6 million users actually use the service for real, and that they run once a week and assuming a data size of 50 KByte per run (including GPS positions), we get 7.8 TByte of data per year. This is not a lot by Big Data standards, and it is quite structured, but when you combine this data with Tweets, Facebook status updates, other exercise data and nutrition/sleep data (RunKeeper does all of the above), then data volume easily increases to more than 10 TB per year, which is quite a lot to wade through.&lt;/p&gt;
&lt;p&gt;And if you start counting records, the complexity is overwhelming: Each GPS sample is about 100 Bytes, which means that RunKeeper’s 10TB per year translates into roughly 100 Billion records to correlate, analyze and create meaning from.&lt;/p&gt;
&lt;p&gt;What meaning?&lt;/p&gt;
&lt;h2&gt;The Meaning of Big Data&lt;/h2&gt;
&lt;p&gt;And that is the goal of Big Data: To create meaning out of billions of records that seem so innocent, if looked at individually. In the RunKeeper example, they create graphs of your running history and help you analyze and optimize your fitness either for free or as a paid, “pro” service. And thanks to their &lt;a href=&quot;http://developer.runkeeper.com/healthgraph&quot;&gt;Health Graph API&lt;/a&gt;, an eco-system of other applications and companies emerges who slice and dice RunKeeper’s data in other creative ways, trying to create valuable (and monetizable) meaning out of it. Example: &lt;a href=&quot;http://world-rank.in/&quot;&gt;World-Rank.in&lt;/a&gt; collects data from RunKeeper and Twitter, then ranks runners into its own top 30 lists.&lt;/p&gt;
&lt;p&gt;Other companies use Big Data to identify patterns in their customer’s behavior, find threats or opportunities to act upon, or simply &lt;a href=&quot;https://www.google.org/flutrends/&quot;&gt;alert hospitals that a new flu epidemic is about to hit them&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;How Big Data Works&lt;/h2&gt;
&lt;p&gt;Most Big Data use cases work around the same pattern:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Aquire&lt;/strong&gt;: Data is collected. Speed and scalability is critical here, not necessarily high availability. It’s ok to be offline for a few minutes, even hours, or to lose the occasional data record, but it’s important to catch as much as possible. The &lt;a href=&quot;http://en.wikipedia.org/wiki/Hadoop&quot;&gt;Hadoop&lt;/a&gt; framework and file system and/or &lt;a href=&quot;http://en.wikipedia.org/wiki/Nosql&quot;&gt;NoSQL databases&lt;/a&gt; are key tools at this step.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Organize&lt;/strong&gt;: To make large amounts of data manageable, a divide and conquer approach is taken: Data is &lt;em&gt;mapped&lt;/em&gt; to some interesting nomenclature/metric/attribute (For example: is this a positive of a negative tweet? What company is this tweet about? Was that run a new record or a below-average result?), then the data is &lt;em&gt;reduced&lt;/em&gt; into a more condense form (“Number of negative tweets that mention our company”, “Fastest 10k runs per country”, etc.). These two steps are the key in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Mapreduce&quot;&gt;MapReduce&lt;/a&gt; framework and can be used repeatedly and creatively to compose a new, more valuable data source, like: “Top 10 keywords associated with negative feelings towards your company.”, or “Top runners per age category and country”, or “Best training improvement over the last year”, or even crazy stuff like “Fastest music to run with”.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Analyze&lt;/strong&gt;: With that kind of data and processing at your fingertips, new kinds of insight are possible that can be analyzed and acted upon. Which flights are delayed and carry unhappy social media celebrities so you better take good care of them? How about sponsoring your top runner in a certain category and create a celebrity out of her/him? Of course, valuable analysis can also be monetized. Perhaps some research institute or some sports company is interested in getting access to all that heart beat, speed and nutrition data (anonymized of course)?&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Oracle and Big Data&lt;/h2&gt;
&lt;p&gt;Don’t worry, this commercial break will be brief, but interesting:&lt;/p&gt;
&lt;p&gt;Oracle’s big strengths of course are in handling commercial data warehouses and analyzing business information data, as well as building &lt;a href=&quot;http://constantin.glez.de/blog/2011/12/rise-engineered-systems&quot;&gt;Engineered Systems&lt;/a&gt; that remove the pain of setting up an IT shop while optimizing the usefulness you get from your systems.&lt;/p&gt;
&lt;p&gt;Big Data’s strength lies in its innovation to handle and organize unstructured, large data sets, through the Hadoop filesystem, the MapReduce framework, the &lt;a href=&quot;http://en.wikipedia.org/wiki/R_(programming_language)&quot;&gt;R statistical language&lt;/a&gt; and other emerging technologies. But analyzing data after these steps is still in it infancy.&lt;/p&gt;
&lt;p&gt;By combining the worlds of Big Data, Data Warehousing and Business Intelligence, running on Engineered Systems, Oracle can offer unique value to businesses who want to leverage Big Data for their benefit, without going through the trial/error/research of running their own Big Data development operations.&lt;/p&gt;
&lt;p&gt;Learn more from &lt;a href=&quot;http://conv.me/oraclebigdatawp&quot;&gt;Oracle’s Big Data White Paper&lt;/a&gt;, it’s really good, and check out &lt;a href=&quot;http://conv.me/oraclebigdata&quot;&gt;Oracle's Big Data home page&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Building your own Sensor Driven Big Data Collection Network&lt;/h2&gt;
&lt;p&gt;As you can see, Big Data is fun and healthy. Here are some gadgets* to get your own Sensor Network based Big Data collection infrastructure set up that feeds into RunKeeper and other Big Data collecting social networks for your analytical pleasure:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2&gt;Big Data and You&lt;/h2&gt;
&lt;p&gt;What are your favorite Big Data examples? Do you see Big Data being used in your company? Have you played with collecting, organizing and analyzing Big Data yourself? Leave a comment and share!&lt;/p&gt;
&lt;p&gt;Finally, here's a video that shows the beauty of collecting, organizing, analyzing and visualizing of Big Data:&lt;/p&gt;
&lt;p&gt;
And if you want to see my own small chunks of running data, feel free to &lt;a href=&quot;http://runkeeper.com/user/zalez/profile&quot;&gt;join my Street Team on RunKeeper&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Disclaimer&lt;/strong&gt;: Neither me nor Oracle are affiliated with RunKeeper (Not that I know of). I just think it’s a cool service.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;*Disclosure&lt;/strong&gt;: Some product links in this article are affiliate links. If you buy through them, I’ll get a small kickback to help with hosting costs for this blog at no extra charge to you.&lt;/p&gt;
&lt;div class=&quot;flattr-box&quot;&gt;

&lt;/div&gt;&lt;div class=&quot;sexybookmarks-default-8677&quot;&gt;&lt;/div&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/ConstantThinking?a=e0ofAo3PfMs:VHgUbxXFpwY:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ConstantThinking?i=e0ofAo3PfMs:VHgUbxXFpwY:F7zBnMyn0Lo&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ConstantThinking?a=e0ofAo3PfMs:VHgUbxXFpwY:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ConstantThinking?i=e0ofAo3PfMs:VHgUbxXFpwY:V_sGLiPBpWU&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ConstantThinking?a=e0ofAo3PfMs:VHgUbxXFpwY:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ConstantThinking?d=qj6IDK7rITs&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ConstantThinking?a=e0ofAo3PfMs:VHgUbxXFpwY:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ConstantThinking?i=e0ofAo3PfMs:VHgUbxXFpwY:gIN9vFwOqvQ&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ConstantThinking?a=e0ofAo3PfMs:VHgUbxXFpwY:I9og5sOYxJI&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ConstantThinking?d=I9og5sOYxJI&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ConstantThinking?a=e0ofAo3PfMs:VHgUbxXFpwY:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ConstantThinking?d=yIl2AUoC8zA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/ConstantThinking/~4/e0ofAo3PfMs&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content:encoded>
	<dc:date>2012-01-23T15:40:48+00:00</dc:date>
	<dc:creator>constant</dc:creator>
</item>
<item rdf:about="http://www.c0t0d0s0.org/archives/7429-guid.html">
	<title>Joerg Moellenkamp: Oracle Solaris 11 Tech Days 2012</title>
	<link>http://feedproxy.google.com/~r/Wwwc0t0d0s0org/~3/PGAQ4ZYscb4/7429-Oracle-Solaris-11-Tech-Days-2012.html</link>
	<content:encoded>Im Februar läuft eine Reihe von Events in Deutschland und der Schweiz zum Thema Solaris 11.  Die Events versprechen technisch sehr interessant werden, da die Sprecher jeweils sehr tief in der Materie sind. Über Detlef Drewanz - der bei allen Events dabei ist - muss ich seit dem Containerleitfaden genauso wie über Uli Gräf (der an einigen, aber nicht allen Orten spricht) wohl nichts mehr sagen. Christian Christian Ritzka und Elke Freymann sind ausgewiesene Experten zum Thema OpsCenter. Und ja .. ich halte auch einen Vortrag über Datamanagement in Solaris 11.  Und da ich schon zweimal die Frage gesehen habe: Die Veranstaltung ist kostenfrei &lt;img src=&quot;http://www.c0t0d0s0.org/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;br /&gt;
&lt;table cellpadding=&quot;0&quot; bgcolor=&quot;#CCCCCC&quot; border=&quot;0&quot; cellspacing=&quot;0&quot; width=&quot;100%&quot;&gt;                                    &lt;tbody&gt;&lt;tr bgcolor=&quot;#FFFFFF&quot; align=&quot;left&quot; valign=&quot;top&quot;&gt;                                      &lt;td colspan=&quot;3&quot; style=&quot;padding: 5px 20px 5px 20px; border-bottom: 1px solid #cccccc;&quot;&gt;&lt;strong&gt;&lt;font face=&quot;Arial, Helvetica, sans-serif&quot; size=&quot;2&quot;&gt; &lt;/font&gt;&lt;/strong&gt;&lt;/td&gt;                                    &lt;/tr&gt;                                    &lt;tr bgcolor=&quot;#E6E6E6&quot; align=&quot;left&quot; valign=&quot;top&quot;&gt;                                      &lt;td width=&quot;96&quot; style=&quot;border-bottom: 1px solid #cccccc; border-right: 1px solid #cccccc; padding: 5px 20px 5px 20px;&quot;&gt;&lt;font color=&quot;#333333&quot; face=&quot;Arial, Helvetica, sans-serif&quot; size=&quot;2&quot;&gt;08:30 - 09:00 &lt;/font&gt;&lt;/td&gt;                                      &lt;td colspan=&quot;2&quot; align=&quot;left&quot; style=&quot;border-bottom: 1px solid #cccccc; padding: 5px;&quot; width=&quot;608&quot;&gt;&lt;em&gt;&lt;font face=&quot;Arial, Helvetica, sans-serif&quot; size=&quot;2&quot;&gt;Registrierung&lt;/font&gt;&lt;/em&gt;&lt;/td&gt;                                    &lt;/tr&gt;                                    &lt;tr bgcolor=&quot;#E6E6E6&quot; align=&quot;left&quot; valign=&quot;top&quot;&gt;                                      &lt;td width=&quot;96&quot; style=&quot;border-bottom: 1px solid #cccccc; border-right: 1px solid #cccccc; padding: 5px 20px 5px 20px;&quot;&gt;&lt;font color=&quot;#333333&quot; face=&quot;Arial, Helvetica, sans-serif&quot; size=&quot;2&quot;&gt;09:00 - 09:15&lt;/font&gt;&lt;/td&gt;                                      &lt;td colspan=&quot;2&quot; align=&quot;left&quot; style=&quot;border-bottom: 1px solid #cccccc; padding: 5px;&quot;&gt;&lt;strong&gt;&lt;font face=&quot;Arial, Helvetica, sans-serif&quot; size=&quot;2&quot;&gt;Begrüßung&lt;/font&gt;&lt;/strong&gt;&lt;/td&gt;                                    &lt;/tr&gt;                                    &lt;tr bgcolor=&quot;#E6E6E6&quot; align=&quot;left&quot; valign=&quot;top&quot;&gt;                                      &lt;td width=&quot;96&quot; style=&quot;border-bottom: 1px solid #cccccc; border-right: 1px solid #cccccc; padding: 5px 20px 5px 20px;&quot; height=&quot;57&quot;&gt;&lt;font color=&quot;#333333&quot; face=&quot;Arial, Helvetica, sans-serif&quot; size=&quot;2&quot;&gt;09:15 - 10:00 &lt;/font&gt;&lt;/td&gt;                                      &lt;td colspan=&quot;2&quot; align=&quot;left&quot; style=&quot;border-bottom: 1px solid #cccccc; border-right: 1px solid #cccccc; padding: 5px;&quot;&gt;&lt;p&gt;&lt;font face=&quot;Arial, Helvetica, sans-serif&quot; size=&quot;2&quot;&gt; &lt;strong&gt;Was ist neu in Oracle Solaris 11&lt;/strong&gt;&lt;br /&gt;                                      Viele Features, die im Rahmen der Solaris 10 Entwicklung in Solaris 11 Express eingeflossen sind, finden sich auch in Solaris 11 wieder. Diese Präsentation gibt einen Überblick über die neusten Features. &lt;br /&gt;                                  &lt;/font&gt;&lt;/p&gt;                                      &lt;/td&gt;                                    &lt;/tr&gt;                                    &lt;tr bgcolor=&quot;#E6E6E6&quot; align=&quot;left&quot; valign=&quot;top&quot;&gt;                                      &lt;td width=&quot;96&quot; style=&quot;border-bottom: 1px solid #cccccc; border-right: 1px solid #cccccc; padding: 5px 20px 5px 20px;&quot; height=&quot;62&quot;&gt;&lt;font color=&quot;#333333&quot; face=&quot;Arial, Helvetica, sans-serif&quot; size=&quot;2&quot;&gt;10:00 - 11:00 &lt;/font&gt;&lt;/td&gt;                                      &lt;td colspan=&quot;2&quot; align=&quot;left&quot; style=&quot;border-bottom: 1px solid #cccccc; border-right: 1px solid #cccccc; padding: 5px;&quot;&gt;&lt;p&gt; &lt;font face=&quot;Arial, Helvetica, sans-serif&quot; size=&quot;2&quot;&gt;&lt;strong&gt;Oracle Solaris 11 Installation&lt;/strong&gt;&lt;br /&gt;        Die wohl herausragendste Eigenschaft von Oracle Solaris 11 ist das neue Package System IPS und der Autoinstaller, die die Installation und das Management von Oracle Solaris 11 vereinfachen. Lernen Sie die neuen Techniken kennen und lassen Sie sich zeigen, wie einfach das Patchen unter Oracle Solaris 11 ist.&lt;br /&gt;                                      &lt;/font&gt;&lt;/p&gt;&lt;/td&gt;                                    &lt;/tr&gt;                                    &lt;tr bgcolor=&quot;#E6E6E6&quot; align=&quot;left&quot; valign=&quot;top&quot;&gt;                                      &lt;td style=&quot;border-bottom: 1px solid #cccccc; border-right: 1px solid #cccccc; padding: 5px 20px 5px 20px;&quot;&gt;&lt;font color=&quot;#333333&quot; face=&quot;Arial, Helvetica, sans-serif&quot; size=&quot;2&quot;&gt;11:00 - 11:30 &lt;/font&gt;&lt;/td&gt;                                      &lt;td colspan=&quot;2&quot; align=&quot;left&quot; style=&quot;border-bottom: 1px solid #cccccc; border-right: 1px solid #cccccc; padding: 5px;&quot;&gt;&lt;p&gt;&lt;em&gt;&lt;font face=&quot;Arial, Helvetica, sans-serif&quot; size=&quot;2&quot;&gt;Pause&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;&lt;/td&gt;                                    &lt;/tr&gt;                                    &lt;tr bgcolor=&quot;#E6E6E6&quot; align=&quot;left&quot; valign=&quot;top&quot;&gt;                                      &lt;td style=&quot;border-bottom: 1px solid #cccccc; border-right: 1px solid #cccccc; padding: 5px 20px 5px 20px;&quot;&gt;&lt;font color=&quot;#333333&quot; face=&quot;Arial, Helvetica, sans-serif&quot; size=&quot;2&quot;&gt;11:30 - 12:30 &lt;/font&gt;&lt;/td&gt;                                      &lt;td colspan=&quot;2&quot; align=&quot;left&quot; style=&quot;border-bottom: 1px solid #cccccc; border-right: 1px solid #cccccc; padding: 5px;&quot;&gt;&lt;font face=&quot;Arial, Helvetica, sans-serif&quot; size=&quot;2&quot;&gt;&lt;strong&gt;Oracle Virtualisierung&lt;/strong&gt;&lt;br /&gt;      In Oracle Solaris 11 sind umfangreiche Virtualisierungstechniken integriert. Lernen Sie alles über die neue Netzwerk Virtualisierung in Oracle Solaris 11  und wie sie komplette multi-tier HW Infrastrukturen in einer einzelnen Maschine zusammen mit dem Oracle Virtual Machine framework und Solaris Zonen realisiert werden kann.&lt;br /&gt;&lt;/font&gt;&lt;/td&gt;                                    &lt;/tr&gt;                                    &lt;tr bgcolor=&quot;#E6E6E6&quot; align=&quot;left&quot; valign=&quot;top&quot;&gt;                                      &lt;td style=&quot;border-bottom: 1px solid #cccccc; border-right: 1px solid #cccccc; padding: 5px 20px 5px 20px;&quot; height=&quot;29&quot;&gt;&lt;font color=&quot;#333333&quot; face=&quot;Arial, Helvetica, sans-serif&quot; size=&quot;2&quot;&gt;12:30 - 13:30 &lt;/font&gt;&lt;/td&gt;                                      &lt;td colspan=&quot;2&quot; align=&quot;left&quot; style=&quot;border-bottom: 1px solid #cccccc; border-right: 1px solid #cccccc; padding: 5px;&quot;&gt;&lt;font face=&quot;Arial, Helvetica, sans-serif&quot; size=&quot;2&quot;&gt;&lt;em&gt;Mittagessen&lt;/em&gt;&lt;/font&gt;&lt;/td&gt;                                    &lt;/tr&gt;                                    &lt;tr bgcolor=&quot;#E6E6E6&quot; align=&quot;left&quot; valign=&quot;top&quot;&gt;                                      &lt;td style=&quot;border-bottom: 1px solid #cccccc; border-right: 1px solid #cccccc; padding: 5px 20px 5px 20px;&quot;&gt;&lt;font color=&quot;#333333&quot; face=&quot;Arial, Helvetica, sans-serif&quot; size=&quot;2&quot;&gt;13:30 - 14:15 &lt;/font&gt;&lt;/td&gt;                                      &lt;td colspan=&quot;2&quot; align=&quot;left&quot; style=&quot;border-bottom: 1px solid #cccccc; border-right: 1px solid #cccccc; padding: 5px;&quot; class=&quot;style1&quot;&gt;&lt;font face=&quot;Arial, Helvetica, sans-serif&quot; size=&quot;2&quot;&gt;&lt;strong&gt;Management von IT Infrastrukturen &lt;em&gt;&lt;/em&gt;&lt;/strong&gt;&lt;em&gt;&lt;br /&gt;  &lt;/em&gt;Virtualisierung heist nicht nur &quot;Hypervisor&quot;. In diesem Vortrag zeigen wir, wie sich virtualisierte Oracle Solaris 11 Umgebungen zentral verwalten lassen.&lt;/font&gt; &lt;font face=&quot;Arial, Helvetica, sans-serif&quot; size=&quot;2&quot;&gt;&lt;em&gt;&lt;/em&gt;&lt;/font&gt;&lt;/td&gt;                                    &lt;/tr&gt;                                    &lt;tr bgcolor=&quot;#E6E6E6&quot; align=&quot;left&quot; valign=&quot;top&quot;&gt;                                      &lt;td style=&quot;border-bottom: 1px solid #cccccc; border-right: 1px solid #cccccc; padding: 5px 20px 5px 20px;&quot;&gt;&lt;font color=&quot;#333333&quot; face=&quot;Arial, Helvetica, sans-serif&quot; size=&quot;2&quot;&gt;14:15 - 14:45&lt;/font&gt;&lt;/td&gt;                                      &lt;td colspan=&quot;2&quot; align=&quot;left&quot; style=&quot;border-bottom: 1px solid #cccccc; border-right: 1px solid #cccccc; padding: 5px;&quot;&gt;&lt;font face=&quot;Arial, Helvetica, sans-serif&quot; size=&quot;2&quot;&gt;&lt;strong&gt;Das Solaris Schulungsprogramm&lt;/strong&gt;&lt;em&gt;&lt;br /&gt;                                                                            &lt;/em&gt;Oracle University stellt zusammen mit unseren Schulungspartnern ein umfassendes Programm zur Vertiefung von Solaris Wissen zur Verfügung. In diesem Vortrag werden die Ausbildungpfade, Kurse und Zertifizierungen für Solaris 11 beleuchtet und verfügbare Lernformen vorgestellt. &lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;/td&gt;                                    &lt;/tr&gt;									&lt;tr bgcolor=&quot;#E6E6E6&quot; align=&quot;left&quot; valign=&quot;top&quot;&gt;                                      &lt;td style=&quot;border-bottom: 1px solid #cccccc; border-right: 1px solid #cccccc; padding: 5px 20px 5px 20px;&quot;&gt;&lt;font color=&quot;#333333&quot; face=&quot;Arial, Helvetica, sans-serif&quot; size=&quot;2&quot;&gt;14:45 - 15:15&lt;/font&gt;&lt;/td&gt;                                      &lt;td colspan=&quot;2&quot; align=&quot;left&quot; style=&quot;border-bottom: 1px solid #cccccc; border-right: 1px solid #cccccc; padding: 5px;&quot;&gt;&lt;p&gt;&lt;font face=&quot;Arial, Helvetica, sans-serif&quot; size=&quot;2&quot;&gt;&lt;em&gt; Pause&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;                                    &lt;/tr&gt;									&lt;tr bgcolor=&quot;#E6E6E6&quot; align=&quot;left&quot; valign=&quot;top&quot;&gt;                                      &lt;td style=&quot;border-bottom: 1px solid #cccccc; border-right: 1px solid #cccccc; padding: 5px 20px 5px 20px;&quot;&gt;&lt;font color=&quot;#333333&quot; face=&quot;Arial, Helvetica, sans-serif&quot; size=&quot;2&quot;&gt;15:15 - 15:45&lt;/font&gt;&lt;/td&gt;                                      &lt;td colspan=&quot;2&quot; align=&quot;left&quot; style=&quot;border-bottom: 1px solid #cccccc; border-right: 1px solid #cccccc; padding: 5px;&quot;&gt;&lt;p&gt;&lt;font face=&quot;Arial, Helvetica, sans-serif&quot; size=&quot;2&quot;&gt;&lt;strong&gt;Oracle Solaris 11 Datamanagement&lt;/strong&gt;&lt;em&gt;&lt;br /&gt;                                      &lt;/em&gt;Oracle Solaris 11 hat umfassende Datamanagement Funktionen integriert. Lernen Sie die neusten ZFS features wie Data Encryption und Deduplikation kennen und wie Sie diese Funktionen über die CIFS-Integration im Kernel auch anderen Plattformen zur Verfügung stellen können. &lt;/font&gt;&lt;/p&gt;&lt;/td&gt;                                    &lt;/tr&gt;                                    &lt;tr bgcolor=&quot;#E6E6E6&quot; align=&quot;left&quot; valign=&quot;top&quot;&gt;                                      &lt;td style=&quot;border-bottom: 1px solid #cccccc; border-right: 1px solid #cccccc; padding: 5px 20px 5px 20px;&quot;&gt;&lt;font color=&quot;#333333&quot; face=&quot;Arial, Helvetica, sans-serif&quot; size=&quot;2&quot;&gt;15:45 - 16:15&lt;/font&gt;&lt;/td&gt;                                      &lt;td colspan=&quot;2&quot; align=&quot;left&quot; style=&quot;border-bottom: 1px solid #cccccc; border-right: 1px solid #cccccc; padding: 5px;&quot;&gt;&lt;p&gt;&lt;font face=&quot;Arial, Helvetica, sans-serif&quot; size=&quot;2&quot;&gt;&lt;strong&gt;Panel, Q&amp;amp;A&lt;/strong&gt; &lt;font face=&quot;Arial, Helvetica, sans-serif&quot; size=&quot;2&quot;&gt;&lt;em&gt; &lt;br /&gt;                                      &lt;/em&gt;&lt;/font&gt;&lt;span class=&quot;style1&quot;&gt;&lt;font face=&quot;Arial, Helvetica, sans-serif&quot; size=&quot;2&quot;&gt;&lt;em&gt;
&lt;/em&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face=&quot;Arial, Helvetica, sans-serif&quot; size=&quot;2&quot;&gt;&lt;em&gt;&lt;/em&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;                                      &lt;/td&gt;                                    &lt;/tr&gt;                                    &lt;tr bgcolor=&quot;#E6E6E6&quot; align=&quot;left&quot; valign=&quot;top&quot;&gt;                                      &lt;td style=&quot;border-bottom: 1px solid #cccccc; border-right: 1px solid #cccccc; padding: 5px 20px 5px 20px;&quot;&gt;&lt;font color=&quot;#333333&quot; face=&quot;Arial, Helvetica, sans-serif&quot; size=&quot;2&quot;&gt;16:15 - 16:45&lt;/font&gt;&lt;/td&gt;                                      &lt;td colspan=&quot;2&quot; align=&quot;left&quot; style=&quot;border-bottom: 1px solid #cccccc; border-right: 1px solid #cccccc; padding: 5px;&quot;&gt;&lt;p&gt;&lt;font face=&quot;Arial, Helvetica, sans-serif&quot; size=&quot;2&quot;&gt;&lt;em&gt; Erfrischungen, Zeit zur Diskussion mit den Experten&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;                                    &lt;/tr&gt;                                  &lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
Die genaue Agenda mit den Sprechern in den einzelnen Orten und eine Möglichkeit zur Anmeldung findet ihr auf den Eventseiten:&lt;br /&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.oracle.com/webapps/events/ns/EventsDetail.jsp?p_eventId=149094&amp;amp;src=7295311&amp;amp;src=7295311&amp;amp;Act=1846&quot;&gt;Düsseldorf 6.2.2012&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.oracle.com/webapps/events/ns/EventsDetail.jsp?p_eventId=149095&amp;amp;src=7295311&amp;amp;src=7295311&amp;amp;Act=1858&amp;amp;evite=1858&quot;&gt;Stuttgart 8.2.2012&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.oracle.com/webapps/events/ns/EventsDetail.jsp?p_eventId=149096&amp;amp;src=7295311&amp;amp;src=7295311&amp;amp;Act=1864&amp;amp;evite=1864&quot;&gt;Hamburg 9.2.2012&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.oracle.com/webapps/events/ns/EventsDetail.jsp?p_eventId=149097&amp;amp;src=7295311&amp;amp;src=7295311&amp;amp;Act=1851&amp;amp;evite=1851&quot;&gt;Potsdam 10.2.2012&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.oracle.com/webapps/events/ns/EventsDetail.jsp?p_eventId=149098&amp;amp;src=7295311&amp;amp;src=7295311&amp;amp;Act=1861&amp;amp;evite=1861&quot;&gt;Frankfurt 13.2.2012&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.oracle.com/webapps/events/ns/EventsDetail.jsp?p_eventId=149099&amp;amp;src=7295311&amp;amp;src=7295311&amp;amp;Act=1862&amp;amp;evite=1862&quot;&gt;München 14.2.2012&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.oracle.com/webapps/events/ns/EventsDetail.jsp?p_eventId=149100&amp;amp;src=7295311&amp;amp;src=7295311&amp;amp;Act=1845&quot;&gt;Zürich 28.2.2012 &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;Um zahlreiches Erscheinen wird gebeten! &lt;img src=&quot;http://www.c0t0d0s0.org/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt; 
    &lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/Wwwc0t0d0s0org?a=PGAQ4ZYscb4:JwiihM_7OeU:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Wwwc0t0d0s0org?d=yIl2AUoC8zA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/Wwwc0t0d0s0org?a=PGAQ4ZYscb4:JwiihM_7OeU:63t7Ie-LG7Y&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Wwwc0t0d0s0org?d=63t7Ie-LG7Y&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/Wwwc0t0d0s0org?a=PGAQ4ZYscb4:JwiihM_7OeU:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Wwwc0t0d0s0org?d=7Q72WNTAKBA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/Wwwc0t0d0s0org?a=PGAQ4ZYscb4:JwiihM_7OeU:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Wwwc0t0d0s0org?i=PGAQ4ZYscb4:JwiihM_7OeU:V_sGLiPBpWU&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/Wwwc0t0d0s0org?a=PGAQ4ZYscb4:JwiihM_7OeU:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Wwwc0t0d0s0org?i=PGAQ4ZYscb4:JwiihM_7OeU:F7zBnMyn0Lo&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/Wwwc0t0d0s0org?a=PGAQ4ZYscb4:JwiihM_7OeU:dnMXMwOfBR0&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Wwwc0t0d0s0org?d=dnMXMwOfBR0&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/Wwwc0t0d0s0org/~4/PGAQ4ZYscb4&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content:encoded>
	<dc:date>2012-01-23T14:18:11+00:00</dc:date>
	<dc:creator>Joerg Moellenkamp</dc:creator>
</item>
<item rdf:about="http://prefetch.net/blog/?p=5399">
	<title>Blog O' Matty: How to figure out if a processes has been chroot()’ed</title>
	<link>http://prefetch.net/blog/index.php/2012/01/23/how-to-figure-out-if-a-processes-has-been-chrooted/</link>
	<content:encoded>A number of applications (e.g., custom chroot jails, openssh, vsftp, apache) support the ability to chroot themselves. To find out if a process called chroot() at startup, you can check the /proc/&amp;lt;pid&amp;gt;/root entry for the process. For non-chrooted processes this entry will point to /: $ ps auxwww | grep [s]endmail root 3643 0.0 0.1 [...]</content:encoded>
	<dc:date>2012-01-23T13:07:17+00:00</dc:date>
	<dc:creator>matty</dc:creator>
</item>
<item rdf:about="http://prefetch.net/blog/?p=5388">
	<title>Blog O' Matty: Learn Python video series from Google</title>
	<link>http://prefetch.net/blog/index.php/2012/01/22/learn-python-video-series-from-google/</link>
	<content:encoded>I’ve been trying to expand my Python knowledge and recently came across Nick Parlante’s 6-part learn Python series on Youtube. I’ve watched several of the videos, and I am impressed with Nick’s teaching ability. Here are links to the 6-part series: Day 1 part 1: Introduction and Strings Day 1 part 2: Lists, Sorting and [...]</content:encoded>
	<dc:date>2012-01-22T14:03:48+00:00</dc:date>
	<dc:creator>matty</dc:creator>
</item>
<item rdf:about="http://prefetch.net/blog/?p=5360">
	<title>Blog O' Matty: A couple of gotchas with the OpenSSH chroot() implementation</title>
	<link>http://prefetch.net/blog/index.php/2012/01/21/a-couple-of-gotchas-with-the-openssh-chroot-implementation/</link>
	<content:encoded>I previously discussed the OpenSSH Match directive, and how it can be used to chroot SSH and SFTP users. Over the past couple of months I’ve encountered some gotchas with the chroot implementation in OpenSSH. Since I had to figure these items out myself, I figured I would share my findings here so folks wouldn’t [...]</content:encoded>
	<dc:date>2012-01-21T14:09:29+00:00</dc:date>
	<dc:creator>matty</dc:creator>
</item>
<item rdf:about="http://dtrace.org/blogs/ahl/?p=992">
	<title>Adam Leventhal: ZFS+10: illumos meetup</title>
	<link>http://dtrace.org/blogs/ahl/2012/01/20/zfs10-illumos-meetup/</link>
	<content:encoded>&lt;p&gt;
ZFS recently celebrated its informal &lt;a href=&quot;http://blog.delphix.com/ahl/2011/zfs-10th-anniversary/&quot;&gt;10th anniversary&lt;/a&gt;; to mark the occasion, &lt;a href=&quot;http://www.delphix.com&quot;&gt;Delphix&lt;/a&gt; hosted a &lt;a href=&quot;http://www.meetup.com/illumos-User-Group/events/41665962/&quot;&gt;ZFS-themed meetup&lt;/a&gt; for the illumos community (sponsored generously by &lt;a href=&quot;http://www.joyent.com&quot;&gt;Joyent&lt;/a&gt;). Many thanks to &lt;a href=&quot;https://twitter.com/#!/DeirdreS&quot;&gt;Deirdre Straughan&lt;/a&gt;, the new illumos community manager, for helping to organize and for filming the event. Three of my colleagues at Delphix presented work they’ve been doing in the ZFS ecosystem.
&lt;/p&gt;
&lt;p&gt;
&lt;a href=&quot;http://blog.delphix.com/matt&quot;&gt;&lt;b&gt;Matt Ahrens&lt;/b&gt;&lt;/a&gt;, who (with Jeff Bonwick) invented ZFS back in 2001, started the program with a discussion of a new stable interface for ZFS. Initially &lt;b&gt;libzfs&lt;/b&gt; had been designed as a set of helper functions in support of the zfs(1M) and zpool(1M) commands; since then, it has outgrown those humble ambitions and a new, simple, stable interface is needed for programmatic consumers of ZFS. In Matt’s talk and &lt;a href=&quot;http://blog.delphix.com/matt/2012/01/17/the-future-of-libzfs/&quot;&gt;blog post&lt;/a&gt;, he lays out a series of guiding principles for the new libzfs_core library; he’s already started to implement these ideas for new ZFS features in development at Delphix.
&lt;/p&gt;
&lt;p&gt;
&lt;a href=&quot;http://blog.delphix.com/jkennedy&quot;&gt;&lt;b&gt;John Kennedy&lt;/b&gt;&lt;/a&gt; has been working on a relatively neglected part of illumos: automated testing. At the meetup John spoke about the work he’s been doing to revitalize the &lt;b&gt;ZFS test suite&lt;/b&gt;, and to build a unit testing framework for illumos at large. I found the questions and enthusiasm from the people in the room particularly encouraging — everyone knows that we need to be doing more testing, but until John stepped up, no one was leading the charge. The ZFS test suite is &lt;a href=&quot;https://github.com/delphix/zfstest&quot;&gt;available on github&lt;/a&gt;. Take a look at &lt;a href=&quot;http://blog.delphix.com/jkennedy/2012/01/18/resurrecting-the-zfs-test-suite/&quot;&gt;John’s blog post&lt;/a&gt; to see how to execute the ZFS test suite, and how you can contribute to illumos by helping him diagnose and fix the &lt;a href=&quot;https://github.com/delphix/zfstest/wiki/Known-zfstest-failures&quot;&gt;60+ outstanding failures&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
&lt;a href=&quot;http://blog.delphix.com/csiden&quot;&gt;&lt;b&gt;Chris Siden&lt;/b&gt;&lt;/a&gt; has been at Delphix just since he graduated from Brown University this past spring, but he’s already made a tremendous impact on ZFS. Chris presented both the work he’s done to finish the work started by Basil Crow (also of Brown, and soon full-time at Delphix) on &lt;b&gt;ZFS feature flags&lt;/b&gt; (&lt;a href=&quot;http://mail.opensolaris.org/pipermail/zfs-discuss/2011-May/048514.html&quot;&gt;originally presented to the ZFS community by Matt back in May&lt;/a&gt;). Previously, ZFS features followed a single, linear versioning; with Chris and Basil’s work it’s not a land-grab for the next version, rather each feature can be enabled discretely. Chris also implemented the world’s first flagged ZFS feature, Async Destroy (also known to ZFS feature flags as com.delphix:async_destroy) which allows datasets to be destroyed asynchronously in the background — a huge boon when destroying gigantic ZFS datasets. Chris also presented some work he’s been doing on backward compatibility testing for ZFS; check out his &lt;a href=&quot;http://blog.delphix.com/csiden/2012/01/11/illumos-meetup-january-2012/&quot;&gt;blog post on both subjects&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
The illumos meetup was a great success. Thank you to everyone who attended in person or on the web. To get involved with the ZFS community, join the &lt;a href=&quot;https://www.listbox.com/subscribe/?listname=zfs@lists.illumos.org&quot;&gt;illumos ZFS mailing list&lt;/a&gt;, and for information on the next illumos meetup, &lt;a href=&quot;http://www.meetup.com/illumos-User-Group/members/&quot;&gt;join the group&lt;/a&gt;.&lt;/p&gt;</content:encoded>
	<dc:date>2012-01-20T21:39:59+00:00</dc:date>
	<dc:creator>ahl</dc:creator>
</item>
<item rdf:about="http://blogs.oracle.com/jsavit/entry/solaris_10_branded_zone_vm">
	<title>Jeff Savit: Solaris 10 branded zone VM Templates for Solaris 11 on OTN</title>
	<link>http://blogs.oracle.com/jsavit/entry/solaris_10_branded_zone_vm</link>
	<content:encoded>&lt;p&gt;
Early this year I wrote the article
&lt;a href=&quot;http://blogs.oracle.com/jsavit/entry/ours_goes_to_11_features&quot;&gt;Ours Goes To 11&lt;/a&gt; 
which describes the ability to import Solaris 10 systems into a &quot;Solaris 10 branded zone&quot; under Oracle Solaris 11.
I did this using Solaris 11 Express, and the capability remains in Solaris 11 with only slight changes.
This important tool lets you painlessly inhaling a Solaris Container from Solaris 10 or entire Solaris 10 systems (&quot;the global zone&quot;) into virtualized environments on a Solaris 11 OS.
&lt;/p&gt;&lt;p&gt;
Just recently, Oracle provided Oracle VM Templates for Oracle Solaris 10 Zones to let you create Solaris 10
branded zones for Solaris 11 even if you don't currently have access to install media or a running Solaris 10 system.
To use this, just download the Oracle VM Template for Oracle Solaris Zone 10 from OTN at 
&lt;a href=&quot;http://www.oracle.com/technetwork/server-storage/solaris11/downloads/virtual-machines-1355605.html&quot;&gt;http://www.oracle.com/technetwork/server-storage/solaris11/downloads/virtual-machines-1355605.html&lt;/a&gt;.
This page contains images of Oracle Solaris 10 8/11 (the recent update to Solaris 10) in SPARC and x86 formats
suitable for creating branded zones. 
The same page also has a VirtualBox image you can download for a complete Solaris 10 install in a guest virtual machine you can run on any host OS that supports VirtualBox.
Both sets of downloads provide a quick - and extremely easy - way to set up a virtual Solaris 10 environment.
In the case of the Oracle VM Templates, they illustrate several advanced features of Solaris 11.
&lt;/p&gt;&lt;p&gt;
To start, just go to the above link, download the template for the hardware platform (SPARC or x86) you want,
and download the README file also linked from that page. 
&lt;/p&gt;&lt;h3&gt;Install prerequisites&lt;/h3&gt;
&lt;p&gt;The README file tells you to install the prerequisite Solaris 11 package that implements the Solaris 10 brand.
Then you can install instances of zones with that brand.
&lt;/p&gt;&lt;pre&gt;# pkg install pkg:/system/zones/brand/brand-solaris10
           Packages to install:   1
       Create boot environment:  No
Create backup boot environment: Yes

DOWNLOAD                                  PKGS       FILES    XFER (MB)
Completed                                  1/1       44/44      0.4/0.4

PHASE                                        ACTIONS
Install Phase                                  74/74 

PHASE                                          ITEMS
Package State Update Phase                       1/1 
Image State Update Phase                         2/2 
&lt;/pre&gt;
That took only a few minutes, and didn't require a reboot.
&lt;h3&gt;Install the Solaris 10 zone&lt;/h3&gt;
&lt;p&gt;Now it's time to run the downloaded template file.  
First make it executable via the &lt;code&gt;chmod&lt;/code&gt; command, of course.
I found that (unlike stated in the README) there was no need to rename the downloaded file to remove the
&lt;code&gt;.bin&lt;/code&gt;.  
When you run it you provide several parameters to describe the zone configuration:
&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-a&lt;/code&gt; &lt;i&gt;IP address&lt;/i&gt; - the IP address and optional netmask for the zone. This is the only mandatory parameter.
&lt;/li&gt;&lt;li&gt;&lt;code&gt;-z&lt;/code&gt; &lt;i&gt;zonename&lt;/i&gt; - the name of the zone you would like to create.
&lt;/li&gt;&lt;li&gt;&lt;code&gt;-i&lt;/code&gt; &lt;i&gt;interface&lt;/i&gt; - the package will create an exclusive-IP zone using a virtual NIC (vnic)
based on this physical interface. In my case, I have a NIC called &lt;code&gt;rge0&lt;/code&gt;.
&lt;/li&gt;&lt;li&gt;&lt;code&gt;-p&lt;/code&gt; &lt;i&gt;PATH&lt;/i&gt; - specifies the path in which you want the zoneroot to be placed. In my case,  
I have a ZFS dataset mounted at &lt;code&gt;/zones&lt;/code&gt;, and this will create a zoneroot at &lt;code&gt;/zones/s10u10&lt;/code&gt;.
&lt;/li&gt;&lt;/ul&gt;
Kicking it off, you will see a copyright message, and then messages showing progress building the zone,
which only takes a few minutes.
&lt;pre&gt;# ./solaris-10u10-x86.bin -p /zones -a 192.168.1.100 -i rge0 -z s10u10

...
...

Checking disk-space for extraction
  Ok

Extracting in /export/home/CDimages/s10zone/bootimage.ihaqvh ...
100% [===============================&amp;gt;]

Checking data integrity
  Ok

Checking platform compatibility
      The host  and  the image  do not have  the same Solaris release:
        host  Solaris release:   5.11
        image Solaris release:   5.10

      Will create a Solaris 10 branded zone.

  Warning: could not find a defaultrouter
  Zone won't have any defaultrouter configured


IMAGE:      ./solaris-10u10-x86.bin
ZONE:       s10u10
ZONEPATH:   /zones/s10u10
INTERFACE:  rge0
VNIC:       vnicZBI13379
MAC ADDR:   2:8:20:5c:1a:cc
IP ADDR:    192.168.1.100
NETMASK:    255.255.255.0
DEFROUTER:  NONE
TIMEZONE:   US/Arizona

Checking disk-space for installation
  Ok

Installing in /zones/s10u10 ...
100% [===============================&amp;gt;]

Using a static exclusive-IP

Attaching s10u10

Booting s10u10

  Waiting for boot to complete
  booting...
  booting...
  booting...

Zone s10u10 booted

The zone's root password  has been set using the
root password of the local host.
You  can  change  the  zone's  root password  to
further harden  the security of the zone:  being
root,  log  into the zone  from  the  local host
with  the command 'zlogin s10u10'.
Once logged in, change the root password with the
command 'passwd'.
&lt;/pre&gt;
&lt;p&gt;
The nifty part in my opinion (besides being so easy), 
is that the zone was created as an exclusive-IP zone on a virtual NIC. 
This network configuration lets you enforce traffic isolation from other zones,
enforce network Quality of Service, and even let the zone set its own characteristics
like IP address and packet size. 
&lt;/p&gt;&lt;p&gt;Independence of the zone's network characteristics
from the global zone is one of the enhancements in Solaris 10 that make it easier to consolidate
zones while preserving their autonomy, yet provide control in a consolidated environment.
&lt;/p&gt;&lt;p&gt;Let's see what the virtual network environment looks like by issuing commands
from the Solaris 11 global zone. First I'll use Old School &lt;code&gt;ifconfig&lt;/code&gt;, and then
I'll use the new &lt;code&gt;ipadm&lt;/code&gt; and &lt;code&gt;dladm&lt;/code&gt; commands.
&lt;/p&gt;&lt;pre&gt;# ifconfig -a4
lo0: flags=2001000849&amp;lt;UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL&amp;gt; mtu 8232 index 1
	inet 127.0.0.1 netmask ff000000 
rge0: flags=1004943&amp;lt;UP,BROADCAST,RUNNING,PROMISC,MULTICAST,DHCP,IPv4&amp;gt; mtu 1500 index 2
	inet 192.168.1.3 netmask ffffff00 broadcast 192.168.1.255
	ether 0:14:d1:18:ac:bc 
vboxnet0: flags=201000843&amp;lt;UP,BROADCAST,RUNNING,MULTICAST,IPv4,CoS&amp;gt; mtu 1500 index 3
	inet 192.168.56.1 netmask ffffff00 broadcast 192.168.56.255
	ether 8:0:27:f8:62:1c 
# dladm show-phys
LINK              MEDIA                STATE      SPEED  DUPLEX    DEVICE
yge0              Ethernet             unknown    0      unknown   yge0
yge1              Ethernet             unknown    0      unknown   yge1
rge0              Ethernet             up         1000   full      rge0
vboxnet0          Ethernet             up         1000   full      vboxnet0
# dladm show-link
LINK                CLASS     MTU    STATE    OVER
yge0                phys      1500   unknown  --
yge1                phys      1500   unknown  --
rge0                phys      1500   up       --
vboxnet0            phys      1500   up       --
vnicZBI13379        vnic      1500   up       rge0
s10u10/vnicZBI13379 vnic      1500   up       rge0
s10u10/net0         vnic      1500   up       rge0
# dladm show-vnic
LINK                OVER         SPEED  MACADDRESS        MACADDRTYPE       VID
vnicZBI13379        rge0         1000   2:8:20:5c:1a:cc   random            0
s10u10/vnicZBI13379 rge0         1000   2:8:20:5c:1a:cc   random            0
s10u10/net0         rge0         1000   2:8:20:9d:d0:79   random            0
# ipadm show-addr
ADDROBJ           TYPE     STATE        ADDR
lo0/v4            static   ok           127.0.0.1/8
rge0/_a           dhcp     ok           192.168.1.3/24
vboxnet0/_a       static   ok           192.168.56.1/24
lo0/v6            static   ok           ::1/128
&lt;/pre&gt;
&lt;h3&gt;Log into the zone&lt;/h3&gt;
&lt;p&gt;
The install step already booted the zone, so lets log into it. Notice how you have to be
appropriately privileged to log into a zone. This is my home system so I'm being a bit 
cavalier, but in a production environment you can give granular control of who can login
to which zones. &lt;i&gt;Voila!&lt;/i&gt; a Solaris 10 environment under a Solaris 11 kernel.
Notice the output from the &lt;code&gt;uname -a&lt;/code&gt; and &lt;code&gt;ifconfig&lt;/code&gt; commands, and
output from a &lt;code&gt;ping&lt;/code&gt; to a nearby host.
&lt;/p&gt;&lt;pre&gt;$ zlogin s10u10
zlogin: You lack sufficient privilege to run this command (all privs required)
savit@home:~$ sudo zlogin s10u10
Password: 
[Connected to zone 's10u10' pts/5]
Oracle Corporation	SunOS 5.10	Generic Patch	January 2005
# uname -a
SunOS s10u10 5.10 Generic_Virtual i86pc i386 i86pc
# ifconfig -a4
lo0: flags=2001000849 mtu 8232 index 1
	inet 127.0.0.1 netmask ff000000 
vnicZBI13379: flags=1000843 mtu 1500 index 2
	inet 192.168.1.100 netmask ffffff00 broadcast 192.168.1.255
	ether 2:8:20:5c:1a:cc 
# bash
bash-3.2# ifconfig -a
lo0: flags=2001000849 mtu 8232 index 1
	inet 127.0.0.1 netmask ff000000 
vnicZBI13379: flags=1000843 mtu 1500 index 2
	inet 192.168.1.100 netmask ffffff00 broadcast 192.168.1.255
	ether 2:8:20:5c:1a:cc 
bash-3.2# ping 192.168.1.2
192.168.1.2 is alive
&lt;/pre&gt;
&lt;p&gt;
For fun, I configured Apache (setting its configuration file in &lt;code&gt;/etc/apache2&lt;/code&gt;) and brought it up. Easy - took just a few minutes.
&lt;/p&gt;&lt;pre&gt;bash-3.2# svcs  apache2
STATE          STIME    FMRI
disabled       12:38:46 svc:/network/http:apache2
bash-3.2# svcadm enable apache2
&lt;/pre&gt;
&lt;h3&gt;Summary&lt;/h3&gt;
&lt;p&gt;In just a few minutes, I built a functioning virtual Solaris 10 environment under by Solaris 11 system.
It was... easy!   While I can still do it the manual way (creating and using a system archive), this
is a low-effort way to create a Solaris 10 zone on Solaris 11.



&lt;noscript&gt;&amp;lt;div class=&quot;statcounter&quot;&amp;gt;&amp;lt;a href=&quot;http://statcounter.com/tumblr/&quot; target=&quot;_blank&quot; title=&quot;visit tracker on tumblr&quot;&amp;gt;&amp;lt;img alt=&quot;visit tracker on tumblr&quot; class=&quot;statcounter&quot; src=&quot;http://c.statcounter.com/6611784/0/4251aa3a/1/&quot; /&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&lt;/noscript&gt;
&lt;/p&gt;</content:encoded>
	<dc:date>2012-01-20T21:34:30+00:00</dc:date>
	<dc:creator>jsavit</dc:creator>
</item>
<item rdf:about="http://blogs.oracle.com/jsavit/entry/new_wiki_article_exploring_oracle">
	<title>Jeff Savit: New wiki article: Exploring Oracle Solaris 11 Express</title>
	<link>http://blogs.oracle.com/jsavit/entry/new_wiki_article_exploring_oracle</link>
	<content:encoded>&lt;h2&gt;Recommended: Exploring Oracle Solaris 11 Express&lt;/h2&gt;
&lt;p&gt;
There's a very useful new wiki article at
&lt;a href=&quot;http://wikis.sun.com/display/solaris/Exploring+the+World%27s+First+Fully+Virtualized+Operating+System&quot;&gt;http://wikis.sun.com/display/solaris/Exploring+the+World%27s+First+Fully+Virtualized+Operating+System&lt;/a&gt; titled
&lt;a href=&quot;http://wikis.sun.com/display/solaris/Exploring+the+World%27s+First+Fully+Virtualized+Operating+System&quot;&gt;Exploring the World's First Fully Virtualized Operating System&lt;/a&gt;.  
&lt;/p&gt;&lt;p&gt;
This covers material similar to what I discussed in
&lt;a href=&quot;http://blogs.oracle.com/jsavit/entry/flow_control_in_solaris_11&quot;&gt;http://blogs.oracle.com/jsavit/entry/flow_control_in_solaris_11&lt;/a&gt; &quot;Flow control in Solaris 11 Express Network virtualization&quot;, but goes further. Instead of just adding a flow to an existing physical network interface as I did, the wiki illustrates creating virtual network interfaces with the &lt;code&gt;dladm create-vnic&lt;/code&gt; and &lt;code&gt;ipadm&lt;/code&gt; commands. In its second example, the wiki shows how to create a zone using the virtual nic.
&lt;/p&gt;&lt;h3&gt;No need to trade off shared vs. exclusive&lt;/h3&gt;
&lt;p&gt;
That brings up an important new capability of Oracle Solaris 11. In Solaris 10, a zone (aka Solaris Container) could have a &lt;i&gt;shared&lt;/i&gt; network interface or an &lt;i&gt;exclusive IP&lt;/i&gt;. The shared model works well for most use-cases, typically many virtual environments on the same host and same network, with individual IP addresses and efficient off-box and inter-zone networking. But, that didn't allow zones to do things like assign their own IP address, or individually set network characteristics like turning on jumbo frames. 
&lt;/p&gt;&lt;p&gt;
Exclusive IP was invented for cases where some zones had to have control over their own network interfaces (even issuing &lt;code&gt;ndd&lt;/code&gt; commands if they want, and when some zones had to exist on separate networks from other zones, especially for hosts residing on a DMZ or the Internet along with a company's internal network. However, exclusive IP required, well - exclusive access to a physical network device, restricting how many exclusive IP zones could be hosted on a server. Now, you can create an arbitrary number of virtual interfaces.

&lt;/p&gt;&lt;h3&gt;Recommended reading - several tasty recipes in one serving&lt;/h3&gt;
&lt;p&gt;
In addition to the above features, the blog illustrates several other tasty items: the exclusive-IP zone is created using ZFS compression to save disk space, and sudo is used for commands that (traditionally, or by habit) would have implied becoming &lt;code&gt;root&lt;/code&gt;. Switching to an all-powerful root userid is so, last-century.  Userids are created within the zone (names that will be familiar to viewers of a recent pair of movies about a high-tech superhero).  Software is added to the zone (Solaris 11 zones start with a minimized install), Apache web server is set up, and then the whole thing is cloned to make a new zone.  Great stuff, and a good illustration of ways that Oracle Solaris 11 Express provides new, flexible, and more secure administration. For a further illustration, see Jeff Victor's blog at &lt;a href=&quot;http://blogs.oracle.com/JeffV/entry/virtual_network_part_3&quot;&gt;http://blogs.oracle.com/JeffV/entry/virtual_network_part_3&lt;/a&gt;

&lt;/p&gt;&lt;h3&gt;Don't Fear The Reaper&lt;/h3&gt;
&lt;p&gt;
My opportunity for a little joke:  Sun blogs were on blogs.sun.com, sometimes referred to by us bloggers as &quot;b.s.c&quot;.  Now that we're on &lt;a href=&quot;http://blogs.oracle.com&quot;&gt;blogs.oracle.com&lt;/a&gt; (this is my first post in the new name), I expect to see references to &quot;b.o.c&quot;.  Which makes me think of &lt;a href=&quot;http://www.blueoystercult.com/&quot;&gt;Blue Öyster Cult&lt;/a&gt;. Naturally! 
&lt;/p&gt;&lt;hr /&gt;
&lt;b&gt;The views expressed on this [blog; Web site] are my own and do not necessarily reflect the views of Oracle.&lt;/b&gt;
&lt;p&gt;
(that goes for musical taste, too...)



&lt;noscript&gt;&amp;lt;div class=&quot;statcounter&quot;&amp;gt;&amp;lt;a href=&quot;http://statcounter.com/tumblr/&quot; target=&quot;_blank&quot; title=&quot;visit tracker on tumblr&quot;&amp;gt;&amp;lt;img alt=&quot;visit tracker on tumblr&quot; class=&quot;statcounter&quot; src=&quot;http://c.statcounter.com/6611784/0/4251aa3a/1/&quot; /&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&lt;/noscript&gt;
&lt;/p&gt;</content:encoded>
	<dc:date>2012-01-20T21:33:10+00:00</dc:date>
	<dc:creator>jsavit</dc:creator>
</item>
<item rdf:about="http://prefetch.net/blog/?p=5337">
	<title>Blog O' Matty: How to encrypt an SSH private key</title>
	<link>http://prefetch.net/blog/index.php/2012/01/20/how-to-encrypt-an-ssh-private-key/</link>
	<content:encoded>If you are using SSH key-based authentication you should be encrypting your private key. This ensures that if someone breaks into your server and steals your keys, they won’t be able to utilize them to access other systems. If your private key isn’t encrypted you can use the ssh-keygen utilities “-p” option to do so: [...]</content:encoded>
	<dc:date>2012-01-20T20:55:27+00:00</dc:date>
	<dc:creator>matty</dc:creator>
</item>
<item rdf:about="http://blogs.oracle.com/jsavit/entry/dedicated_cpus_in_zones_a">
	<title>Jeff Savit: Dedicated CPUs in zones - a small RM exercise</title>
	<link>http://blogs.oracle.com/jsavit/entry/dedicated_cpus_in_zones_a</link>
	<content:encoded>&lt;h2&gt;A small RM exercise&lt;/h2&gt;
&lt;p&gt;
Today's blog is about an exercise with resource management using Logical Domains and Solaris Containers.
Nothing earth-shattering, or even novel, but an illustration on how these technologies interact, and
how resource management looks when dedicated CPUs are used with Containers.
&lt;/p&gt;&lt;h2&gt;The problem statement&lt;/h2&gt;
&lt;p&gt;
I needed to demonstrate the interaction of Solaris Containers and dedicated CPUs for a customer. 
They wanted zones to be set up with dedicated CPUs so they could see what visibility zones had to CPU resources.
&lt;/p&gt;&lt;h2&gt;Lab environment&lt;/h2&gt;
Fortunately I have access to a small T1000 server and logical domains, and set up a domain with multiple CPUs.
(In these examples, &quot;primary&quot; in screen-scraped text indicates that the terminal session is in the Control Domain,
and &quot;global&quot; indicates that the terminal session is in the guest domain's global zone.)
&lt;p&gt;&lt;/p&gt;&lt;table width=&quot;100%&quot; border=&quot;1&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;pre&gt;
primary # &lt;b&gt;ldm set-mem 2g ldom1&lt;/b&gt;
primary # &lt;b&gt;ldm set-vcpu 8 ldom1&lt;/b&gt;
primary # &lt;b&gt;ldm bind ldom1&lt;/b&gt;
primary # &lt;b&gt;ldm list&lt;/b&gt;
NAME             STATE      FLAGS   CONS    VCPU  MEMORY   UTIL  UPTIME
primary          active     -n-cv-  SP      4     3G       0.5%  2d 11h 12m
ldom1            bound      ------  5000    8     2G             
ldom2            inactive   ------          4     1G             
ldom3            inactive   ------          4     1G             
primary # &lt;b&gt;ldm start ldom1&lt;/b&gt;
LDom ldom1 started
&lt;/pre&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;
&lt;/p&gt;&lt;h2&gt;Boot up the lab system&lt;/h2&gt;
After firing up the domain, I connected to its console (as shown above, its virtual console is connected to port 5000),
logged into it and displayed some virtual configuration data. 
Note that I have this domain set up to require manual boot. That's useful in a lab or training scenario, but normally you would 
let the domain boot up Solaris on the &lt;tt&gt;ldm start&lt;/tt&gt;.  
In that case I could have just waited a few seconds for boot to complete 
(booting a logical domain is very fast since physical devices don't have to be probed) 
and simply used the &lt;tt&gt;ssh&lt;/tt&gt; command to connect directly to the domain.
Here, I get the OpenBoot &quot;ok&quot; prompt and then boot Solaris.
&lt;p&gt;
As expected, the domain sees the 8 virtual CPUs defined to it (look for the &lt;tt&gt;psrinfo&lt;/tt&gt; output below).
It also has 2 (virtual) NICS bound to different virtual switches connected to different physical networks.
The network configuration isn't germane to today's exercise, but it's worth mentioning because
it illustrates how you can pass separate physical network connections to nested virtual environments.
&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;table width=&quot;100%&quot; border=&quot;1&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;pre&gt;
primary $ &lt;b&gt;telnet localhost 5000&lt;/b&gt;
Trying 127.0.0.1...
Connected to localhost.
Escape character is '\^]'.

Connecting to console &quot;ldom1&quot; in group &quot;ldom1&quot; ....
Press ~? for control options ..

Sun Fire(TM) T1000, No Keyboard
Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
OpenBoot 4.30.3, 2048 MB memory available, Serial #83492552.
Ethernet address 0:14:4f:f9:fe:c8, Host ID: 84f9fec8.

{0} ok &lt;b&gt;boot&lt;/b&gt;
Boot device: /virtual-devices@100/channel-devices@200/disk@0:a  File and args: 
SunOS Release 5.10 Version Generic_139555-08 64-bit
Copyright 1983-2009 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
Hostname: t1ldom1
Reading ZFS config: done.
Mounting ZFS filesystems: (8/8)

t1ldom1 console login: &lt;b&gt;root&lt;/b&gt;
Password: 
Last login: Tue Sep 15 17:31:05 on console
Sun Microsystems Inc.   SunOS 5.10      Generic January 2005
global # &lt;b&gt;psrinfo&lt;/b&gt;
0       on-line   since 10/01/2009 19:23:09
1       on-line   since 10/01/2009 19:23:11
2       on-line   since 10/01/2009 19:23:11
3       on-line   since 10/01/2009 19:23:11
4       on-line   since 10/01/2009 19:23:11
5       on-line   since 10/01/2009 19:23:11
6       on-line   since 10/01/2009 19:23:11
7       on-line   since 10/01/2009 19:23:11
global # &lt;b&gt;ifconfig -a&lt;/b&gt;
lo0: flags=2001000849 mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000 
vnet0: flags=201000843 mtu 1500 index 2
        inet 192.168.2.101 netmask ffffff00 broadcast 192.168.2.255
        ether 0:14:4f:fb:f8:a4 
vnet1: flags=201000843 mtu 1500 index 3
        inet 129.153.20.144 netmask ffffff00 broadcast 129.153.20.255
        ether 0:14:4f:fa:3b:c9 
&lt;/pre&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;
This domain also has a zone named &lt;tt&gt;u4z1&lt;/tt&gt; which I had migrated
(via &lt;tt&gt;zoneadm detach&lt;/tt&gt; and &lt;tt&gt;zoneadm attach&lt;/tt&gt;) from an older update level of Solaris 10.
The zone has shared IP access to each of the logical domain's virtual network devices, hence access to the different physical networks the machine 
is connected to.
&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;table width=&quot;100%&quot; border=&quot;1&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;pre&gt;
global # &lt;b&gt;zoneadm list -civ&lt;/b&gt;
  ID NAME             STATUS     PATH                           BRAND    IP    
   0 global           running    /                              native   shared
   - u4z1             installed  /zones/u4z1                    native   shared
global # &lt;b&gt;zonecfg -z u4z1 info&lt;/b&gt;
zonename: u4z1
zonepath: /zones/u4z1
brand: native
autoboot: false
bootargs: 
pool: 
limitpriv: 
scheduling-class: 
ip-type: shared
inherit-pkg-dir:
	dir: /lib
inherit-pkg-dir:
	dir: /platform
inherit-pkg-dir:
	dir: /sbin
inherit-pkg-dir:
	dir: /usr
net:
	address: 192.168.2.222
	physical: vnet0
	defrouter not specified
net:
	address: 129.153.20.232
	physical: vnet1
	defrouter not specified
&lt;/pre&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;
&lt;/p&gt;&lt;h2&gt;View from within the zone before resource management applied&lt;/h2&gt;
At this point, I'll boot up the zone &lt;tt&gt;u4z1&lt;/tt&gt; and demonstrate that
it has access to all the CPUs defined for this logical domain, 
and coincidentally, access to the network devices.  
&lt;p&gt;&lt;/p&gt;&lt;table width=&quot;100%&quot; border=&quot;1&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;pre&gt;
global # &lt;b&gt;zlogin -C u4z1&lt;/b&gt;
[Connected to zone 'u4z1' console]

[NOTICE: Zone booting up]


SunOS Release 5.10 Version Generic_139555-08 64-bit
Copyright 1983-2009 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
Hostname: u4z1
Reading ZFS config: done.

u4z1 console login: &lt;b&gt;root&lt;/b&gt;
Password: 
Last login: Thu Aug 27 16:47:17 on console
Oct  1 19:27:05 u4z1 login: ROOT LOGIN /dev/console
Sun Microsystems Inc.   SunOS 5.10      Generic January 2005
# &lt;b&gt;ifconfig -a&lt;/b&gt;
lo0:1: flags=2001000849 mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000 
vnet0:1: flags=201000843 mtu 1500 index 2
        inet 192.168.2.222 netmask ffffff00 broadcast 192.168.2.255
vnet1:1: flags=201000843 mtu 1500 index 3
        inet 129.153.20.232 netmask ffffff00 broadcast 129.153.20.255
# &lt;b&gt;psrinfo&lt;/b&gt;
0       on-line   since 10/01/2009 19:23:09
1       on-line   since 10/01/2009 19:23:11
2       on-line   since 10/01/2009 19:23:11
3       on-line   since 10/01/2009 19:23:11
4       on-line   since 10/01/2009 19:23:11
5       on-line   since 10/01/2009 19:23:11
6       on-line   since 10/01/2009 19:23:11
7       on-line   since 10/01/2009 19:23:11
&lt;/pre&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;
&lt;/p&gt;&lt;p&gt;
If you're keeping score: the physical machine has 24 CPUs (6 cores of 4 virtual CPUs each),
and this domain has 8 of those CPUs, and the zone within it can see all of them.
&lt;/p&gt;&lt;h2&gt;Apply dedicated CPUs to the zone&lt;/h2&gt;
&lt;p&gt;
Now, I go back to the global zone (still in the logical domain, remember) and add a
&lt;b&gt;dedicated-cpu&lt;/b&gt; stanza to the definition of the u4z1 zone. This sets up the zone
so it has between 1 and 4 CPUs for its exclusive use.
&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;table width=&quot;100%&quot; border=&quot;1&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;pre&gt;
global # &lt;b&gt;zonecfg -z u4z1&lt;/b&gt;
zonecfg:u4z1&amp;gt; &lt;b&gt;add dedicated-cpu&lt;/b&gt;
zonecfg:u4z1:dedicated-cpu&amp;gt; &lt;b&gt;set ncpus=1-4&lt;/b&gt;
zonecfg:u4z1:dedicated-cpu&amp;gt; &lt;b&gt;set importance=2&lt;/b&gt;
zonecfg:u4z1:dedicated-cpu&amp;gt; &lt;b&gt;end&lt;/b&gt;
zonecfg:u4z1&amp;gt; &lt;b&gt;verify&lt;/b&gt;
zonecfg:u4z1&amp;gt; &lt;b&gt;commit&lt;/b&gt;
zonecfg:u4z1&amp;gt; &lt;b&gt;exit&lt;/b&gt;
global # &lt;b&gt;zonecfg -z u4z1 info&lt;/b&gt;
zonename: u4z1
zonepath: /zones/u4z1
brand: native
autoboot: false
bootargs: 
pool: 
limitpriv: 
scheduling-class: 
ip-type: shared
inherit-pkg-dir:
	dir: /lib
inherit-pkg-dir:
	dir: /platform
inherit-pkg-dir:
	dir: /sbin
inherit-pkg-dir:
	dir: /usr
net:
	address: 192.168.2.222
	physical: vnet0
	defrouter not specified
net:
	address: 129.153.20.232
	physical: vnet1
	defrouter not specified
dedicated-cpu:
	ncpus: 1-4
	importance: 2
&lt;/pre&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;
Okay, I've changed the definition, let's recycle the zone.
Oh, I forgot to enable the service that automatically shifts the number
of CPUs owned by the zone between its lower and upper bounds.
This is a really helpful feature: when the zone is CPU-busy, Solaris provides it CPUs up to the specified maximum number. 
When the zone is idle, it removes CPUs until it reaches the lower limit, which makes the CPUs available to other zones.
Without the &lt;tt&gt;svc:/system/pools/dynamic&lt;/tt&gt; service turned on, the zone gets the upper bound of dedicated CPUs.
I can turn the dynamic pool service some other time, as it's not needed for this demo.
&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;table width=&quot;100%&quot; border=&quot;1&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;pre&gt;
global # &lt;b&gt;zoneadm -z u4z1 halt&lt;/b&gt;
global # &lt;b&gt;zoneadm -z u4z1 boot&lt;/b&gt;
zoneadm: zone 'u4z1': WARNING: A range of dedicated-cpus has been specified
zoneadm: zone 'u4z1': but the dynamic pool service is not enabled.
zoneadm: zone 'u4z1': The system will not dynamically adjust the
zoneadm: zone 'u4z1': processor allocation within the specified range
zoneadm: zone 'u4z1': until svc:/system/pools/dynamic is enabled.
zoneadm: zone 'u4z1': See poold(1M).
global # &lt;b&gt;svcs -xv svc:/system/pools/dynamic&lt;/b&gt;
svc:/system/pools/dynamic:default (dynamic resource pools)
 State: disabled since Thu Oct 01 19:23:30 2009
Reason: Disabled by an administrator.
   See: http://sun.com/msg/SMF-8000-05
   See: man -M /usr/share/ man -s 1M poold
Impact: This service is not running. 
&lt;/pre&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;
&lt;/p&gt;&lt;h2&gt;The pool is under the covers&lt;/h2&gt;
&lt;p&gt;Under the covers, Solaris is building a &quot;resource pool&quot; that exists for the duration of the zone being booted up.
You can do the same thing with the &lt;tt&gt;pooladm&lt;/tt&gt; and &lt;tt&gt;poolcfg&lt;/tt&gt; commands, but the &lt;tt&gt;dedicated-cpu&lt;/tt&gt; syntax does it for you with much less effort
on your part. This usability enhancement was delivered to Solaris 10 some two years ago!
&lt;/p&gt;&lt;p&gt;
Here's a view from the global zone of the resource pool environment created for you.
There's a resource pool created by appending the name of the zone to the string &lt;tt&gt;SUNWtmp_&lt;/tt&gt;, bound to
a like-named processor set (&quot;pset&quot;) with between 1 and 4 CPUs.
Four of the eight CPUs owned by the domain are associated with this processor set,
and the remaining CPUs are owned by a default resource pool and processor set.
&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;table width=&quot;100%&quot; border=&quot;1&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;pre&gt;
global # &lt;b&gt;poolcfg -c 'info' -d&lt;/b&gt;           

system default
	string	system.comment 
	int	system.version 1
	boolean	system.bind-default true
	string	system.poold.objectives wt-load

	&lt;b&gt;pool SUNWtmp_u4z1&lt;/b&gt;
		int	pool.sys_id 1
		boolean	pool.active true
		boolean	pool.default false
		int	pool.importance 2
		string	pool.comment 
		boolean	pool.temporary true
		pset	SUNWtmp_u4z1

	pool pool_default
		int	pool.sys_id 0
		boolean	pool.active true
		boolean	pool.default true
		int	pool.importance 1
		string	pool.comment 
		pset	pset_default

	&lt;b&gt;pset SUNWtmp_u4z1&lt;/b&gt;
		int	pset.sys_id 1
		boolean	pset.default false
		&lt;b&gt;uint	pset.min 1&lt;/b&gt;
		&lt;b&gt;uint	pset.max 4&lt;/b&gt;
		string	pset.units population
		uint	pset.load 361
		uint	pset.size 4
		string	pset.comment 
		boolean	pset.temporary true

		cpu
			int	cpu.sys_id 1
			string	cpu.comment 
			string	cpu.status on-line

		cpu
			int	cpu.sys_id 0
			string	cpu.comment 
			string	cpu.status on-line

		cpu
			int	cpu.sys_id 3
			string	cpu.comment 
			string	cpu.status on-line

		cpu
			int	cpu.sys_id 2
			string	cpu.comment 
			string	cpu.status on-line

	pset pset_default
		int	pset.sys_id -1
		boolean	pset.default true
		uint	pset.min 1
		uint	pset.max 65536
		string	pset.units population
		uint	pset.load 2
		uint	pset.size 4
		string	pset.comment 

		cpu
			int	cpu.sys_id 5
			string	cpu.comment 
			string	cpu.status on-line

		cpu
			int	cpu.sys_id 4
			string	cpu.comment 
			string	cpu.status on-line

		cpu
			int	cpu.sys_id 7
			string	cpu.comment 
			string	cpu.status on-line

		cpu
			int	cpu.sys_id 6
			string	cpu.comment 
			string	cpu.status on-line
&lt;/pre&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;
Now when I boot the zone up it has access to only 4 CPUs of the 8 defined for this logical domain.
You can use this to control the resources allocated to a zone, or to control the number of CPUs it has
for software products that are licensed on a per-CPU charge.
&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;table width=&quot;100%&quot; border=&quot;1&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;pre&gt;
[NOTICE: Zone halted]
[NOTICE: Zone booting up]

SunOS Release 5.10 Version Generic_139555-08 64-bit
Copyright 1983-2009 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
Hostname: u4z1
Reading ZFS config: done.

u4z1 console login: &lt;b&gt;root&lt;/b&gt;
Password: 
Oct  1 19:34:20 u4z1 login: ROOT LOGIN /dev/console
Last login: Thu Oct  1 19:27:04 on console
Sun Microsystems Inc.   SunOS 5.10      Generic January 2005
# &lt;b&gt;psrinfo&lt;/b&gt;
0       on-line   since 10/01/2009 19:23:09
1       on-line   since 10/01/2009 19:23:11
2       on-line   since 10/01/2009 19:23:11
3       on-line   since 10/01/2009 19:23:11
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;
Unlike many things with computers, CPU allocation doesn't have to be on a power-of-two basis:
&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;table width=&quot;100%&quot; border=&quot;1&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;pre&gt;
global # &lt;b&gt;zonecfg -z u4z1&lt;/b&gt;
zonecfg:u4z1&amp;gt; &lt;b&gt;remove dedicated-cpu&lt;/b&gt;
zonecfg:u4z1&amp;gt; a&lt;b&gt;dd dedicated-cpu&lt;/b&gt;
zonecfg:u4z1:dedicated-cpu&amp;gt; &lt;b&gt;set ncpus=2-3&lt;/b&gt;
zonecfg:u4z1:dedicated-cpu&amp;gt; &lt;b&gt;end&lt;/b&gt;
zonecfg:u4z1&amp;gt; &lt;b&gt;verify&lt;/b&gt;
zonecfg:u4z1&amp;gt; &lt;b&gt;commit&lt;/b&gt;
zonecfg:u4z1&amp;gt; &lt;b&gt;exit&lt;/b&gt;
&lt;/pre&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;
I restart the zone, and it again has the limited number of CPUs for its dedicated use.
&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;table width=&quot;100%&quot; border=&quot;1&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;pre&gt;
[NOTICE: Zone halted]
[NOTICE: Zone booting up]

SunOS Release 5.10 Version Generic_139555-08 64-bit
Copyright 1983-2009 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
Hostname: u4z1
Reading ZFS config: done.

u4z1 console login: &lt;b&gt;root&lt;/b&gt;
Password: 
Last login: Thu Oct  1 19:34:20 on console
Sun Microsystems Inc.   SunOS 5.10      Generic January 2005
# &lt;b&gt;psrinfo&lt;/b&gt;
0       on-line   since 10/01/2009 19:23:09
1       on-line   since 10/01/2009 19:23:11
2       on-line   since 10/01/2009 19:23:11
&lt;/pre&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt; 
&lt;/p&gt;&lt;h2&gt;Can you combine dedicated CPUs and the Fair Share Scheduler?&lt;/h2&gt;

See what happens if I try to use the Fair Share Scheduler (FSS) to assign CPU resources to this zone.
&lt;p&gt;&lt;/p&gt;&lt;table width=&quot;100%&quot; border=&quot;1&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;pre&gt;
global # &lt;b&gt;zonecfg -z u4z1&lt;/b&gt;
zonecfg:u4z1&amp;gt; &lt;b&gt;set cpu-shares=5&lt;/b&gt;
zonecfg:u4z1&amp;gt; &lt;b&gt;verify&lt;/b&gt;
rctl zone.cpu-shares and dedicated-cpu are incompatible.
u4z1: Incompatible settings
zonecfg:u4z1&amp;gt; &lt;b&gt;remove dedicated-cpu&lt;/b&gt;
zonecfg:u4z1&amp;gt; &lt;b&gt;set cpu-shares=5&lt;/b&gt;
zonecfg:u4z1&amp;gt; &lt;b&gt;verify&lt;/b&gt;
zonecfg:u4z1&amp;gt; &lt;b&gt;commit&lt;/b&gt;
zonecfg:u4z1&amp;gt; &lt;b&gt;exit&lt;/b&gt;
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt; 
It's not permitted: either you dedicate CPUs to a zone or you assign CPUs based on relative shares.
&lt;/p&gt;&lt;p&gt;
However, &lt;i&gt;within&lt;/i&gt; a zone, the zone's root can use FSS to suballocate its CPU resources to projects using the &lt;tt&gt;project&lt;/tt&gt; command.
That's useful when a single zone hosts multiple applications.

&lt;/p&gt;&lt;h2&gt;CPU visibility in unmanaged zones&lt;/h2&gt;
&lt;p&gt;
In this example. I booted up a second zone &lt;i&gt;u4z2&lt;/i&gt; (cloned from &lt;i&gt;u4z1&lt;/i&gt;), and it did not have CPUs dedicated to it.
When &lt;i&gt;u4z1&lt;/i&gt; had 3 dedicated CPUs, &lt;i&gt;u4z2&lt;/i&gt; had visibility to the remaining 5, as you would expect.
&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;table width=&quot;100%&quot; border=&quot;1&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;pre&gt;
u7z2 console login: &lt;b&gt;root&lt;/b&gt;
Password: 
Oct  1 20:10:58 u7z2 login: ROOT LOGIN /dev/console
Last login: Thu Oct  1 19:43:39 on console
Sun Microsystems Inc.   SunOS 5.10      Generic January 2005
# &lt;b&gt;psrinfo&lt;/b&gt;
3       on-line   since 10/01/2009 19:23:11
4       on-line   since 10/01/2009 19:23:11
5       on-line   since 10/01/2009 19:23:11
6       on-line   since 10/01/2009 19:23:11
7       on-line   since 10/01/2009 19:23:11
&lt;/pre&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt; 
I removed the &lt;tt&gt;dedicated-cpus&lt;/tt&gt; from zone u4z1 and rebooted it, and zone u4z2 immediately saw
the full set of 8 CPUs:
&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;table width=&quot;100%&quot; border=&quot;1&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;pre&gt;
&lt;pre&gt;
# &lt;b&gt;psrinfo&lt;/b&gt;
0       on-line   since 10/01/2009 19:23:09
1       on-line   since 10/01/2009 19:23:11
2       on-line   since 10/01/2009 19:23:11
3       on-line   since 10/01/2009 19:23:11
4       on-line   since 10/01/2009 19:23:11
5       on-line   since 10/01/2009 19:23:11
6       on-line   since 10/01/2009 19:23:11
7       on-line   since 10/01/2009 19:23:11
&lt;/pre&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt; 
What has happened is that the SUNWtmp_u4z1 resource pool has been removed, and all of its the CPUs returned to the default pool, so they are available 
to all the zones bound to it.
&lt;/p&gt;&lt;h2&gt;Summary&lt;/h2&gt;
In this exercise we used dedicated CPUs to allocate CPU resources to zones. 
This can be used to provide predictable service to an application in a zone by giving it exclusive access to CPUs. 
It may also be easier to explain to IT clients than other resource management methods, since users can easily see that some number of
CPUs &quot;belong&quot; to them, and their performance isn't dependent on the resource requirements of other applications running on the same server.
Dedicated CPUs also can save considerable amounts of money for software licenses, for products that are licensed by the number of CPUs they run on.
Dedicated CPUs are especially attractive on Sun's Chip Multithreading (CMT) servers, since they provide many CPUs at an extremely low price point with
low space and environmental requirements.
&lt;p&gt;
The alternative to dedicating CPUs is to use the Fair Share Scheduler, which provides CPU power to a zone proportional to the number of shares the zone
has, divided by the sum of shares given to all zones.  
Everything else being equal,
if one zone has 10 shares and another zone has 20 shares, then the zone with 20 shares will get about twice the CPU power of the zone with 10.
This only takes effect if there is no excess CPU capacity, and if both zones are able to consume all the CPU cycles made available to them.
&lt;/p&gt;&lt;p&gt;The choice between using FSS or dedicated CPUs is based on both technology and policy: dedicated CPUs can be deterministic, easily explained, and save license
fees for 3rd party software products, but can waste CPU power if a zone doesn't use the CPUs assigned to it.  FSS is more flexible and provides 
more granular CPU resource allocation, but it doesn't provide guaranteed access. Solaris supports both styles of CPU resource management, in order to 
handle different customers priorities and business requirements.



&lt;noscript&gt;&amp;lt;div class=&quot;statcounter&quot;&amp;gt;&amp;lt;a href=&quot;http://statcounter.com/tumblr/&quot; target=&quot;_blank&quot; title=&quot;visit tracker on tumblr&quot;&amp;gt;&amp;lt;img alt=&quot;visit tracker on tumblr&quot; class=&quot;statcounter&quot; src=&quot;http://c.statcounter.com/6611784/0/4251aa3a/1/&quot; /&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&lt;/noscript&gt;
&lt;/p&gt;</content:encoded>
	<dc:date>2012-01-20T20:54:24+00:00</dc:date>
	<dc:creator>jsavit</dc:creator>
</item>
<item rdf:about="http://prefetch.net/blog/?p=5303">
	<title>Blog O' Matty: Book review: Pulling Strings With Puppet</title>
	<link>http://prefetch.net/blog/index.php/2012/01/20/book-review-pulling-strings-with-puppet/</link>
	<content:encoded>The devops movement (if you haven’t seen Ben Rockwood’s presentation on devops you should go watch it now) has been gaining steam over the past few years, and the movement has led to a lot of organizations adopting automation solutions like CFEngine, Chef or Puppet. I’ve had great success with puppet so far, and my [...]</content:encoded>
	<dc:date>2012-01-20T19:01:14+00:00</dc:date>
	<dc:creator>matty</dc:creator>
</item>
<item rdf:about="http://blogs.oracle.com/7000tips/entry/new_storage_magazine_awards_for">
	<title>Steve Tunstall: New Storage Magazine awards for NAS... Check this out...</title>
	<link>http://blogs.oracle.com/7000tips/entry/new_storage_magazine_awards_for</link>
	<content:encoded>&lt;p&gt;Well, it's hard to be quiet about this. Storage Magazine just came out with the January 2012 issue, showing Oracle Storage doing quite well (#1) with the Oracle ZFSSA 7420 and 7320 family. Check out pages 37-43 of this month's Storage Magazine.&lt;/p&gt; 
  &lt;p&gt;Storage Magazine: &lt;a href=&quot;http://docs.media.bitpipe.com/io_10x/io_103104/item_494970/StoragemagOnlineJan2012final2.pdf&quot;&gt;http://docs.media.bitpipe.com/io_10x/io_103104/item_494970/StoragemagOnlineJan2012final2.pdf&lt;/a&gt; (pages 37-43)&lt;/p&gt;
  &lt;p&gt;&lt;img src=&quot;https://blogs.oracle.com/7000tips/resource/Storageaward.jpg&quot; align=&quot;left&quot; alt=&quot;award&quot; /&gt; &lt;/p&gt; 
  &lt;p&gt; &lt;/p&gt;</content:encoded>
	<dc:date>2012-01-20T17:55:49+00:00</dc:date>
	<dc:creator>user12620172</dc:creator>
</item>
<item rdf:about="http://prefetch.net/blog/?p=5274">
	<title>Blog O' Matty: Using the automated bug-reporting tool (abrt) to generate core dumps when a Linux process fails</title>
	<link>http://prefetch.net/blog/index.php/2012/01/19/using-the-automated-bug-reporting-tool-abrt-to-generate-core-dumps-when-a-linux-process-fails/</link>
	<content:encoded>Software fails, and it often occurs at the wrong time. When failures occur I want to understand why, and will usually start putting together the events that lead up to the issue. Some application issues can be root caused by reviewing logs, but catastrophic crashes will often require the admin to sit down with gdb [...]</content:encoded>
	<dc:date>2012-01-19T16:20:15+00:00</dc:date>
	<dc:creator>matty</dc:creator>
</item>
<item rdf:about="http://cuddletech.com/blog/?p=685">
	<title>Ben Rockwood: Sending Email with Attachments from the Command Line</title>
	<link>http://cuddletech.com/blog/?p=685&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=sending-email-with-attachments-from-the-command-line</link>
	<content:encoded>&lt;p&gt;I have lots of awesome CLI based reporting tools.  One was so awesome that other people in the company wanted to get it on a regular basis but they preferred to see it as CSV so it could be manipulated in Numbers or Excel.   Modifying my report to output CSV was easy, I just added a conditional that replace my pretty column formated printf() with an ugly comma separated printf().  Sending CSV in email is easy, just pump it into ”sendmail -t”.&lt;/p&gt;
&lt;p&gt;I quickly realized that using sendmail “as usual” sucked, because the CSV was in the body of the message, not an attachment.  The solution was to send a Multi-Part MIME message.  Doing so is easier than you think.  &lt;/p&gt;
&lt;p&gt;Lets look at a template example, piece by piece:&lt;/p&gt;
&lt;pre&gt;From: $FROM
To: $TO
Date: $DATE
Subject: $SUBJECT
Mime-Version: 1.0
Content-Type: Multipart/Mixed; boundary=&quot;ATTACHMENT-BOUNDRY&quot;
Return-Receipt-To: $FROM

Some body stuff here, this is your message
&lt;/pre&gt;
&lt;p&gt;Notice above that From, To, Date, is all pretty standard stuff.  What is special is that we specify the MIME Version (1.0) and then set the content-type to “multipart/mixed”.  Following that is a boundary string.  A boundary string  is an arbitrary string that represents the different parts of your message.  In our case, it will separate the body from the attachments, but it can also be used for providing both HTML and Plain Text versions of a message in a single mail.&lt;/p&gt;

&lt;p&gt;--ATTACHMENT-BOUNDRY&lt;br /&gt;
Content-Disposition: attachment;&lt;br /&gt;
        filename=&quot;$FILENAME1&quot;&lt;br /&gt;
Content-type: text/plain;&lt;br /&gt;
        charset=US-ASCII;&lt;br /&gt;
        name=&quot;$FILENAME1&quot;&lt;br /&gt;
Content-Transfer-Encoding: quoted-printable&lt;/p&gt;
&lt;p&gt;$ATTECHMENT_DATA1

&lt;/p&gt;&lt;p&gt;The next section of of our message is noted by the boundary string prefixed by two dashes (--).  &lt;i&gt;Note that they are before but not after the boundary string!&lt;/i&gt;  Next is the metadata about this portion of the message, namely the Content-type, encoding, and disposition.  &lt;/p&gt;
&lt;p&gt;It is important to note that Mail.app (OS X) is more strict about attachments than Thunderbird or Gmail.  If you do not include a content-disposition it will register the section as just another part of the body.  Mail.app requires that you be very careful about syntax, whereas Thunderbird and Gmail have a &quot;I know what you meant&quot; attitude.&lt;/p&gt;
&lt;pre&gt;--ATTACHMENT-BOUNDRY
Content-Disposition: attachment;
        filename=&quot;$FILENAME2&quot;
Content-type: text/plain;
        charset=US-ASCII;
        name=&quot;$FILENAME2&quot;
Content-Transfer-Encoding: quoted-printable

$ATTECHMENT_DATA2

--ATTACHMENT-BOUNDRY--
&lt;/pre&gt;
&lt;p&gt;Here we have a second attachment.  We could add as many as we wish, but notice that it ends with our boundary string again but now its surrounded by dashes front and back.  This signifies the end our parts.&lt;/p&gt;
&lt;p&gt;Thats really about it, pump all this into &quot;sendmail -t&quot; (ie: &lt;i&gt;cat mymail.txt | sendmail -t&lt;/i&gt;, or equivalent) and away your mail goes.&lt;/p&gt;
&lt;p&gt;One word about attachment type.  Above the content type of the attachments was &quot;quoted-printable&quot;.  That or 8bit are fine for normal text such as CSV, but if you wish to send binary data you will want to base64 encode it (see BASE64(1) for syntax) and set the content-type as &quot;base64&quot;.&lt;/p&gt;</content:encoded>
	<dc:date>2012-01-19T07:46:11+00:00</dc:date>
	<dc:creator>benr</dc:creator>
</item>
<item rdf:about="http://blogs.oracle.com/d/entry/separation_of_debug_and_executable">
	<title>Darryl Gove: Separation of debug and executable</title>
	<link>http://blogs.oracle.com/d/entry/separation_of_debug_and_executable</link>
	<content:encoded>&lt;p&gt;To reduce the size of shipped binaries it can be useful to separate the debug information into a separate file. This procedure is covered in the &lt;a href=&quot;http://docs.oracle.com/cd/E24457_01/html/E21993/blacc.html#gevia&quot;&gt;dbx manual&lt;/a&gt;. We can use &lt;code&gt;objdump&lt;/code&gt; to extract the debug information and then to link the executable with the extracted data.&lt;/p&gt;

&lt;p&gt;Here's a short example executable:&lt;/p&gt;

&lt;pre&gt;#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;math.h&amp;gt;

int main()
{
  double d=1.0;
  d = sin(d);
  printf(&quot;sin(1.0) = %f\n&quot;,d);
}
&lt;/pre&gt;

&lt;p&gt;Compiled with debug:&lt;/p&gt;
&lt;pre&gt;$ cc -g hello.c -lm
$ ./a.out
sin(1.0) = 0.841471
&lt;/pre&gt;

&lt;p&gt;We can debug this executable with dbx. Note that, in this case, we compiled without optimisation in order to get the best debug information. Doing this does potentially sacrifice some performance. We can follow the same procedure with optimised code.&lt;/p&gt;

&lt;pre&gt;$ dbx ./a.out
Reading ld.so.1
Reading libm.so.2
Reading libc.so.1
(dbx) stop in main
(2) stop in main
(dbx) run
Running: a.out
(process id 53296)
stopped in main at line 6 in file &quot;hello.c&quot;
    6     double d=1.0;
(dbx) step
stopped in main at line 7 in file &quot;hello.c&quot;
    7     d = sin(d);
(dbx) print d
d = 1.0
(dbx) cont
Reading libc_psr.so.1
sin(1.0) = 0.841471
&lt;/pre&gt;

&lt;p&gt;First of all we are going to use objcopy to extract the debug information from ./a.out and place it into ./a.out.debug:&lt;/p&gt;

&lt;pre&gt;$ /usr/sfw/bin/gobjcopy --only-keep-debug ./a.out ./a.out.debug
&lt;/pre&gt;

&lt;p&gt;Now we can strip a.out of debug information:&lt;/p&gt;

&lt;pre&gt;$ strip ./a.out
&lt;/pre&gt;

&lt;p&gt;To prove that this has removed the debug information we can try running under dbx:&lt;/p&gt;

&lt;pre&gt;$ dbx  ./a.out
Reading ld.so.1
Reading libm.so.2
Reading libc.so.1
(dbx) stop in main
dbx: warning: 'main' has no debugger info -- will trigger on first instruction
(2) stop in main
(dbx) quit
&lt;/pre&gt;

&lt;p&gt;Now we want to use objcopy to make a link between the executable and its debug information:&lt;/p&gt;

&lt;pre&gt;$ /usr/sfw/bin/gobjcopy --add-gnu-debuglink=./a.out.debug ./a.out
&lt;/pre&gt;

&lt;p&gt;Now when we debug the executable we are back to full debug:&lt;/p&gt;

&lt;pre&gt;$ dbx ./a.out
Reading ld.so.1
Reading libm.so.2
Reading libc.so.1
(dbx) stop  in main
(2) stop in main
(dbx) run
Running: a.out
(process id 58837)
stopped in main at line 6 in file &quot;hello.c&quot;
    6     double d=1.0;
(dbx) next
stopped in main at line 7 in file &quot;hello.c&quot;
    7     d = sin(d);
(dbx) print d
d = 1.0
(dbx) cont
Reading libc_psr.so.1
sin(1.0) = 0.841471

execution completed, exit code is 0
(dbx) quit
&lt;/pre&gt;</content:encoded>
	<dc:date>2012-01-17T11:16:20+00:00</dc:date>
	<dc:creator>Darryl Gove</dc:creator>
</item>
<item rdf:about="http://constantin.glez.de/237 at http://constantin.glez.de">
	<title>Constantin Gonzalez: Engineered Systems and Enterprise Architecture (or: How to Sell Dog Food Online)</title>
	<link>http://feedproxy.google.com/~r/ConstantThinking/~3/Ve5c4jlyllc/engineered-systems-and-enterprise-architecture-or-how-sell-dog-food-online</link>
	<content:encoded>&lt;div class=&quot;all-attached-images&quot;&gt;&lt;div style=&quot;width: 320px;&quot; class=&quot;image-attach-body image-attach-node-238&quot;&gt;&lt;a href=&quot;http://constantin.glez.de/image/dog-and-togaf-adm-cycle&quot;&gt;&lt;img src=&quot;http://constantin.glez.de/sites/constantin.glez.de/files/images/dogandtogaf.blog.jpg&quot; title=&quot;A dog. And the TOGAF ADM cycle.&quot; height=&quot;240&quot; width=&quot;320&quot; alt=&quot;A dog. And the TOGAF ADM cycle.&quot; class=&quot;image image-blog &quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;One of the first things that customers and sales teams realize when dealing with Engineered Systems is: They fundamentally change the IT architecture of a business.&lt;/p&gt;
&lt;p&gt;Change is good, it means progress. But change is sometimes seen as a bad thing: Change comes with fear.&lt;/p&gt;
&lt;p&gt;The truth is that Engineered Systems really empower IT architects to add value to their business, application and data architectures, without worrying about the technology architecture.&lt;/p&gt;
&lt;p&gt;To understand this, we need to dig a bit deeper into Enterprise Architecture, specifically the TOGAF flavor of it.&lt;/p&gt;
&lt;p&gt;One of my first tasks as a member of my new team was to get &lt;a href=&quot;http://en.wikipedia.org/wiki/TOGAF&quot;&gt;TOGAF&lt;/a&gt; certified. TOGAF is “The Open Group Architecture Framework” which is a fancy name for a giant document full of definitions, models, and methods for creating IT architecture out of a given business capability need.&lt;/p&gt;
&lt;p&gt;Let’s look at a simple example: Suppose you’re the owner of a big dog food business empire. Your core competency is to know all about creating the best dog food, knowing your customer’s dog feeding preferences and habits, and having the best suppliers of dog food ingredients lined up from partners to help you excel at selling dog food.&lt;/p&gt;
&lt;p&gt;And now you want to take your business to the next level and start selling dog food online. Here’s the typical progression of steps, assuming your company has successfully introduced TOGAF as your method of doing Enterprise Architecture, according to the TOGAF &lt;a href=&quot;http://en.wikipedia.org/wiki/TOGAF#Architecture_Development_Method&quot;&gt;Architecture Development Method (ADM)&lt;/a&gt;:&lt;/p&gt;
&lt;h2&gt;TOGAF ADM for Dummies&lt;/h2&gt;
&lt;ol&gt;
&lt;li type=&quot;a&quot;&gt;&lt;strong&gt;Architecture Vision&lt;/strong&gt;: Your boss told you to come up with an architecture for adding an online shop to your dog food business. The first step then is to create an architecture vision: How does it look like to sell dog food online? Who are the stakeholders for such a capability and what are their concerns?&lt;/li&gt;
&lt;li type=&quot;a&quot;&gt;&lt;strong&gt;Business Architecture&lt;/strong&gt;: Your enterprise architects sit down through numerous meetings with your business people, identifying a business architecture for selling dog food online. This is a bunch of diagrams, catalogs and matrices describing exactly how your online shop capability ties into the rest of your dog food business: What’s your online dog food business model? What are the use cases you want to support through your new capability? What existing processes does the new capability tie into? What new processes need to be defined to add the online shop capability?&lt;br /&gt;
The output of this stage uses business building blocks: Business processes and capabilities, modeled at a very high level, and technology-agnostic, specific to your enterprise.&lt;/li&gt;
&lt;li type=&quot;a&quot;&gt;&lt;strong&gt;Information Systems Architecture&lt;/strong&gt;: Your enterprise architects translate the business architecture created in step 2 into an information system representation, which is composed of two architectures, a data architecture and an application architecture:&lt;br /&gt;
&lt;ol type=&quot;1&quot;&gt;
&lt;li type=&quot;1&quot;&gt;&lt;strong&gt;The Data Architecture&lt;/strong&gt; describes what kind of data you need to take care of for your online shop capability. Customer data, product data, payment data, shipping data, dog pictures, food pictures, dog food ingredient lists, all of it. It also describes where the data comes from, where it flows to, who needs what data when and so on. We see two types of data here: Structured data (what you'd place into a database) and unstructured data (i.e.: flat files).&lt;/li&gt;
&lt;li type=&quot;1&quot;&gt;&lt;strong&gt;The Application Architecture&lt;/strong&gt; describes what applications you need to handle your data: Web portals, CRM applications, supply chain management applications, shipping and tracking applications, order management applications, payment processing applications, dog food personalization and mixing order processing applications etc.&lt;br /&gt;
More diagrams, more catalogs and more matrices are created to describe this stage of building your dog food online shopping empire. Notice that there are no particular technologies and no products considered at this stage either.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The building blocks at this stage: Applications, database schemas, flat file specs. All particular to your enterprise.&lt;/p&gt;&lt;/li&gt;
&lt;li type=&quot;a&quot;&gt;&lt;strong&gt;Technology Architecture&lt;/strong&gt;: The next step is to translate the information systems architecture into a technology architecture. Now we’re getting somewhere: This is where our enterprise architecture heroes get to describe what systems are needed where, how to map applications and data to those systems, what networks to use, which servers are connected how at what locations, etc.&lt;br /&gt;
And here comes the cut: The building blocks are now generic! A database server is a database server, no matter what it stores, be it dog food recipes or car configurations. An app server is an app server, no matter what app runs on top of it, same goes for a file server, a firewall or a router. All components of Technology Architecture are generic, there's hardly anything specific about selling dog food online here.
&lt;/li&gt;&lt;li type=&quot;a&quot;&gt;&lt;strong&gt;Opportunities and Solutions&lt;/strong&gt;: This is the earliest stage at which particular technologies (such as the Oracle database) come into play and where specific instances of a technology (&quot;Our main CRM system running on Oracle on SPARC SuperCluster.&quot;) are mentioned.&lt;/li&gt;
&lt;li type=&quot;a&quot;&gt;&lt;strong&gt;Migration Planning&lt;/strong&gt;: Here's where the hand-over from the enterprise architects to the project managers occurs: Implementation and migration plans are forged, projects are created and prioritized, resources are allocated, hands become dirty.&lt;/li&gt;
&lt;li type=&quot;a&quot;&gt;&lt;strong&gt;Implementation Governance&lt;/strong&gt;: This stage ensures synchronization between Enterprise Architecture and its implementation, as carried out by you project managers, through running reviews and monitoring progress.&lt;/li&gt;
&lt;li type=&quot;a&quot;&gt;&lt;strong&gt;Architecture Change Management&lt;/strong&gt;: Finally the project is done, the dog food online shop goes live and hopefully the first orders come in. Parties are thrown and people get drunk. The next day, lessons are learned and captured, and fed into the next ADM cycle, starting again with an architecture vision. Perhaps the beta users identified a few bugs or RFEs, or the product managers have new ideas for what else the online dog food store could sell, but that would require a new capability to be added to the architecture: The cycle starts again.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;The Limits of Creating Business Specific Value&lt;/h2&gt;
&lt;p&gt;What does this have to do with Oracle's Engineered Systems? The answer is that it's all about who creates unique value at what level of the architecture and who doesn't:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Steps A-C are highly specific to the enterprise: This is where enterprises truly innovate: The first online shop exclusively for dogs! Online dog food customization! Geo-aware local dog food sourcing! The value at these stages is unique to the particular enterprise, or at least the vertical business it operates in.&lt;/li&gt;
&lt;li&gt;But step D (Technology Architecture) is different: All building blocks here are generic, and there's hardly any value for a typical enterprise to create here that differentiates themselves from other enterprises. How is a database cluster developed for a dog food database different in design than a database cluster developed for a car configuration database? Or why would a file server for hosting dog pictures be significantly different from a file server for hosting book covers?&lt;/li&gt;
&lt;li&gt;All other steps starting from 4 follow the same pattern: Building blocks, best practices and implementation details are the same, there's nothing specific to the particular business that they support. They all need to be secure, performant, reliable and more or less highly available. All business use the same trucks to deliver their goods, only very specialized business may occasionally need a special truck, but they're quite a minority.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And yet, businesses spend enormous amounts of resources for coming up with their own custom made database cluster design, their own custom made app server farm design, their own custom made file server infrastructure design, their own custom made web infrastructure design and so on.&lt;/p&gt;
&lt;p&gt;This is where &lt;a href=&quot;http://constantin.glez.de/blog/2011/12/rise-engineered-systems&quot;&gt;the rise of Engineered Systems&lt;/a&gt; takes place.&lt;/p&gt;
&lt;h2&gt;The Engineered System: TOGAF Stage D in a Box&lt;/h2&gt;
&lt;p&gt;Oracle's Engineered Systems (you know, Exadata, Exalogic, SPARC SuperCluster, ZFS Storage Appliance and so on) are nothing more than the TOGAF stage D of the ADM in a few, easy to plan, buy, install, manage boxes, without the usual headaches that used to occur when planning Technology Architecture.&lt;/p&gt;
&lt;p&gt;Want a new database for your dog food recipes? Just ask the DBA to allocate one for you out of an Exadata. Want to host the entire chain of app servers and portal that forms the application layer of your dog food shopping empire? Push a button on your PaaS portal to instantiate a virtual assembly on one of your Exalogic boxes. Want something more powerful? Perhaps with more transactional crypto-oomph? Ask you friendly PaaS portal for a slice off of your shiny new SPARC SuperCluster. Wanna analyze heaps of personalized dog food recipes and correlate them with mailman assault reports, dog flu epidemic data and weather forecasts? That's what the big data appliance and Exalytics are for.&lt;/p&gt;
&lt;p&gt;The point here is: No business should spend time, money and resources for creating yet another personalized flavor of a RAC cluster, an app server tier or a web portal infrastructure. This is what IT companies like Oracle can do better than anyone else: Design Technology Architecture.&lt;/p&gt;
&lt;p&gt;Instead, use your energy and resources to create real business value. What's &lt;em&gt;your&lt;/em&gt; online dog food architecture?&lt;/p&gt;
&lt;p&gt;P.S.: Please forgive my dog food analogy. Here's the Guy who planted it into my mind:&lt;/p&gt;
&lt;p&gt;    
    
    
    
    &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/File:TOGAF_ADM.jpg&quot;&gt;TOGAF ADM picture&lt;/a&gt; taken from Wikipedia, used under NASA public domain policy.&lt;br /&gt;
&lt;a href=&quot;http://www.flickr.com/photos/the_colmans/3289242438/&quot;&gt;Dog picture&lt;/a&gt; by &lt;a href=&quot;http://www.flickr.com/photos/the_colmans/&quot;&gt;digital_image_fan on Flickr&lt;/a&gt;, used under Creative Commons license.&lt;/p&gt;
&lt;div class=&quot;flattr-box&quot;&gt;

&lt;/div&gt;&lt;div class=&quot;sexybookmarks-default-6244&quot;&gt;&lt;/div&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/ConstantThinking?a=Ve5c4jlyllc:vP3yhUOIP9M:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ConstantThinking?i=Ve5c4jlyllc:vP3yhUOIP9M:F7zBnMyn0Lo&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ConstantThinking?a=Ve5c4jlyllc:vP3yhUOIP9M:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ConstantThinking?i=Ve5c4jlyllc:vP3yhUOIP9M:V_sGLiPBpWU&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ConstantThinking?a=Ve5c4jlyllc:vP3yhUOIP9M:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ConstantThinking?d=qj6IDK7rITs&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ConstantThinking?a=Ve5c4jlyllc:vP3yhUOIP9M:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ConstantThinking?i=Ve5c4jlyllc:vP3yhUOIP9M:gIN9vFwOqvQ&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ConstantThinking?a=Ve5c4jlyllc:vP3yhUOIP9M:I9og5sOYxJI&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ConstantThinking?d=I9og5sOYxJI&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ConstantThinking?a=Ve5c4jlyllc:vP3yhUOIP9M:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ConstantThinking?d=yIl2AUoC8zA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/ConstantThinking/~4/Ve5c4jlyllc&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content:encoded>
	<dc:date>2012-01-16T16:21:45+00:00</dc:date>
	<dc:creator>constant</dc:creator>
</item>
<item rdf:about="http://prefetch.net/blog/?p=5261">
	<title>Blog O' Matty: Bind’s strict zone checking feature is part of CentOS 6</title>
	<link>http://prefetch.net/blog/index.php/2012/01/16/binds-strict-zone-checking-feature-is-part-of-centos-6/</link>
	<content:encoded>I recently moved a bind installation from CentOS 5 to CentOS 6. As part of the move I built out a new server with CentOS 6, staged the bind chroot packages and then proceeded to copy all of the zone files from the CentOS 5 server to the CentOS 6 server. Once all the pieces [...]</content:encoded>
	<dc:date>2012-01-16T13:51:36+00:00</dc:date>
	<dc:creator>matty</dc:creator>
</item>
<item rdf:about="http://prefetch.net/blog/?p=5236">
	<title>Blog O' Matty: Locating Linux LVM (Logical Volume Manager) free space</title>
	<link>http://prefetch.net/blog/index.php/2012/01/15/locating-linux-lvm-logical-volume-manager-free-space/</link>
	<content:encoded>The Linux Logical Volume Manager (LVM) provides a relatively easy way to combine block devices into a pool of storage that you can allocate storage out of. In LVM terminology, there are three main concepts: Physical Volumes – A sequence of sectors on a physical device. Volume Groups – A group of physical volumes. Logical [...]</content:encoded>
	<dc:date>2012-01-15T13:24:19+00:00</dc:date>
	<dc:creator>matty</dc:creator>
</item>
<item rdf:about="http://prefetch.net/blog/?p=5213">
	<title>Blog O' Matty: Using exec-shield to protect your Linux servers from stack, heap and integer overflows</title>
	<link>http://prefetch.net/blog/index.php/2012/01/14/using-exec-shield-to-protect-your-linux-servers-from-stack-heap-and-integer-overflows/</link>
	<content:encoded>I’ve been a long time follower of the OpenBSD project, and their amazing work on detecting and protecting the kernel and applications from stack and heap overflows. Several of the concepts that were developed by the OpenBSD team were made available in Linux, and came by way of the exec-shield project. Of the many useful [...]</content:encoded>
	<dc:date>2012-01-14T15:08:12+00:00</dc:date>
	<dc:creator>matty</dc:creator>
</item>
<item rdf:about="http://prefetch.net/blog/?p=5210">
	<title>Blog O' Matty: Fcron, a feature rich cron and anacron replacement</title>
	<link>http://prefetch.net/blog/index.php/2012/01/14/fcron-a-feature-rich-cron-and-anacron-replacement/</link>
	<content:encoded>I’ve been looking at some opensource scheduling packages, and while doing my research I came across the fcron package. Fcron is a replacement for vixie cron and anacron, and provides a number of super useful features: - Run jobs based on the system load average. - Serialize jobs. - Set the nice value of the [...]</content:encoded>
	<dc:date>2012-01-14T14:34:47+00:00</dc:date>
	<dc:creator>matty</dc:creator>
</item>
<item rdf:about="http://blogs.oracle.com/d/entry/c_and_inline_templates">
	<title>Darryl Gove: C++ and inline templates</title>
	<link>http://blogs.oracle.com/d/entry/c_and_inline_templates</link>
	<content:encoded>&lt;p&gt;A while back I wrote an article on using &lt;a href=&quot;http://www.oracle.com/technetwork/articles/servers-storage-dev/inlining-344163.html&quot;&gt;inline templates&lt;/a&gt;. It's a bit of a niche article as I would generally advise people to write in C/C++, and tune the compiler flags and source code until the compiler generates the code that they want to see.&lt;/p&gt;

&lt;p&gt;However, one thing that I didn't mention in the article, it's implied but not stated, is that inline templates are defined as C functions. When used from C++ they need to be declared as extern &quot;C&quot;, otherwise you get linker errors. Here's an example template:&lt;/p&gt;

&lt;pre&gt;.inline nothing
  nop
.end
&lt;/pre&gt;

&lt;p&gt;And here's some code that calls it:&lt;/p&gt;

&lt;pre&gt;void nothing();

int main()
{
  nothing();
}
&lt;/pre&gt;

&lt;p&gt;The code works when compiled as C, but not as C++:&lt;/p&gt;

&lt;pre&gt;$ cc i.c i.il
$ ./a.out
$ CC i.c i.il
Undefined                       first referenced
 symbol                             in file
void nothing()                   i.o
ld: fatal: Symbol referencing errors. No output written to a.out
&lt;/pre&gt;

&lt;p&gt;To fix this, and make the code compilable with both C and C++ we use the &lt;code&gt;__cplusplus&lt;/code&gt; feature test macro and conditionally include &lt;code&gt;extern &quot;C&quot;&lt;/code&gt;. Here's the modified source:&lt;/p&gt;

&lt;pre&gt;#ifdef __cplusplus
  extern &quot;C&quot;
  {
#endif
    void nothing();
#ifdef __cplusplus
  }
#endif

int main()
{
  nothing();
}
&lt;/pre&gt;</content:encoded>
	<dc:date>2012-01-13T10:00:00+00:00</dc:date>
	<dc:creator>Darryl Gove</dc:creator>
</item>
<item rdf:about="http://blogs.oracle.com/7000tips/entry/new_zfssa_simulator_download">
	<title>Steve Tunstall: New ZFSSA simulator download</title>
	<link>http://blogs.oracle.com/7000tips/entry/new_zfssa_simulator_download</link>
	<content:encoded>&lt;p&gt;I've just been informed that the simulator download has been updated to the latest version of 2011.1.1.&lt;/p&gt;
  &lt;p&gt;So instead of trying to upgrade your older simulator, it is possible to download and install the new one at the latest code. Mine upgraded just fine, but some people report errors during upgrading, which occurs when using a computer or laptop without enough memory or a variety of other problems. You can get the simulator here:&lt;/p&gt;
  &lt;p&gt;&lt;a href=&quot;http://www.oracle.com/webapps/dialogue/ns/dlgwelcome.jsp?p_ext=Y&amp;amp;p_dlg_id=10521841&amp;amp;src=7299332&amp;amp;Act=45&quot;&gt;http://www.oracle.com/webapps/dialogue/ns/dlgwelcome.jsp?p_ext=Y&amp;amp;p_dlg_id=10521841&amp;amp;src=7299332&amp;amp;Act=45&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt; &lt;/p&gt;
  &lt;p&gt; &lt;/p&gt;</content:encoded>
	<dc:date>2012-01-12T10:34:20+00:00</dc:date>
	<dc:creator>user12620172</dc:creator>
</item>

</rdf:RDF>

