<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>fsck -vf /dev/hdc1 &gt; log</description><title>Logbook</title><generator>Tumblr (3.0; @ckunte)</generator><link>http://log.ckunte.net/</link><item><title>Howto Chisel</title><description>&lt;a href="https://github.com/ckunte/chisel"&gt;Howto Chisel&lt;/a&gt;: &lt;p&gt;I have now added a detailed no-brainer README for anyone to pick the code up and generate a static site from scratch.&lt;sup id="fnref:p23479053782-1"&gt;&lt;a href="#fn:p23479053782-1" rel="footnote"&gt;1&lt;/a&gt;&lt;/sup&gt; I’ve also added support for title-less posts, the instruction for which I’ve written up in the README as well. Feel free to hack/fork the code and create your own theme.&lt;/p&gt;

&lt;div class="footnotes"&gt;
&lt;hr&gt;&lt;ol&gt;&lt;li id="fn:p23479053782-1"&gt;
&lt;p&gt;The only thing I haven’t included is the &lt;a href="http://static.tumblr.com/alo5kxw/Cwxm3a7mk/style.css"&gt;style.css&lt;/a&gt; file to go with the templates layout. &lt;a href="#fnref:p23479053782-1" rev="footnote"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;/ol&gt;&lt;/div&gt;</description><link>http://log.ckunte.net/post/23479053782</link><guid>http://log.ckunte.net/post/23479053782</guid><pubDate>Mon, 21 May 2012 10:25:07 -0400</pubDate><category>python</category></item><item><title>Why you might want to learn to program</title><description>&lt;a href="http://rc3.org/2012/05/15/why-you-might-want-to-learn-to-program/"&gt;Why you might want to learn to program&lt;/a&gt;: &lt;p&gt;The story shared by Rafe inspired me to share a couple of my own.&lt;/p&gt;

&lt;hr&gt;&lt;p&gt;We were working on an asset integrity assessment project, many years ago, for a super major energy company in the region. The job was to provide a health check of their fixed offshore platforms — about 23 in all.&lt;/p&gt;

&lt;p&gt;Our job was to first build non-linear 3D stress models, and use them to check these structures, using the two popular engineering software, SACS and USFOS. While most analytical work could be done with SACS, we could not perform reserve strength analysis. That required USFOS. Given that SACS and USFOS had different formats, and with no converter available, we faced a prospect of rebuilding models for both tools by hand. We would have had to build 23 additional models — if not for an engineer. He single-handedly wrote a successful program to convert a computer model from SACS to USFOS, in three days, translating all model information — node, element, geometry, material, element properties, offsets, eccentricities, loads, load combinations, and end fixities.&lt;/p&gt;

&lt;p&gt;One needs to bear in mind that the company had no programmers. Even today, they don’t. Everyone is an engineer—hardwired to use a commercial software. It is also common practice in our industry to discourage programming, because a computer program requires validation and quality assurance. The cost of not doing is a recipe for disaster. He did it anyway, and not only because there wasn’t any other way we could avert loss of time and extra effort, but also because he could. By empowering us, he brought our delivery dates from red in to green.&lt;/p&gt;

&lt;hr&gt;&lt;p&gt;The other example comes to mind was when I joined this super major a few years later, and started working on the turret-mooring design of its flagship project, FLNG. I was running analysis using Marin’s DYNFLOAT software. DYNFLOAT produced output in binary, and a bunch of output listing files. Because the analysis was done in time-domain, the number of seed runs were numerous, requiring collation, and generating a summary of results to derive statistical mean values. Seeing my helplessness in the time it took me to post-process results, my naval architect colleague rolled her sleeves up, and got down to business. Within a few days, she emerged with a couple of scripts she wrote in Matlab.&lt;sup id="fnref:p23163618120-1"&gt;&lt;a href="#fn:p23163618120-1" rel="footnote"&gt;1&lt;/a&gt;&lt;/sup&gt; It would pick all my binary output up to generate beautiful results that I could simply scan and report.&lt;/p&gt;

&lt;p&gt;I spent the last four years of my life designing mooring systems for large floating vessels — both in shallow and in deepwater. FLNG’s mooring design as it is today is more or less the same design that she and I developed together in 2008-9 before the project went into front-end design, and now into execution. In all these four years, I’ve used this script for thousands of simulations I generated for maturing a number similar projects in the development funnel, saving me hundreds and hundreds of cumulative post-processing hours. I can never be grateful enough for her timely help.&lt;/p&gt;

&lt;hr&gt;&lt;p&gt;As Rafe says:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Programming empowers you to remove annoyances from your daily life.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Not only does it allow you to test your understanding of how systems work, and force you to think how they &lt;em&gt;ought&lt;/em&gt; to work when you code, but also help you automate the things you do not want to spend repetitive time on, and use that saved time instead for something even more rewarding.&lt;/p&gt;

&lt;div class="footnotes"&gt;
&lt;hr&gt;&lt;ol&gt;&lt;li id="fn:p23163618120-1"&gt;
&lt;p&gt;She determined the structure of the binary results by investigation—using sparse documentation and by systematically querying the file. She then used the thus determined structure to do the stat and math that would give me a summary of the results I sought. &lt;a href="#fnref:p23163618120-1" rev="footnote"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;/ol&gt;&lt;/div&gt;</description><link>http://log.ckunte.net/post/23163618120</link><guid>http://log.ckunte.net/post/23163618120</guid><pubDate>Wed, 16 May 2012 09:48:00 -0400</pubDate><category>quote</category></item><item><title>"Programming as a profession is only moderately interesting..You’re much better off using code..."</title><description>“Programming as a profession is only moderately interesting..You’re much better off using code as your secret weapon in another profession.”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;&lt;a href="http://learnpythonthehardway.org/book/advice.html"&gt;Zed Shaw&lt;/a&gt;&lt;/em&gt;</description><link>http://log.ckunte.net/post/23137476598</link><guid>http://log.ckunte.net/post/23137476598</guid><pubDate>Tue, 15 May 2012 20:59:35 -0400</pubDate><category>quote</category></item><item><title>Tinkering Chisel</title><description>&lt;p&gt;While I&amp;#8217;m not leaving &lt;a href="http://www.tumblr.com/"&gt;Tumblr&lt;/a&gt;, I am not averse to tinkering with a static site generator script either. Call it Plan B. This for an unlikely event if Tumblr decides to do something I am yet to imagine.&lt;sup id="fnref:p23035004950-1"&gt;&lt;a href="#fn:p23035004950-1" rel="footnote"&gt;1&lt;/a&gt;&lt;/sup&gt; So, I&amp;#8217;ve been trying out &lt;a href="https://github.com/dz/chisel"&gt;Chisel&lt;/a&gt;, written by &lt;a href="https://github.com/dz" title="David Zhou"&gt;David Zhou&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;A few things that jumped at me about Chisel, in spite of the fact that there&amp;#8217;s zero documentation, were the following:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Written in Python, a scripting language I am familiar and comfortable with.&lt;/li&gt;
&lt;li&gt;Minimum number of dependencies.&lt;/li&gt;
&lt;li&gt;Code brevity. In less than 150 lines, I can actually read, understand, and modify Chisel.&lt;/li&gt;
&lt;li&gt;Minimalism, and lack of complexity in comparison to, say, the likes of framework based static generators.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;I keep a backup of all my posts in Markdown.&lt;sup id="fnref:p23035004950-2"&gt;&lt;a href="#fn:p23035004950-2" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt; The advantage of this is that I can simply drop these files in a folder, and let Chisel regenerate my entire site in a matter of seconds.&lt;/p&gt;

&lt;h3&gt;How-to&lt;/h3&gt;

&lt;p&gt;Chisel needs a few packages for it to function. But before they can be installed, one needs &lt;code&gt;pip&lt;/code&gt;, a python package installer. On &lt;a href="http://www.debian.org/"&gt;Debian&lt;/a&gt;, it can be installed thus:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;sudo apt-get install pip-python
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;On the Mac, you can install pip this way:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;sudo easy_install pip
&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;Install python packages&lt;/h3&gt;

&lt;ul&gt;&lt;li&gt;&lt;a href="http://jinja.pocoo.org/" title="A full featured template engine for Python."&gt;Jinja2&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://daringfireball.net/projects/markdown/"&gt;Markdown&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://pypi.python.org/pypi/mdx_smartypants" title="Python-Markdown extension using smartypants to emit typographically nicer quotes, proper em and en dashes, etc."&gt;mdx_smartypants&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://pypi.python.org/pypi/PyRSS2Gen" title="A Python library for generating RSS 2.0 feeds."&gt;PyRSS2Gen&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Using &lt;code&gt;pip&lt;/code&gt;, install these:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;sudo pip install jinja2 markdown 
sudo pip install mdx_smartypants PyRSS2Gen
&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;Create a site structure&lt;/h3&gt;

&lt;pre&gt;&lt;code&gt;~/site
    /posts
    /www
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Write posts in Markdown and park them in the sub-folder &lt;code&gt;posts&lt;/code&gt; , e.g., &lt;code&gt;chiseling.markdown&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;Post pre-format&lt;/h3&gt;

&lt;p&gt;All posts require a minimal pre-formatted information for the posts to be parsed into their HTML equivalents by Chisel. Following is the structure of a post:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Post title
m/d/Y
[blank line]
Content here onward.
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Date in the second line needs to be input as e.g., &lt;code&gt;5/14/2012&lt;/code&gt; by default. (Note: Chisel does not support taxonomy, and therefore, there are no fields for categories or tags in the above.)&lt;/p&gt;

&lt;h3&gt;Download Chisel&lt;/h3&gt;

&lt;p&gt;Download chisel under &lt;code&gt;~/site&lt;/code&gt; folder, so its path would be &lt;code&gt;~/site/chisel&lt;/code&gt; as below:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;git clone git://github.com/dz/chisel.git
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;a href="https://github.com/ckunte/chisel" title="Chisel: ckunte's fork."&gt;My fork&lt;/a&gt; includes the following that didn&amp;#8217;t exist in the original:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;a href="http://daringfireball.net/projects/smartypants/"&gt;Smartypants&lt;/a&gt; content parsing to emit typographically nicer quotes, proper em and en dashes, etc.&lt;/li&gt;
&lt;li&gt;A shorter (just year based) permalink structure.&lt;/li&gt;
&lt;li&gt;RSS feed generator script (Hat-tip: &lt;a href="https://github.com/ronjouch"&gt;Ronan Jouchet&lt;/a&gt;).&lt;/li&gt;
&lt;/ul&gt;&lt;h3&gt;Edit chisel.py to update settings&lt;/h3&gt;

&lt;p&gt;There are a few things to set in the single file, &lt;code&gt;chisel.py&lt;/code&gt;, which can be edited to suit. Once done, write a post, park the file with &lt;code&gt;.markdown&lt;/code&gt; extension under &lt;code&gt;~/site/posts&lt;/code&gt; folder, and then run the following command:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;python ~/site/chisel/chisel.py
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;And the static site will be generated in the &lt;code&gt;www&lt;/code&gt; folder. This can then be synced to a web host, either manually, or via a cron job.&lt;/p&gt;

&lt;h3&gt;Serve it&lt;/h3&gt;

&lt;p&gt;Once chisel churns out the posts into html files, the next obvious thing is to serve it. The beauty of generating a site with chisel is that you don&amp;#8217;t need &lt;code&gt;mod_rewrite&lt;/code&gt;. And once you don&amp;#8217;t need it, then running Apache or even nginx feels like an overkill on a home server. Instead here&amp;#8217;s what I do. Run the following in a Terminal:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;cd ~/site/www
python -m SimpleHTTPServer
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Then point my browser to &lt;code&gt;http://localhost:8000&lt;/code&gt;. The default port the webserve listens to is 8000. If you&amp;#8217;re looking for serving without the port part of the URL (like &lt;code&gt;http://localhost&lt;/code&gt;) instead, then you&amp;#8217;ll need to run it in sudo, like this:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;sudo python -m SimpleHTTPServer 80
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Want the terminal free, while leaving the server running until you shutdown? Then append it with an ampersand:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;sudo python -m SimpleHTTPServer 80 &amp;amp;
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;&lt;p&gt;I wrote a tiny &lt;a href="http://log.ckunte.net/post/17763810505" title="Snippets"&gt;snippet&lt;/a&gt; in Gedit (under Markdown snippets) to automate the pre-formatted template, and assigned a trigger, &lt;code&gt;ct&lt;/code&gt; to this.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_m40hws8GJU1qawedd.png" alt=""/&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$(1:echo $GEDIT_CURRENT_DOCUMENT_NAME)
$(2:date +%m/%d/%Y)
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;When I open a new &lt;code&gt;.markdown&lt;/code&gt; file in Gedit, type &lt;code&gt;ct&lt;/code&gt; and hit tab, line one above picks up the name of the file, and line 2, the date&amp;#8212;as required.&lt;sup id="fnref:p23035004950-3"&gt;&lt;a href="#fn:p23035004950-3" rel="footnote"&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

&lt;p&gt;I am yet to tinker with its templating engine, &lt;a href="http://jinja.pocoo.org/" title="A full featured template engine for Python."&gt;Jinja2&lt;/a&gt;, but I like what I see. It looks straightforward, and I don&amp;#8217;t expect it to vex my learning curve. Plan to work on this over next weekend.&lt;/p&gt;

&lt;p&gt;Update: I worked on my layout, and was surprised that it required less than half the markup I thought it would need. Awesome. Here&amp;#8217;s a screenshot.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_m4bk9eWsj91qawedd.png" alt=""/&gt;&lt;/p&gt;

&lt;div class="footnotes"&gt;
&lt;hr&gt;&lt;ol&gt;&lt;li id="fn:p23035004950-1"&gt;
&lt;p&gt;Be acquired; become evil over time; or simply close shop. &lt;a href="#fnref:p23035004950-1" rev="footnote"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:p23035004950-2"&gt;
&lt;p&gt;For those I don&amp;#8217;t, there&amp;#8217;s an easy markup converter called &lt;a href="http://johnmacfarlane.net/pandoc/" title="A universal document converter."&gt;pandoc&lt;/a&gt; by John Macfarlane. &lt;a href="#fnref:p23035004950-2" rev="footnote"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:p23035004950-3"&gt;
&lt;p&gt;I suppose, I could do this on a Mac using TextExpander or TextMate as well. &lt;a href="#fnref:p23035004950-3" rev="footnote"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;/ol&gt;&lt;/div&gt;</description><link>http://log.ckunte.net/post/23035004950</link><guid>http://log.ckunte.net/post/23035004950</guid><pubDate>Sun, 13 May 2012 19:02:00 -0400</pubDate><category>python</category><category>blogging</category></item><item><title>I tend to write directly on my server whenever I use the iPod....</title><description>&lt;img src="http://24.media.tumblr.com/tumblr_m3x4u58iUY1qaditfo1_r1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;I tend to write directly on my server whenever I use the iPod. This is better than going via the cloud sync. But Vim in its default mode tends to break words, and I need to run this to get non-breaking word wrap:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;:set lbr
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;I avoid setting this permanently in .vimrc as &lt;code&gt;set lbr&lt;/code&gt; because that isn’t convenient for writing or editing code.&lt;/p&gt;

&lt;p&gt;There are times when I do not like carrying my laptop, and occasionally this becomes my sole rig. But every time I use it, I wonder why I need a computer.&lt;sup id="fnref:p22909224475-1"&gt;&lt;a href="#fn:p22909224475-1" rel="footnote"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

&lt;div class="footnotes"&gt;
&lt;hr&gt;&lt;ol&gt;&lt;li id="fn:p22909224475-1"&gt;
&lt;p&gt;There are a couple of offline apps I could use, viz., &lt;a href="http://www.secondgearsoftware.com/elements/"&gt;Elements&lt;/a&gt; and &lt;a href="http://dayoneapp.com/"&gt;Day One&lt;/a&gt; that would do well, of course, if you do not have access to a server. I like Vim best because once you configure the server with the choicest of Vim plugins, it becomes pretty powerful, all without the UI bloat. &lt;a href="#fnref:p22909224475-1" rev="footnote"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;/ol&gt;&lt;/div&gt;</description><link>http://log.ckunte.net/post/22909224475</link><guid>http://log.ckunte.net/post/22909224475</guid><pubDate>Sat, 12 May 2012 20:48:48 -0400</pubDate></item><item><title>Changes you won't notice</title><description>&lt;p&gt;This log has been on a quote overdrive lately. In my enthusiasm to share, I realized I was crowding my own voice in the process. So, I will be cutting down&amp;#8212;moving them instead to my private bookmarking account.&lt;/p&gt;

&lt;p&gt;The other thing I want to do is to keep my gripes in check. They bother me more than they bother you, because a sense of helplessness isn&amp;#8217;t what I want to share here. Believe me that kind of stuff exists wherever you look.&lt;/p&gt;

&lt;p&gt;What I&amp;#8217;ve always liked is making this more about positivity and unbridled enthusiasm. One way I measure this is by reading my dated stuff, and see if it makes me feel like it has been a positive contribution overall. Looking at my posts here, by and large, I think I&amp;#8217;ve succeeded. That said, a well reasoned long form of writing isn&amp;#8217;t possible every day. But I promise I&amp;#8217;ll do my best to share, whenever it is I &lt;em&gt;do&lt;/em&gt; have something to.&lt;/p&gt;

&lt;p&gt;The other aspect of this log is about aesthetics. I spend an insane amount of time on presentation, legibility, words per line, line-height, and colors towards making it a good reading experience. While some think my single column may be too narrow, I think I&amp;#8217;ve found a sweet spot that doesn&amp;#8217;t stray your focus away when you&amp;#8217;re reading. Also, there are no ads, no tracking, no social buttons, nothing to promote, and nobody to influence. This is a labor of love, so if it aims to earn anything, then I hope it&amp;#8217;s goodwill.&lt;/p&gt;</description><link>http://log.ckunte.net/post/21974482917</link><guid>http://log.ckunte.net/post/21974482917</guid><pubDate>Sat, 28 Apr 2012 10:43:39 -0400</pubDate><category>personal</category></item><item><title>Automating parts of command-line git</title><description>&lt;p&gt;&lt;strong&gt;Add files&lt;/strong&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;git add %|
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;code&gt;%|&lt;/code&gt; places the cursor at the intended position. If you don&amp;#8217;t add individual files, then replace it with the following (to add all files in the folder):&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;git add .%key:enter%
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;strong&gt;Commit updates&lt;/strong&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;git commit -a -m '%|.'
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Placing the cursor ready to input commit message.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Check status&lt;/strong&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;git status%key:enter%
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;strong&gt;Push updates to origin&lt;/strong&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;git push -u origin master%key:enter%
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;From last two, note that you can include keystrokes too. So, the moment I hit &lt;code&gt;;gp&lt;/code&gt; (my trigger for &lt;code&gt;git push&lt;/code&gt; command), &lt;a href="http://smilesoftware.com/TextExpander/"&gt;TextExpander&lt;/a&gt; takes my pre-assigned trigger-to-command and pushes it to my (origin) repository&amp;#8212;all without requiring the need to press enter manually.&lt;/p&gt;

&lt;h3&gt;Download&lt;/h3&gt;

&lt;p&gt;Download from my &lt;a href="https://github.com/ckunte/te"&gt;GitHub repository&lt;/a&gt; into TextExpander as &lt;a href="https://raw.github.com/ckunte/te/master/git.textexpander"&gt;Add Group from URL&lt;/a&gt;.&lt;/p&gt;</description><link>http://log.ckunte.net/post/21643671100</link><guid>http://log.ckunte.net/post/21643671100</guid><pubDate>Mon, 23 Apr 2012 09:14:00 -0400</pubDate><category>git</category><category>textexpander</category></item><item><title>Image courtesy: National Geographic, via ASME.

This month marks...</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_m2pzb86m8h1qaditfo1_r6_400.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;span class="credits"&gt;Image courtesy: &lt;a href="http://ngm.nationalgeographic.com/2012/04/titanic/titanic-photography"&gt;National Geographic&lt;/a&gt;, via &lt;a href="http://www.asme.org/kb/news---articles/articles/robotics/new-images-illuminate-the-titanic"&gt;ASME&lt;/a&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;This month marks the centenary of &lt;a href="http://en.wikipedia.org/wiki/RMS_Titanic"&gt;RMS Titanic&lt;/a&gt;, the ill-fated ocean liner that hit an iceberg near 41.44N-50.24W and sank—killing over 1,500 of her passengers in the process.&lt;/p&gt;

&lt;p&gt;Aside from operational issues (poor sighting, late warning, incorrect instructions to change course upon iceberg sighting, and inadequate time to “hard-a-port” around), the subject of my curiosity has long been on what led to the &lt;a href="http://en.wikipedia.org/wiki/Sinking_of_the_RMS_Titanic"&gt;loss of hull integrity&lt;/a&gt; upon collision.&lt;/p&gt;

&lt;p&gt;In 2008, &lt;em&gt;The New York Times&lt;/em&gt; ran &lt;a href="http://www.nytimes.com/2008/04/15/science/15titanic.html?_r=1&amp;pagewanted=all"&gt;a story&lt;/a&gt; titled, “In weak rivets, a possible key to Titanic’s doom”. While this may have been one of the problems, my suspicion—that it wasn’t all of it, and that the key to hull failure was inherently ingrained in mechanical properties of unqualified steel—turned out to be true. Typically, these properties are considered at standard temperature and pressures. Under high temperatures, the molecular grain distribution becomes denser, and vice a versa in cold. In a rectangular plate at low external temperatures, e.g., molecular grain distribution becomes denser at plate’s re-entrant corners, while significantly thinning out at its center—like in magnetism. At a cruising speed of 22knots, her bow plates—brittle due to low temperatures—gave away.&lt;/p&gt;

&lt;p&gt;In an article published by the &lt;a href="http://www.memagazinedigital.org/memagazine/201204#pg40"&gt;ASME&lt;/a&gt; in its Mechanical Engineering magazine this April, titled, “Testing The Titanic’s Steel,” there’s a note by Henry Baumgartner, which suggests it more clearly than ever:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;When the &lt;em&gt;Titanic&lt;/em&gt; samples were also examined with a scanning electron microscope, the grain structure of the steel was found to be very large; the coarse structure made it easier for cracks to propagate. Rivet holes were cold punched, a method no longer allowed (they must now be drilled), nor were they reamed to remove micro-cracks.&lt;/p&gt;
  
  &lt;p&gt;The grain size; the oxygen, sulfur, and phosphorous content of the steel; and the cold punched, unreamed rivet holes were found to have contributed to the breakup of the &lt;em&gt;Titanic&lt;/em&gt;, along with the steel’s relatively low ductility at the freezing point of water.&lt;/p&gt;
&lt;/blockquote&gt;</description><link>http://log.ckunte.net/post/21374353990</link><guid>http://log.ckunte.net/post/21374353990</guid><pubDate>Wed, 18 Apr 2012 09:41:00 -0400</pubDate><category>offshore</category></item><item><title>git for an end-user</title><description>&lt;p&gt;Picture this: you find a good piece of software on &lt;a href="https://github.com/"&gt;github&lt;/a&gt; that you want to use. Typically, you&amp;#8217;ll click on the download button, and uncompress before using it. After a while, the developer pushes an update. To get this update, you&amp;#8217;ll (need to) repeat the above. Here&amp;#8217;s a better way:&lt;/p&gt;

&lt;p&gt;Let&amp;#8217;s assume, just as an example, you&amp;#8217;re looking to download the latest version of my WordPress plugin, &lt;a href="/post/17763891983" title="Small caps WordPress plugin."&gt;small-caps&lt;/a&gt;. &lt;a href="http://en.wikipedia.org/wiki/Secure_Shell"&gt;SSH&lt;/a&gt; into your host, and run the following under &lt;code&gt;wp-content/plugins&lt;/code&gt; folder (This is done just once ever. Updates thereafter do not require to run this):&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;git clone git://github.com/ckunte/small-caps
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;A few months later, let&amp;#8217;s say I update this plugin.&lt;sup id="fnref:p20772780610-1"&gt;&lt;a href="#fn:p20772780610-1" rel="footnote"&gt;1&lt;/a&gt;&lt;/sup&gt; To update your server copy to the latest version, here&amp;#8217;s what you do: SSH into your host, navigate to &lt;code&gt;wp-content/plugins/small-caps&lt;/code&gt; folder, and then run the following:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;git pull
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Another update in a few months? No problem, just run &lt;code&gt;git pull&lt;/code&gt;, and you&amp;#8217;d be up to speed with the latest version.&lt;/p&gt;

&lt;p&gt;Did you know that you can do all of the above for desktop downloads and updates too? All your computer needs is a copy of &lt;a href="http://git-scm.com/download" title="The fast version control system. Download it for your OS."&gt;git&lt;/a&gt;. Whoever said you need to be a developer to use git?&lt;/p&gt;

&lt;div class="footnotes"&gt;
&lt;hr&gt;&lt;ol&gt;&lt;li id="fn:p20772780610-1"&gt;
&lt;p&gt;I presume, you keep track of this repository for updates by subscribing to its &lt;a href="https://github.com/ckunte/small-caps/commits/master.atom" title="Yes, I know, it's an Atom feed. But please play along. Will you?"&gt;RSS&lt;/a&gt; feed. &lt;a href="#fnref:p20772780610-1" rev="footnote"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;/ol&gt;&lt;/div&gt;</description><link>http://log.ckunte.net/post/20772780610</link><guid>http://log.ckunte.net/post/20772780610</guid><pubDate>Mon, 09 Apr 2012 07:17:00 -0400</pubDate><category>git</category></item><item><title>Ron Allum: ‘I have control’</title><description>&lt;a href="http://deepseachallenge.com/the-sub/systems-technology/"&gt;Ron Allum: ‘I have control’&lt;/a&gt;: &lt;p&gt;I am still catching up on the technical details that are trickling out of the deep-sea dive feat that &lt;a href="http://www.nature.com/doifinder/10.1038/nature.2012.10332"&gt;James Cameron&lt;/a&gt; and crew pulled off in the &lt;a href="http://en.wikipedia.org/wiki/Challenger_Deep"&gt;Challenger Deep&lt;/a&gt;, Mariana Trench last week. As a structural engineer, the obvious object of my fascination is the dive submersible, &lt;a href="http://deepseachallenge.com/the-sub/"&gt;Deepsea Challenger&lt;/a&gt;. Not just withstanding, but to be fully operational under &lt;a href="http://www.wolframalpha.com/input/?i=hydrostatic+pressure&amp;a=*FS-_**HydrostaticPressure.p-.*HydrostaticPressure.rho-.*HydrostaticPressure.h--&amp;f2=1141+kg%2Fm%5E3&amp;f=HydrostaticPressure.rho_1141+kg%2Fm%5E3&amp;f3=10898+m&amp;x=7&amp;y=8&amp;f=HydrostaticPressure.h_10898+m&amp;a=*FVarOpt.1-_**-.***HydrostaticPressure.patm---.*--"&gt;1219bar&lt;/a&gt; external &lt;a href="http://en.wikipedia.org/wiki/Fluid_statics"&gt;hydrostatic pressure&lt;/a&gt; at 10.898km below MSL is absolute insanity! Just to give you an order of magnitude, a 1.0bar impulse blast overpressure is all it takes a high strength steel structure to be crushed beyond recognition. Which is why I find this following incredibly fascinating:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;About 70 percent of the sub’s volume is taken up by syntactic foam. Formed of millions of hollow glass microspheres suspended in an epoxy resin, syntactic foam is the only flotation material that can stand up to the incredible pressures in the deep ocean. But when the engineers behind the DEEPSEA CHALLENGER tested the two “full-ocean-depth-rated” foams that were on the market, they proved not to be adequate. In fact they cracked, warped, and compressed, losing buoyancy, and did not have nearly the tensile strength required for the new vehicle to operate under extreme conditions. This was a serious setback to the project. But lead engineer &lt;a href="http://deepseachallenge.com/the-team/ron-allum/"&gt;Ron Allum&lt;/a&gt; then spent 18 months designing a new type of syntactic foam, which has since been dubbed ISOFLOAT and patented. The foam provides the buoyancy James Cameron needs 7 miles (11 kilometers) down, without crushing or warping, and has twice the tensile strength of previous foams, allowing it to be used as the main structural frame of the sub.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The point really is not just its hull, but every exposed element, including its propellers, its lighting, mechanical arms, the connections, all experience this crushing pressure! Making them work under it is some frontier engineering indeed.&lt;/p&gt;</description><link>http://log.ckunte.net/post/20520712241</link><guid>http://log.ckunte.net/post/20520712241</guid><pubDate>Thu, 05 Apr 2012 11:38:00 -0400</pubDate><category>offshore</category></item><item><title>Kill switch</title><description>&lt;p&gt;I spent a few minutes trying to kickstart &lt;a href="/post/17006545865/changing-gears"&gt;my bike&lt;/a&gt; this afternoon, and it wouldn&amp;#8217;t fire up. It always does with one, or at the press of a button. I haven&amp;#8217;t used it this entire week because of a promise I made to my wife. She thinks I can be a speed demon in her absence. It&amp;#8217;s a guy thing; and you have no idea how good that makes me feel. But I had to go to the local grocery store today, and so, I thought, why not?&lt;/p&gt;

&lt;p&gt;Fuel knob: Check. Ignition: Check. Kill switch: Duh. OK, I use it sparingly to kill the engine whenever I&amp;#8217;m in a rush. I must remember to turn it off every time I use it.&lt;/p&gt;

&lt;p&gt;On the upside, with 500km on the odometer, the engine now has a softened growl, which I absolutely love. It now finally feels like a well oiled machine ready to roll. The other thing I did was to take all branding labels off. With clean gun metal finish, it now looks like it just rolled off a steel mill.&lt;/p&gt;</description><link>http://log.ckunte.net/post/20224342939</link><guid>http://log.ckunte.net/post/20224342939</guid><pubDate>Sat, 31 Mar 2012 10:15:00 -0400</pubDate><category>motorcycle</category></item><item><title>When giant trolls take over</title><description>&lt;p&gt;Nearly at the end of their lives, most assets designed in the 70s and the 80s are in their last leg. Business aspiration is to extend lives of these corroded, flooded, fatigued, cracked, and damaged structures by an order of magnitude, 2.0. So, compared to whatever I&amp;#8217;ve worked on in the past, nothing beats this, as asset integrity has gone &lt;em&gt;way&lt;/em&gt; past being just a buzz word. And I am in the thick of this action.&lt;/p&gt;

&lt;p&gt;To back up a bit, API standards, notably those seasoned and dried Working Stress Design types, generally reigned supreme in the industry until &lt;a href="http://en.wikipedia.org/wiki/Hurricane_Katrina"&gt;Katrina&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Hurricane_Rita"&gt;Rita&lt;/a&gt;, one after the other, wrecked havoc on offshore facilities in the Gulf of Mexico in 2005 &amp;#8212; forcing the industry to scramble for a fix. Americans knew that their operational philosophy &amp;#8212; which was to operate normally, shutdown and abandon during a hurricane event, return back to pick up the pieces, and restart &amp;#8212; was really the issue for these wipeouts. It&amp;#8217;s associated with how economics versus risks are tallied in order to go this route.&lt;sup id="fnref:p20170866744-1"&gt;&lt;a href="#fn:p20170866744-1" rel="footnote"&gt;1&lt;/a&gt;&lt;/sup&gt; With philosophy lost in the aftermath&lt;sup id="fnref:p20170866744-2"&gt;&lt;a href="#fn:p20170866744-2" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt;, European proponents of load prediction method, who mostly picked up the already sparingly used and largely ignored load prediction standard, which Americans originally developed, were quick to take this opportunity, and pulled a draft out, and turned it eventually into ISO19902:2007 (Petroleum and natural gas industries &amp;#8212; Fixed steel offshore structures) two years later. (Soon it was forgotten that the generally ambiguous and verbose Eurocode or the British Standard, both of which are BS anyway, had historically failed in offshore applications.) Whoever said technology sees no politics?&lt;/p&gt;

&lt;p&gt;The result is this: an industry&amp;#8217;s leading standard going off its rails in parts.&lt;sup id="fnref:p20170866744-3"&gt;&lt;a href="#fn:p20170866744-3" rel="footnote"&gt;3&lt;/a&gt;&lt;/sup&gt; I present just a couple of key examples; bear with me.&lt;/p&gt;

&lt;p&gt;By the way, I generally think there&amp;#8217;s not much wrong with the standard by itself. It is my belief that the crux of the problem lies with how these partial action factors are prescribed in this standard (basically copy-pasted from an out-of-date, long-in-tooth standard, API RP 2A LRFD) dubiously, if you like, as I present evidence to support this right in this very standard. Here we go.&lt;/p&gt;

&lt;hr&gt;&lt;p&gt;Exhibit A - Clause 7.10.1 New structures:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;When using this international standard for structures that provide less inherent system reserve strength (smaller RSR) for the environmental actions than a typical space frame type structure, the partial action factor for environmental actions shall be increased to yield the same RSR as for a typical space frame type structure.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Translation:&lt;/strong&gt; The only reliable parameter is the RSR. We just piggyback on to this, and introduce our BS where possible. By the way, we actually &lt;em&gt;do&lt;/em&gt; recommend blatant manipulation.&lt;/p&gt;

&lt;p&gt;Not to mention that the statement from the Standard itself is erroneous. To be clear, RSR is the ratio of &lt;em&gt;unfactored&lt;/em&gt; global action leading to structural collapse to &lt;em&gt;unfactored&lt;/em&gt; 100 year global environmental action, i.e.,&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;RSR = ( Fcollapse / F100 )
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;To get a higher RSR, the 100 year global environmental action must be &lt;em&gt;lowered&lt;/em&gt;. That can only be possible if partial action factors for the environment are &lt;em&gt;lowered&lt;/em&gt;, not increased.&lt;/p&gt;

&lt;p&gt;Also, it&amp;#8217;s important to note that the limit state itself is actually derived from &lt;em&gt;unfactored&lt;/em&gt; capacities.  But once something gets notionally established, proponents of the standard take over, and force this load prediction (action factor) methodology down our throats. However, as any practitioner knows, the devil is in the details.&lt;/p&gt;

&lt;p&gt;Generalizing, and standardizing the non-linear stuff by a single partial action factor is ridiculous. Can you, for the love of God, standardize a non-linear, non-uniformly occurring soil, in order to get a handle of its contribution to stiffness using a fixed number? It is simply erroneous to apply this to soil-pile interaction, because it cannot be right. What this erroneous application of partial action factors does is that it actually takes away any room that the soil may have in its capacity for redistributing forces. Bottom line: you cannot treat soil like steel, and I cannot understate it enough on why. But people don&amp;#8217;t want to hear it. Factored gross oversimplification, even if by region, is what this standard tells us to use. And it&amp;#8217;s wrong.&lt;/p&gt;

&lt;p&gt;Seeing this problem breed indiscreetly, warning bells seem to have gone off for Dr Don Murff in 2005 &amp;#8212; a strong supporter of developing and implementing more &amp;#8220;physics based&amp;#8221; methods. He put it in no uncertain terms &amp;#8212; quoting from the OTC 20631 paper on Geotechnical Engineering:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;The API method is a design method, not a prediction method. Using a database to significantly reduce the bias and COV of a method can be easily accomplished (see Olson 1990 and Kraft, 1990) and is not compelling in itself because the same individual load test might be discarded, or included in the database, depending on the investigator.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If I can summarize it in a sentence, it is the implication of statistical misuse, if inadvertently, is what he warns us about, which lead to dangerously unconservative designs by factoring up the soil capacities to limits, thus eroding soil&amp;#8217;s capacity to redistribute loads.&lt;/p&gt;

&lt;hr&gt;&lt;p&gt;Stepping the torture a notch up, here&amp;#8217;s exhibit B in the form of Clause 8.2.4.2 Internal forces due to unfactored actions:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;In some situations it is not possible or appropriate to apply action factors to each of the individual actions, see A.8.1 and 7.8.3. Examples of such situations are transportation, launching or lifting in which substantial dynamic or non-linear effects can occur.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Since you cannot now apply partial actions to different loads, it wants you to generate the internal force (reaction or action effect) from the force applied, and to this, apply a blanket factor of 1.3. &amp;#8220;Usually&amp;#8221;, it says. What does &amp;#8220;usually&amp;#8221; mean, really?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Translation:&lt;/strong&gt; Because we want to keep the concept of partial action factors valid, we allow you to take your right hand around the back of your head to feed yourself from the left.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;What?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;More in Clause 7.8.3 Unfactored actions:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Where actions are time-varying and non-synchronous, the most onerous values of action effects &lt;em&gt;cannot&lt;/em&gt; generally be determined by simply adding factored individual actions.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;What it means is that these partial action factors really are dubious numbers, selectively picked up and given a massage, and manipulated to give a cursory impression that they are somehow optimizing our design. But since they cannot be applied everywhere, it is conveniently skirted with this nonsense, while upping the level of verbosity, which helps in keeping the user confused.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;In some construction and installation situations, the action effects are best computed from unfactored actions and by investigating the sensitivity of the action effects with realistic variations of the governing parameters. The design values of the internal forces, S, may then be obtained by factoring the action effects by the partial action factors given in Clause 8.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And here&amp;#8217;s the kicker:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;If both this method and the one according to 8.2.4.1 [Internal forces due to factored actions] can be applied, that giving the more onerous result shall be used.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Translation:&lt;/strong&gt; We don&amp;#8217;t know what we are prescribing. To be sure, just take the worst, will you?&lt;/p&gt;

&lt;hr&gt;&lt;p&gt;All this in just first 35 out of 620 odd pages makes you wonder how many people have actually bothered to read every clause and rationally think about what&amp;#8217;s prescribed.&lt;/p&gt;

&lt;hr&gt;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; As a feedback to this post, a friend of mine sent this &lt;a href="http://www.bsee.gov/uploadedFiles/BSEE/Research_and_Training/Technology_Assessment_and_Research/AA%20%20TAR%20677%20Code%20Comparison.pdf"&gt;report&lt;/a&gt;, &lt;em&gt;Comparison of API, ISO, and NORSOK Offshore Structural Standards&lt;/em&gt; by DnV for BOEMRE, which is a fascinating document that gets under the skin of each standard using a fine scalpel, and which in my opinion, paints a more rational picture for the rest of us.&lt;/p&gt;

&lt;p&gt;I would like to quote one conclusion in particular from this study, I am ranting about in this post:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;No calibration of safety factors towards probability of failure is documented as background for the safety factors given in the standards. A small structure with few legs/piles has less redundancy than a structure with many legs and piles and correspondingly a higher probability of failure. The designer’s choice of relevant pile capacity calculation method and of related soil shear strength parameters is more important for the overall safety related to pile foundation.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And these conclusions:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;The degree of conservatism or lack of same between API and ISO/NORSOK member cone unity check formulations (with API predicting much lower member utilizations by a factor of more than 2.0) deserves further evaluation.&lt;/p&gt;
  
  &lt;p&gt;A more comprehensive comparison of the principles and methodology employed in arriving at the action/load factors or safety factors in LRFD and WSD methodologies are recommended.&lt;/p&gt;
  
  &lt;p&gt;Doing pile structure interaction based on factorized soil resistance could be very un-conservative by allowing for redistribution of pile forces and thus removing the redundancy in the pile system.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So, take an afternoon off, and read through this, if you&amp;#8217;re in this business.&lt;/p&gt;

&lt;div class="footnotes"&gt;
&lt;hr&gt;&lt;ol&gt;&lt;li id="fn:p20170866744-1"&gt;
&lt;p&gt;This philosophy, by the way, is different from the rest of the world. Rest of world philosophy is operate through the extreme weather, and factor in robustness to sustain greater environmental loads. &lt;a href="#fnref:p20170866744-1" rev="footnote"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:p20170866744-2"&gt;
&lt;p&gt;If this was a case of deliberate ignorance, I don&amp;#8217;t know if anyone noticed. &lt;a href="#fnref:p20170866744-2" rev="footnote"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:p20170866744-3"&gt;
&lt;p&gt;I was actually hoping this standard would &lt;em&gt;help&lt;/em&gt; me in my challenge. &lt;a href="#fnref:p20170866744-3" rev="footnote"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;/ol&gt;&lt;/div&gt;</description><link>http://log.ckunte.net/post/20170866744</link><guid>http://log.ckunte.net/post/20170866744</guid><pubDate>Fri, 30 Mar 2012 11:22:00 -0400</pubDate><category>offshore</category></item><item><title>I am fussy about getting the sense of proportion correct when...</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_m1ned7oBpR1qaditfo1_r5_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;I am fussy about getting the sense of proportion correct when working on concept designs. But much as I love to sketch by hand&lt;sup id="fnref:p20114745642-1"&gt;&lt;a href="#fn:p20114745642-1" rel="footnote"&gt;1&lt;/a&gt;&lt;/sup&gt; on a plain sheet of paper, this need to get the ratio and proportions right always stops me in my tracks.&lt;sup id="fnref:p20114745642-2"&gt;&lt;a href="#fn:p20114745642-2" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

&lt;p&gt;Fortunately, &lt;a href="http://sketchup.google.com/"&gt;SketchUp&lt;/a&gt; lets me have it both ways. I first model my concept in 3D to exact dimensions, and then I apply one of the filters to get my artist’s impression. I then move the exported 2D image into &lt;a href="http://www.apple.com/iwork/keynote/"&gt;Keynote&lt;/a&gt; to get my final viewgraph.&lt;/p&gt;

&lt;div class="footnotes"&gt;
&lt;hr&gt;&lt;ol&gt;&lt;li id="fn:p20114745642-1"&gt;
&lt;p&gt;I absolutely love to produce an artist’s impression, and because my sketches don’t make people cringe. &lt;a href="#fnref:p20114745642-1" rev="footnote"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:p20114745642-2"&gt;
&lt;p&gt;Peel a layer out of any renaissance painting or sketch, and what you’ll see is pure math — geometry of lines and curves of absolute perfection. &lt;a href="#fnref:p20114745642-2" rev="footnote"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;/ol&gt;&lt;/div&gt;</description><link>http://log.ckunte.net/post/20114745642</link><guid>http://log.ckunte.net/post/20114745642</guid><pubDate>Thu, 29 Mar 2012 09:27:20 -0400</pubDate><category>personal</category><category>illustration</category></item><item><title>Github push URL</title><description>&lt;p&gt;If you&amp;#8217;ve got some really old, not-updated repositories, then you might encounter errors that git might spit out because the github url may be out of date. Sometime in the last two years, github updated their url from:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&lt;a href="https://github.com/usrid/proj.git"&gt;https://github.com/usrid/proj.git&lt;/a&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;or&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;git://github.com/usrid/proj
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;to this following:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;git@github.com:usrid/proj.git
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;At first glance, they don&amp;#8217;t look much different, until you spot those subtle changes. I&amp;#8217;ve got a folder full of projects, and as you can imagine a few old projects with old urls. A quick grep check revealed the ones that were out of date.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;grep -r -i "url = " ./*/.git/
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Thankfully, the fix is pretty easy mainly because the structure of a git repository is so simple. Under each git repository is a hidden &lt;code&gt;.git&lt;/code&gt; folder, which contains &lt;code&gt;config&lt;/code&gt; file, which further contains url address of the &lt;code&gt;origin&lt;/code&gt; repository (on github.com). Navigate to the project folder, and then type the following (in Mac OS X) to edit the url:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;open ./.git/config
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;(It looks like this &lt;a href="http://help.github.com/remotes/"&gt;help article&lt;/a&gt; on github is out of date.)&lt;/p&gt;</description><link>http://log.ckunte.net/post/19624231884</link><guid>http://log.ckunte.net/post/19624231884</guid><pubDate>Tue, 20 Mar 2012 08:31:24 -0400</pubDate><category>git</category></item><item><title>A Precious Hour</title><description>&lt;a href="http://www.randsinrepose.com/archives/2012/02/29/a_precious_hour.html"&gt;A Precious Hour&lt;/a&gt;: &lt;blockquote&gt;
  &lt;p&gt;When an engineer becomes a lead or a manager, they create a professional satisfaction gap. They’ve observed this gap long before they became a lead with the question: “What does my boss do all day? I see him running around like something is on fire, but… what does he actually do?” The question gets personal when the now freshly minted manager begins to understand that life as a lead is an endless list of little things that collectively keep you busy, but, in aggregate, don’t feel much like progress.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This is a brilliant post on why personal growth and development needs firm commitment and follow through hands-on work out of your personal (out of office) time.&lt;/p&gt;

&lt;p&gt;Chasing &lt;em&gt;the zone&lt;/em&gt;, I am often distracted enough both at work as well as at home with the immediacy of things that cannot seem to wait another minute in order to find my one of hour a day so I could build something. Fortunately, I have a personal list of things I really want to build, and I am pretty much sold on its value, and what it does to my learning.&lt;/p&gt;

&lt;p&gt;Finding an hour after what looks like a typical burnout day is going to be hard. I am able to find a couple of hours over the weekend — rested and ready to take-on, while the rest of my family is still in bed. But I have come to the conclusion that waiting for doing things over the weekend is just too little or too late. Need to do more. Much more.&lt;/p&gt;</description><link>http://log.ckunte.net/post/19505377662</link><guid>http://log.ckunte.net/post/19505377662</guid><pubDate>Sun, 18 Mar 2012 09:46:51 -0400</pubDate><category>personal</category></item><item><title>Changing locks</title><description>&lt;p&gt;I know I&amp;#8217;m late. Work always takes precedence over extra-curricular activities. These last couple of weeks have been pretty busy. So, I could only manage to sit down for fifteen good minutes today for &lt;a href="/post/17762544957" title="Secure SSH Login."&gt;creating a new pair of keys&lt;/a&gt;, following &lt;a href="https://github.com/blog/1068-public-key-security-vulnerability-and-mitigation" title="Public Key Security Vulnerability and Mitigation."&gt;an alert&lt;/a&gt; from the good folks at &lt;a href="https://github.com/"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I also took this opportunity to &lt;a href="/post/16816358854/custom-cipher" title="Custom cipher."&gt;harden&lt;/a&gt; my key passwords, while I updated the keys that I use for communicating between any two computers I use.&lt;/p&gt;</description><link>http://log.ckunte.net/post/19092720829</link><guid>http://log.ckunte.net/post/19092720829</guid><pubDate>Sat, 10 Mar 2012 21:08:00 -0500</pubDate><category>ssh</category></item><item><title>From fleeting escapes to panning parisian panoramas, the film...</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_m0b7pwbBly1qaditfo1_r2_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;From fleeting escapes to panning parisian panoramas, the film flows like a breath of fresh air. &lt;a href="http://www.imdb.com/title/tt0970179/"&gt;Hugo&lt;/a&gt; isn’t much of a story, as it is about capturing moments in a boy’s life that is drifting away with events that he seems helpless to control. Watching an orphaned child’s unyielding emotional and mental focus on achieving something with or without help to get a very complicated device working, which he believes holds a message from his deceased father, as portrayed by the absolutely brilliant young actor, Asa Butterfield, was awesome. For a twelve year old, Hugo’s philosophy is rock solid when he says:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Maybe that’s why a broken machine always makes me a little sad, because it isn’t able to do what it was meant to do… Maybe it’s the same with people. If you lose your purpose… it’s like you’re broken.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;We enjoyed watching it last night.&lt;/p&gt;</description><link>http://log.ckunte.net/post/18659081562</link><guid>http://log.ckunte.net/post/18659081562</guid><pubDate>Sat, 03 Mar 2012 11:18:00 -0500</pubDate><category>film</category><category>quote</category></item><item><title>Putting TextExpander to work in Mail</title><description>&lt;p&gt;With &lt;a href="/post/17868016173/char-pair-marsedit"&gt;MarsEdit&lt;/a&gt; a joy to write in again &amp;#8212; thanks to &lt;a href="http://smilesoftware.com/TextExpander/"&gt;TextExpander&lt;/a&gt;, I started looking for ways to improve productivity in another app I use everyday: Apple Mail. My problem is much in line with &lt;a href="http://elliotjaystocks.com/blog/using-textexpander-to-conquer-email/" title="Using TextExpander to conquer email."&gt;Elliot Jay Stocks&lt;/a&gt;, when he says the following:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Like many people, I find myself writing the same thing over and over and over again, with very subtle alterations.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Fortunately, &lt;a href="http://debuggable.com/posts/textexpander-and-apple-mail-recipient-name-auto-insertion:48be8683-115c-4197-8ae2-5daa4834cda3" title="TextExpander &amp;amp; Apple Mail recipient name auto insertion"&gt;Felix Geisendörfer&lt;/a&gt; shows how to automate parts of your reply, where for instance, when you hit the reply button, and trigger a TextExpander (AppleScript) snippet, it automatically pulls the name you&amp;#8217;re replying to. Here&amp;#8217;s the snippet I am using, which is entirely based on Felix&amp;#8217;s, with subtle changes in text and number of insert lines:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;tell application "Mail"
    set selected to selection
    set msg to item 1 of selected
    set sentBy to (sender of msg)
    "Hi " &amp;amp; word 1 of sentBy &amp;amp; " -\n"
end tell
&lt;/code&gt;&lt;/pre&gt;</description><link>http://log.ckunte.net/post/18219126299</link><guid>http://log.ckunte.net/post/18219126299</guid><pubDate>Fri, 24 Feb 2012 20:42:11 -0500</pubDate><category>textexpander</category></item><item><title>Auto-pairing for MarsEdit and TextEdit using TextExpander</title><description>&lt;a href="http://brettterpstra.com/auto-pairing-for-marsedit-and-textmate-using-textexpander/"&gt;Auto-pairing for MarsEdit and TextEdit using TextExpander&lt;/a&gt;: &lt;p&gt;&lt;a href="http://brettterpstra.com/"&gt;Brett Terpstra&lt;/a&gt; forks &lt;a href="/post/17868016173/char-pair-marsedit"&gt;my code&lt;/a&gt;, and &lt;a href="https://github.com/ttscoff/Character-pair-autocompletion"&gt;adds&lt;/a&gt; a bit of his own. He notes:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;[I]t takes some AppleScript shenanigans to get the selection from any given program. This is hugely frustrating because “selected text” is handled differently in almost every app, leading to a thousand permutations if you want a universally-capable snippet. However, it works, and the solution that Chetan came up with is a great start on this.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;For a weekend dilettante like me, who merely tries to get-by, this is an honor.&lt;/p&gt;

&lt;p&gt;I am a great fan of Brett’s work, notably &lt;a href="http://markedapp.com/"&gt;Marked&lt;/a&gt; and &lt;a href="http://brettterpstra.com/project/nvalt/"&gt;nvALT&lt;/a&gt;, both of which I use every day. One app lets me completely do away with Microsoft Word, while other lets me use as a one-stop app for all my notes.&lt;/p&gt;

&lt;p&gt;I am grateful to Brett for forking my code, and for looking at ways to improve it.&lt;/p&gt;</description><link>http://log.ckunte.net/post/18009024131</link><guid>http://log.ckunte.net/post/18009024131</guid><pubDate>Tue, 21 Feb 2012 09:07:22 -0500</pubDate><category>quote</category></item><item><title>Re-thinking free</title><description>&lt;p&gt;After years of using free services, we finally saw value in paying for our email.&lt;/p&gt;

&lt;p&gt;Going by how powerful free service offering companies are changing policies to suit their businesses, I anticipate that they&amp;#8217;ll leave no stone unturned in monetizing what they already own about us. I spent some time thinking this through, and concluded that with time, desperation of these companies will go from bad to ugly. The realization was simple: I don&amp;#8217;t want to be part of it.&lt;/p&gt;

&lt;p&gt;If I am able to pay for tooth paste and toilet paper, then why not for email, which costs much less than the two combined annually for my entire family?&lt;/p&gt;</description><link>http://log.ckunte.net/post/18007004026</link><guid>http://log.ckunte.net/post/18007004026</guid><pubDate>Tue, 21 Feb 2012 07:37:49 -0500</pubDate><category>personal</category></item></channel></rss>

