<?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></description><title>zacwe.st</title><generator>Tumblr (3.0; @zacwest)</generator><link>http://zacwe.st/</link><item><title>nexTab adds useful trackpad shortcuts</title><description>&lt;a href="http://click.linksynergy.com/fs-bin/click?id=tspFh8jh3l4&amp;subid=&amp;offerid=146261.1&amp;type=10&amp;tmpid=3909&amp;RD_PARM1=http%3A%2F%2Fitunes.apple.com%2Fus%2Fapp%2Fnextab%2Fid468063641%3Fmt%3D12%2526uo%3D4"&gt;nexTab adds useful trackpad shortcuts&lt;/a&gt;: &lt;p&gt;A lack of extra buttons to configure is one of the trackpad downfalls. Although &lt;a href="http://magicprefs.com/"&gt;Magic Prefs&lt;/a&gt; does a decent job, it doesn’t seem to match Apple gesture recognition.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://click.linksynergy.com/fs-bin/click?id=tspFh8jh3l4&amp;subid=&amp;offerid=146261.1&amp;type=10&amp;tmpid=3909&amp;RD_PARM1=http%3A%2F%2Fitunes.apple.com%2Fus%2Fapp%2Fnextab%2Fid468063641%3Fmt%3D12%2526uo%3D4"&gt;nexTab&lt;/a&gt; fixes that. It adds a few useful trackpad gestures such as:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Switch to left/right tab&lt;/li&gt;
&lt;li&gt;Reload tab&lt;/li&gt;
&lt;li&gt;Close tab&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;I find its shortcuts to be incredibly useful. The next version is going to add a very useful feature:&lt;/p&gt;

&lt;blockquote class="twitter-tweet"&gt;&lt;p&gt;5.0 is coming: Open link in new tab.&lt;/p&gt;— nexTab (@nexTab_) &lt;a href="https://twitter.com/nexTab_/status/196036179391553537" data-datetime="2012-04-28T00:40:42+00:00"&gt;April 28, 2012&lt;/a&gt;&lt;/blockquote&gt;

&lt;p&gt;&lt;script src="//platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;
The browsing experience is significantly improved with these shortcuts alone.&lt;/p&gt;</description><link>http://zacwe.st/post/21965629950</link><guid>http://zacwe.st/post/21965629950</guid><pubDate>Sat, 28 Apr 2012 00:10:00 -0700</pubDate><category>mac</category></item><item><title>Morality clauses in domain registration</title><description>&lt;p&gt;GoDaddy has received a lot of &lt;a href="http://techcrunch.com/2011/12/23/godaddy-no-longer-supports-sopa/"&gt;bad press&lt;/a&gt; for their support of the &lt;a href="http://en.wikipedia.org/wiki/Stop_Online_Piracy_Act"&gt;Stop Online Privacy Act&lt;/a&gt; (SOPA), which they helped write and from whom they are exempt. However, GoDaddy and many other registrars should be avoided for more simple reasons.&lt;/p&gt;

&lt;p&gt;From the GoDaddy &lt;a href="http://www.godaddy.com/agreements/ShowDoc.aspx?pageid=reg_sa"&gt;Legal Agreement&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Go Daddy may also cancel the registration of a domain name, after thirty (30) days, if that name is being used, as &lt;strong&gt;determined by Go Daddy in its sole discretion&lt;/strong&gt;, in association with spam or &lt;strong&gt;morally objectionable activities&lt;/strong&gt;. Morally objectionable activities will include, but &lt;strong&gt;not be limited to&lt;/strong&gt;:&lt;/p&gt;
  
  &lt;ul&gt;&lt;li&gt;Activities designed to defame, embarrass, harm, abuse, threaten, slander or harass third parties;&lt;/li&gt;
  &lt;li&gt;Activities prohibited by the laws of the United States and/or &lt;strong&gt;foreign territories in which you conduct business&lt;/strong&gt;;&lt;/li&gt;
  &lt;li&gt;Activities designed to encourage unlawful behavior by others, such as hate crimes, terrorism and child pornography;&lt;/li&gt;
  &lt;li&gt;Activities that are tortious, &lt;strong&gt;vulgar&lt;/strong&gt;, &lt;strong&gt;obscene&lt;/strong&gt;, invasive of the privacy of a third party, &lt;strong&gt;racially, ethnically, or otherwise objectionable&lt;/strong&gt;;&lt;/li&gt;
  &lt;li&gt;Activities designed to impersonate the identity of a third party; and&lt;/li&gt;
  &lt;li&gt;Activities designed to harm or use unethically minors in any way.&lt;/li&gt;
  &lt;/ul&gt;&lt;/blockquote&gt;

&lt;p&gt;In response, many are switching to Namecheap. This registrar tends to play contrarian with GoDaddy so fortunately they are against SOPA. &lt;del&gt;However, from the Namecheap &lt;a href="http://www.namecheap.com/legal/domains/registration-agreement.aspx"&gt;Registration Agreement&lt;/a&gt;:&lt;/del&gt; (Namecheap has removed their morality clause, see below.)&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;del&gt;Namecheap may also cancel the registration of a domain name, after thirty (30) days, if that name is being used, as &lt;strong&gt;determined by Namecheap in its sole discretion&lt;/strong&gt;, in association with spam or &lt;strong&gt;morally objectionable activities&lt;/strong&gt; (as well as any activities set forth in Section 4 above). Morally objectionable activities will include, but &lt;strong&gt;not be limited to&lt;/strong&gt;&lt;/del&gt;&lt;/p&gt;
  
  &lt;ul&gt;&lt;li&gt;&lt;del&gt;activities designed to defame, embarrass, harm, abuse, threaten, slander or harass third parties;&lt;/del&gt;&lt;/li&gt;
  &lt;li&gt;&lt;del&gt;activities prohibited by the laws of the United States and/or &lt;strong&gt;foreign territories in which you conduct business&lt;/strong&gt;;&lt;/del&gt;&lt;/li&gt;
  &lt;li&gt;&lt;del&gt;activities designed to encourage unlawful behavior by others, such as hate crimes, terrorism and child pornography;&lt;/del&gt;&lt;/li&gt;
  &lt;li&gt;&lt;del&gt;activities that are tortious, &lt;strong&gt;vulgar&lt;/strong&gt;, &lt;strong&gt;obscene&lt;/strong&gt;, invasive of the privacy of a third party, &lt;strong&gt;racially, ethnically, or otherwise objectionable&lt;/strong&gt;; activities designed to impersonate the identity of a third party;&lt;/del&gt;&lt;/li&gt;
  &lt;li&gt;&lt;del&gt;and activities designed to harm or use unethically minors in any way. /del&amp;gt;&lt;/del&gt;&lt;/li&gt;
  &lt;/ul&gt;&lt;/blockquote&gt;

&lt;p&gt;Both have nearly identical language. These clauses leave a bitter taste in my mouth.&lt;/p&gt;

&lt;p&gt;Should I really be held to the backwards laws of &amp;#8220;foreign territories in which you conduct business&amp;#8221;? Software sales are global, I interact with many customers in very dangerous nations.&lt;/p&gt;

&lt;p&gt;Who determines what is &amp;#8220;objectionable&amp;#8221;? Certainly the test should be &lt;em&gt;legality&lt;/em&gt; not &lt;em&gt;questionability&lt;/em&gt;. The internet is the backbone of the economy and vital for freedom of expression. Depending upon corporations like this, &lt;em&gt;especially&lt;/em&gt; those in violent support of SOPA, leaves wide a huge vulnerability in communication.&lt;/p&gt;

&lt;p&gt;Let&amp;#8217;s not get started on &lt;a href="http://en.wikipedia.org/wiki/Larry_Flynt"&gt;obscene&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;What can you do about it? Support a better registrar. I use &lt;a href="https://www.gandi.net"&gt;Gandi&lt;/a&gt; whose motto is &amp;#8220;&lt;a href="http://en.gandi.net/no-bullshit"&gt;no bullshit&lt;/a&gt;&amp;#8221;. &lt;del&gt;No morality clause&lt;/del&gt;, and easy-to-read legal agreements.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Addendum&lt;/strong&gt; (2011-12-25): As pointed out in &lt;a href="http://news.ycombinator.com/item?id=3388928"&gt;this Hacker News thread&lt;/a&gt;, Gandi has a &lt;a href="https://www.gandi.net/static/contracts/en/g2/pdf/MSA-1.0-EN.pdf"&gt;similar clause&lt;/a&gt;. &lt;a href="https://www.hover.com/"&gt;Hover&lt;/a&gt; (Tucows) &lt;a href="http://www.opensrs.com/docs/contracts/exhibita.htm"&gt;doesn&amp;#8217;t feature&lt;/a&gt; any of these crazy terms. A statement from the GM of Hover discusses &lt;a href="http://news.ycombinator.com/item?id=3390472"&gt;why these clauses exist&lt;/a&gt; and why they don&amp;#8217;t have them:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Generally, most of the power a registrar requires to prevent the bad guys from doing bad things comes from national laws and not all these extra clauses. We (Hover/Tucows) find that all these extra conditions just make it harder for our customers to do business with us and so we&amp;#8217;ve left out as much as we can and rely mostly on national laws to get what we need done.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Addendum&lt;/strong&gt; (2011-12-29): Namecheap has &lt;a href="https://twitter.com/Namecheap/status/152459333635014657"&gt;removed their morality clause&lt;/a&gt;. I am happy to have effected change on this issue, and it is a move in the right direction. :)&lt;/p&gt;</description><link>http://zacwe.st/post/14704028321</link><guid>http://zacwe.st/post/14704028321</guid><pubDate>Fri, 23 Dec 2011 19:54:00 -0800</pubDate><category>domains</category><category>freedom</category></item><item><title>“One Piece” consistently proves itself to be...</title><description>&lt;img src="http://24.media.tumblr.com/tumblr_lvvbsxDDdA1qa2p4to1_r2_400.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;“One Piece” consistently proves itself to be hilarious and full of amazing content and plot lines.&lt;/p&gt;</description><link>http://zacwe.st/post/13908918626</link><guid>http://zacwe.st/post/13908918626</guid><pubDate>Wed, 07 Dec 2011 20:51:00 -0800</pubDate><category>anime</category><category>manga</category></item><item><title>Migrating from Kindle to iBooks</title><description>&lt;p&gt;I started off reading eBooks from the Amazon Kindle store. As time has progressed, I&amp;#8217;ve found myself using my physical Kindle less and less. Partly because I forget to charge it, and partly because I can never get the lighting in my favorite reading locations quite right. And at night? Forget about it.&lt;/p&gt;

&lt;p&gt;So I&amp;#8217;ve converted all of my Kindle purchases to ePubs for use in iBooks. I could use the Kindle app for iOS but I&amp;#8217;ve found iBooks to be faster at syncing read position, and it feels a lot more natural to use.&lt;/p&gt;

&lt;p&gt;Since I went through the effort of converting all of my Kindle documents, I figured I&amp;#8217;d write a mini guide to getting it done. I&amp;#8217;m specifically focusing on the Mac since that&amp;#8217;s all I know; other users will have to venture elsewhere.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Setting up Calibre&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Calibre is a Java application which is an eBook management suite. It&amp;#8217;s a bit ugly but it does what it says and works sufficiently enough&lt;sup id="fnref:p11412777535-growlbug"&gt;&lt;a href="#fn:p11412777535-growlbug" rel="footnote"&gt;1&lt;/a&gt;&lt;/sup&gt;. Since the Kindle&amp;#8217;s eBooks are encrypted&lt;sup id="fnref:p11412777535-encrypted"&gt;&lt;a href="#fn:p11412777535-encrypted" rel="footnote"&gt;2&lt;/a&gt;&lt;/sup&gt;, we need to install a decryption plugin to do the heavy lifting there.&lt;/p&gt;

&lt;ol&gt;&lt;li&gt;Download and install &lt;a href="http://calibre-ebook.com/"&gt;Calibre&lt;/a&gt;. &lt;/li&gt;
&lt;li&gt;Download and decompress the &lt;a href="http://apprenticealf.wordpress.com/"&gt;DeDRM&lt;/a&gt; archive.&lt;/li&gt;
&lt;li&gt;Open Calibre&amp;#8217;s preferences (&lt;code&gt;⌘,&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Go to &amp;#8220;Plugins&amp;#8221;.&lt;/li&gt;
&lt;li&gt;Click &amp;#8220;Load plugin from file&amp;#8221;.&lt;/li&gt;
&lt;li&gt;Choose the K4MobileDeDRM plugin&amp;#8217;s zip file (zip within the main zip; don&amp;#8217;t extract).&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;strong&gt;Getting eBooks&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The DeDRM scripts work by understanding &lt;a href="http://www.amazon.com/gp/kindle/mac"&gt;Kindle for Mac&lt;/a&gt;&amp;#8217;s settings files, so to get the eBooks we need use the application. There are scripts to do conversions directly from Kindle hardware&amp;#8217;s eBooks, but it&amp;#8217;s more effort.&lt;/p&gt;

&lt;ol&gt;&lt;li&gt;Download &lt;a href="http://www.amazon.com/gp/kindle/mac"&gt;Kindle for Mac&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Register it with your account.&lt;/li&gt;
&lt;li&gt;Download all of your eBooks (open them from the &amp;#8220;Archived Items&amp;#8221;).&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;strong&gt;Converting eBooks&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Kindle eBooks are in the &lt;a href="http://en.wikipedia.org/wiki/Mobipocket"&gt;MobiPocket&lt;/a&gt; format. However, iBooks requires &lt;a href="http://en.wikipedia.org/wiki/EPUB"&gt;ePub&lt;/a&gt;, so we need to both decrypt and convert the files. At this point, we&amp;#8217;ve got all we need, so we can use Calibre to do the conversion.&lt;/p&gt;

&lt;ol&gt;&lt;li&gt;Navigate to &lt;code&gt;~/Library/Application Support/Kindle/My Kindle Content/&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Drag all of the &lt;code&gt;.azw&lt;/code&gt; files into the Calibre window.&lt;/li&gt;
&lt;li&gt;Select the books in the Calibre window which you wish to export.&lt;/li&gt;
&lt;li&gt;Click the &amp;#8220;Convert books&amp;#8221; toolbar item.&lt;/li&gt;
&lt;li&gt;Choose &amp;#8220;ePub&amp;#8221; as the output format in the top-right of the convert window.&lt;/li&gt;
&lt;li&gt;Go to the &amp;#8220;Page Setup&amp;#8221; item in the left list, and configure the conversion as so:

&lt;ol&gt;&lt;li&gt;Select &amp;#8220;Kindle&amp;#8221; as the input profile.&lt;/li&gt;
&lt;li&gt;Select &amp;#8220;iPad&amp;#8221; as the output profile.&lt;/li&gt;
&lt;/ol&gt;&lt;/li&gt;
&lt;li&gt;Hit the &amp;#8220;OK&amp;#8221; button to begin the conversion. It may take a while.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;If you have any issues at the decryption step, you should delete your &lt;code&gt;~/Library/Application Support/Kindle&lt;/code&gt; folder and start again.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Enjoy&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can now &amp;#8220;Save to disk&amp;#8221; from the toolbar item to save the books which you&amp;#8217;ve converted, and import them into iTunes for use in iBooks. Calibre is powerful enough to do many other formats if you want to use other devices as well.&lt;/p&gt;

&lt;p&gt;Remember, don&amp;#8217;t post any of the unencrypted documents anywhere. Just because the DRM is gone doesn&amp;#8217;t mean you&amp;#8217;re legally authorized to do so. They&amp;#8217;re for your personal use only.&lt;/p&gt;

&lt;div class="footnotes"&gt;
&lt;hr&gt;&lt;ol&gt;&lt;li id="fn:p11412777535-growlbug"&gt;
&lt;p&gt;At the time of writing this, Calibre crashes if you&amp;#8217;re using &lt;a href="http://growl.info"&gt;Growl 1.3&lt;/a&gt;. Enable the preference &amp;#8220;Disable notifications in system tray&amp;#8221; in the &lt;em&gt;Look and Feel&lt;/em&gt; section. I love preferences that act as an inverse. &lt;a href="#fnref:p11412777535-growlbug" rev="footnote"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:p11412777535-encrypted"&gt;
&lt;p&gt;The encryption used on Kindle books is fairly basic. The &lt;a href="http://en.wikipedia.org/wiki/Key_(cryptography)"&gt;decryption key&lt;/a&gt; is a product of the serial number for your device, so it&amp;#8217;s not difficult to determine. &lt;a href="#fnref:p11412777535-encrypted" rev="footnote"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;/ol&gt;&lt;/div&gt;</description><link>http://zacwe.st/post/11412777535</link><guid>http://zacwe.st/post/11412777535</guid><pubDate>Thu, 13 Oct 2011 16:45:11 -0700</pubDate><category>ios</category></item><item><title>I’ve purchased each iPhone since the first one I owned,...</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_lswrjzRX6I1qa2p4to1_250.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;I’ve purchased each iPhone since the first one I owned, the iPhone 3G. The experience of pre-ordering online is so significantly better than camping outside the store from the wee-hours of the morning that I can’t even describe. Perhaps a bit less fun, though.&lt;/p&gt;

&lt;p&gt;For the first time I’m also leaving AT&amp;T. Although their service is acceptable, their coverage, customer service and increasingly ridiculous pricing plans&lt;sup id="fnref:p11318116438-plans"&gt;&lt;a href="#fn:p11318116438-plans" rel="footnote"&gt;1&lt;/a&gt;&lt;/sup&gt; are too much for me to handle. To Verizon I go, where I hope the LTE experience in a subsequent iPhone makes playing the long game here more acceptable.&lt;/p&gt;

&lt;div class="footnotes"&gt;
&lt;hr&gt;&lt;ol&gt;&lt;li id="fn:p11318116438-plans"&gt;
&lt;p&gt;Not to mention AT&amp;T’s subsidy arrangements are confusing at best. A friend’s availability date with AT&amp;T is 3 months ahead of mine, and her contract begins the day &lt;em&gt;after&lt;/em&gt; mine. &lt;a href="#fnref:p11318116438-plans" rev="footnote"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;/ol&gt;&lt;/div&gt;</description><link>http://zacwe.st/post/11318116438</link><guid>http://zacwe.st/post/11318116438</guid><pubDate>Tue, 11 Oct 2011 08:40:47 -0700</pubDate><category>iphone</category></item><item><title>Subler, mp4 remuxer/editor</title><description>&lt;a href="http://code.google.com/p/subler/"&gt;Subler, mp4 remuxer/editor&lt;/a&gt;: &lt;p&gt;Subler is an incredibly useful Mac app to manage media files which contain h.264 video and various audio formats. In one sense, Subler is a remuxer: it lets you take the underlying content and put it into whichever format you need, without converting the content like &lt;a href="http://handbrake.fr/"&gt;Handbrake&lt;/a&gt; would.&lt;/p&gt;

&lt;p&gt;What’s really nifty is that it’s also an editor. Subler hooks into &lt;a href="http://thetvdb.com"&gt;thetvdb.com&lt;/a&gt; and &lt;a href="http://themoviedb.org"&gt;themoviedb.org&lt;/a&gt; to add the relevant metadata (name, episode number, season, summary, etc.) into the file in a format which iTunes can understand. You can add the ‘HD’ tags which iTunes uses, control artwork, and manually edit all of the metadata contained in a file.&lt;/p&gt;

&lt;p&gt;It’s GPLv2 (free!), and uses &lt;a href="http://perian.org"&gt;Perian&lt;/a&gt; to do some of the heavy lifting. It also has a useful CLI version which can allow you to automate some of its featureset.&lt;/p&gt;</description><link>http://zacwe.st/post/10899625243</link><guid>http://zacwe.st/post/10899625243</guid><pubDate>Sat, 01 Oct 2011 12:17:57 -0700</pubDate><category>mac</category></item><item><title>I’ve worn a lot of watches in a variety of bands. Metal,...</title><description>&lt;img src="http://24.media.tumblr.com/tumblr_lsb7mumMwE1qa2p4to1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;I’ve worn a lot of watches in a variety of bands. Metal, plastic, nylon, and leather bands have never felt comfortable.&lt;/p&gt;

&lt;p&gt;On a whim a few years ago I tried a Timex Expedition which features a velcro “fast wrap” band. The difference is amazing; my arm is able to rest on surfaces without something digging into it, and it’s significantly easier to take on or off than buckled or metal bands.  The only major downside to the velcro is the breakdown of the soft, micro-loop sides which happens after a decent period of time.&lt;/p&gt;

&lt;p&gt;The watches are never more than about $30. They’re varyingly small, comfortable and come in a lot of varieties, including analog versions. Putting on any other watch just feels out of place now.&lt;/p&gt;</description><link>http://zacwe.st/post/10827405061</link><guid>http://zacwe.st/post/10827405061</guid><pubDate>Thu, 29 Sep 2011 17:20:00 -0700</pubDate><category>watches</category></item><item><title>Incrementing with a bitmask</title><description>&lt;p&gt;Bitmasks are fun. There&amp;#8217;s lots of little tricks you can do with them. A common situation is checking for the presence of a flag among elements in a linked list, or some similar data structure. I came across a trick a few years ago that makes it drop-dead simple.&lt;/p&gt;

&lt;p&gt;Let&amp;#8217;s say we needed to check for &lt;code&gt;AUsefulFlag&lt;/code&gt; in the &lt;code&gt;flags&lt;/code&gt; element of each node, and total how many elements in the linked list had the flag.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;uint64_t count = 0;
for(Node *iter = head; iter != NULL; iter = iter-&amp;gt;next)
{
    count += !!(iter-&amp;gt;flags &amp;amp; AUsefulFlag);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;After execution, &lt;code&gt;count&lt;/code&gt; is the number of items which have &lt;code&gt;AUsefulFlag&lt;/code&gt; set.&lt;/p&gt;

&lt;p&gt;Double-not (&lt;code&gt;!!&lt;/code&gt;) is one of those useful operations which are especially useful with bitmasks. It may require a double-take at first, but it behaves &lt;em&gt;exactly&lt;/em&gt; how you&amp;#8217;d think.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;!!&lt;/code&gt; of &lt;code&gt;1&lt;/code&gt; is &lt;code&gt;1&lt;/code&gt;. &lt;code&gt;!!&lt;/code&gt; of &lt;code&gt;0&lt;/code&gt; is &lt;code&gt;0&lt;/code&gt;. In fact, &lt;code&gt;!!&lt;/code&gt; of any true value evaluates to &lt;code&gt;1&lt;/code&gt;, so we can use it to transform something like &lt;code&gt;0b00001000&lt;/code&gt; to simply &lt;code&gt;1&lt;/code&gt; and increment by that value.&lt;/p&gt;</description><link>http://zacwe.st/post/10715793557</link><guid>http://zacwe.st/post/10715793557</guid><pubDate>Mon, 26 Sep 2011 18:22:00 -0700</pubDate><category>c</category><category>programming</category></item><item><title>Words have an exact meaning</title><description>James: What are you after?&lt;br /&gt;&#13;
Francisco: Money.&lt;br /&gt;&#13;
James: Don't you have enough?&lt;br /&gt;&#13;
Francisco: In his lifetime, every one of my ancestors raised the production of d'Anconia Copper by about ten per cent. I intend to raise it by one hundred.&lt;br /&gt;&#13;
James: What for?&lt;br /&gt;&#13;
Francisco: When I die, I hope to go to heaven—whatever the hell that is—and I want to be able to afford the price of admission.&lt;br /&gt;&#13;
James: Virtue is the price of admission.&lt;br /&gt;&#13;
Francisco: That's what I mean, James. So I want to be prepared to claim the greatest virtue of all–that I was a man who made money.&lt;br /&gt;&#13;
James: Any grafter can make money.&lt;br /&gt;&#13;
Francisco: James, you ought to discover some day that words have an exact meaning.</description><link>http://zacwe.st/post/10675092390</link><guid>http://zacwe.st/post/10675092390</guid><pubDate>Sun, 25 Sep 2011 20:20:00 -0700</pubDate><category>aynrand</category><category>libertarianism</category></item></channel></rss>

