<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" gd:etag="W/&quot;DU8ERXc7fip7ImA9WhRRFE4.&quot;"><id>tag:blogger.com,1999:blog-8938395718284266980</id><updated>2011-11-27T15:50:04.906-08:00</updated><category term="flash" /><category term="horrible" /><category term="plug-ins" /><category term="xenophobia" /><category term="sad" /><category term="funny" /><category term="news" /><category term="movies" /><category term="web" /><category term="bug" /><category term="bugs" /><category term="interesting" /><category term="privacy" /><category term="actionscript 3" /><category term="art" /><category term="parsing" /><category term="algorithms" /><category term="wtf" /><category term="open source" /><category term="nerd" /><category term="cs" /><category term="chrome" /><category term="true believers" /><category term="c#" /><category term="firefox" /><category term="www" /><category term="wall" /><category term="broken software" /><category term="chromatic" /><category term="tips" /><category term="video" /><category term="scatology" /><category term="pop culture" /><category term="vim" /><category term="tv" /><category term="eclipse" /><category term="c++" /><category term="greed" /><category term="work" /><category term="past" /><category term="backup" /><category term="pics" /><category term="ugly" /><category term="business" /><category term="images jpeg compression" /><category term="java" /><category term="x11" /><category term="lol" /><category term="security" /><category term="arc" /><category term="sci-fi" /><category term="geek" /><category term="laziness" /><category term="pdf" /><category term="sotrue" /><category term="australia" /><category term="oracle" /><category term="scary" /><category term="diet" /><category term="new movie" /><category term="android" /><category term="joel on crack" /><category term="software" /><category term="marketing" /><category term="sick" /><category term="tynt" /><category term="right wing" /><category term="testing" /><category term="plugins" /><category term="stupid" /><category term="google" /><category term="ruby" /><category term="media" /><category term="strange" /><category term="wiki" /><category term="debugging" /><category term="apple" /><category term="comics" /><category term="perl" /><category term="crackpots" /><category term="programming language design" /><category term="crappy software" /><category term="browsers" /><category term="it" /><category term="gpl" /><category term="insane" /><category term="python" /><category term="issues" /><category term="browser" /><category term="internet" /><category term="haduken" /><category term="windows" /><category term="code" /><category term="prediction" /><category term="papers" /><category term="hardware" /><category term="time estimates" /><category term="linux" /><category term="apache" /><category term="direct2d" /><category term="bad code" /><category term="math" /><category term="batman" /><category term="emacs" /><category term="drawing" /><category term="php" /><category term="sleeve" /><category term="politics" /><category term="programming" /><category term="awesome" /><category term="bsd" /><category term="lisp" /><category term="editors" /><category term="book" /><category term="companies" /><category term="idiocy" /><category term="databases" /><category term="fixing software" /><category term="cool" /><category term="sql" /><category term="shit software" /><category term="trick" /><category term="unix" /><category term="garbage collection" /><category term="sucks" /><category term="religion" /><category term="microsoft" /><category term="quotes" /><category term="operators" /><category term="weird" /><category term="coffee" /><category term="fail" /><category term="perl6" /><category term="money" /><category term="perl 6" /><title>Fixing Software</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://fixingsoftware.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://fixingsoftware.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Andres N. Kievsky</name><uri>http://www.blogger.com/profile/00265331700609152907</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://3.bp.blogspot.com/_6-04mpim1lg/SY40kdpByAI/AAAAAAAAAEQ/e7nbJd12hNE/S220/bukowski.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>84</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/fixing-software" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="fixing-software" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;DkIDSHo9fip7ImA9WhdQFU8.&quot;"><id>tag:blogger.com,1999:blog-8938395718284266980.post-9147248299717030825</id><published>2011-08-16T12:56:00.000-07:00</published><updated>2011-08-16T12:56:19.466-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-16T12:56:19.466-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="c++" /><category scheme="http://www.blogger.com/atom/ns#" term="perl" /><title>C++11 approved</title><content type="html">&lt;span class="Apple-style-span" style="background-color: white; color: #333333; line-height: 14px;"&gt;&lt;strong&gt;&lt;a href="http://www.h-online.com/open/news/item/C-11-unanimously-approved-as-a-standard-1322902.html"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;C++11 unanimously approved as a standard - The H Open Source: News and Features&lt;/span&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: #333333; font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="line-height: 14px;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #333333; line-height: 14px;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;h6 class="uiStreamMessage" data-ft="{&amp;quot;type&amp;quot;:1}" style="color: black; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; word-wrap: break-word;"&gt;&lt;span class="messageBody" data-ft="{&amp;quot;type&amp;quot;:3}"&gt;&lt;span class="Apple-style-span" style="font-family: inherit; font-size: small;"&gt;Perl 6 has now been under development longer than what 2.5 C++ standards took to design and approve. The Perl community should be rioting and demanding Larry Wall's head.&lt;/span&gt;&lt;/span&gt;&lt;/h6&gt;&lt;div&gt;&lt;span class="messageBody" data-ft="{&amp;quot;type&amp;quot;:3}"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class="mvm uiStreamAttachments clearfix fbMainStreamAttachment" data-ft="{&amp;quot;type&amp;quot;:10}" style="font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 11px; margin-bottom: 10px; margin-top: 10px; zoom: 1;"&gt;&lt;div class="UIImageBlock clearfix" style="zoom: 1;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8938395718284266980-9147248299717030825?l=fixingsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/SIlwZjFgdMP38LRW7N-36eYl_SM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SIlwZjFgdMP38LRW7N-36eYl_SM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/SIlwZjFgdMP38LRW7N-36eYl_SM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SIlwZjFgdMP38LRW7N-36eYl_SM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://fixingsoftware.blogspot.com/feeds/9147248299717030825/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8938395718284266980&amp;postID=9147248299717030825" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/9147248299717030825?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/9147248299717030825?v=2" /><link rel="alternate" type="text/html" href="http://fixingsoftware.blogspot.com/2011/08/c11-approved.html" title="C++11 approved" /><author><name>Andres N. Kievsky</name><uri>http://www.blogger.com/profile/00265331700609152907</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://3.bp.blogspot.com/_6-04mpim1lg/SY40kdpByAI/AAAAAAAAAEQ/e7nbJd12hNE/S220/bukowski.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;A04CRH84eCp7ImA9WhZQFUk.&quot;"><id>tag:blogger.com,1999:blog-8938395718284266980.post-2590072987649412895</id><published>2011-04-23T02:12:00.000-07:00</published><updated>2011-04-23T02:12:45.130-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-23T02:12:45.130-07:00</app:edited><title>Australian Companies: expensive!!</title><content type="html">&lt;div class="separator" style="clear: both; text-align: left;"&gt;Wanted to buy Portal 2, ended up putting this together.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-UySfH11y9Ew/TbKXz0XN1JI/AAAAAAAAAFQ/FKK6bLx8DdI/s1600/portal-2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-UySfH11y9Ew/TbKXz0XN1JI/AAAAAAAAAFQ/FKK6bLx8DdI/s1600/portal-2.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8938395718284266980-2590072987649412895?l=fixingsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/X05Z9FjSsTvJiW4EDW_mRTKHTuI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/X05Z9FjSsTvJiW4EDW_mRTKHTuI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/X05Z9FjSsTvJiW4EDW_mRTKHTuI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/X05Z9FjSsTvJiW4EDW_mRTKHTuI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://fixingsoftware.blogspot.com/feeds/2590072987649412895/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8938395718284266980&amp;postID=2590072987649412895" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/2590072987649412895?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/2590072987649412895?v=2" /><link rel="alternate" type="text/html" href="http://fixingsoftware.blogspot.com/2011/04/australian-companies-expensive.html" title="Australian Companies: expensive!!" /><author><name>Andres N. Kievsky</name><uri>http://www.blogger.com/profile/00265331700609152907</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://3.bp.blogspot.com/_6-04mpim1lg/SY40kdpByAI/AAAAAAAAAEQ/e7nbJd12hNE/S220/bukowski.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-UySfH11y9Ew/TbKXz0XN1JI/AAAAAAAAAFQ/FKK6bLx8DdI/s72-c/portal-2.jpg" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;D0cCRX8zeyp7ImA9Wx5aEEw.&quot;"><id>tag:blogger.com,1999:blog-8938395718284266980.post-4512602870994124277</id><published>2010-11-05T20:43:00.000-07:00</published><updated>2010-11-05T20:44:24.183-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-05T20:44:24.183-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="marketing" /><category scheme="http://www.blogger.com/atom/ns#" term="business" /><title>Business Contradictions #1</title><content type="html">- If there's a competitor that's healthy, you worry because he must have all the market for itself.&lt;br /&gt;- if there's a competitor that's dead, you worry because there must be NO market.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8938395718284266980-4512602870994124277?l=fixingsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/HbvSWlf0HvGbuBQgnpAViJTubsc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/HbvSWlf0HvGbuBQgnpAViJTubsc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/HbvSWlf0HvGbuBQgnpAViJTubsc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/HbvSWlf0HvGbuBQgnpAViJTubsc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://fixingsoftware.blogspot.com/feeds/4512602870994124277/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8938395718284266980&amp;postID=4512602870994124277" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/4512602870994124277?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/4512602870994124277?v=2" /><link rel="alternate" type="text/html" href="http://fixingsoftware.blogspot.com/2010/11/business-contradictions-1.html" title="Business Contradictions #1" /><author><name>Andres N. Kievsky</name><uri>http://www.blogger.com/profile/00265331700609152907</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://3.bp.blogspot.com/_6-04mpim1lg/SY40kdpByAI/AAAAAAAAAEQ/e7nbJd12hNE/S220/bukowski.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;D0YGQ3c6fCp7ImA9Wx5QE0k.&quot;"><id>tag:blogger.com,1999:blog-8938395718284266980.post-262980965105535540</id><published>2010-09-01T05:19:00.000-07:00</published><updated>2010-09-01T05:45:22.914-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-01T05:45:22.914-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="python" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><category scheme="http://www.blogger.com/atom/ns#" term="programming language design" /><category scheme="http://www.blogger.com/atom/ns#" term="perl" /><title>Programming language ramblings I</title><content type="html">The other day I found out that Python 3000 uses b"..." for byte literals and "..." for Unicode (default) literals. Good idea. Reminds me of Objective-C's @"" (for NSString) and C's L"" (for widechar strings.)&lt;br /&gt;&lt;br /&gt;And what does Perl have? The backticks to execute (`ls` runs the command); the quotes and double quotes that decide on interpolation (" interpolates, ' does not) and //, the regular expression creator.&lt;br /&gt;&lt;br /&gt;I would argue (against perl) that attaching behaviour such as executing stuff to backtick is a much worse idea than using backticks to differentiate between Unicode and non-Unicode strings. An operation like "execute" belons in a verb, like system() or execute(). Not only it looks bad, but also forces things like security to be swept under the carpet, and into "system-land." What I mean is that something like `ls` has a lot of configuration that is implied and only accessible (if at all) through some other system/language dependent constructs. Contrast that with something like: env.system('ls'); -- which, although more verbose, is absolutely obvious -- and you know that env is probably something that can tell you what OS you are running on*. &lt;br /&gt;&lt;br /&gt;But hey, Perl has to keep all the UNIXisms... otherwise UNIX hackers might cry, wake up and realise they are not in the 70s anymore. UNIXisms might be nice for sysadmins, but they should have only minor places in modern programming languages. All the unix utilities are quite cool, and each does its own thing very well, but let's face it, there are better ways of expressing the exact same computations using modern ideas. Let's pick up what's useful and plays well with other ideas, and toss the rest.&lt;br /&gt;&lt;br /&gt;The one thing we should take from perl, the thing that perl has had major, indisputable success with is regular expressions. Which is a little bit sad if you really think about it. Regular expressions are the bread and butter of any text processing you are going to do, and any programming language that doesn't have them is a bit of a toy. It's for that reason that a good programming language should include a syntax to facilitate writing regular expressions. If it doesn't, and we are forced to use straight strings instead, we end up in Java-land (aka "The Land of the Quoted Regex", aka "\\\s" aka "one backslash to quote the backslash, then another quoted backslash before the first one to send a quote to the regular expression engine")&lt;br /&gt;&lt;br /&gt;So, what would a better programming language look like? Let's just say that removing most (if not all) UNIXisms from perl would be a step in the right direction. How about something like X"" ?&lt;br /&gt;&lt;br /&gt;---&lt;br /&gt;&lt;br /&gt;* I am aware that perl has system(), but that's beside the point, and, if anything, another UNIXism.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8938395718284266980-262980965105535540?l=fixingsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/9SjaiAUrYCgH9PTuKu1u7zDmaXk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9SjaiAUrYCgH9PTuKu1u7zDmaXk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/9SjaiAUrYCgH9PTuKu1u7zDmaXk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9SjaiAUrYCgH9PTuKu1u7zDmaXk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://fixingsoftware.blogspot.com/feeds/262980965105535540/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8938395718284266980&amp;postID=262980965105535540" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/262980965105535540?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/262980965105535540?v=2" /><link rel="alternate" type="text/html" href="http://fixingsoftware.blogspot.com/2010/09/programming-language-ramblings-i.html" title="Programming language ramblings I" /><author><name>Andres N. Kievsky</name><uri>http://www.blogger.com/profile/00265331700609152907</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://3.bp.blogspot.com/_6-04mpim1lg/SY40kdpByAI/AAAAAAAAAEQ/e7nbJd12hNE/S220/bukowski.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;A0YHRHk4eyp7ImA9Wx5QEUk.&quot;"><id>tag:blogger.com,1999:blog-8938395718284266980.post-8400660555068385281</id><published>2010-08-29T23:15:00.000-07:00</published><updated>2010-08-29T23:18:55.733-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-29T23:18:55.733-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="lol" /><category scheme="http://www.blogger.com/atom/ns#" term="wall" /><category scheme="http://www.blogger.com/atom/ns#" term="perl" /><title>Incoherent ramblings, Larry Wall style</title><content type="html">&lt;a href="http://bigthink.com/larrywall"&gt;http://bigthink.com/larrywall&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;"Why Perl is like a Human Language? Cause it borrows random crap"&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Poor guy.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8938395718284266980-8400660555068385281?l=fixingsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/23IlS-7IBnsTijLGgiXWJxeSl7M/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/23IlS-7IBnsTijLGgiXWJxeSl7M/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/23IlS-7IBnsTijLGgiXWJxeSl7M/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/23IlS-7IBnsTijLGgiXWJxeSl7M/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://fixingsoftware.blogspot.com/feeds/8400660555068385281/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8938395718284266980&amp;postID=8400660555068385281" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/8400660555068385281?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/8400660555068385281?v=2" /><link rel="alternate" type="text/html" href="http://fixingsoftware.blogspot.com/2010/08/incoherent-ramblings-larry-wall-style.html" title="Incoherent ramblings, Larry Wall style" /><author><name>Andres N. Kievsky</name><uri>http://www.blogger.com/profile/00265331700609152907</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://3.bp.blogspot.com/_6-04mpim1lg/SY40kdpByAI/AAAAAAAAAEQ/e7nbJd12hNE/S220/bukowski.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CE8MRXoycCp7ImA9Wx5SFkU.&quot;"><id>tag:blogger.com,1999:blog-8938395718284266980.post-5774410123474702759</id><published>2010-08-12T23:57:00.000-07:00</published><updated>2010-08-13T00:01:24.498-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-13T00:01:24.498-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="lol" /><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="wtf" /><category scheme="http://www.blogger.com/atom/ns#" term="android" /><category scheme="http://www.blogger.com/atom/ns#" term="shit software" /><category scheme="http://www.blogger.com/atom/ns#" term="oracle" /><title>Oracle sues Google over Java in Android</title><content type="html">&lt;a href="http://news.cnet.com/8301-30684_3-20013546-265.html"&gt;CNET: Oracle sues Google over Java in Android&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Oracle and its line of mediocre software are a cancer in the IT business. This serves to show once again they belong in the bag labeled "IT Problems" rather than "IT Solutions."&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;PS: No covert Oracle salesmen were harmed in the making of this post.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8938395718284266980-5774410123474702759?l=fixingsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/2XPzkIMIcG5VYy9YX6wrlBq2TE8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2XPzkIMIcG5VYy9YX6wrlBq2TE8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/2XPzkIMIcG5VYy9YX6wrlBq2TE8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2XPzkIMIcG5VYy9YX6wrlBq2TE8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://fixingsoftware.blogspot.com/feeds/5774410123474702759/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8938395718284266980&amp;postID=5774410123474702759" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/5774410123474702759?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/5774410123474702759?v=2" /><link rel="alternate" type="text/html" href="http://fixingsoftware.blogspot.com/2010/08/oracle-sues-google-over-java-in-android.html" title="Oracle sues Google over Java in Android" /><author><name>Andres N. Kievsky</name><uri>http://www.blogger.com/profile/00265331700609152907</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://3.bp.blogspot.com/_6-04mpim1lg/SY40kdpByAI/AAAAAAAAAEQ/e7nbJd12hNE/S220/bukowski.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CUEHSHg5fip7ImA9WxFbEUk.&quot;"><id>tag:blogger.com,1999:blog-8938395718284266980.post-6172146429645186462</id><published>2010-07-03T00:53:00.001-07:00</published><updated>2010-07-03T00:53:59.626-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-03T00:53:59.626-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="quotes" /><category scheme="http://www.blogger.com/atom/ns#" term="religion" /><title>Respect Religion?</title><content type="html">&lt;p&gt;"We must respect the other fellow's religion, but only in the sense and to the extent that we respect his theory that his wife is beautiful and his children smart."&lt;br /&gt;&lt;p&gt;~ H. L Mencken&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8938395718284266980-6172146429645186462?l=fixingsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/oA9D4KOhiX5FeTJBsbCgFIVORbQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oA9D4KOhiX5FeTJBsbCgFIVORbQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/oA9D4KOhiX5FeTJBsbCgFIVORbQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oA9D4KOhiX5FeTJBsbCgFIVORbQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://fixingsoftware.blogspot.com/feeds/6172146429645186462/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8938395718284266980&amp;postID=6172146429645186462" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/6172146429645186462?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/6172146429645186462?v=2" /><link rel="alternate" type="text/html" href="http://fixingsoftware.blogspot.com/2010/07/respect-religion.html" title="Respect Religion?" /><author><name>Andres N. Kievsky</name><uri>http://www.blogger.com/profile/00265331700609152907</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://3.bp.blogspot.com/_6-04mpim1lg/SY40kdpByAI/AAAAAAAAAEQ/e7nbJd12hNE/S220/bukowski.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DkIGSH48fyp7ImA9WxFUFk8.&quot;"><id>tag:blogger.com,1999:blog-8938395718284266980.post-4535450710636958916</id><published>2010-06-27T00:36:00.000-07:00</published><updated>2010-06-27T00:42:09.077-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-27T00:42:09.077-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="xenophobia" /><category scheme="http://www.blogger.com/atom/ns#" term="australia" /><category scheme="http://www.blogger.com/atom/ns#" term="right wing" /><category scheme="http://www.blogger.com/atom/ns#" term="crackpots" /><category scheme="http://www.blogger.com/atom/ns#" term="politics" /><title>Australia's Julia Gillard scared of population growth</title><content type="html">&lt;a href="http://au.news.yahoo.com/a/-/latest/7470105/gillard-urges-against-a-big-australia/"&gt;"Australia should not hurtle down the track towards a big population," she said on Saturday. We need to stop, take a breath and develop policies for a sustainable Australia."&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This exemplifies just how xenophobe Australia can be, and what a right-wing crackpot we have now in the government. The putsch to get rid of Rudd was commanded by the right-wing faction of Labor... so we are now in the incredible situation that both Labor and the Liberals have become conservative parties.&lt;br /&gt;There is nothing liberal about the liberals anymore, and nothing pro-workers about Labor. The only winners here are fat, malevolent rich people like Clive Palmer, who not only control the government but also pollute our environment with their unrestricted mining.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8938395718284266980-4535450710636958916?l=fixingsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/sq0GDvLhXVvWSbniWaOFpFo5YPQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/sq0GDvLhXVvWSbniWaOFpFo5YPQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/sq0GDvLhXVvWSbniWaOFpFo5YPQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/sq0GDvLhXVvWSbniWaOFpFo5YPQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://fixingsoftware.blogspot.com/feeds/4535450710636958916/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8938395718284266980&amp;postID=4535450710636958916" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/4535450710636958916?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/4535450710636958916?v=2" /><link rel="alternate" type="text/html" href="http://fixingsoftware.blogspot.com/2010/06/australias-julia-gillard-scared-of.html" title="Australia's Julia Gillard scared of population growth" /><author><name>Andres N. Kievsky</name><uri>http://www.blogger.com/profile/00265331700609152907</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://3.bp.blogspot.com/_6-04mpim1lg/SY40kdpByAI/AAAAAAAAAEQ/e7nbJd12hNE/S220/bukowski.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CEUBQ3c4fSp7ImA9WxFUE0k.&quot;"><id>tag:blogger.com,1999:blog-8938395718284266980.post-6858626712225052453</id><published>2010-06-23T18:01:00.001-07:00</published><updated>2010-06-23T18:17:32.935-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-23T18:17:32.935-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="broken software" /><category scheme="http://www.blogger.com/atom/ns#" term="garbage collection" /><category scheme="http://www.blogger.com/atom/ns#" term="php" /><category scheme="http://www.blogger.com/atom/ns#" term="perl" /><category scheme="http://www.blogger.com/atom/ns#" term="interesting" /><title>PHP 5.3 includes garbage collection for circular references</title><content type="html">&lt;p&gt;Now, this is what I'm talking about. I haven't done PHP in ages, but today I needed to do some quick scripting and I realized there's been a new major release sometime after my last contact with the language. Quick look at new features includes garbage collection for circular references, something that perl still doesn't include.&lt;br /&gt;&lt;p&gt;You see? This is the sort of things that we lose by allowing Wall and his minions to have his way. A few years ago it would have been laughable to think that PHP was somehow more advanced than perl, but that's not the case anymore.&lt;br /&gt;&lt;p&gt;Of course, PHP has this garbage collection disabled by default, and seems quite experimental, in a very PHP-ish way. But still, at least there's an evolution. &lt;br /&gt;&lt;p&gt;What's really sad is that GC algorithms are very well known and quite easy to use; the &lt;a href="http://en.wikipedia.org/wiki/Boehm_garbage_collector"&gt;Boehm GC&lt;/a&gt; comes to mind immediately.&lt;br /&gt;&lt;p&gt;See what happens when you dream of a pluggable, perfect GC scheme for a language that's been in development for 12 years instead of finishing something that's better than perl 5 and can be done now?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8938395718284266980-6858626712225052453?l=fixingsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/cBcBYD0jHI1-79BRyz7-r8bNn_o/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/cBcBYD0jHI1-79BRyz7-r8bNn_o/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/cBcBYD0jHI1-79BRyz7-r8bNn_o/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/cBcBYD0jHI1-79BRyz7-r8bNn_o/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://fixingsoftware.blogspot.com/feeds/6858626712225052453/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8938395718284266980&amp;postID=6858626712225052453" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/6858626712225052453?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/6858626712225052453?v=2" /><link rel="alternate" type="text/html" href="http://fixingsoftware.blogspot.com/2010/06/php-53-includes-garbage-collection-for.html" title="PHP 5.3 includes garbage collection for circular references" /><author><name>Andres N. Kievsky</name><uri>http://www.blogger.com/profile/00265331700609152907</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://3.bp.blogspot.com/_6-04mpim1lg/SY40kdpByAI/AAAAAAAAAEQ/e7nbJd12hNE/S220/bukowski.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CUQEQXc7fCp7ImA9WxFVFUs.&quot;"><id>tag:blogger.com,1999:blog-8938395718284266980.post-4084120160486523364</id><published>2010-06-14T17:47:00.000-07:00</published><updated>2010-06-14T17:55:00.904-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-14T17:55:00.904-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="broken software" /><category scheme="http://www.blogger.com/atom/ns#" term="sad" /><category scheme="http://www.blogger.com/atom/ns#" term="true believers" /><category scheme="http://www.blogger.com/atom/ns#" term="perl6" /><title>Perl 6: True-Believer Syndrome</title><content type="html">&lt;span class="Apple-style-span" style="font-family: serif; font-size: 19px; "&gt;&lt;p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; position: relative; "&gt;I've been dealing with some delusional people lately, mostly as a side-effect of recent posts I made regarding chromatic, his entourage and Perl 6. This contact has left me wondering over and over - how was it that I used to love the idea of Perl 6 so much? How did I become so disenchanted with it? And ultimately, why is there still people rooting for Perl 6, seemingly oblivious to the defects the project has been dragging with it for more than a decade?&lt;/p&gt;&lt;p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; position: relative; "&gt;It's actually quite easy to explain. I have always been programming Perl and other languages in parallel, so it wasn't that hard for me to stop believing the idea that Perl 6 was going to be great. I have also changed and evolved as a person and programmer, so I am no longer at the place I was when I used to work for Yahoo! and used Perl on a daily basis, a decade ago.&lt;/p&gt;&lt;p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; position: relative; "&gt;This is markedly not the position other programmers find themselves in. Fervently believing that Perl 6 will be a good thing for the Perl community and buying O'Reilly reference books for the unfinished language, they simply cannot accept the fact that the whole concept is broken, even after it's been shown to them over and over.&lt;/p&gt;&lt;p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; position: relative; "&gt;This cognitive disorder is actually very well known, and is called True-believer syndrome. Wikipedia says:&lt;/p&gt;&lt;p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; position: relative; "&gt;&lt;i&gt;According to The Skeptic's Dictionary, an example of this syndrome is evidenced by an event in 1988, when James Randi, at the request of an Australian news program, coached stage performer José Alvarez to pretend he was channelling a two-thousand-year-old spirit named "Carlos". Even after it was revealed to be a fictional character created by himself and Alvarez, many people continued to believe that "Carlos" was real.[5] Randi commented: "no amount of evidence, no matter how good it is or how much there is of it, is ever going to convince the true believer to the contrary."[9]&lt;/i&gt;&lt;/p&gt;&lt;p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; position: relative; "&gt;This reminds me of Chet Raymo's book "Skeptics and True Believers," which is filled with amusing depictions of True Believers.&lt;/p&gt;&lt;p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; position: relative; "&gt;Another point is that the few in the know, such as Larry Wall, chromatic, etc are having fun creating their project, and don't really care all that much about how long it takes - &lt;b&gt;it will be done when it's done&lt;/b&gt;. So they don't really fit into this group - they are more like the Carlos who show the rest some mysterious cool magic acts that we are supposed to awe at.&lt;/p&gt;&lt;p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; position: relative; "&gt;(Note: I've cross-posted this to my use.Perl journal)&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8938395718284266980-4084120160486523364?l=fixingsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/vmsuLL3Kk77pxQNKIE443tUbnCU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vmsuLL3Kk77pxQNKIE443tUbnCU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/vmsuLL3Kk77pxQNKIE443tUbnCU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vmsuLL3Kk77pxQNKIE443tUbnCU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://fixingsoftware.blogspot.com/feeds/4084120160486523364/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8938395718284266980&amp;postID=4084120160486523364" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/4084120160486523364?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/4084120160486523364?v=2" /><link rel="alternate" type="text/html" href="http://fixingsoftware.blogspot.com/2010/06/perl-6-true-believer-syndrom.html" title="Perl 6: True-Believer Syndrome" /><author><name>Andres N. Kievsky</name><uri>http://www.blogger.com/profile/00265331700609152907</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://3.bp.blogspot.com/_6-04mpim1lg/SY40kdpByAI/AAAAAAAAAEQ/e7nbJd12hNE/S220/bukowski.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CEABRnozcCp7ImA9WxFVFUk.&quot;"><id>tag:blogger.com,1999:blog-8938395718284266980.post-4329317660233614435</id><published>2010-06-14T12:11:00.000-07:00</published><updated>2010-06-14T12:12:37.488-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-14T12:12:37.488-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="laziness" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><category scheme="http://www.blogger.com/atom/ns#" term="perl" /><category scheme="http://www.blogger.com/atom/ns#" term="interesting" /><title>Perl and line noise: an objective comparison</title><content type="html">&lt;div&gt;We've heard over and over again that perl is like line noise - especially by people who don't program perl and are not used to seeing its code.&lt;/div&gt;&lt;div&gt;I think it's time to take a scientific approach to this problem, and figure out how "line-noisy" perl is. I believe that by comparing character frequencies in perl files versus C/java/plain English/etc we can ascertain once and for all which language looks more like English, which one more like line noise, etc.&lt;/div&gt;&lt;div&gt;The only problem I see with this is, just what exactly is line noise? Well, for perfect line noise, I would expect any character to be as likely as any other at any given time; so I think that by using that definition, we can easily compare.&lt;/div&gt;&lt;div&gt;I'm not going to do it right now because I'm awfully lazy, but I will soon. I'm more than ready to hear comments and criticisms on my approach, and on which code to use.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;(Note: Cross-posted to my journal in use.perl)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8938395718284266980-4329317660233614435?l=fixingsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/raGRlK-92RB-7O2RTNMntPnrL2Y/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/raGRlK-92RB-7O2RTNMntPnrL2Y/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/raGRlK-92RB-7O2RTNMntPnrL2Y/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/raGRlK-92RB-7O2RTNMntPnrL2Y/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://fixingsoftware.blogspot.com/feeds/4329317660233614435/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8938395718284266980&amp;postID=4329317660233614435" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/4329317660233614435?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/4329317660233614435?v=2" /><link rel="alternate" type="text/html" href="http://fixingsoftware.blogspot.com/2010/06/perl-and-line-noise-objective.html" title="Perl and line noise: an objective comparison" /><author><name>Andres N. Kievsky</name><uri>http://www.blogger.com/profile/00265331700609152907</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://3.bp.blogspot.com/_6-04mpim1lg/SY40kdpByAI/AAAAAAAAAEQ/e7nbJd12hNE/S220/bukowski.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;C0IBQX07cSp7ImA9WxFVFU0.&quot;"><id>tag:blogger.com,1999:blog-8938395718284266980.post-354946099867684672</id><published>2010-06-14T00:45:00.001-07:00</published><updated>2010-06-14T00:45:50.309-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-14T00:45:50.309-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="broken software" /><category scheme="http://www.blogger.com/atom/ns#" term="fail" /><category scheme="http://www.blogger.com/atom/ns#" term="chromatic" /><category scheme="http://www.blogger.com/atom/ns#" term="perl6" /><title>chromatic's real name is Shane Warden: reply 2</title><content type="html">&lt;span class="Apple-style-span" style="font-family: serif; "&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: serif; "&gt;Posted here in case Shane or his friends decide to edit my responses:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: serif; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;No, your name is Shane Warden, and you've published a couple of books as S. Christopher. As for the rest - my Pierce books are laughing at you. I'm sure you want to be them, but it's obvious to everyone you fail (as for Romata, I think you should have said Tomita - he has nice parsers that are porbably the only ones that can parse your perl 6 monstrosity.) Also, I'm tired of you editing my comments, so I am still cross-posting this to my blog &lt;a href="http://fixingsoftware.blogspot.com/" title="blogspot.com" rel="nofollow" style="color: rgb(102, 102, 153); "&gt;http://fixingsoftware.blogspot.com/&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8938395718284266980-354946099867684672?l=fixingsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/kgNOkMKH2855AMDBO6c0cfwQ2Bk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kgNOkMKH2855AMDBO6c0cfwQ2Bk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/kgNOkMKH2855AMDBO6c0cfwQ2Bk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kgNOkMKH2855AMDBO6c0cfwQ2Bk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://fixingsoftware.blogspot.com/feeds/354946099867684672/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8938395718284266980&amp;postID=354946099867684672" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/354946099867684672?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/354946099867684672?v=2" /><link rel="alternate" type="text/html" href="http://fixingsoftware.blogspot.com/2010/06/chromatics-real-name-is-shane-warden.html" title="chromatic's real name is Shane Warden: reply 2" /><author><name>Andres N. Kievsky</name><uri>http://www.blogger.com/profile/00265331700609152907</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://3.bp.blogspot.com/_6-04mpim1lg/SY40kdpByAI/AAAAAAAAAEQ/e7nbJd12hNE/S220/bukowski.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CkAERnk5cSp7ImA9WxFVFU0.&quot;"><id>tag:blogger.com,1999:blog-8938395718284266980.post-7671062324811749516</id><published>2010-06-14T00:04:00.000-07:00</published><updated>2010-06-14T00:31:47.729-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-14T00:31:47.729-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="broken software" /><category scheme="http://www.blogger.com/atom/ns#" term="chromatic" /><category scheme="http://www.blogger.com/atom/ns#" term="wtf" /><category scheme="http://www.blogger.com/atom/ns#" term="perl6" /><title>chromatic is Shane Warden</title><content type="html">&lt;span class="Apple-style-span" style="font-family: serif; "&gt;&lt;i&gt;I'd rather discuss the Dick Grune research to which you alluded months ago. Did you ever find it? (I'm not Mr. Grune, nor Mr. Pierce, nor Mr. Carlyle, nor Mr. Romata either. What bizarre assertions.)&lt;/i&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: serif; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: serif; "&gt;No, you are &lt;b&gt;Shane Warden&lt;/b&gt;, and you have published books as "&lt;b&gt;S. Christopher&lt;/b&gt;".&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: serif; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: serif; "&gt;Nice how you ignore that you were completely wrong in your generalization of what operators do; who knows how many more mistakes in Perl 6's design you are completely ignoring. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: serif; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:serif;"&gt;As for the research, I will eventually find it - it's essentially about how LL(1) (or was it LR(1)?) grammars are easier to understand than other grammars (IIRC) and had some very interesting side-effects for C-style languages in comparison to the pascal family. It was quoted in the 1st edition of Grune's parser book - which sadly includes a huge number of references; that's why I'm having trouble finding it again.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:serif;"&gt;Also, I present this challenge, Shane: Show me a program of yours that is more useful, stable, or at least more interesting, that my own Smart JPG Resizer (coded in a couple of weeks.) Hell, I'll even put that resizer in its current, experimental state, against anything you've coded, including the perl 5 or 6 compilers.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:serif;"&gt;The more you mock me, the more people will know that the direction Perl has been taking for a decade is your fault - and that you are not ready to let go. You and your friends are doing a disservice to what little remains of the Perl community, and I think that, deep down, you all know it.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8938395718284266980-7671062324811749516?l=fixingsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/T64ufQod9ONlYbU-WoaoNXvK_BU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/T64ufQod9ONlYbU-WoaoNXvK_BU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/T64ufQod9ONlYbU-WoaoNXvK_BU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/T64ufQod9ONlYbU-WoaoNXvK_BU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://fixingsoftware.blogspot.com/feeds/7671062324811749516/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8938395718284266980&amp;postID=7671062324811749516" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/7671062324811749516?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/7671062324811749516?v=2" /><link rel="alternate" type="text/html" href="http://fixingsoftware.blogspot.com/2010/06/chromatic-is-shane-warden.html" title="chromatic is Shane Warden" /><author><name>Andres N. Kievsky</name><uri>http://www.blogger.com/profile/00265331700609152907</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://3.bp.blogspot.com/_6-04mpim1lg/SY40kdpByAI/AAAAAAAAAEQ/e7nbJd12hNE/S220/bukowski.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DEEFRns6eSp7ImA9WxFVFEw.&quot;"><id>tag:blogger.com,1999:blog-8938395718284266980.post-3838829584886512142</id><published>2010-06-13T01:07:00.000-07:00</published><updated>2010-06-13T01:10:17.511-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-13T01:10:17.511-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="chromatic" /><category scheme="http://www.blogger.com/atom/ns#" term="perl 6" /><category scheme="http://www.blogger.com/atom/ns#" term="operators" /><title>chromatic capitulates?</title><content type="html">&lt;div&gt;His newest reply on the operators discussion:&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;You make a good point about the comma operators, however. They indeed act more like prepositions with their (parse time) sequencing and potential autoquoting.&lt;/i&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Great, Shane! Now that you've found a modicum of humility, please make a post in use.perl stating that:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1. you misread my original comment (i never said operators ARE prepositions, I said they are AKIN TO prepositions;)&lt;/div&gt;&lt;div&gt;2. you were wrong in that "operators are verbs", and&lt;/div&gt;&lt;div&gt;3. given this new information, you will review the operators that exist in perl 6, in light of its sheer complexity.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Oh, and Ovid: I don't know if you are friends with Shane or what, but you should think by yourself before blindly following his lead.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you want my input on how to clean up Perl 6, I'm more than happy to help.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8938395718284266980-3838829584886512142?l=fixingsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/CKov8x-5D7RRMLVBAZgyEU4FZrs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CKov8x-5D7RRMLVBAZgyEU4FZrs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/CKov8x-5D7RRMLVBAZgyEU4FZrs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CKov8x-5D7RRMLVBAZgyEU4FZrs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://fixingsoftware.blogspot.com/feeds/3838829584886512142/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8938395718284266980&amp;postID=3838829584886512142" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/3838829584886512142?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/3838829584886512142?v=2" /><link rel="alternate" type="text/html" href="http://fixingsoftware.blogspot.com/2010/06/chromatic-capitulates.html" title="chromatic capitulates?" /><author><name>Andres N. Kievsky</name><uri>http://www.blogger.com/profile/00265331700609152907</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://3.bp.blogspot.com/_6-04mpim1lg/SY40kdpByAI/AAAAAAAAAEQ/e7nbJd12hNE/S220/bukowski.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DEcESHg8eSp7ImA9WxFVFEw.&quot;"><id>tag:blogger.com,1999:blog-8938395718284266980.post-8376902602464880271</id><published>2010-06-12T19:58:00.000-07:00</published><updated>2010-06-13T01:00:09.671-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-13T01:00:09.671-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="chromatic" /><category scheme="http://www.blogger.com/atom/ns#" term="perl 6" /><category scheme="http://www.blogger.com/atom/ns#" term="idiocy" /><title>What is chromatic's real name?</title><content type="html">What is chromatic's real name?&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So far, my assumption has been that his last name was Christopher, as some sources indicated. Now, it's much more likely that this is just another alias used for publishing - and that his real name is &lt;b&gt;Shane Warden&lt;/b&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;My evidence?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is Mr. Warden:&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=bfmLsQq6OUU"&gt;http://www.youtube.com/watch?v=bfmLsQq6OUU&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;These are some photos of chromatic:&lt;/div&gt;&lt;div&gt;http://www.wgz.org/chromatic/images/me/perl6-qa.jpg [removed]&lt;/div&gt;&lt;div&gt;http://www.wgz.org/chromatic/images/me/mind_control.jpg [removed]&lt;/div&gt;&lt;div&gt;http://www.wgz.org/chromatic/images/me/foo2004.jpg [removed]&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://bayimg.com/mAnLMAAcc"&gt;http://bayimg.com/mAnLMAAcc&lt;/a&gt; [new]&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;[&lt;b&gt;Update&lt;/b&gt;: more to come, he has removed a whole bunch, but I can find them again. I've also ensured there are a few copies of the youtube video; please let me know if it goes down. -- ank]&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;See for yourself.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Note that I couldn't care less if he uses an alias (although I have to confess I find his one-name alias hilarious); and I actually hesitated until now to divulge this information because I believe in individual freedoms (in this case, the freedom of being called whatever the hell you want.) This changed when he didn't approve many of my comments on his blog - a violent, frightened response to a threat I simply don't pose. All I wanted is coherent discussion on what the Perl 6 group has been doing and how this is bad for the Perl community as a whole. I am now disgusted by the way he has dealt with my criticisms - and his utter lack of even a trace of humility or self-doubt.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'm just a software developer in Australia, and have a family to feed. I'm much more interested in having my things done at the end of the day so I can play with my son than anything else - and I certainly take no delight in debating pretentious assholes.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I enjoy complex/weird programming languages just like every other nerd, but I would rather use a coherent, time-tested, stable, multithreaded and fast programming language for my daily work. Ultimately, it's no longer up to us which way Perl 6 goes - the damage has already been done.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And who do we have to blame for it? Well, largely, ourselves, for not taking the matter into our own hands. After all, this was based on our own RFCs back in the late 90s, so we are partially responsible for the train-wreck.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But ultimately we do not control what the word "perl" gets glued to - we don't own the name, so we can't just create a new programming language and call it "perl 6" - it doesn't work that way. There is a group of people &lt;i&gt;who can&lt;/i&gt;. This is the people that have chosen to turn the Perl 6 logo into a joke. This is the people who think it's okay to have a whole bunch of operators that any smart person will laugh at. This is the people who refuse to see that Perl looks like line noise, even to decade-old Perl programmers. And these same people keep saying that Perl is "like English", even in light of atrocities like twigils.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We don't have to accept the programming language Wall and his circle of friends decide to unleash - we &lt;i&gt;can&lt;/i&gt; sail away to cleaner waters. And lots of us have.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8938395718284266980-8376902602464880271?l=fixingsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/gCN7al85zXzcY5ewtPAJwlQaGz8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gCN7al85zXzcY5ewtPAJwlQaGz8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/gCN7al85zXzcY5ewtPAJwlQaGz8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gCN7al85zXzcY5ewtPAJwlQaGz8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://fixingsoftware.blogspot.com/feeds/8376902602464880271/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8938395718284266980&amp;postID=8376902602464880271" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/8376902602464880271?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/8376902602464880271?v=2" /><link rel="alternate" type="text/html" href="http://fixingsoftware.blogspot.com/2010/06/what-is-chromatics-real-name.html" title="What is chromatic's real name?" /><author><name>Andres N. Kievsky</name><uri>http://www.blogger.com/profile/00265331700609152907</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://3.bp.blogspot.com/_6-04mpim1lg/SY40kdpByAI/AAAAAAAAAEQ/e7nbJd12hNE/S220/bukowski.jpg" /></author><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;CkUDQ3c_fSp7ImA9WxFVE0s.&quot;"><id>tag:blogger.com,1999:blog-8938395718284266980.post-565823860960524501</id><published>2010-06-12T09:28:00.000-07:00</published><updated>2010-06-12T09:31:12.945-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-12T09:31:12.945-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="insane" /><category scheme="http://www.blogger.com/atom/ns#" term="broken software" /><category scheme="http://www.blogger.com/atom/ns#" term="chromatic" /><category scheme="http://www.blogger.com/atom/ns#" term="wtf" /><category scheme="http://www.blogger.com/atom/ns#" term="perl 6" /><title>On operators as prepositions</title><content type="html">&lt;div&gt;Traditionally, operators have meant just that - operate (apply this particular operation) to these items. That's not quite fitting today - and it's especially not fitting for Perl.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Take, for example - print @array+0. Most programmers will read that as "print the size of this array". The verb? print. The subject? an array. Since when has "the size of" been a verb?&lt;/div&gt;&lt;div&gt;Moreso with Perl. Operators like =&gt; more and more "introduce" bits of that to be processed by the overall line.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is especially obvious in operators like comma or =&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As usual, I posted this (and other) replies in Mr. Christopher's (aka chromatic)'s blog, and he didn't approve the comments.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8938395718284266980-565823860960524501?l=fixingsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/021RTpSHm_2TH3KQ0tGQPyzKRkU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/021RTpSHm_2TH3KQ0tGQPyzKRkU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/021RTpSHm_2TH3KQ0tGQPyzKRkU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/021RTpSHm_2TH3KQ0tGQPyzKRkU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://fixingsoftware.blogspot.com/feeds/565823860960524501/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8938395718284266980&amp;postID=565823860960524501" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/565823860960524501?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/565823860960524501?v=2" /><link rel="alternate" type="text/html" href="http://fixingsoftware.blogspot.com/2010/06/on-operators-as-prepositions.html" title="On operators as prepositions" /><author><name>Andres N. Kievsky</name><uri>http://www.blogger.com/profile/00265331700609152907</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://3.bp.blogspot.com/_6-04mpim1lg/SY40kdpByAI/AAAAAAAAAEQ/e7nbJd12hNE/S220/bukowski.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;A0IERH4_eCp7ImA9WxFVE04.&quot;"><id>tag:blogger.com,1999:blog-8938395718284266980.post-4132302973379591212</id><published>2010-06-12T03:34:00.000-07:00</published><updated>2010-06-12T03:45:05.040-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-12T03:45:05.040-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="chromatic" /><category scheme="http://www.blogger.com/atom/ns#" term="wtf" /><category scheme="http://www.blogger.com/atom/ns#" term="perl 6" /><category scheme="http://www.blogger.com/atom/ns#" term="idiocy" /><title>Chromatic and Cher walk into a bar...</title><content type="html">&lt;div&gt;Reply to chromatic's &lt;a href="http://www.modernperlbooks.com/mt/2010/06/an-optometrist-and-a-language-designer-walk-into-a-bar.html"&gt;post&lt;/a&gt; titled "An Optometrist and a Language Designer Walk Into a Bar...".&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;So your point is that you need new glasses?&lt;br /&gt;&lt;br /&gt;&lt;div&gt;"What's the most clear to read and to understand?" So, what is it? Certainly not perl 5's or perl 6's. I've shown you part of why this is a bad idea. Your position: "complexity has to go somewhere, so who cares?"; I think you are keeping it where it doesn't belong - and Perl will continue to be akin to line noise because of it. You are doing a disservice to what little remains of the perl community.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But who cares, right? You are Mr. Christopher (aka Chromatic,) and you can do whatever you want, since you volunteered - you get all the rewards and none of the blame.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It's amazing what these Perl 6 zealots get away with. They can do whatever damage they want to the language and its reputation, since they know they are at the top of the Perl pyramid, and they couldn't care less about what other people think. Anything that doesn't fit in their collective knowledge is immediately discarded as absurd.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Mr. Christopher, Mr. Wall, etc - isn't it time for some self-criticism, and for admitting that all the work you've been doing has not been for the furthering of the Perl community, but in detriment of it? &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It's time for some soul-searching, and for asking yourselves whether the time has come to take some blame for poor leadership, poor choices, but, overall, lack of humility.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8938395718284266980-4132302973379591212?l=fixingsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/TRjYebfPyCGTp7icBGZyOGhkD6s/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TRjYebfPyCGTp7icBGZyOGhkD6s/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/TRjYebfPyCGTp7icBGZyOGhkD6s/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TRjYebfPyCGTp7icBGZyOGhkD6s/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://fixingsoftware.blogspot.com/feeds/4132302973379591212/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8938395718284266980&amp;postID=4132302973379591212" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/4132302973379591212?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/4132302973379591212?v=2" /><link rel="alternate" type="text/html" href="http://fixingsoftware.blogspot.com/2010/06/chromatic-and-cher-walk-into-bar.html" title="Chromatic and Cher walk into a bar..." /><author><name>Andres N. Kievsky</name><uri>http://www.blogger.com/profile/00265331700609152907</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://3.bp.blogspot.com/_6-04mpim1lg/SY40kdpByAI/AAAAAAAAAEQ/e7nbJd12hNE/S220/bukowski.jpg" /></author><thr:total>3</thr:total></entry><entry gd:etag="W/&quot;C0YFQHo_eCp7ImA9WxFVEEw.&quot;"><id>tag:blogger.com,1999:blog-8938395718284266980.post-8349359552217043234</id><published>2010-06-07T19:19:00.000-07:00</published><updated>2010-06-08T08:31:51.440-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-08T08:31:51.440-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="firefox" /><category scheme="http://www.blogger.com/atom/ns#" term="broken software" /><category scheme="http://www.blogger.com/atom/ns#" term="tynt" /><category scheme="http://www.blogger.com/atom/ns#" term="sucks" /><category scheme="http://www.blogger.com/atom/ns#" term="internet" /><category scheme="http://www.blogger.com/atom/ns#" term="bug" /><category scheme="http://www.blogger.com/atom/ns#" term="browsers" /><category scheme="http://www.blogger.com/atom/ns#" term="chrome" /><title>Wired, Slashfilm, TechCrunch, New Yorker: Clipboard criminals</title><content type="html">&lt;span class="Apple-style-span" style="color: rgb(51, 51, 51);font-family:Arial,Helvetica,sans-serif;font-size:13px;"  &gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 51);font-family:Arial,Helvetica,sans-serif;font-size:13px;"  &gt;Sites like Wired, Slashfilm, TechCrunch and The New Yorker have installed this annoying little JS thing that adds some extra text to the end of anything you copy off their sites. The company behind them, Tynt, has just got a few million dollars and is expected to start introducing ads to our clipboards soon. This includes server-side tracking software that allow websites to see what you are copying from their sites. They call that "Tynt Tracer" and, interestingly enough, they pulled the demonstration videos off youtube just hours after I posted a comment on their two videos - and closed the youtube "tynttracer" account; here's a website that embeds one of the removed videos: &lt;a href="http://www.aboutonlinetips.com/detect-content-plagiarism-from-your-blog-or-website/"&gt;http://www.aboutonlinetips.com/detect-content-plagiarism-from-your-blog-or-website/&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 51);font-family:Arial,Helvetica,sans-serif;font-size:13px;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Tynt&lt;/b&gt;: You do not own our clipboards. We don't want them tainted with extra bytes.&lt;/div&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 51);font-family:Arial,Helvetica,sans-serif;font-size:13px;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 51);font-family:Arial,Helvetica,sans-serif;font-size:13px;"  &gt;&lt;b&gt;Webmasters&lt;/b&gt;: Tynt will not stop﻿ people from stealing your content - it will only make your content less attractive to users. Any programmer with a minimal amount of ruby/perl/python knowledge can steal *all* of your content easily. A small javascript hack makes absolutely no difference - except that your users will be very annoyed when they want to, for instance, copy and paste a comment they just posted on your site.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 51);font-family:Arial,Helvetica,sans-serif;font-size:13px;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 51);font-family:Arial,Helvetica,sans-serif;font-size:13px;"  &gt;&lt;b&gt;Users&lt;/b&gt;: A way to block these clipboard criminals is to block *.tynt.com in your hosts file. There is also a special extension for google chrome, that blocks tynt in all sites: &lt;a href="https://chrome.google.com/extensions/detail/achmnghbfplhfomhiohmojicomlgmkam"&gt;https://chrome.google.com/extensions/detail/achmnghbfplhfomhiohmojicomlgmkam&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 51);font-family:Arial,Helvetica,sans-serif;font-size:100%;"  &gt;&lt;span class="Apple-style-span"  style="font-size:13px;"&gt;and for firefox: &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/9609/"&gt;https://addons.mozilla.org/en-US/firefox/addon/9609/&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 51);font-family:Arial,Helvetica,sans-serif;font-size:13px;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 51);font-family:Arial,Helvetica,sans-serif;font-size:13px;"  &gt;&lt;b&gt;A bit more information&lt;/b&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 51);font-family:Arial,Helvetica,sans-serif;font-size:100%;"  &gt;&lt;span class="Apple-style-span"  style="font-size:13px;"&gt;&lt;a href="http://daringfireball.net/2010/05/tynt_copy_paste_jerks"&gt;http://daringfireball.net/2010/05/tynt_copy_paste_jerks&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Update: &lt;/span&gt;Other sites that include the tynt junk: Time.com (!!), cracked.com&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8938395718284266980-8349359552217043234?l=fixingsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Wg08Irr22LMFVNVDC4anwmmz5bw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Wg08Irr22LMFVNVDC4anwmmz5bw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Wg08Irr22LMFVNVDC4anwmmz5bw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Wg08Irr22LMFVNVDC4anwmmz5bw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://fixingsoftware.blogspot.com/feeds/8349359552217043234/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8938395718284266980&amp;postID=8349359552217043234" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/8349359552217043234?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/8349359552217043234?v=2" /><link rel="alternate" type="text/html" href="http://fixingsoftware.blogspot.com/2010/06/wired-slashfilm-techcrunch-new-yorker.html" title="Wired, Slashfilm, TechCrunch, New Yorker: Clipboard criminals" /><author><name>Andres N. Kievsky</name><uri>http://www.blogger.com/profile/00265331700609152907</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://3.bp.blogspot.com/_6-04mpim1lg/SY40kdpByAI/AAAAAAAAAEQ/e7nbJd12hNE/S220/bukowski.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CUACRH06fCp7ImA9WxFXE08.&quot;"><id>tag:blogger.com,1999:blog-8938395718284266980.post-5867439485848342072</id><published>2010-05-19T19:47:00.001-07:00</published><updated>2010-05-19T19:49:25.314-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-19T19:49:25.314-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="lol" /><category scheme="http://www.blogger.com/atom/ns#" term="fail" /><category scheme="http://www.blogger.com/atom/ns#" term="stupid" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><category scheme="http://www.blogger.com/atom/ns#" term="privacy" /><title>Google "Accidentally" Captures Wi-Fi Data</title><content type="html">&lt;div&gt;&lt;i&gt;Google "screwed up" by accidentally gathering private wireless data while taking pictures for its "Street View" mapping service, co-founder Sergey Brin said Wednesday.&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;How exactly do you "accidentally" gather wi-fi data? You need to have the proper equipment setup (hardware and software) and, try as you might, this doesn't happen spontaneously! Unless Google wants us to believe it has somehow managed to create a super-human intelligence that is configuring wi-fi data gathering equipment by itself?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;SKYNET anybody?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;"Do no harm." Fucking ridiculous.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8938395718284266980-5867439485848342072?l=fixingsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/GHOHnCeA_23kayKFt1cWLhR_Dvk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GHOHnCeA_23kayKFt1cWLhR_Dvk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/GHOHnCeA_23kayKFt1cWLhR_Dvk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GHOHnCeA_23kayKFt1cWLhR_Dvk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://fixingsoftware.blogspot.com/feeds/5867439485848342072/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8938395718284266980&amp;postID=5867439485848342072" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/5867439485848342072?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/5867439485848342072?v=2" /><link rel="alternate" type="text/html" href="http://fixingsoftware.blogspot.com/2010/05/google-accidentally-captures-wi-fi-data.html" title="Google &quot;Accidentally&quot; Captures Wi-Fi Data" /><author><name>Andres N. Kievsky</name><uri>http://www.blogger.com/profile/00265331700609152907</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://3.bp.blogspot.com/_6-04mpim1lg/SY40kdpByAI/AAAAAAAAAEQ/e7nbJd12hNE/S220/bukowski.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;D0YNRH4-eyp7ImA9WxBVFUg.&quot;"><id>tag:blogger.com,1999:blog-8938395718284266980.post-673820016724222710</id><published>2010-02-18T20:52:00.000-08:00</published><updated>2010-02-18T20:53:15.053-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-18T20:53:15.053-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="flash" /><category scheme="http://www.blogger.com/atom/ns#" term="actionscript 3" /><title>Calling Javascript from Actionscript 3</title><content type="html">&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;E&lt;/span&gt;asy!&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;import flash.external.ExternalInterface;&lt;/div&gt;&lt;div&gt;...&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;ExternalInterface.call("alert", "Hi!");&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8938395718284266980-673820016724222710?l=fixingsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/3UR5xmZzFo0pabPNbFVaCCjMNHo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3UR5xmZzFo0pabPNbFVaCCjMNHo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/3UR5xmZzFo0pabPNbFVaCCjMNHo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3UR5xmZzFo0pabPNbFVaCCjMNHo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://fixingsoftware.blogspot.com/feeds/673820016724222710/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8938395718284266980&amp;postID=673820016724222710" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/673820016724222710?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/673820016724222710?v=2" /><link rel="alternate" type="text/html" href="http://fixingsoftware.blogspot.com/2010/02/calling-javascript-from-actionscript-3.html" title="Calling Javascript from Actionscript 3" /><author><name>Andres N. Kievsky</name><uri>http://www.blogger.com/profile/00265331700609152907</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://3.bp.blogspot.com/_6-04mpim1lg/SY40kdpByAI/AAAAAAAAAEQ/e7nbJd12hNE/S220/bukowski.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DEMNRXc7fCp7ImA9WxBVFEo.&quot;"><id>tag:blogger.com,1999:blog-8938395718284266980.post-2062873979066449079</id><published>2010-02-17T22:59:00.001-08:00</published><updated>2010-02-17T23:01:34.904-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-17T23:01:34.904-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="flash" /><category scheme="http://www.blogger.com/atom/ns#" term="actionscript 3" /><category scheme="http://www.blogger.com/atom/ns#" term="trick" /><title>ActionScript 3: How to make TextField use alpha</title><content type="html">This seems to be mostly undocumented. Just:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;textField.blendMode = BlendMode.LAYER;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This way, there's no need to embed any fonts either. Don't forget to import flash.display.* or whatever you need.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8938395718284266980-2062873979066449079?l=fixingsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/G13pos2BJFxCzQZ_sQ5y1stD2MQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/G13pos2BJFxCzQZ_sQ5y1stD2MQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/G13pos2BJFxCzQZ_sQ5y1stD2MQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/G13pos2BJFxCzQZ_sQ5y1stD2MQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://fixingsoftware.blogspot.com/feeds/2062873979066449079/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8938395718284266980&amp;postID=2062873979066449079" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/2062873979066449079?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/2062873979066449079?v=2" /><link rel="alternate" type="text/html" href="http://fixingsoftware.blogspot.com/2010/02/actionscript-3-how-to-make-textfield.html" title="ActionScript 3: How to make TextField use alpha" /><author><name>Andres N. Kievsky</name><uri>http://www.blogger.com/profile/00265331700609152907</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://3.bp.blogspot.com/_6-04mpim1lg/SY40kdpByAI/AAAAAAAAAEQ/e7nbJd12hNE/S220/bukowski.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;A0IGQn08fip7ImA9WxBXFko.&quot;"><id>tag:blogger.com,1999:blog-8938395718284266980.post-2752317691892641704</id><published>2010-01-27T06:26:00.000-08:00</published><updated>2010-01-28T03:52:03.376-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-28T03:52:03.376-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="bugs" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><category scheme="http://www.blogger.com/atom/ns#" term="debugging" /><title>Finding bugs: a thought experiment</title><content type="html">&lt;div&gt;I spoke with some people about the last post;  they basically said that I should add more tests for corner cases and unexpected conditions. Doing that could potentially catch some bugs, but it's like trying to hunt birds by closing your eyes and shooting blindly at the sky.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now, let's take it to an extreme. Suppose that you have an add_one() function, and for some reason (bad RAM, pasting at random, whatever) you end up with this bug:&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;function add_one(int n) {&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;  if (n == 31415926) { return 1; } else { return n+1; }&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;How do you catch this one? You can't possibly test the whole range of ints, so testing is pretty much out of the question. You can, however, catch the bug by studying the code. But then again, you can always catch a bug that way. So, what other automatic ways are there to find it? What is it about us humans that allows us to see that bug, whilst an automatic process cannot? The process seems to work in these three steps:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1. Identification of goal: What's this function meant to do? "add one to a number."&lt;/div&gt;&lt;div&gt;2. Previous work: How is this done? Include past experiences, training, etc&lt;/div&gt;&lt;div&gt;3. Comparison and mental execution: Examine the code and its execution paths, see if there's anything that doesn't fit with what the function is supposed to do.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So it's more about *knowing* what the function is supposed to do first, rather than trying to figure out the error with the function itself. This simple thought experiment confirms what I've been thinking: to improve automatic bug finding, the computer needs to know a lot more about what we are trying to accomplish.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8938395718284266980-2752317691892641704?l=fixingsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/We8MTUo3Lc_yUKDBjl0IpcQ8uac/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/We8MTUo3Lc_yUKDBjl0IpcQ8uac/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/We8MTUo3Lc_yUKDBjl0IpcQ8uac/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/We8MTUo3Lc_yUKDBjl0IpcQ8uac/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://fixingsoftware.blogspot.com/feeds/2752317691892641704/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8938395718284266980&amp;postID=2752317691892641704" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/2752317691892641704?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/2752317691892641704?v=2" /><link rel="alternate" type="text/html" href="http://fixingsoftware.blogspot.com/2010/01/finding-bugs-thought-experiment.html" title="Finding bugs: a thought experiment" /><author><name>Andres N. Kievsky</name><uri>http://www.blogger.com/profile/00265331700609152907</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://3.bp.blogspot.com/_6-04mpim1lg/SY40kdpByAI/AAAAAAAAAEQ/e7nbJd12hNE/S220/bukowski.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CEQESX84fip7ImA9WxBXEkk.&quot;"><id>tag:blogger.com,1999:blog-8938395718284266980.post-2638477831636639322</id><published>2010-01-23T01:25:00.000-08:00</published><updated>2010-01-23T02:25:08.136-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-23T02:25:08.136-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="editors" /><category scheme="http://www.blogger.com/atom/ns#" term="bad code" /><category scheme="http://www.blogger.com/atom/ns#" term="work" /><category scheme="http://www.blogger.com/atom/ns#" term="bug" /><category scheme="http://www.blogger.com/atom/ns#" term="c#" /><category scheme="http://www.blogger.com/atom/ns#" term="interesting" /><category scheme="http://www.blogger.com/atom/ns#" term="fixing software" /><title>FInding bugs in the near future</title><content type="html">Earlier today, working on a C# program, I noticed a bug. After some head scratching, I found the cause: calling the wrong method. My code used .&lt;i&gt;Seconds&lt;/i&gt;() instead of .&lt;i&gt;ToSeconds&lt;/i&gt;(). The names are very similar, and easy to confuse.&lt;br /&gt;&lt;br /&gt;The first method returns the number of seconds of the date object, so if the date represents 08:09:23, this method returns 23.&lt;br /&gt;&lt;br /&gt;The second returns a value that is usually the number of seconds since a moment in 1970 (unix timestamp) or similar.&lt;br /&gt;&lt;br /&gt;So, my code looked like this:&lt;br /&gt;&lt;br /&gt;if (time2.Subtract(time1).seconds() &gt; NUMBER OF SECONDS) { ... }&lt;br /&gt;&lt;br /&gt;This worked fine for seconds up to 59, but the test code didn't test anything higher than 20 or so. In production, NUMBER OF SECONDS was 120, so .seconds() was never going to return a number high enough to trigger the condition.&lt;br /&gt;&lt;br /&gt;Now, i'm wondering how could the computer have helped me with that? Or, rather - can that bug only be caught through testing?&lt;br /&gt;&lt;br /&gt;Once I've found a bug through testing, I need to go to the source and actually figure out where it is - do some debugging, read code, think about it, etc. So in the end, it's always the human and code listing to actually find the bug - some tools can help, but it's still up to us to go and fix it.&lt;br /&gt;&lt;br /&gt;As fas as I know, there are no automated tools that can detect this particular bug. Imagine a similar bug that only fails with the parameter 0xCAFE - how do you find that? Testing cannot help if that value is not produced by any of the test cases. Type systems can't either, since this is not really a problem of typing or ranges - the contract is correct, it's the code itself that's flawed. The obvious solution is to just go back to the code every so often and take a good long look. Read the source slowly, preferably after a big nap or sleep, follow threads of execution in your head, see if there's anything that you don't quite understand or remember and look it up.&lt;br /&gt;&lt;br /&gt;Note that my bug was easy to find, the problem is that feeling of loss of control that comes with noticing that there is no simple way to detect a bug like this, and that I delivered code that had an annoying bug -- a bug I could not possibly have prevented with technology -- I should have done an extra effort myself to find it.&lt;br /&gt;&lt;br /&gt;An execution thread analyzer, integrated with a language for me to declare what I am expecting of the code, could generate random test cases that would have more chances of finding that bug -- or maybe even detect the bug through the analyzer. So in my mind that's a possibility - it just doesn't exist yet, as far as I know.&lt;br /&gt;&lt;br /&gt;We can train ourselves to be better at spotting these things (and programming in general.) As a kid I used to try and memorize the most common keywords of BASIC, because I hated having to look them up. That is just a start - you can train yourself to remember common language constructions, algorithms, constants, etc. The only problem with it is that new versions of libraries come up all the time, so all that effort in learning might not help for long.&lt;br /&gt;&lt;br /&gt;Considering the options, I hope the computer will eventually do most of the programming for me. The computer then becomes an assistant, writing code and fixing bugs. That way, we humans can do more and work faster, and even have more fun by entrusting the repetitive stuff to the machine.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;For this automation to happen, we need to improve the way we interact with computers, and we need to create programming tools that are more and more aware of what we're doing and can help us more and more. I have been thinking a lot about this and I'm working on a text editor that is a sort of proof of concept of these ideas - especially about how the computer should know more about what I'm doing - but at this stage it's still in the drawing board.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8938395718284266980-2638477831636639322?l=fixingsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/X999qXygQOvVXN8SfW9YCUDW7YY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/X999qXygQOvVXN8SfW9YCUDW7YY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/X999qXygQOvVXN8SfW9YCUDW7YY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/X999qXygQOvVXN8SfW9YCUDW7YY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://fixingsoftware.blogspot.com/feeds/2638477831636639322/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8938395718284266980&amp;postID=2638477831636639322" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/2638477831636639322?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/2638477831636639322?v=2" /><link rel="alternate" type="text/html" href="http://fixingsoftware.blogspot.com/2010/01/finding-bugs-in-near-future.html" title="FInding bugs in the near future" /><author><name>Andres N. Kievsky</name><uri>http://www.blogger.com/profile/00265331700609152907</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://3.bp.blogspot.com/_6-04mpim1lg/SY40kdpByAI/AAAAAAAAAEQ/e7nbJd12hNE/S220/bukowski.jpg" /></author><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;DU4MR3wyfip7ImA9WxNbEEw.&quot;"><id>tag:blogger.com,1999:blog-8938395718284266980.post-3405628438798697370</id><published>2009-11-12T01:21:00.000-08:00</published><updated>2009-11-12T01:26:26.296-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-12T01:26:26.296-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="direct2d" /><category scheme="http://www.blogger.com/atom/ns#" term="broken software" /><category scheme="http://www.blogger.com/atom/ns#" term="fail" /><category scheme="http://www.blogger.com/atom/ns#" term="windows" /><category scheme="http://www.blogger.com/atom/ns#" term="sad" /><title>Direct2D and DirectWrite</title><content type="html">Windows has this cool new hardware-accelerated 2D API in windows 7 and vista sp2. Very fast, pristine looking stuff.&lt;br /&gt;But... the documentation is crap; it is only fully accessible from C++ (Microsoft half-assedly put together a c# wrapper, but it's incomplete and untested)&lt;br /&gt;It's like they go out of their way to make sure these things fail. A couple of very smart guys @ microsoft put together that API -it looks really cool - and they basically took a shit on it.&lt;br /&gt;Just *throw away all the old GDI crap* and tell people to use that from now on!!! It's like they don't want any new, good looking programs in Windows. "Awesome 2D and font rendering? that's not something anybody will want!" Interestingly, they ONLY put together the C# wrapper after lots and lots of people complained. &lt;br /&gt;Major facepalming, if you ask me&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8938395718284266980-3405628438798697370?l=fixingsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ivUdRTBlc21obU1sJht6dTeUKsc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ivUdRTBlc21obU1sJht6dTeUKsc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ivUdRTBlc21obU1sJht6dTeUKsc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ivUdRTBlc21obU1sJht6dTeUKsc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://fixingsoftware.blogspot.com/feeds/3405628438798697370/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8938395718284266980&amp;postID=3405628438798697370" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/3405628438798697370?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/3405628438798697370?v=2" /><link rel="alternate" type="text/html" href="http://fixingsoftware.blogspot.com/2009/11/direct2d-and-directwrite.html" title="Direct2D and DirectWrite" /><author><name>Andres N. Kievsky</name><uri>http://www.blogger.com/profile/00265331700609152907</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://3.bp.blogspot.com/_6-04mpim1lg/SY40kdpByAI/AAAAAAAAAEQ/e7nbJd12hNE/S220/bukowski.jpg" /></author><thr:total>3</thr:total></entry><entry gd:etag="W/&quot;DkINRXwycCp7ImA9WxNSF04.&quot;"><id>tag:blogger.com,1999:blog-8938395718284266980.post-2743003519804524680</id><published>2009-08-31T08:59:00.001-07:00</published><updated>2009-08-31T09:03:14.298-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-31T09:03:14.298-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="horrible" /><category scheme="http://www.blogger.com/atom/ns#" term="wtf" /><category scheme="http://www.blogger.com/atom/ns#" term="perl 6" /><title>Perl 6's Logo</title><content type="html">It's official! Perl 6 now has the world's ugliest logo. I am really speechless, especially after reading this thread:&lt;br /&gt;&lt;br /&gt;http://www.nntp.perl.org/group/perl.perl6.language/2009/03/msg31237.html&lt;br /&gt;&lt;br /&gt;There are people in there with serious psychological issues. Also, the fact that only a couple of guys thought about getting professional help for the logo design, it's just ... insane.&lt;br /&gt;&lt;br /&gt;- ank&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8938395718284266980-2743003519804524680?l=fixingsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/QfwdV_d8Qu5yCqrtf4jhn-VIqVY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QfwdV_d8Qu5yCqrtf4jhn-VIqVY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/QfwdV_d8Qu5yCqrtf4jhn-VIqVY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QfwdV_d8Qu5yCqrtf4jhn-VIqVY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://fixingsoftware.blogspot.com/feeds/2743003519804524680/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8938395718284266980&amp;postID=2743003519804524680" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/2743003519804524680?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8938395718284266980/posts/default/2743003519804524680?v=2" /><link rel="alternate" type="text/html" href="http://fixingsoftware.blogspot.com/2009/08/perl-6s-logo.html" title="Perl 6's Logo" /><author><name>Andres N. Kievsky</name><uri>http://www.blogger.com/profile/00265331700609152907</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="21" src="http://3.bp.blogspot.com/_6-04mpim1lg/SY40kdpByAI/AAAAAAAAAEQ/e7nbJd12hNE/S220/bukowski.jpg" /></author><thr:total>2</thr:total></entry></feed>

