<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>James&#039; World &#187; Japanese</title>
	<atom:link href="http://www.jebriggs.com/blog/category/japanese/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jebriggs.com/blog</link>
	<description>Observations by a Programmer of Silicon Valley and Beyond</description>
	<lastBuildDate>Mon, 06 Feb 2012 11:03:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>QR Code Links</title>
		<link>http://www.jebriggs.com/blog/2011/11/qr-code-links/</link>
		<comments>http://www.jebriggs.com/blog/2011/11/qr-code-links/#comments</comments>
		<pubDate>Wed, 09 Nov 2011 13:09:05 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[i18n]]></category>
		<category><![CDATA[Japanese]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Toys]]></category>

		<guid isPermaLink="false">http://www.jebriggs.com/blog/2011/11/</guid>
		<description><![CDATA[Originally designed by Toyota Japan for factory use, QR codes are 2-dimensional barcodes commonly used in advertising. cnn.com: 23 of the coolest QR codes cnn.com: Does anybody actually use QR codes? QRcodify.com Perl Module GD::Barcode::QRcode Successful QR Code Campaigns msn.com: &#8230; <a href="http://www.jebriggs.com/blog/2011/11/qr-code-links/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://jebriggs.com/php/qrcode_lv_color.png" alt="LV QRcode" title="LV QRcode" align="left" />Originally designed by Toyota Japan for factory use, QR codes are 2-dimensional barcodes commonly used in advertising.</p>
<p><a href="http://money.cnn.com/galleries/2011/technology/1111/gallery.23_coolest_qr_codes.fortune/index.html">cnn.com: 23 of the coolest QR codes</a><br />
<a href="http://tech.fortune.cnn.com/2011/09/16/qr-codes/">cnn.com: Does anybody actually use QR codes?</a><br />
<a href="http://www.qrcodify.com/">QRcodify.com</a><br />
<a href="http://search.cpan.org/~kwitknr/GD-Barcode-1.15/Barcode/QRcode.pm">Perl Module GD::Barcode::QRcode</a><br />
<a href="http://www.flaretag.com/2011/11/the-secret-to-a-successful-qr-code-campaign/">Successful QR Code Campaigns</a><br />
<a href="http://www.msnbc.msn.com/id/45729377/ns/technology_and_science-security/">msn.com: How QR codes hide privacy, security risks</a><br />
<a href="http://www.theregister.co.uk/2012/01/11/qr_codes_mobile_spam/">theregister.co.uk: QR Codes and Spam</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jebriggs.com/blog/2011/11/qr-code-links/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OSCON 2011, Portland</title>
		<link>http://www.jebriggs.com/blog/2011/07/oscon-2011-portland/</link>
		<comments>http://www.jebriggs.com/blog/2011/07/oscon-2011-portland/#comments</comments>
		<pubDate>Sun, 31 Jul 2011 06:03:21 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Conferences]]></category>
		<category><![CDATA[i18n]]></category>
		<category><![CDATA[Japanese]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[OSCON]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[Psychology]]></category>
		<category><![CDATA[Storage]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Toys]]></category>
		<category><![CDATA[Travel]]></category>
		<category><![CDATA[User Groups]]></category>

		<guid isPermaLink="false">http://www.jebriggs.com/blog/?p=3735</guid>
		<description><![CDATA[Once again, the O&#8217;Reilly Open Source Conference (OSCON) was held in Portland, Oregon. It was held in parallel at the Oregon Convention Center with the O&#8217;Reilly OSdata and OSjava Conferences at the beginning of the week, and then later a &#8230; <a href="http://www.jebriggs.com/blog/2011/07/oscon-2011-portland/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Once again, the <a href="http://www.oscon.com/oscon2011/">O&#8217;Reilly Open Source Conference (OSCON)</a> was held in Portland, Oregon.</p>
<p>It was held in parallel at the Oregon Convention Center with the O&#8217;Reilly OSdata and OSjava Conferences at the beginning of the week, and then later a knitting conference.</p>
<p>The conferences were well-managed, as usual. Great economy: lots of job notices and recruiting appeals. There was some chatter about Tim&#8217;s <a href="http://radar.oreilly.com/2011/07/sexual-harassment-at-technical.html">anti-harassment blog post.</a></p>
<p><strong>Executive Summary:</strong></p>
<ul>
<li>HTML5/CSS3/AppCache are what should have been available 20 years ago, and are significant improvements that allow both desktop and mobile development in HTML. Although the HTML5 video tag gets a lot of press, HTML5 includes equally important forms improvements.
<li>DNSSEC is <a href="http://tools.ietf.org/html/draft-ietf-dnsop-rfc4641bis-07">complex</a> and new signatures should be generated every 30 days or less (to reduce replay attacks by limiting the signature validity period), which is a burden on companies without a full-time DNS hostmaster. Third-party DNS hosting companies are salivating over DNSSEC.
<li>MySQL long-term stewardship is still in question, with Oracle hemorrhaging MySQL developers and closing access to their bugs database, but MontyProgram and Percona maintaining strong forks.
</ul>
<p>Here&#8217;s my notes on some of the tutorials and talks I attended:</p>
<p><strong>Monday</strong></p>
<p><strong><a href="http://www.oscon.com/oscon2011/public/schedule/detail/19216">HTML5 &#038; CSS3: The Good Enough Parts</a></strong><br />
Estelle Weyl, Standardista.com<br />
<a href="http://www.standardista.com/forms/oscon/">Slides</a></p>
<p>- transform-origin is key to snowflake demo looking realistic, easy to use<br />
- background resets everything, so use individual properties<br />
- background-position &#8211; use all 4 values<br />
- background-size auto contain cover, handy for iPhones<br />
- text-overflow: ellipsis<br />
- minimal HTML5 document:<br />
<code><br />
&lt;!doctype html5&gt;<br />
&lt;meta charset=utf8&gt;<br />
&lt;title&gt;&lt;/title&gt;<br />
</code><br />
(head and body are implied)<br />
- or even send tags in server headers<br />
- changed most elements<br />
- &lt;i lang=&#8221;"&gt; useful to style<br />
- small tag useful for legal smallprint, since there&#8217;s no copyright metatag yet<br />
- <a href="http://code.google.com/p/html5shim/">html5shim</a><br />
- <a href="http://www.modernizr.com/">Modernizr</a><br />
- <a href="http://html5boilerplate.com/">HTML5 Boilerplate</a> &#8211; good way to learn HTML5 and CSS3<br />
- tabindex=&#8221;-1&#8243; allows JS to set focus and not bother user otherwise<br />
- spellcheck=&#8221;true&#8221; | &#8220;false&#8221;<br />
- itemtype=&#8221;http://data-vocabulary.org/Person&#8221;<br />
- new input types<br />
- placeholder, pattern, required, spellcheck, validate<br />
- a@b is deliverable for internal email servers. hmm.<br />
- meter, progress, output widgets<br />
- <a href="http://www.html5rocks.com/">HTML5Rocks</a><br />
- button generator at <a href="http://css3button.net/">css3button.net</a><br />
- <a href="http://en.wikipedia.org/wiki/Voronoi_diagram">Voronoi diagram</a> demo<br />
- <a href="http://code.google.com/p/webglsamples/">aquarium.js</a><br />
- web workers</p>
<p><strong>Monday Lunch</strong></p>
<p>Benjamin, Ubuntu<br />
- loves <a href="https://www.cloudflare.com/">CloudFlare</a><br />
- likes Linode<br />
- <a href="http://nimbula.com/">nimbula</a></p>
<p>Talked to an open mapping data fellow about various projects. Google ToS is scary when it comes to that kind of data.</p>
<p><strong>Monday Afternoon</strong></p>
<p><a href="http://www.oscon.com/oscon2011/public/schedule/detail/17828">Moose is Perl: A Guide to the New Revolution</a><br />
Ricardo Signes, Pobox.com<br />
<a href="http://assets.en.oreilly.com/1/event/61/Moose is Perl_ A Guide to the New Revolution Presentation 1.pdf">Slides</a></p>
<p>- detailed talk about Moose features and syntax<br />
- chatted with other folks at break time about topics like <a href="http://search.cpan.org/~kamelkev/CSS-Inliner/">CSS::Inliner</a> and <a href="http://search.cpan.org/~sri/Mojolicious/">Mojolicious</a> web framework (with minimal dependencies) by Sebastian Riedel.</p>
<p><strong>Tuesday Afternoon</strong></p>
<p><a href="http://www.oscon.com/oscon2011/public/schedule/detail/18984">Three For Five &#8211; Functional HTML5 &#038; CSS3 for Designers &#038; Developers</a><br />
Jason VanLue, Envy Labs and CodeSchools.com</p>
<p>- good training session with fun sample &#8211; a beer menu created from 1 photo (CSS3 text scaling and rotation) and HTML5/CSS3 styled text<br />
- <a href="http://threeforfive.codeschool.com/">training class is available online</a> for $75 (also jQuery and 2 Rails classes)<br />
<center><br />
<a href="http://jebriggs.com/php/3-for-5-beer.png"><img src="http://jebriggs.com/php/3-for-5-beer.png" alt="3-for-5 Beer Menu" title="3-for-5 Beer Menu" width="95%" height="95%"/></a><br />
<a href="http://jebriggs.com/php/3-for-5-beer.png">Click to Enlarge</a><br />
</center></p>
<p><strong>Tuesday Night</strong><br />
<center><br />
<img src="http://jebriggs.com/php/puppet_labs_logo.jpg" alt="Puppet Labs Logo" title="Puppet Labs Logo"/><br />
</center><br />
- went to <a href="http://www.puppetlabs.com/">Puppet Labs</a> office for CloudCamp lightning talks, which started about 90 minutes late<br />
- nice office, typical start-up look across from a small park. Comfy little meeting rooms with leather sofas a la Netflix.<br />
- about 5 lightning talks total, 2 were sales pitches, 2 had 40 slides crammed into 5 minutes. ick.<br />
- Puppet Labs CEO gave a good talk on optimizing Puppet for a client with 10,000+ nodes. Converted XML::RPC to REST, which doubled performance from 500 to 1,000 qps (I talked to Randy Ray about that, and he wasn&#8217;t surprised and that would be the case on simple requests), did some more work and maxed out at 2,500 qps. Enabling SSL did not slow down requests.<br />
- got too crowded for me, and also fire department, who manned the exits and counted people as they entered and left.<br />
<center><br />
<a href="http://www.flickr.com/photos/jacob_helwig/5979946129/sizes/m/in/photostream/"><img src="http://jebriggs.com/php/puppet_labs_office.jpg" alt="Puppet Labs Office" title="Puppet Labs Office" /></a><br />
Photo credit: Jacob Helwig<br />
</center><br />
<strong>Wednesday</strong></p>
<p><a href="http://www.oscon.com/oscon2011/public/schedule/detail/18480">Creating a Scalable JavaScript Application Architecture</a><br />
Nicholas Zakas, NCZConsulting<br />
<a href="http://slideshare.net/nzakas">Slides</a></p>
<p>An AJAX client only cares about getting the data it wants, not response codes, etc. </p>
<p>Use layered JavaScript client architecture:</p>
<p>- sandbox<br />
- application<br />
- library (Dojo, YUI, <a href="http://mootools.net/">MooTools,</a> etc. )</p>
<p>www.nczonline.net<br />
@slicknet<br />
Author of &#8220;High Performance JavaScript&#8221;</p>
<p><strong>Wednesday Lunch</strong></p>
<p>I talked to Ben Golub, CEO of <a href="http://www.gluster.com/">Gluster.</a></p>
<p>- 80% business, 20% scientific<br />
- users include <a href="http://www.box.net/">box.net,</a> <a href="http://www.pandora.com/">Pandora.com</a><br />
- written in C<br />
- minimum is 2 nodes for replication<br />
- lots of people use it in EC2<br />
- office located in Sunnyvale.</p>
<p><strong>Wednesday Afternoon</strong></p>
<p><a href="http://www.oscon.com/oscon2011/public/schedule/detail/18792">HTML5: All about Web Forms</a><br />
Estelle Weyl, standardista.com</p>
<p>- use label tag with forms to ease navigation for end-users<br />
- use placeholder attribute, better for screenreaders than JS coding<br />
- multiple autofocus defaults to last one in HTML5<br />
- type=&#8221;text&#8221; is default, so tel, email, etc. degrades on all browsers back to text<br />
- form element can disassociate parent form, useful for AJAX multiform pages<br />
- input types good for mobile devices to show useful soft keyboard for url or email input types<br />
- numeric step options<br />
- test date and numeric input types for usability. Scrolling birthdays or zip codes is painful<br />
- still need JS<br />
- Opera is first with new UI features but last with artistic design, so currently has hideous tooltip appearance<br />
- list and datalist like exploded select. Include select for IE backward compatibility<br />
- meter, progress and output UI elements<br />
- input type=text x-webkit-speech, now on Google homepage</p>
<p><a href="http://www.oscon.com/oscon2011/public/schedule/detail/19154">HTML5 in Your Pocket: Application Cache and Local Storage </a><br />
Scott Davis, ThirstyHead.com</p>
<p>- 4 million Macs, 32 million iDevices in last quarter<br />
- Basecamp Mobile<br />
- <a href="http://diveintohtml5.org/">&#8220;Dive into HTML5&#8243;</a> by Mark Pilgrim online<br />
- cookies should be called thimbles, only 4k<br />
- HTML5 localstorage supported in IE8, FF 3.5, so practically all<br />
- 5 MB, QUOTA_EXCEEDED_ERR, can&#8217;t increase now<br />
- <a href="http://statcounter.com/">StatCounter</a> browser stats<br />
- <a href="https://gist.github.com/350433">gist 350433: Storage polyfill</a> using window.name and cookies<br />
- no version of IE or FF support web SQL and they probably won&#8217;t, FF for philosophical reasons<br />
- cache manifest<br />
- <a href="http://jameswragg.com/experiments/genmanifest/">genManifest</a> bookmarklet<br />
- FF <a href="http://about:cache">about:cache</a> and Firebug are handy to see caches<br />
- appcache has no expiry date<br />
- date stamping manifest file causes re-download<br />
- 404 causes none to be saved<br />
- treat appcache as only slightly more secure than cookies, which are round-tripped<br />
- webplication<br />
- still sandboxed from local file access, could use node.js or signed app<br />
- See W3C <a href="http://www.w3.org/TR/html5/offline.html">HTML5 offline</a></p>
<p><a href="http://www.oscon.com/oscon2011/public/schedule/detail/18972">Profiling and Detecting Bottlenecks in Software</a><br />
Bryan Call, Yahoo!/Apache Committer<br />
<a href="http://assets.en.oreilly.com/1/event/61/Profiling%20and%20Detecting%20Bottlenecks%20in%20Software%20Presentation.pptx">PowerPoint .pptx</a></p>
<p>- usual savings (machines, moving parts, get smart)<br />
- top, <a href="http://htop.sourceforge.net/">htop</a><br />
- vmstat, dstat<br />
- time cmd<br />
- Boost logging does small writes, allocates memory when it gets behind, causing both IO and memory pressure<br />
- profilers like oprofile and google profile cause 1% to 8% slowdown<br />
- valgrind&#8217;s callgrind much more resources<br />
- oprofile has script to convert output to <a href="http://kcachegrind.sourceforge.net/html/Home.html">kcachegrind</a><br />
- opcontrol &#8211;deinit<br />
- sysctl nmi_watchdog off<br />
- opcontrol &#8211;no-vmlinux<br />
- opcontrol &#8211;daemon<br />
- google profiler userland, LD_PRELOAD<br />
- env CPUPROFILE=/tmp/mybin.prof /usr/local/bin/my_binary_compiled_with_libprofiler_so<br />
- caching: don&#8217;t do the same work twice<br />
- choose the correct algorithms and data structures:  dqueue vs. List, hash vs. trees, locks vs. r/w locks, bloom filter<br />
- reuse memory, stack vs. heap, <a href="http://goog-perftools.sourceforge.net/doc/tcmalloc.html">tcmalloc</a><br />
- make fewer system calls (larger reads and writes)<br />
- faster hardware, bonded NICs, SSDs, RAID, CPU, more cores<br />
- read <a href="https://cwiki.apache.org/TS/profiling.html">How to Profile Apache Traffic Server</a><br />
- <a href="http://www.bootchart.org/">bootchart</a><br />
- <a href="http://acme.com/software/http_load/">http_load</a> now uses epoll<br />
- he made ab multi-core</p>
<p>From <a href="http://www.mjmwired.net/kernel/Documentation/sysctl/kernel.txt">kernel.txt</a>: &#8220;nmi_watchdog: Enables/Disables the NMI watchdog on x86 systems.  When the value is non-zero the NMI watchdog is enabled and will continuously test all online cpus to determine whether or not they are still functioning properly. Currently, passing &#8220;nmi_watchdog=&#8221; parameter at boot time is required for this function to work. If LAPIC NMI watchdog method is in use (nmi_watchdog=2 kernel parameter), the NMI watchdog shares registers with oprofile. By disabling the NMI watchdog, oprofile may have more registers to utilize.&#8221;</p>
<p><a href="http://www.oscon.com/oscon2011/public/schedule/detail/21187">CoffeeScript: A New Hope for JavaScript</a><br />
Scott Davis, ThirstyHead.com</p>
<p>- trainer, author, worked on Comcast/Time Warner TVs which mostly use WebKit<br />
- little language that compiles into JS<br />
- JS V8 headless, like node.js<br />
- PhantomJS is headless HTML, handy for testing<br />
- Google GWT compiles Java to JS<br />
- &#8220;transpiler&#8221;<br />
- install node.js<br />
- install npm<br />
- npm install -g coffeescript<br />
- &#8211;tokens, &#8211;nodes like java p<br />
- immediately invoked function expression IIFE<br />
- coffeescript: string interpolation #{name}, &#8220;&#8221;"<br />
- objects with left-hand spacing like python</p>
<p><strong>Thursday</strong></p>
<p><a href="http://www.oscon.com/oscon2011/public/schedule/detail/18809">DNSSEC @ Mozilla</a><br />
Shyam Mani, Mozilla Corporation<br />
<a href="http://people.mozilla.org/~shyam/presentations/oscon-2011.pdf">Slides</a></p>
<p>- BIND 9.7 is nice for DNSSEC<br />
- Keys are everything, protect them. Have a backup plan.<br />
- Cisco core routers by default don&#8217;t expect large DNS transfers:<br />
<code><br />
policy-map global policy class inspection_default inspect dns maximum-length 4096<br />
</code><br />
- DS was live, no signed zones<br />
- watch log levels, can be chatty and quickly fill disk with logs<br />
- DNSSEC has no immediate benefit to end-users, since resolvers don&#8217;t honor it<br />
- their logs show 1000:1 dns vs dnssec queries for last 6 months, but growing<br />
- <a href="https://supportforums.cisco.com/thread/2013194">IOS Firewall DNSSEC</a></p>
<p><a href="http://www.oscon.com/oscon2011/public/schedule/detail/18795">Ask Google Engineers Anything</a><br />
Chris DiBona, Google</p>
<p>- 55 Google employees attending OSCON this year<br />
- mostly end-user questions about Google+ circles and API<br />
- or running Go on android<br />
- or why does my telco not do firmware releases for my smartphone<br />
- or not happy with Google search results this month<br />
- I asked about original reason for GFS. Originally, the hardware was really that flaky, and Google even actively bought bulk refurbed computers and RAM, sometimes off the back of a truck. Got a gopher plushie in return.<br />
- also some good feedback complaints: google groups UI inadequate for managing 350 groups in an Education scenario<br />
- inadequate data import tools for non-profit users of groups, mentioned by a religious charity.</p>
<p><a href="http://www.oscon.com/oscon2011/public/schedule/detail/19925">How Not to Design Like a Developer: Open Source Can Look Good Too!</a><br />
Chrissie Brodigan, Mozilla/Firefox</p>
<p>- KPI vs. git (different goals)<br />
- @sirupsen<br />
- story about the <a href="http://glow.mozilla.org">downloads map graphic</a> for FF 4 &#8211; a developer silently removed social button graphics, limiting participation of wider audience. Marketing needs to explain why and how other staff fit into outreach programs.<br />
- hang out on #projectdesign<br />
- design contests are a good way to get them to come out of the woodwork<br />
- designers hang out on twitter, not irc<br />
- programmers should avoid big red buttons that scare users, and improve accessibility<br />
- Inkscape, Blender, HTML and CSS are some Open Source tools for design mockups<br />
- do AB testing or survey users<br />
- designers want to be martyrs, so be careful they don&#8217;t offer more than you are willing to accept (start with 1 icon rather than the whole set)<br />
- take a look at graphics libre for icons<br />
- <a href="http://quitestrong.com">Quitestrong.com</a> 5 girls who do design</p>
<p><strong><a href="http://gearman.org/">Gearman</a> BOF</strong><br />
Brian Aker</p>
<p>- Gearman polls, beanstalk busy waits<br />
- nice to have feature to give up to another thread<br />
- monitor projects handle launching of workers<br />
- Gearman has durable and non-durable queues<br />
- is a superset of the crap you handrolled. Most of the homegrown apps peak at 50% to 60% of Gearman&#8217;s features<br />
- Gearman is production ready, but the postgresql driver less so because of fewer test cases and Brian&#8217;s lesser familiarity<br />
- setup ntp and use Gearman coalescence for redundant cron servers<br />
- can inspect queue<br />
- agnostic to backend<br />
- 99designs.com looking at this, same use case as original developer<br />
- I still think that if you already have a database app, adding a status column gets you a lot of Gearman functionality without one more moving part.</p>
<p><strong><a href="http://mariadb.org/">MariaDB</a> BOF</strong><br />
Monty Widenius, MontyProgram AB</p>
<p>- Monty mentioned that the latest release of <a href="http://kb.askmonty.org/en/what-is-mariadb-53">MariaDB 5.3-beta</a> has faster replication from group commit and performance improvements on the master, which also help the slave. Also subqueries and joins work much better.<br />
- Monty talked about his Aria storage engine, which is a replacement for MyISAM that has both transaction and non-transaction modes. It&#8217;s intended for users who want the space savings of MyISAM. Over time it may compete with InnoDB.<br />
- Monty&#8217;s responsibility is to convince Percona to merge into 1 source base sometime<br />
- it&#8217;s estimated that although Oracle still has the InnoDB team, they may only have 1 general MySQL server programmer left.<br />
- he explained that MontyProgram developers work 50% on feature requests from end-users, and 50% Open Source-related. So paid requests for 1 week of work really need to cover 2 weeks of developer time for that model to work. Typically a medium-sized change is roughly $12,000 and includes development, testing and documentation.<br />
- Zmanda got FLUSH TABLES WITH READ LOCK NO CHECKPOINT for a beer, though. <img src='http://www.jebriggs.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Monty was able to find a code path that could be locked to prevent Aria and MyISAM from writing anything during the backup.<br />
- I sponsored <a href="http://askmonty.org/worklog/Server-RawIdeaBin/?tid=232">WL#232</a> for USD$100 to add a SHUTDOWN statement to MySQL<br />
- Monty explained that MERGE tables may be a better choice than MySQL partitions for logging applications.<br />
- attendees from MontyProgram, SkySQL, Percona, DeNA</p>
<p><a href="http://kb.askmonty.org/en/1631">AskMonty: MySQL &#8220;Wishlist&#8221; Session from an online travel agency</a><br />
<a href="http://download.oracle.com/docs/cd/E17952_01/refman-5.5-en/flush.html">MySQL Manual 5.5: FLUSH Syntax</a></p>
<p><strong>Perl Lightning Talks</strong><br />
Hosted by Geoff Avery</p>
<p>- a talk on why arrogant community members telling others that &#8220;they need a thick skin&#8221; is unhelpful<br />
- a talk by a young Perl community member on getting commit access, and how others can get the spirit and contribute<br />
- Larry did several talks, mostly encouraging backporting Perl6 features to Perl5 it seemed, perhaps as a replacement to going Moose<br />
- nice song on the importance of public libraries, which face shutdown due to economic budgeting problems in Australia and USA<br />
- nice comedy juggling act comparing programming languages. Perl6 was omitted as &#8220;nothing has been updated in 5 or 6 years&#8221;, prompting Larry to say that he was happy he has a thick skin. See above. <img src='http://www.jebriggs.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
- afterward, I talked to a booking.com rep about why a European company needed to actively recruit in USA and world-wide. He said that European developers are happy working where they are now, and it&#8217;s easier to recruit in places with mobile workforces like the USA. He would like to hire a couple developers per week to meet their development schedule.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jebriggs.com/blog/2011/07/oscon-2011-portland/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IMUG: The Power of Plain Text with Ken Lunde</title>
		<link>http://www.jebriggs.com/blog/2011/05/imug-the-power-of-plain-text-with-ken-lunde/</link>
		<comments>http://www.jebriggs.com/blog/2011/05/imug-the-power-of-plain-text-with-ken-lunde/#comments</comments>
		<pubDate>Fri, 20 May 2011 04:40:23 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Japanese]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Storage]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Toys]]></category>
		<category><![CDATA[User Groups]]></category>

		<guid isPermaLink="false">http://www.jebriggs.com/blog/?p=3244</guid>
		<description><![CDATA[Dr. Ken Lunde of Adobe did a talk on &#8220;The Power of Plain Text&#8221; at IMUG tonite. &#8220;This presentation will cover the basics of &#8220;plain text&#8221; and its importance in providing meaningful content, and will explore some recent developments in &#8230; <a href="http://www.jebriggs.com/blog/2011/05/imug-the-power-of-plain-text-with-ken-lunde/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://jebriggs.com/php/adobe_logo.jpg" alt="Adobe Logo" title="Adobe Logo" align="left" />Dr. Ken Lunde of Adobe did a talk on <a href="http://events.imug.org/events/16827277/?eventId=16827277">&#8220;The Power of Plain Text&#8221;</a> at <a href="http://www.imug.org/">IMUG</a> tonite.</p>
<p>&#8220;This presentation will cover the basics of &#8220;plain text&#8221; and its importance in providing meaningful content, and will explore some recent developments in Unicode that allow otherwise unencodable characters, such as variant forms of CJK Unified Ideographs, to be reliably represented in a &#8220;plain text&#8221; paradigm through the use of the <a href="http://unicode.org/ivd/">Ideographic Variation Database (IVD).</a></p>
<p>Examples from other scripts will also be provided. Various &#8220;plain text&#8221; pitfalls and bad-practices that undermine Unicode&#8217;s success, such as PUA usage, CJK Compatibility Ideographs, and code point poaching, will be touched upon.</p>
<p>Finally, emerging environments that thrive on &#8220;plain text&#8221; data, such as mobile, will be discussed.&#8221;</p>
<p>Some of the interesting points:</p>
<ul>
<li>Adobe&#8217;s PDF creator has a 2 level scheme to separate text and presentation, but Microsoft&#8217;s PDF exporter only has 1. (I need to confirm the product names.)
<li>keep up with <a href="http://www.unicode.org/">Unicode</a> <a href="http://www.unicode.org/versions/">versions,</a> now 6.0. Several code points are added each year.
<li>Unicode is not just code points, but also properties (Digit, etc.)
<li>the Basic Multilingual Plane (BMP) is full, so apps need to support additional planes
<li>testing HTML or SGML with <a href="http://www.ietf.org/rfc/rfc1866.txt">numeric character references</a> lets you control the input better as you test for rendering problems. The Unix od -h utility is helpful for examining files at the hex byte level.
</ul>
<p>Thanks to Adobe for hosting and broadcasting the meeting.</p>
<p><a href="http://lachy.id.au/log/2005/10/char-refs">Character References Explained</a><br />
<a href="http://en.wikipedia.org/wiki/Unicode">wikipedia: Unicode</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jebriggs.com/blog/2011/05/imug-the-power-of-plain-text-with-ken-lunde/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sony the Multinational Cripple Gets a Diagnosis</title>
		<link>http://www.jebriggs.com/blog/2011/05/sony-the-ultinational-cripple-gets-diagnosis/</link>
		<comments>http://www.jebriggs.com/blog/2011/05/sony-the-ultinational-cripple-gets-diagnosis/#comments</comments>
		<pubDate>Fri, 06 May 2011 01:30:37 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Japanese]]></category>
		<category><![CDATA[Psychology]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Toys]]></category>

		<guid isPermaLink="false">http://www.jebriggs.com/blog/?p=3126</guid>
		<description><![CDATA[I know, I know &#8230; it&#8217;s not fair to pick on Sony being a multinational cripple and all. But Slashdot nailed them this week. See Poll Results and Comments A few years ago I went to a lecture by Guy &#8230; <a href="http://www.jebriggs.com/blog/2011/05/sony-the-ultinational-cripple-gets-diagnosis/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I know, I know &#8230; it&#8217;s not fair to pick on Sony being a multinational cripple and all.</p>
<p>But Slashdot nailed them this week. <img src='http://www.jebriggs.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><img src="http://jebriggs.com/php/sony_poll.png" alt="Slashdot's Sony Poll" title="Slashdot's Sony Poll" /><br />
<br />
<a href="http://slashdot.org/poll/2166/Favorite-Sony-Gaffe">See Poll Results and Comments</a></p>
<p>A few years ago I went to a lecture by <a href="http://www.guykawasaki.com/">Guy Kawasaki.</a> I asked him, &#8220;What&#8217;s wrong with Sony? Is their string of failures part of some secret master plan, or just gross incompetence?&#8221;</p>
<p>I figured since Guy was both Japanese-American and a veteran of the tech industry, he would know.</p>
<p>His answer was that it was likely the latter, with no evidence to the contrary.</p>
<p><a href="http://slashdot.org/comments.pl?sid=2121746&#038;cid=36008938">One Slashdot poster</a> prolly got it right: the problem with Sony is that it&#8217;s not only a Japanese multinational, but it&#8217;s split into content and technology organizations, which are diametrically opposed/schizophrenic.</p>
<p>Content owners want to restrict how content is used by the consumer, while technology creators need to be at the forefront of liberating and enhancing consumer experience.</p>
<p><a href="http://en.wikipedia.org/wiki/Guy_Kawasaki">wikipedia: Guy Kawasaki</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jebriggs.com/blog/2011/05/sony-the-ultinational-cripple-gets-diagnosis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Translate API Programming Notes</title>
		<link>http://www.jebriggs.com/blog/2011/04/google-translate-api-programming-notes/</link>
		<comments>http://www.jebriggs.com/blog/2011/04/google-translate-api-programming-notes/#comments</comments>
		<pubDate>Sat, 23 Apr 2011 21:41:47 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[i18n]]></category>
		<category><![CDATA[Japanese]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://www.jebriggs.com/blog/?p=3033</guid>
		<description><![CDATA[I decided to try out the Google Translate API (v1), part of the Google Language API Family this weekend. The Google Translate API supports various housekeeping functions plus 2 main features: language detection language translation. Although machine translation does not &#8230; <a href="http://www.jebriggs.com/blog/2011/04/google-translate-api-programming-notes/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I decided to try out the <a href="http://code.google.com/apis/language/translate/overview.html">Google Translate API (v1)</a>, part of the <a href="http://code.google.com/apis/language/">Google Language API Family</a> this weekend.</p>
<p>The Google Translate API supports various housekeeping functions plus 2 main features:</p>
<ol>
<li>language detection
<li>language translation.
</ol>
<p>Although machine translation does not generally provide a high quality, polished result for arbitrary input, it can still be useful for more limited requirements.</p>
<p>For this project, I had 11 existing translations (Google Translate <a href="http://code.google.com/apis/language/translate/v1/getting_started.html#translatableLanguages">supports 56 languages</a>) for a web site that needed a small incremental update of 65 short strings, and could compare the Google Translate results with a human-translated corpus for most of the languages.</p>
<p>Conveniently, the new strings included day and month names, which is easy for machine translation to get right. <img src='http://www.jebriggs.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>The most important thing to do is to first read the <a href="http://code.google.com/apis/language/translate/terms.html">Google Translate TOS</a> first. There are several limitations and requirements:</p>
<ul>
<li>you should register for an API key, provide a referer URL for the project, and provide the IP address of the requesting host
<li>&#8220;powered by Google&#8221; must be displayed in any human-readable UI that relies on Google Translate
<li>the maximum allowable input is 5,000 characters
<li>Automated requests are prohibited; all requests must be made as a result of an end-user action.
<li>All websites or apps which use Google APIs must be free of charge.
</ul>
<p>As a practical matter, you should detect a TOS error and stop submitting API requests, ie. responseDetails is &#8216;Suspected Terms of Service Abuse. Please see <a href="http://code.google.com/apis/errors/">http://code.google.com/apis/errors</a>&#8216;.</p>
<p>JSON and REST are supported, so any programming language can be used. Google provides code samples in JavaScript, Flash, Java, PHP, Python and Perl. UTF-8 is the character set used.</p>
<p>I used the <a href="http://code.google.com/apis/language/translate/v1/using_rest_translate.html#json_snippets_perl">Perl sample code,</a> fixed the string concat bug (!) in the first line, and enhanced it to comply with the TOS.</p>
<p>I found that no API key is needed if translation requests are throttled by 10 seconds each.</p>
<p>Also, you may submit input embedded in HTML, but the output translation can reorder the HTML tags, in some cases changing the final appearance. I noticed that anchor and strong elements were re-ordered in my results.</p>
<p><a href="http://en.wikipedia.org/wiki/Machine_translation">wikipedia: Machine translation</a><br />
<a href="http://cldr.unicode.org/">CLDR &#8211; Unicode Common Locale Data Repository</a><br />
<a href="http://geonames.de/">GeoNames.de &#8211; Languages of the World</a><br />
<a href="http://search.cpan.org/~maros/DateTime-Format-CLDR/">Perl CPAN Module DateTime::Format::CLDR</a><br />
<a href="http://www.apertium.org/">Apertium Machine Translator</a> <a href="http://api.apertium.org/">API</a><br />
<a href="http://www.thinq.co.uk/2011/5/27/google-close-translation-api-service/">Google to close Translation API service</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jebriggs.com/blog/2011/04/google-translate-api-programming-notes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL Conference 2011</title>
		<link>http://www.jebriggs.com/blog/2011/04/mysql-conference-2011/</link>
		<comments>http://www.jebriggs.com/blog/2011/04/mysql-conference-2011/#comments</comments>
		<pubDate>Thu, 14 Apr 2011 23:50:23 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Japanese]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[Storage]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Toys]]></category>

		<guid isPermaLink="false">http://www.jebriggs.com/blog/?p=3002</guid>
		<description><![CDATA[I went to the MySQL Conference once again at the Santa Clara Convention Center. Executive Summary: The talks and informal conversations centered around these main issues: fragility of replication, and need for a global binlog ID and checksums stalls in &#8230; <a href="http://www.jebriggs.com/blog/2011/04/mysql-conference-2011/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I went to the MySQL Conference once again at the Santa Clara Convention Center.</p>
<p>Executive Summary: The talks and informal conversations centered around these main issues:</p>
<ol>
<li>fragility of replication, and need for a global binlog ID and checksums
<li>stalls in Innodb queue processing, resulting in query latency
<li>general happiness with Oracle&#8217;s MySQL 5.5 release, considered by many to be the best release in several years
<li>there were some Postgresql talks and the closing keynote was by Mike Olson, the former CEO of Sleepycat, so a segue is being made to an Open Source database conference in future years.
</ol>
<p>Some more detailed comments below &#8230;</p>
<p><strong>MySQL Replication Tutorial</strong></p>
<p>- read-only except for super-user and repl thread (cool for DW)<br />
- slavereadahead, mk-prefetch</p>
<p>- do<br />
 &#8211; expensive queries<br />
 &#8211; non-deterministic functions</p>
<p>don&#8217;t<br />
- lots of rows or network traffic</p>
<p>semi-sync available in 5.5<br />
- load-plugin on master and slave</p>
<p>delayed replication in 5.6</p>
<p>stop slave;<br />
change master to master_delay=60;<br />
start slave;</p>
<p>See SQL_DELAY: !!!</p>
<p>mysql-sandbox</p>
<p>- now has options for also creating slave and cir</p>
<p>openark</p>
<p>- oak-get-slave-lag<br />
- oak-online-alter-table<br />
- oak-purge-master-logs<br />
- oak-show-replication-status<br />
code.openark.org/forge/openark-kit</p>
<p><strong>MySQL Performance Tuning Tips</strong></p>
<p>- sequence diagram time x flow<br />
- show global status like &#8216;table_wait_%&#8217;<br />
- on linux stats are per-process, not per-thread. mysqd is multi-threaded</p>
<p>- add a performance schema like Luke&#8217;s</p>
<p>Aspersa toolkit</p>
<p>- missed: iotop, dtrace, systemtap, sample &#8220;show processlist&#8221;</p>
<p>http://slideshare.net/MySQLGeek</p>
<p>Justin Swanhart</p>
<p><strong>Diagnosing MySQL Replication Failiures</strong><br />
Justin Swanhart</p>
<p>- recommended to enable binlogs on slave for recovery and diagnostics<br />
  &#8211; ie. errant write to slave will have server-id=slave-id<br />
- BBU and buggy journal file process common sources of &#8220;rolled back&#8221; master compared to slave<br />
-use maatkit to identify and update slaves, note that checksum performance may depend on key distribution heuristics<br />
- statement-based and row-based replication have different issues and bugs<br />
- read the replication features 33 sections<br />
- note there are still 37 replication bugs<br />
- mixed innodb and myisam updates is a bad idea, overall ill-defined behavior (at least 3 changes in 5.1.x)<br />
- CREATE TEMPORARY TABLE &#8211; bad idea, but at least use a unique name with tmp_ prefix to help the DBA</p>
<p><strong>Automated, Non-stop MySQL Operations and Failover</strong><br />
Mats, DeNA &#038; <a href="http://ngmoco.com/">ngmoco</a></p>
<p>1) heartbeat + drbd</p>
<p>innodb-flush-log-at-trx-commit=1, sync-binlog=1 for HA, but kills write performance</p>
<p>2) Mysql Cluster &#8211; not innodb</p>
<p>3)</p>
<p>4) Google patch &#8211; with guid in binlog</p>
<p>- study relay log internals &#8220;at&#8221; and &#8220;end_log_pos&#8221;<br />
- to catch up a slave, mysqlbinlog &#8211;start-position=101835<br />
- actually does recovery of lost transactions<br />
- disable purge of relay log after sql thread to preserve statements, but will fill disk, so need alternate way of deleting<br />
- purge relay log blocks (90 seconds for 10 GB), so need hard links to do non-blocking delete outside MySQL process<br />
- show full processlist is non-blocking way to show progress of sql thread on slave, unlike master_pos<br />
- mysqlbinlog &#8211;base64=always, none have useful properties<br />
- Tool: Master High Availability Toolkit<br />
power off delays<br />
- R610 5-10 seconds using telnet+DRAC<br />
- DL360 4-5 econds ipmitool+iLO<br />
- do not use 5.0.45 or lower version (end_log_pos is incorrect)<br />
- drop user is graceful way of not accepting new app connections, but finishing existing transactions.</p>
<p><strong>Drift</strong></p>
<p>google</p>
<p>http://code.google.com/p/google-mysql-tools/wiki/OnlineDataDrift</p>
<p>http://goo.gl/YLr0s      http://code.google.com/p/google-mysql-tools/<br />
http://goo.gl/OZA6R   https://groups.google.com/group/google-mysql-tools</p>
<p>we don&#8217;t monkeypatch slaves &#8211; we rebuild from a reliable source<br />
problem with mysql permissions is cached data</p>
<p><strong>SSD</strong></p>
<p>XFS better with 4k blocks<br />
mkfs.xfs -s szie=4096<br />
mount -o nobarrier<br />
multiple threads<br />
Percona server or Innodb plugin or Mysql 5.5<br />
Innodb mutex contention with 120 GB RAM, performs better with 26 GB</p>
<p>Linden Labs<br />
20 TB SSD X25 MLC and SLC, one failed on POST</p>
<p>Interesting trick<br />
&#8211;tmpdir=/mnt/ssd</p>
<p>FusionIO user for mysql db &#8211; disks on master, fusion ion on  8 slaves, very happy now, early days some driver updates</p>
<p><strong>Expo</strong></p>
<p>AWS RDS<br />
- sweet features, UI, backup options<br />
- still no way setup a remote slave or do root configuration-type commands</p>
<p>Schooner and Virident had booths.</p>
<p><strong>Wed. Keynotes</strong></p>
<p>Monty<br />
MariaDB 5.6</p>
<p>Marten<br />
Cloud</p>
<p>Brian Aker<br />
Drizzle GA</p>
<p><strong>MySQL State of the Art @ facebook</strong></p>
<p>DB Operations<br />
- typical DBA</p>
<p>DB Engineering Team<br />
- develop code for MySQL, tools, fix bugs, port patches</p>
<p>DB Performance Team<br />
- full stack solution hw to os to cache to db<br />
- test<br />
- improve</p>
<p>- Nov 2010<br />
- 4 ms read, 5 ms write<br />
- 38 GB traffic on database tier<br />
- 13 million qps</p>
<p>- based on vanilla MySQL 5.1<br />
- custom facebook build on launchpad<br />
- heavily sharded, heavy replication</p>
<p>HW<br />
- lots of generations<br />
- many core, not cpu bounc<br />
- local storage, no SAN<br />
- some flash in production</p>
<p>Performance Ideas<br />
- monitor long-term trends &#8211; why are inserts up 10% this week?<br />
- monitor real-time problems &#8211; look at Top10, not aggregates<br />
- monitor everything<br />
- throughput vs. latency<br />
  &#8211; 95th, 99th percentile<br />
- stalls (1s, 2s, 3s why)</p>
<p>Tools</p>
<p>- table statistics<br />
- shadows<br />
  &#8211; async copy of live data on test machine for load testing for main API (not ETL stuff), starts with replication and breaks it<br />
  &#8211; percona has a tool called logjam<br />
- slocket<br />
  &#8211; udp dump of slow queries from network<br />
- pmysql<br />
  &#8211; parallel statement submit<br />
  &#8211; global show full processlist<br />
  &#8211; fast &#8211; thousands of servers in a second<br />
- replication sampling<br />
   &#8211; run show full processlist in a loop, look at writes, generate % stats<br />
- aggregated client error logs<br />
- scribe is a distributed log processing system<br />
- query comments<br />
  &#8211; every single MySQL statement ever<br />
  &#8211; FB has an API to insert this<br />
  &#8211; server, page, memcached info<br />
  &#8211; FB doesn&#8217;t use query cache, but could strip out comments to make it query-cache friendly<br />
- backtraces are stored by id<br />
- indigo (query monitor)</p>
<p>Stalls</p>
<p>- Dogpiles<br />
- Temporary Slow Down<br />
- Stall Tools<br />
- dogpiled<br />
- aspersa stalk, collect<br />
- pmp<br />
- gdb</p>
<p>stalls found<br />
- tables extending<br />
- drop table<br />
- purge connection<br />
- kernel mutex<br />
- transaction creation<br />
- lock creation/removal<br />
- deadlock detection<br />
- many more &#8211; servers don&#8217;t expect as well as you would expect</p>
<p>&#8220;MySQL has to do what Facebook wants. It is a submissive relationship.&#8221;</p>
<p>Efficiency</p>
<p>- increasing utiliization of hw<br />
- memory to disk ratio<br />
- finding bottlenecks<br />
  &#8211; disk bound normally<br />
  &#8211; sometimes network<br />
  &#8211; rarely CPU/memory bw<br />
- poor application design<br />
  &#8211; leads to poor query design</p>
<p>Disk Efficiency</p>
<p>- normally disk found<br />
  &#8211; IOPS<br />
- queue lengths<br />
- Innodb page size<br />
  &#8211; default 16k (8k, 4k possible)<br />
- smaller for flash?<br />
- our tests range scans vs. point lookups<br />
- need adjustable per table or index</p>
<p>(linux io request queue may be 128 requests, but each drive has 32 slots, so only 4 drives would be efficietly used)</p>
<p>Memory efficiency</p>
<p>- compact records<br />
- clustered and covering index planning<br />
- accessing historical data<br />
  &#8211; understand workloads<br />
- full table scans<br />
  &#8211; ETL type queries<br />
  &#8211; mysqldump<br />
  &#8211; tune midpoint insertion for Innodb LRU</p>
<p>Flash</p>
<p>- many iops!<br />
  &#8211; awesome at random reads<br />
  &#8211; kind of small<br />
- tested many vendors since a lot of mktg is misleading<br />
  &#8211; long-term performance<br />
  &#8211; reliability<br />
  &#8211; edge cases<br />
- failure rates<br />
- different use cases</p>
<p>Flashcache</p>
<p>- flash in front of disks<br />
 &#8211; slower disk usage possible<br />
- write-back cache<br />
- much more data storage<br />
- able to utilize much more of flash card<br />
- ver long warmup time<br />
- open source</p>
<p>MySQL 2X Project</p>
<p>- flash is too fast, slave replication is too slow, so put multiple mysql instances per server<br />
- use 3307, 3308, 3309 (skip 3306 to find legacy 3306 requests)</p>
<p>Options</p>
<p>- MySQL is never a solved problem<br />
- better/new<br />
- new hw<br />
- new data centers</p>
<p>Visibility</p>
<p>- never assume<br />
- add more metrics<br />
- full stack<br />
- more innodb info<br />
- more application info</p>
<p>Replication</p>
<p>- lag is a big problem<br />
- possible solutions<br />
  &#8211; better save prefetch<br />
  &#8211; maatkit version has problems<br />
- tungsten parallel slave<br />
- oracle parallel slave</p>
<p>InnoDB Compression</p>
<p>- originally was planned during 5.1 upgrade<br />
- problems<br />
  &#8211; replication stream<br />
- increased log writes<br />
- performance in some cases<br />
- goto db eng talk thu at 2.50 pm</p>
<p>env: CentOS/XFS, mysql build with debugging symbols on, xtrabackup</p>
<p><strong>PCI</strong><br />
Percona</p>
<p>PCI DSS<br />
- 5 companies created common standard<br />
- offset losses to processors from providers, or revoked<br />
- outsourcing credit card processing correctly makes you compliant (cc&#8217;s never go through your network or touch your disk)</p>
<p>- don&#8217;t do PCI unless level 1 or level 2 merchant since it&#8217;s not cost-effective<br />
- worry more about your PCI auditor than the written docs</p>
<p>- design access around business processes<br />
- only billing support and ops person needs access to chd</p>
<p>- securich<br />
- MySQL 5.5 has PAM, to help with enforcing password policies</p>
<p>- be judicious with grants<br />
- disable local_infile<br />
- disable old_passwords<br />
- set read_only=on on replication slaves<br />
- enable secure_auth</p>
<p>#, name, service code, exp date can store<br />
mag, cvv2, pin cannot store</p>
<p>- binlogs enabled on master and slaves<br />
- read-only<br />
- semi sync, use furthest ahead slave</p>
<p>http://usa.visa.com/download/merchants/cisp_what_to_do_if_compromised.pdf</p>
<p><b>Decider</b><br />
Google</p>
<p>- host list<br />
- discovers replication topology by polling hosts<br />
- current master found based on topology, not dns<br />
- mostly stateless<br />
- locality to dc<br />
- also RPC API<br />
- python<br />
- if decider is not online, no problem.</p>
<p>Sanity checks</p>
<p>- no more than N hosts should be down<br />
  &#8211; recommend N=1<br />
  &#8211; down slave could have most recent tx<br />
  &#8211; N < hosts/2 for quorum</p>
<p>Will be available in google mysql tools.</p>
<p>http://goo.gl/xAgzC</p>
<p><strong>Thursday</strong></p>
<p>- Keynotes</p>
<p>- Baron Schwartz, Percona<br />
- Mike Olson, former CEO Sleepycat Software, now CEO Cloudera</p>
<p>- remarkable insight into overall state of business problems and databases, no specific technology tips<br />
- consumer devices are generating so much location data that we have no data store big enough and won&#8217;t without designing for it.</p>
<p>- 3 Ignite talks (20 slides in 5 minutes)<br />
  Baron Schwartz: MySQL failure stats from Percona support db (Tops are replications, human processes)<br />
  Canadian dude<br />
  Josh Berkus:  &#8220;Be Sexy. Go Down.&#8221; parodying the latest IT trends and unintended anti-scaling (Ruby, etc.)<br />
  &#8211; some of the younger attendees didn&#8217;t realize that the examples were real-world, like the Ruby mongrel anti-scaling, etc.</p>
<p><strong>Chef Tutorial</strong></p>
<p>- central chef server needed, whether yours or on opscode.com (free for 5 nodes)<br />
- uses RSA keys</p>
<p>https://github/</p>
<p><strong>Narada</strong><br />
Patrick Galbraith</p>
<p>- works on MySQL and Drizzle</p>
<p><strong>Error Detection with MySQL Replication</strong><br />
Facebook</p>
<p>- uses stream cipher<br />
- eventually to be Open Sourced</p>
<p><strong>Closing Keynote</strong></p>
<p>JC did a talk on MySQL @ Twitter with lots of statistics.</p>
<p>Once again, O&#8217;Reilly did a great job organizing the conference. Hope it continues for many years to come, preferably not during tax week.</p>
<p><a href="http://www.networkworld.com/news/2011/050311-mickos-mysql.html">Former MySQL boss: Code &#8216;in better shape than ever&#8217; under Oracle</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jebriggs.com/blog/2011/04/mysql-conference-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fukushima Reactor Failures Comments</title>
		<link>http://www.jebriggs.com/blog/2011/04/fukushima-reactor-failures-comments/</link>
		<comments>http://www.jebriggs.com/blog/2011/04/fukushima-reactor-failures-comments/#comments</comments>
		<pubDate>Sat, 02 Apr 2011 07:41:05 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Japanese]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://www.jebriggs.com/blog/?p=2953</guid>
		<description><![CDATA[Whenever anybody asks me about the nuclear reactor problems in Japan, my reply is this. A few days after the tsunami, I saw a video of one of the reactors exploding, with a white high-explosive shock wave clearly visible above &#8230; <a href="http://www.jebriggs.com/blog/2011/04/fukushima-reactor-failures-comments/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Whenever anybody asks me about the nuclear reactor problems in Japan, my reply is this.</p>
<p>A few days after the tsunami, I saw <a href="http://www.youtube.com/watch?v=Eofr1Js6nLg">a video of one of the reactors exploding,</a> with a white <a href="http://en.wikipedia.org/wiki/High_explosive#High_explosives">high-explosive</a> <a href="http://en.wikipedia.org/wiki/Shock_wave">shock wave</a> clearly visible above and outside from a hydrogen explosion, similar to bombing videos that I&#8217;ve seen from the Vietnam War.</p>
<p><center><br />
<img src="http://jebriggs.com/php/Japan-Earthquake-and-Tsun-003.jpg" alt="Japanese Reactor Explosion" title="Japanese Reactor Explosion" /><br />
</center></p>
<p>To me that indicated major destruction inside the reactor, similar to a 500 pound bomb detonating, with all of the blast energy focused and contained inside.</p>
<p>So I tell people to assume the worst, and ignore any press briefings or anybody trying to minimize the scale of this nuclear disaster.</p>
<p>A lot of people will make excuses for this accident, and shrug off any analysis as &#8220;20-20 hindsight&#8221; as they have with the Great Housing Bubble.</p>
<p>But I wouldn&#8217;t use a data center at sea level next to the ocean, let alone build a nuclear reactor complex there. IT people have struggled for decades to increase data center reliability, so there is plenty of historical data on power continuity, generator failure modes, etc.</p>
<p>Locating the reactor backup power sources at or below sea level where they could be flooded was an entirely preventable design error.</p>
<p>The nuclear power industry has been tarnished by this event.</p>
<p>What can be done in the future?</p>
<ul>
<li>use a standardized reactor design. Currently each reactor in the world is a unique snowflake &#8211; even within the same reactor complex.
<li>review failure modes of each reactor (earthquake, tsunami, tornado, airplane, sabotage, power failure, cross-dependency)
<li>have practical and comprehensive disaster plans
<li>have adequate photographic and radiation monitoring in place
<li>have adequate mitigation supplies in place &#8211; personnel, robots, pumps, cement, transformers, etc.
<li>have a plan to nationalize the utility if they are unable to perform for a military-led recovery mission
<li>transition to modern, more failure-proof, standardized reactor designs.
</ul>
<p><center><br />
<img src="http://jebriggs.com/php/fukushima-20110320.jpg" alt="Fukushima Aerial Photo from March 20 or 24" title="Fukushima Aerial Photo from March 20 or 24"><br />
</center></p>
<p><a href="http://www.cnn.com/2011/WORLD/asiapcf/04/09/japan.nuclear.reactors/index.html">cnn.com: Video shows 48&#8242; tsunami crashing into Fukushima nuclear site</a><br />
<a href="http://www.msnbc.msn.com/id/42376837/ns/world_news-asia-pacific/">msnbc.com: &#8216;Jumpers&#8217; offered big money to brave nuke work (up to $5,000/day)</a><br />
<a href="http://www.msnbc.msn.com/id/42516551/ns/world_news-the_new_york_times/">msnbc.com: Japanese workers braved radiation for temp job </a><br />
<a href="http://online.wsj.com/article/SB10001424052748704530204576236311927892974.html">wsj.com: Fujitsu Chief Looks at Japan&#8217;s Crisis</a><br />
<a href="http://online.wsj.com/article/SB10001424052748704101604576248722573203608.html">wsj.com: The Man Who Predicted the Tsunami</a><br />
<a href="http://www.cbsnews.com/stories/2011/04/06/501364/main20051370.shtml">cbsnews.com: Ancient stone markers warned of tsunamis</a><br />
<a href="http://www.cbsnews.com/stories/2011/04/20/501364/main20055717.shtml">cbsnews.com: Japan nuke workers at their limit, doctor warns</a><br />
<a href="http://news.yahoo.com/s/ap/20110429/ap_on_bi_ge/us_nuclear_plants_blackouts">NRC chief questions blackout plans for US plants</a><br />
<a href="http://online.wsj.com/article/SB10001424052748703509104576325110776621604.html">wsj: Cores Damaged at Three Reactors (plus Reactor 4 damaged in hydrogen explosion)</a><br />
<a href="http://blogs.wsj.com/japanrealtime/2011/05/20/photos-when-the-tsunami-hit-fukushima-daiichi/">Photos: When the Tsunami Hit Fukushima Daiichi</a><br />
<a href="http://www.cnn.com/2011/WORLD/asiapcf/06/06/japan.nuclear.meltdown/index.html">3 nuclear reactors melted down after quake, Japan confirms</a><br />
<a href="http://beta.news.yahoo.com/ap-impact-us-nuke-regulators-weaken-safety-rules-071655132.html">AP IMPACT: US nuke regulators weaken safety rules</a><br />
<a href="http://online.wsj.com/article/SB10001424052702304887904576395580035481822.html">wsj.com: Design Flaw Fueled Nuclear Disaster</a><br />
<a href="http://www.pbs.org/wgbh/pages/frontline/nuclear-aftershocks/">Frontline: Nuclear Aftershocks</a><br />
<a href="http://www.japantimes.co.jp/text/nn20120122a1.html">Cabinet kept alarming nuke report secret &#8211; Fearful of scaring public, existence of document was denied for months</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jebriggs.com/blog/2011/04/fukushima-reactor-failures-comments/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Honshu, Japan Earthquake and Tsunami</title>
		<link>http://www.jebriggs.com/blog/2011/03/japan-earthquake-and-tsunami/</link>
		<comments>http://www.jebriggs.com/blog/2011/03/japan-earthquake-and-tsunami/#comments</comments>
		<pubDate>Fri, 11 Mar 2011 10:46:40 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Indonesia]]></category>
		<category><![CDATA[Japanese]]></category>

		<guid isPermaLink="false">http://www.jebriggs.com/blog/?p=2947</guid>
		<description><![CDATA[Just monitoring the tsunami activity after the Honshu, Japan 8.9 earthquake: &#8220;At 9:46 PM Pacific Standard Time on March 10, an earthquake with preliminary magnitude 8.9 occurred near the east coast of Honshu, Japan . (Refer to the United States &#8230; <a href="http://www.jebriggs.com/blog/2011/03/japan-earthquake-and-tsunami/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Just monitoring the <a href="http://wcatwc.arh.noaa.gov/2011/03/11/lhvpd9/05/messagelhvpd9-05.htm">tsunami activity</a> after the Honshu, Japan 8.9 earthquake:</p>
<p>&#8220;At 9:46 PM Pacific Standard Time on March 10, an earthquake with preliminary magnitude 8.9 occurred near the east coast of Honshu, Japan . (Refer to the United States Geological Survey for official earthquake parameters.)&#8221;</p>
<p>&#8220;This earthquake has generated a tsunami which could cause damage to coastal regions in a warning or advisory. The waves are expected to first reach Shemya, Alaska at 12:13 AM AKST on March 11.&#8221;</p>
<p>Measurements or reports of tsunami activity:</p>
<pre>
 Location                   Lat.   Lon.    Time        Amplitude
 ------------------------  -----  ------  -------     -----------
 Ofunato  Japan            39.0N  141.8E  0605UTC   10.8FT/03.29M
 Hanasaki  Japan           43.3N  145.6E  0643UTC   09.3FT/02.82M
</pre>
<p>Note that there have been over 30 5.0 to 7.1 aftershocks, as well as a 6.5 near Bali the night before.</p>
<p>Crescent City, California, was hammered by at least <a href="http://www.cnn.com/2011/US/03/11/tsunami/index.html">three tsunami waves,</a> including one reaching a record 8.1 feet.</p>
<p>&#8220;Each was a little higher than the last,&#8221; said spokesman Joey Young of Del Norte County&#8217;s emergency operations center.</p>
<p>The tsunami brought waves of about 6 feet to a harbor in Maui, authorities said, but other areas reported lower levels, including Honolulu at 2.2 feet and Hilo at 4.3.</p>
<p><a href="http://online.wsj.com/article/SB10001424052748703597804576194242794799046.html">wsj.com: Waves Hit Hawaii, California; One Man Swept to Sea</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jebriggs.com/blog/2011/03/japan-earthquake-and-tsunami/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Documentaries on Japanese I-400 and Midget Submarines</title>
		<link>http://www.jebriggs.com/blog/2011/01/documentaries-on-japanese-i-400-and-midget-submarines/</link>
		<comments>http://www.jebriggs.com/blog/2011/01/documentaries-on-japanese-i-400-and-midget-submarines/#comments</comments>
		<pubDate>Sun, 09 Jan 2011 08:22:27 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Japanese]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Toys]]></category>

		<guid isPermaLink="false">http://www.jebriggs.com/blog/?p=2821</guid>
		<description><![CDATA[It seems like Japanese WW2 submarine documentary week on PBS &#8230; &#8220;Japanese SuperSub&#8221; talks about the I-400, which was a 400&#8242; submarine with a hangar large enough for 3 Seyron bombing aircraft, each with a 1,700-pound bomb and a 85&#8242; &#8230; <a href="http://www.jebriggs.com/blog/2011/01/documentaries-on-japanese-i-400-and-midget-submarines/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>It seems like Japanese WW2 submarine documentary week on PBS &#8230;</p>
<p><a href="http://www.pbs.org/wnet/secrets/features/japanese-supersub-preview-this-episode/546/">&#8220;Japanese SuperSub&#8221;</a> talks about the I-400, which was a 400&#8242; submarine with a hangar large enough for 3 Seyron bombing aircraft, each with a 1,700-pound bomb and a 85&#8242; runway with a steam catapult.</p>
<p>The internal hangar was 11&#8242; wide, so the wings and tailplane had to fold back. The hull had a stealth treatment.</p>
<p>The I-400 was developed to attack the United States, and their first mission was the Panama Canal. That mission was apparently cancelled when Japan realized that it was too hard of a target for a handful of bombers to succeed.</p>
<p>The US captured some of the I-400&#8242;s during the surrender. This was an awkward capture as the Japanese military personnel did not know how to surrender, there was a language barrier, and the American sailors stationed on the I-400 were afraid of being trapped in the subs in case of a dive or scuttle attempt.</p>
<p>Two of the I-400&#8242;s were sent to Pearl Harbor after the war for analysis, and later sunk to hide the technology from Russia.</p>
<p><a href="http://www.pbs.org/wgbh/nova/military/killer-subs-pearl-harbor.html">&#8220;Killer Subs in Pearl Harbor&#8221;</a> talks about the 5 Japanese midget subs were used in the Pearl Harbor attack, with 4 lost fruitlessly, but 1 firing its two torpedos and entering West Loch. It has apparently been found 3 miles offshore.</p>
<p>Likely it was scuttled inside West Loch, but salvaged and dumped in the ocean during a cleanup after the war.</p>
<p><a href="http://www.historynet.com/japans-panama-canal-buster.htm">historynet.com: Japan&#8217;s Panama Canal Buster</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jebriggs.com/blog/2011/01/documentaries-on-japanese-i-400-and-midget-submarines/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SVLUG: Greg Lindahl on Blekko Search Engine</title>
		<link>http://www.jebriggs.com/blog/2010/11/svlug-greg-lindahl-on-blekko-search-engine/</link>
		<comments>http://www.jebriggs.com/blog/2010/11/svlug-greg-lindahl-on-blekko-search-engine/#comments</comments>
		<pubDate>Thu, 04 Nov 2010 05:39:36 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Japanese]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[Storage]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Toys]]></category>

		<guid isPermaLink="false">http://www.jebriggs.com/blog/?p=2462</guid>
		<description><![CDATA[Greg Lindahl from Blekko gave a talk tonite at Silicon Valley Linux Users Group (SVLUG.) Blekko is positioned as an alternative search engine to the currently entrenched ones. Some of the alternative features are: slashtags UI feature for end users &#8230; <a href="http://www.jebriggs.com/blog/2010/11/svlug-greg-lindahl-on-blekko-search-engine/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://jebriggs.com/php/blekko.png" alt="blekko logo" align="left" alt="blekko logo" title="blekko logo" />Greg Lindahl from <a href="http://blekko.com/">Blekko</a> gave a talk tonite at <a href="http://www.svlug.org/">Silicon Valley Linux Users Group (SVLUG.)</a></p>
<p>Blekko is positioned as an alternative search engine to the currently entrenched ones.</p>
<p>Some of the alternative features are:</p>
<ul>
<li>slashtags UI feature for end users
<li>enhanced SEO reporting, including incoming links to your competitor sites
<li>currently no ads.
</ul>
<p>Some stats about Blekko:</p>
<ul>
<li>positioned as &#8220;alternative search engine to Google&#8221; with public launch November 1.
<li>project started 3 years ago
<li>Blekko has 21 employees, 19 of them engineers
<li>$20 million in funding. Ron Conway is an angel investor.
<li>$5 million of that spent on hardware, including 700 servers and 5 PB storage (1/3 used currently) managed with Greg&#8217;s provisioning tools (a version Open Sourced in 1999). Nice monitoring.
<li>hard to think of a good domain/company name. blekko.com was a domain name held by a founder, izak.com was another candidate (too boring.)
<li>servers here and in New Jersey. Nice to have in Europe to reduce latency.
<li>They use servers with <a href="http://www.intel.com/design/flash/nand/mainstream/index.htm">Intel X25-M 160 GB SSD.</a> Only 1% of available write cycles used after 3 months of operation.
</ul>
<p>They wrote their own &#8220;eventually consistent&#8221; cluster software called PM, as Hadoop and Cassandra were not awesome enough 3 years ago and they need to know every line of the source code anyway. He would like to Open Source PM, but that&#8217;s up to the board.</p>
<p>Perl/XS and C are used, no Java. They made a sharded architecture with 3 copies of data the goal.</p>
<p>Currently they crawl Top 3 billion pages, and need to expand hardware by 5x to crawl and store entire web. No rush.</p>
<p>To fill in more rare queries, they use <a href="http://developer.yahoo.com/search/boss/">Yahoo! Search BOSS</a> (<a href="http://www.google.com/cse/">Google Custom Search Engine (CSE)</a> is not available now except to large partners.)</p>
<p>They try to focus on core search technology and not get distracted by things which can be outsourced. An example might be to outsource an online calculator UI instead of re-inventing the wheel.</p>
<p>Each page has 100 metrics computed for it, including things like number of unique links per Class C and freshness.</p>
<p>Greg said that provisioning software not only needs to do initial configuration of servers, but also detect and repair changes. One concern is a rogue root process or user that can change anything.</p>
<p>Mahalo has banned them in robots.txt (Blekko&#8217;s crawler identifies itself as ScoutJet):<br />
<code><br />
# ScoutJet has been ill-behaved in the past.<br />
# They'll fix it soon..<br />
User-agent: ScoutJet<br />
Disallow: /<br />
</code></p>
<p>Blekko plans to crawl trending SEO-bait sites like ehow.com for statistical purposes, but not necessarily to link them in organic search results.</p>
<p>PowerSet&#8217;s algorithms/calculations were too slow, lucky to get bought out.</p>
<p>Blekko might have used the wikipedia corpus for crawler testing earlier on, but the live Internet is used for everything now.</p>
<p>Next stage is to work on UI and other user features.</p>
<p>Thanks to Symantec for hosting the meeting once again.</p>
<p><a href="http://techcrunch.com/tag/blekko/">techcrunch.com: blekko</a><br />
<a href="http://www.azreporter.com/news/index.php?itemid=895">azreporter.com: Blekko&#8217; ScoutJet Begins Web Crawl</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jebriggs.com/blog/2010/11/svlug-greg-lindahl-on-blekko-search-engine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk (enhanced)
Database Caching 1/45 queries in 0.010 seconds using disk
Object Caching 719/805 objects using disk

Served from: www.jebriggs.com @ 2012-02-06 05:21:25 -->
