<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8336831005230062280</id><updated>2012-01-18T15:34:46.791-05:00</updated><category term='randomness'/><category term='headline hunting'/><category term='watching the watchers'/><category term='metablog'/><category term='news link-post'/><category term='green tech'/><category term='quotations'/><category term='programming'/><category term='distractions'/><category term='editorial'/><title type='text'>Bit-Stream of Consciousness</title><subtitle type='html'>News, tech, distractions, and randomness that's flowing through at the moment.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default?start-index=101&amp;max-results=100'/><author><name>Brian</name><uri>http://www.blogger.com/profile/05775103217404485929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>685</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-5531528578260023580</id><published>2012-01-18T14:51:00.001-05:00</published><updated>2012-01-18T14:51:19.249-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>WebROWS: An Old Friend Reborn</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;i&gt;"Luke, you will find that many of the truths we cling to depend greatly on our own point of view." —Ben Kenobi&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;Once upon a time, back in the last century, I was working with a programming language called C and attempting to learn a little bit about making computer graphics. The first little graphics program I wrote was a three-layer false parallax star field. I &lt;a href="http://bitstreamofconsciousness.blogspot.com/2011/10/reaching-for-stars.html"&gt;revisited&lt;/a&gt; that idea a couple of months ago when learning Javascript and the HTML canvas API. After doing a few small exercises to get some familiarity with the language and API, it was time to do something a bit more ambitious. I decided to try my hand at recreating something else I did back in the 90s in C: a simplistic Columns knock-off that I called ROWS.&lt;br /&gt;&lt;br /&gt;Re-implementing something I had not looked at in a decade was an interesting experience. The browser model is quite different than the old C direct-to-graphics-memory method. In fact, you basically can't do the old way anymore thanks to the evolution of operating systems. Still, re-solving a known problem gives you the advantage of knowing at least one way it will work. That does not mean I did not make any mistakes along the way.&lt;br /&gt;&lt;br /&gt;I wrote a few years ago about&lt;a href="http://bitstreamofconsciousness.blogspot.com/2007/12/tale-about-mistake.html"&gt;&amp;nbsp;a defect in one of my programs at work&lt;/a&gt;. The solution involved looking at the problem I a new way. I ran into a different kind of issue when implementing the program in the browser. After working through each piece of the application, finding errors along the way and removing them, everything looked like it was working. And then I tested embedding it in this blog. It still worked, but I had made one rather&amp;nbsp;egregious&amp;nbsp;oversight. I had used the cursor keys to control the game.&lt;br /&gt;&lt;br /&gt;Perhaps this sounds reasonable to you; I know it did to me. After all, the old version used the cursor keys, why shouldn't the new version. Well, you see, the cursor keys already have defined uses in the browser environment, namely to scroll web pages around. That didn't matter when the game fit on the page with no scrolling needed, but as soon as I put it in a page larger than the browser window those cursor keys moved the page again, shifting the game around with it. All in all a rather unacceptable situation when trying to actually play. Off I went to search for people's solutions to this problem, and I found a few that purported to fix the cursor key behavior. I even tried out a couple, to no avail. But I also found other people saying that using the cursor keys was not the way to behave. The browser, and more importantly the browser's user, already expects those keys to perform a specific function. Breaking it is bad form, they said, perhaps you should consider another way.&amp;nbsp;And of course they were quite correct.&lt;br /&gt;&lt;br /&gt;I moved the controls for the game to a different set of keys and the thing I perceived as a problem was revealed for what it was. My program didn't have an issue, I did. In attempting to override the browser's desired behavior I had created difficulty for myself that shouldn't have existed in the first place. And isn't life just like that sometimes? How often do we cause problems for ourselves by projecting our expectations onto others without really stopping to consider them? Admitting you are wrong can be hard, but sometimes it can help too.&lt;br /&gt;&lt;br /&gt;Now I am not going to finish this post without putting in &lt;a href="http://bitstreamofconsciousness.blogspot.com/p/webrows.html"&gt;the link to the WebROWS page&lt;/a&gt;. The link is also over in the sidebar. I hope you enjoy playing around with it, and I would be happy to answer any questions about how it works or how I built it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-5531528578260023580?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/5531528578260023580/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=5531528578260023580' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/5531528578260023580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/5531528578260023580'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2012/01/webrows-old-friend-reborn.html' title='WebROWS: An Old Friend Reborn'/><author><name>Brian</name><uri>http://www.blogger.com/profile/05775103217404485929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-553763028521260823</id><published>2012-01-03T16:24:00.000-05:00</published><updated>2012-01-03T16:24:57.537-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='quotations'/><title type='text'>Quote of the Moment</title><content type='html'>“A pervasive emphasis on the expectations market,” writes Martin, “has reduced shareholder value, created misplaced and ill-advised incentives, generated inauthenticity in our executives, and introduced parasitic market players. The moral authority of business diminishes with each passing year, as customers, employees, and average citizens grow increasingly appalled by the behavior of business and the seeming greed of its leaders. At the same time, the period between market meltdowns is shrinking, Capital markets—and the whole of the American capitalist system—hang in the balance.”&lt;br /&gt;— Roger Martin, Dean of the Rotman School of Management at the University of Toronto, quoted in "&lt;a href="http://www.forbes.com/sites/stevedenning/2011/11/28/maximizing-shareholder-value-the-dumbest-idea-in-the-world/"&gt;The Dumbest Idea in the World: Maximizing Shareholder Value&lt;/a&gt;" via Forbes&lt;br /&gt;&lt;br /&gt;And if you will permit a smidge of editorializing, let me say yes, yes, a thousand times, yes!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-553763028521260823?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/553763028521260823/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=553763028521260823' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/553763028521260823'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/553763028521260823'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2012/01/quote-of-moment.html' title='Quote of the Moment'/><author><name>Brian</name><uri>http://www.blogger.com/profile/05775103217404485929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-897726660664327012</id><published>2012-01-03T14:47:00.000-05:00</published><updated>2012-01-03T14:47:33.975-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='watching the watchers'/><title type='text'>Watching the Watchers: Leaders, Manipulators, and the Panopticon</title><content type='html'>Welcome to 2012 everyone! &amp;nbsp;Personally, 2011 was a rough year, and I am hoping that the new year will bring a brighter future for everyone, we sure could use it. For that reason, I'm not going to bother with a retrospective or resolutions this year. &amp;nbsp;Nope, let's start it off with some nice, ambiguous stories about what our Big Brothers are up to.&lt;br /&gt;&lt;br /&gt;Whatever your opinion of the public schools, you will be hard pressed to argue the proliferation of standardized testing over the last couple of decades has not caused changes. Recently a member of a school board in California tried his hand at the tenth grade standardized reading and math tests. Of his performance on the math test he had the following to say, "&lt;a href="http://www.washingtonpost.com/blogs/answer-sheet/post/when-an-adult-took-standardized-tests-forced-on-kids/2011/12/05/gIQApTDuUO_blog.html"&gt;The math section had 60 questions. I knew the answers to none of them, but managed to guess ten out of the 60 correctly.&lt;/a&gt;" He performed at a D level on the reading test as well. This prompted much derision from &lt;a href="http://news.slashdot.org/story/11/12/10/028244/are-you-better-at-math-than-a-4th-or-10th-grader"&gt;the usual suspects&lt;/a&gt;, especially after his identity was revealed and it showed his degrees to be in education. One expects that from the internet, but the article itself is knocking the testing itself. So the trick to this story is figuring out where you believe the&amp;nbsp;incompetence&amp;nbsp;lies.&lt;br /&gt;&lt;br /&gt;Over in Washington, the SOPA bill which seeks to give the big media companies the right to break the internet and potentially put people in jail for five years for a first copyright offense is generating jobs. &amp;nbsp;&lt;a href="http://www.techdirt.com/articles/20111209/10151917022/shockingly-unshocking-two-congressional-staffers-who-helped-write-sopapipa-become-entertainment-industry-lobbyists.shtml"&gt;Lobbying jobs that is&lt;/a&gt;. Are these people fighting on in the private sector for the things they believed in while in public service, or are such things evidence of corruption and quid pro quo relationships between the government&amp;nbsp;bureaucracy and large corporations?&lt;br /&gt;&lt;br /&gt;Meanwhile, people still want to know what you are up to, for your own protection of course. The proliferation of personal technology and the sensors and data that go along with it have created a market wherein &lt;a href="http://arstechnica.com/tech-policy/news/2011/12/gallery-how-the-surveillance-industry-markets-spyware-to-governments.ars"&gt;shady, potentially malicious exploits are used in products&lt;/a&gt; sold to corporations, governments, and police forces around the world. Also unsurprisingly, &lt;a href="http://www.latimes.com/news/nationworld/nation/la-na-drone-arrest-20111211,0,72624,full.story"&gt;military drones are trickling down into police use&lt;/a&gt;. Are these the necessary steps needed to protect a technologically advanced society from crime, or bricks in the metaphorical &lt;a href="http://en.wikipedia.org/wiki/Panopticon"&gt;panopticon&lt;/a&gt; wall of a controlled society?&lt;br /&gt;&lt;br /&gt;The choices my friends, are yours.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-897726660664327012?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/897726660664327012/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=897726660664327012' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/897726660664327012'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/897726660664327012'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2012/01/watching-watchers-leaders-manipulators.html' title='Watching the Watchers: Leaders, Manipulators, and the Panopticon'/><author><name>Brian</name><uri>http://www.blogger.com/profile/05775103217404485929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-39303491122002326</id><published>2011-12-01T15:07:00.001-05:00</published><updated>2011-12-01T15:21:21.103-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Add Some Keys to Those Clicks</title><content type='html'>This is the same mouse test as before, but I've also added some keyboard behavior. Pressing the number keys displays a number in the corresponding box. (The numeric keypad keys do not, just the ones in the top row of the keyboard.) The different shape of the grid is intentional. The appearance of the boxes, and consequently the mouse hit detection, gets computed from the width and height of the canvas as described in the HTML rather than being defined on the JavaScript side. This is a minor little example of separating appearance and functionality.&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;canvas height="150" id="canvas_keytest" width="300"&gt;Sorry, you browser does not support the canvas element, you will not be able to see this demo.&lt;/canvas&gt;&lt;/div&gt;&lt;script type="text/javascript"&gt;var cmt2 = {};//Namespace variable for "canvas mouse test".cmt2.init = function () {  "use strict";  cmt2.canvas = document.getElementById("canvas_keytest");  cmt2.context = cmt2.canvas.getContext("2d");  //Record the states for the clickable squares.  cmt2.grid = [false, false, false, false, false, false, false, false, false];  cmt2.nums = [false, false, false, false, false, false, false, false, false];  //I want some padding between the clicky squares, so divide the canvas space into  //  thirds, but use only 90% of that, which leaves 5% of the space on  //  either side as the padding.  cmt2.gridWidth = cmt2.canvas.width / 3;  cmt2.squareWidth = cmt2.gridWidth * 0.9;  cmt2.squareWidthOffset = cmt2.gridWidth * 0.05;  cmt2.gridHeight = cmt2.canvas.height / 3;  cmt2.squareHeight = cmt2.gridHeight * 0.9;  cmt2.squareHeightOffset = cmt2.gridHeight * 0.05;  cmt2.canvas.addEventListener("click", cmt2.onClick, false);  window.addEventListener("keydown", cmt2.onKeyDown, false);  window.addEventListener("keyup", cmt2.onKeyUp, false);  cmt2.drawGrid();};cmt2.drawGrid = function () {  "use strict";  var squareNum = 0;  cmt2.context.fillStyle = "white";  cmt2.context.fillRect(0, 0, cmt2.canvas.width, cmt2.canvas.height);  for (squareNum = 0; squareNum &lt; 9; squareNum += 1) {    if (cmt2.grid[squareNum]) {      cmt2.context.fillStyle = "cyan";    } else {      cmt2.context.fillStyle = "lightsteelblue";    }    cmt2.context.fillRect(cmt2.gridWidth * (squareNum % 3) + cmt2.squareWidthOffset,      cmt2.gridHeight * (Math.floor(squareNum / 3)) + cmt2.squareHeightOffset,      cmt2.squareWidth,      cmt2.squareHeight);    if (cmt2.nums[squareNum]) {      cmt2.context.fillStyle = "blue";      cmt2.context.font = "20pt Mono";      cmt2.context.textAlign = "center";      cmt2.context.fillText((squareNum + 1).toString(),        cmt2.gridWidth * (squareNum % 3) + cmt2.gridWidth / 2,        cmt2.gridHeight * (Math.floor(squareNum / 3)) + cmt2.gridHeight / 2);    }  }};cmt2.onClick = function (theEvent) {  "use strict";  var obj,    whichBox,    canvasLeft,    canvasTop,    clickXCanvasCoord,    clickYCanvasCoord;  obj = cmt2.canvas;  whichBox = 0;  canvasLeft = 0;  canvasTop = 0;  clickXCanvasCoord = 0;  clickYCanvasCoord = 0;  //Correct for the lack of standard event passing.  if (!theEvent) { theEvent = window.event; }  //Get the position of the mouse click in terms of the canvas.  while (obj.tagName !== 'BODY') {    canvasLeft += obj.offsetLeft;    canvasTop += obj.offsetTop;    obj = obj.offsetParent;  }  clickXCanvasCoord = theEvent.clientX - canvasLeft + window.pageXOffset;  clickYCanvasCoord = theEvent.clientY - canvasTop + window.pageYOffset;  //Is the click inside the canvas?  if ((clickXCanvasCoord &gt;= 0 &amp;&amp; clickXCanvasCoord &lt; cmt2.canvas.width) &amp;&amp;      (clickYCanvasCoord &gt;= 0 &amp;&amp; clickYCanvasCoord &lt; cmt2.canvas.height)) {    //Is the click on a square and not in the padding around/between them?    if ((clickXCanvasCoord % cmt2.gridWidth &gt; cmt2.squareWidthOffset) &amp;&amp;        (clickXCanvasCoord % cmt2.gridWidth &lt; cmt2.gridWidth - cmt2.squareWidthOffset) &amp;&amp;        (clickYCanvasCoord % cmt2.gridHeight &gt; cmt2.squareHeightOffset) &amp;&amp;        (clickYCanvasCoord % cmt2.gridHeight &lt; cmt2.gridHeight - cmt2.squareHeightOffset)        ) {      //Calculate which box was clicked and alter its state.      whichBox = Math.floor(clickXCanvasCoord / cmt2.gridWidth) +        (3 * (Math.floor(clickYCanvasCoord / cmt2.gridHeight)));      cmt2.grid[whichBox] = !cmt2.grid[whichBox];      //Redraw the grid.      cmt2.drawGrid();    }  }};cmt2.getCharFromKeyEvent = function (theEvent) {  "use strict";  var keyCode,    keyChar;  keyCode = theEvent.which;  keyChar = String.fromCharCode(keyCode);  return keyChar;};cmt2.onKeyDown = function (theEvent) {  "use strict";  var keyChar, keyNum;  //Correct for the lack of standard event passing.  if (!theEvent) { theEvent = window.event; }  keyChar = cmt2.getCharFromKeyEvent(theEvent);  if (keyChar === "1" ||      keyChar === "2" ||      keyChar === "3" ||      keyChar === "4" ||      keyChar === "5" ||      keyChar === "6" ||      keyChar === "7" ||      keyChar === "8" ||      keyChar === "9") {    keyNum = parseInt(keyChar, 10);    cmt2.nums[keyNum - 1] = true;  }  //Redraw the grid.  cmt2.drawGrid();};cmt2.onKeyUp = function (theEvent) {  "use strict";  var keyChar, keyNum;  //Correct for the lack of standard event passing.  if (!theEvent) { theEvent = window.event; }  keyChar = cmt2.getCharFromKeyEvent(theEvent);  if (keyChar === "1" ||      keyChar === "2" ||      keyChar === "3" ||      keyChar === "4" ||      keyChar === "5" ||      keyChar === "6" ||      keyChar === "7" ||      keyChar === "8" ||      keyChar === "9") {    keyNum = parseInt(keyChar, 10);    cmt2.nums[keyNum - 1] = false;  }  //Redraw the grid.  cmt2.drawGrid();};window.addEventListener("load", cmt2.init, false);&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-39303491122002326?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/39303491122002326/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=39303491122002326' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/39303491122002326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/39303491122002326'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/12/add-some-keys-to-those-clicks.html' title='Add Some Keys to Those Clicks'/><author><name>Brian</name><uri>http://www.blogger.com/profile/05775103217404485929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-4607684595146383869</id><published>2011-12-01T13:17:00.001-05:00</published><updated>2011-12-01T15:16:09.815-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='randomness'/><title type='text'>Bachelor Chow: Corp. Joe's Chicken</title><content type='html'>Today's experiment in turning a bunch of mostly pre-made ingredients into something greater than the sum of their parts went quite well. For future reference, I present&amp;nbsp;Corporal&amp;nbsp;Joe's Chicken.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Shake and bake chicken, hot and spicy style, prepared as nuggets (cooks faster that way too).&lt;/li&gt;&lt;li&gt;Veggie fried rice consisting of frozen "stir fry" vegetable&amp;nbsp;medley&amp;nbsp;of your choice, stir fried with a touch of ginger powder, adding cooked instant rice and a light amount of soy when the veggies are done.&lt;/li&gt;&lt;li&gt;Mix 50/50 soy sauce and hoisin sauce, heat for a couple of seconds in the microwave so they will blend, drizzle over chicken to taste. Optionally add red pepper flakes and onion flakes or chopped fresh green onions to better emulate Tso chicken's flavor.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-D279ZAV4KGA/TtfIALjiUwI/AAAAAAAAAB0/nq1Tx1702Ec/s1600/2011-12-01_CorpJoesChicken.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="222" src="http://4.bp.blogspot.com/-D279ZAV4KGA/TtfIALjiUwI/AAAAAAAAAB0/nq1Tx1702Ec/s400/2011-12-01_CorpJoesChicken.jpg" width="400" /&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/8336831005230062280-4607684595146383869?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/4607684595146383869/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=4607684595146383869' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/4607684595146383869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/4607684595146383869'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/12/bachelor-chow-corp-joes-chicken.html' title='Bachelor Chow: Corp. Joe&apos;s Chicken'/><author><name>Brian</name><uri>http://www.blogger.com/profile/05775103217404485929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-D279ZAV4KGA/TtfIALjiUwI/AAAAAAAAAB0/nq1Tx1702Ec/s72-c/2011-12-01_CorpJoesChicken.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-9216308025841563690</id><published>2011-11-30T16:03:00.001-05:00</published><updated>2011-11-30T16:29:55.790-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='editorial'/><title type='text'>There's Another Wave on the Horizon</title><content type='html'>Sometimes new technology catches you by surprise, but often you can see it coming if you know where to look (or just get lucky). I first learned about the devices referred to as three-dimensional printers during my time at Clemson in the mid-90s. Basically, they work by building objects up out of 2D slices. Think of how medical imaging such as MRIs work, and then use those as blueprints. Indeed that is exactly what they were researching when I was given the tour: using medical data as inputs to create custom&amp;nbsp;prostheses. Cost and limits in resolution and usable materials have restricted applications, so far. But the idea of a device that can build anything (of a certain size or below) sounds like another one of those Star Trek dreams that is destined for reality. Now I read that &lt;a href="http://www.economist.com/node/18114327?story_id=18114327"&gt;costs for 3D printers are now below what laser printers cost in the mid-80s&lt;/a&gt;, and there are companies starting to use the devices in a more consumer facing way, including one that will allow you to order &lt;a href="http://arstechnica.com/gadgets/news/2011/11/startup-launches-a-robot-invasion-with-3d-printing-and-webgl.ars?utm_source=rss&amp;amp;utm_medium=rss&amp;amp;utm_campaign=rss"&gt;custom built ceramic-esque robots&lt;/a&gt;. (Incidentally, to dovetail my own recent posts, the software used to customize the robots also serves as an example of using cutting edge of web programming tools too.)&lt;br /&gt;&lt;br /&gt;Imagine a world thirty years from now when anything smaller than, say, a soccer ball can be designed and produced in your home. Imagine a world where designs are shared on web pages and/or in design stores that mirror today's mobile application stores. Of course, the real trick will be &lt;a href="http://www.economist.com/node/18114221"&gt;imagining what the manufacturing sector looks like after&lt;/a&gt; that comes to pass...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-9216308025841563690?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/9216308025841563690/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=9216308025841563690' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/9216308025841563690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/9216308025841563690'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/11/theres-another-wave-on-horizon.html' title='There&apos;s Another Wave on the Horizon'/><author><name>Brian</name><uri>http://www.blogger.com/profile/05775103217404485929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-1117987660393309061</id><published>2011-11-28T15:10:00.001-05:00</published><updated>2011-11-28T16:42:40.362-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>A Delve into Some Details</title><content type='html'>My last programming post was a bit of an upbeat ramble in response to a question about the previous post which was a bit of a grumpy gripe. I would like to revisit that gripe one last time. Javascript DOM event handling started me down the road to Crankyville, so allow me to reflect on some of the minute straws my camel was carrying that day.&lt;br /&gt;&lt;br /&gt;When learning languages and programming interfaces, I naturally tend to use Google as my easiest reference when poking around with new things. Unfortunately Google is like high school: it confuses popularity with authoritativeness. The number one link when searching on the topic of JavaScript event handlers shows an example that looks essentially like this:&lt;br /&gt;&lt;pre&gt;thing.eventHandler = function (eventData) {&lt;br /&gt;  var local1, local2;&lt;br /&gt;  if (!eventData){&lt;br /&gt;    var eventData = window.event;&lt;br /&gt;  }&lt;br /&gt;  //The magic happens.&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;I want to be clear up front, this works and turns out to be perfectly correct, but it still bothered me. Being a professional programmer cultivates a certain amount of anal retentiveness in you. Computer code does exactly what you tell it to, not what you meant it to. Plus, not all languages are strict about checking whether you are making sense or telling it gibberish before going off and potentially wrecking things. In this case, a couple things set my programmer sense off, and they are both related to that if statement above.&lt;br /&gt;&lt;br /&gt;First, the reason you have to have the if statement in the first place: WebKit browsers pass event data as a parameter to the event handler function, but Gecko browsers store event data in the window object's event property. The if statement checks to see if there is data in the parameter, and if not attempts to retrieve it from the window property. I have not bothered to look up whether this comes about because of competing standards or too-permissive specifications, but either way the situation has to be handled. And it has to be handled every single time. Compatibility issues of this sort are certainly nothing new, but they do nothing but add code. Picking one style over the other does not break the old code because both cases are covered, so why not declare one the winner and move forward without needing the additional testing. &lt;span class="Apple-style-span" style="font-size: x-small;"&gt;(Note to browser vendors: pick the parameter form. I suspect using the global window.event will interfere with any potential attempts at parallel processing events. Not to mention using globals is just bad form.)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The second issue is much more subtle, and much more just me being a jerk about these sorts of things. The function has a formal parameter called eventData. The function declares a variable eventData. Thus eventData appears to have two different definitions in the same place. Programmers refer to visibility of things as the "scope" of those things. JavaScript has two types of scopes, visible to everything everywhere (global scope) and visible only within the function where it is declared (function scope). When I see two different definitions of something in the same scope it get an ache behind the eyes. Thankfully, it turned out I was not alone in that assessment.&amp;nbsp;I mentioned Douglas Crockford's &lt;a href="http://www.jslint.com/"&gt;JSLint&lt;/a&gt; tool previously in passing, and indeed it flags eventData in the code above as being re-declared. The question then became: why this is flagged as bad style but not actually an error.&amp;nbsp;JavaScript, I learned, allows the redefinition of things within the same scope; the second definition is essentially ignored and the system uses the thing already given that name. In this code, it is not a problem. In long, complicated functions written by people used to different rules from different languages, I can see this causing subtle defects. And so could Mr. Crockford. Having someone backup your gut feelings is always nice.&lt;br /&gt;&lt;pre&gt;thing.eventHandler = function (eventData) {&lt;br /&gt;  var local1, local2;&lt;br /&gt;  if (!eventData){&lt;br /&gt;    eventData = window.event;&lt;br /&gt;  }&lt;br /&gt;  //The magic happens.&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;In the end we get the above code, with one problem solved, and one problem not. The change is quite subtle, but it makes those aches in my head go away. As for the piece not solved, well, what can I say? Learning to cope with things you can't change is just as much a part of being a programmer as in any other aspect of life.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-1117987660393309061?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/1117987660393309061/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=1117987660393309061' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/1117987660393309061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/1117987660393309061'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/11/my-last-programming-post-was-bit-of.html' title='A Delve into Some Details'/><author><name>Brian</name><uri>http://www.blogger.com/profile/05775103217404485929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-325480075871638460</id><published>2011-11-26T21:56:00.001-05:00</published><updated>2011-11-26T23:11:36.216-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='distractions'/><title type='text'>Music I'm Stuck On</title><content type='html'>I post music that catches my attention from time to time, but it occurs to me that I have never posted the bands that have grabbed the lion's share of my listening time for the past several years. My problem now is narrowing down the song list to just a couple, because I sincerely love large swaths of both bands' catalogs. These choices are not necessarily representative, but simply ones I listen to over and over.&lt;br /&gt;&lt;br /&gt;The Finnish band Nightwish combined power metal with classical influences and operatic female vocals to become one of the primary archetypes of symphonic metal.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;iframe allowfullscreen="" frameborder="0" height="360" src="http://www.youtube.com/embed/9hmzR1CKGtA" width="640"&gt;&lt;/iframe&gt;&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;iframe allowfullscreen="" frameborder="0" height="360" src="http://www.youtube.com/embed/p9Fyib7NZ8w" width="480"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;The Dutch band Within Temptation came from the gothic metal side of the coin around the same time and again features a stellar female lead.&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;iframe allowfullscreen="" frameborder="0" height="360" src="http://www.youtube.com/embed/reGlno9aUpw" width="480"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;iframe allowfullscreen="" frameborder="0" height="360" src="http://www.youtube.com/embed/7eqBmEO5MHE" width="640"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div style="text-align: center;"&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/8336831005230062280-325480075871638460?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/325480075871638460/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=325480075871638460' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/325480075871638460'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/325480075871638460'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/11/music-im-stuck-on.html' title='Music I&apos;m Stuck On'/><author><name>Brian</name><uri>http://www.blogger.com/profile/05775103217404485929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/9hmzR1CKGtA/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-7774638196628664631</id><published>2011-11-21T14:46:00.001-05:00</published><updated>2011-11-21T17:22:52.510-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Sometimes a Little Wrong is Totally All Right</title><content type='html'>Responding to &lt;a href="http://bitstreamofconsciousness.blogspot.com/2011/11/getting-clicky-with-canvas.html"&gt;my previous grousing over the irritations of basic web programming&lt;/a&gt;, reader Lee asked, "Do you think these tools/standards developed in relative isolation from each other? Or at least lacked active cross-talk among those developing them?" Interestingly enough, exactly the opposite is the case. HTML, CSS, and JavaScript evolved together, with massive feedback from people actually using them. So how did we get into a situation where people in the industry consider JavaScript broken and CSS a huge mess? I think I have a theory, which comes in two parts.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Theory Part the First: Redefining Explosive Growth&lt;/b&gt;&lt;br /&gt;One could make a case that the Internet as a Thing with a capital 'T' has redefined our lives in fundamental ways. People call it "&lt;a href="http://en.wikipedia.org/wiki/Information_Age"&gt;The Information Age&lt;/a&gt;," but I don't know that we really stop to think about just how young Web technology is. Tim Berners-Lee created the first &lt;a href="http://en.wikipedia.org/wiki/HTML#Origins"&gt;HTML&lt;/a&gt; specification and browser in 1990. The &lt;a href="http://en.wikipedia.org/wiki/Javascript#History"&gt;JavaScript&lt;/a&gt; programming language, created by Brendan Eich in less than two weeks, first appeared in Netscape's browser in late 1995. Of the three core Web content technologies only &lt;a href="http://en.wikipedia.org/wiki/Css#History"&gt;CSS&lt;/a&gt; emerged out of a committee, being partially chosen from and partially created out of competing style sheet standards by the World Wide Web Consortium in the late 90s. In less than twenty-five years we have gone from particle physicists cross-referencing papers to "social media."&lt;br /&gt;&lt;br /&gt;I'm no history expert, but I suspect that rate of technology adoption is completely&amp;nbsp;unprecedented. Throughout the brief history of the Internet, people have wanted to use it for more than it was intended. Designers used to want their pages to look like magazines and newspapers, now the requirements are beyond that. We want our phone- and tablet-enabled web pages to behave like interactive movies, respond to our desires and even our voices, and do things that used to be the solely in the realm of highly-optimized, stand-alone applications.&lt;br /&gt;&lt;br /&gt;Of course, the extreme pace comes with a consequence: the standards have a hard time evolving fast enough to keep up. Even today the big three browser back-ends, Microsoft's Internet Explorer, the Open Source Webkit engine (used in Google's Chrome and Apple's Safari among others), and Mozilla's Gecko, each support different features, often in slightly different ways. Many of these features are already in use, like the canvas demos I have been doing here. Those canvas demos do not work in IE because the canvas's HTML element and JavaScript programming interface are emerging additions to the standard. Under such conditions, it should come as no surprise that some of the t's are not quite crossed and a few i's have not been dotted.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Theory Part the Second: Which do you Prefer, Better or Working?&lt;/b&gt;&lt;br /&gt;In addition to the technological problems associated with the explosive growth of the Web, there is a second consequence. There are, at any given time, millions if not billions of pages on the Internet using now outdated technology and tons of users using outdated browser software. This brings in the old debate over preserving backward compatibility versus breaking the old stuff to improve things going forward. Way back last century, Joel Spolsky &lt;a href="http://www.joelonsoftware.com/articles/APIWar.html"&gt;wrote about this problem&lt;/a&gt; as it pertained to everyone's favorite example of a giant computer company, Microsoft.&amp;nbsp;The sheer size of the Internet gives it tremendous technical inertia, making it very difficult indeed to make wholesale changes. For example, XHTML tried to improve the HTML standard, but ultimately became a useful failure that was absorbed back as an option in the broader HTML spec.&lt;br /&gt;&lt;br /&gt;The expansion of the role of the Web is a testament to the soundness of the underlying designs, but nothing can be improved forever.&amp;nbsp;Inevitably old technology accretes changes until it reaches a point of no return where it becomes more costly to modify/repair the existing system than to replace it. The trick is figuring exactly when you have hit that point. Google is hedging its bets with its &lt;a href="http://googlecode.blogspot.com/2011/10/dart-language-for-structured-web.html"&gt;Dart programming language&lt;/a&gt; while continuing to support improvements to JavaScript. Microsoft is betting that HTML5/CSS3/JavaScript are the way forward by using them as the UI tools for Windows 8 (in the process&amp;nbsp;&lt;a href="http://arstechnica.com/microsoft/news/2011/06/html5-centric-windows-8-leaves-microsoft-developers-horrified.ars"&gt;invoking the same&amp;nbsp;dilemma&amp;nbsp;with developers using their existing APIs&lt;/a&gt;). The W3C itself has pretty much given up, declaring HTML a "&lt;a href="http://wiki.whatwg.org/wiki/FAQ#What_does_.22Living_Standard.22_mean.3F"&gt;living standard&lt;/a&gt;" which fights to converge working implementations rather than hand down the specification to the browser vendors and web developers.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Conclusion?&lt;/b&gt;&lt;br /&gt;Caught between rapid innovation and massive uptake, the tools that were chosen were the tools that were available. HTML, JavaScript, and CSS were there for us when we needed them, and there are too many fields being plowed to allow the workhorses back in the barn.&amp;nbsp;Web programming was cursed by astounding success.&lt;br /&gt;&lt;br /&gt;And what a success it has been. This stuff may be the most visible raw innovation ever. Anyone with a computer can open a text editor and write code to run in a browser. Thousands of people around the world have changed their lives by doing just that, and it has only just begun. The browser is a development environment that exists in literally every computer shipped today. As more and more companies converge on the Web, the standards will continue to improve and the standards will continue to be left behind. And the programmers? Well, we will continue to be faced with stupid edge cases, ugly work-arounds, odd incompatibilities, and the abiding satisfaction we get when things actually work.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Post Script&lt;/b&gt;&lt;br /&gt;Lee also asked about resources I have used learning what little I know of web programming, so I'd like to add a bit of a link-dump here at the end.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;You can't go wrong starting out at the &lt;a href="http://www.w3schools.com/w3c/default.asp"&gt;World Wide Web Consortium (W3C) tutorial page&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://code.google.com/edu/ajax/index.html"&gt;Google Code University has a web programming section&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;The &lt;a href="https://developer.mozilla.org/en-US/"&gt;Mozilla Developer Network&lt;/a&gt; contains even more tutorials, including the definitive take on Mozilla's feature implementations.&lt;/li&gt;&lt;li&gt;For the foundations, I still find myself referencing Muscaino &amp;amp; Kennedy's &lt;a href="http://shop.oreilly.com/product/9780596527327.do"&gt;HTML &amp;amp; XHTML: The Definitive Guide&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;My introduction to JavaScript was David Flanagan's &lt;a href="http://shop.oreilly.com/product/9780596805531.do"&gt;JavaScript: The Definitive Guide&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;If you want to really get into JavaScript, be prepared to meet Douglas Crockford's &lt;a href="http://www.jslint.com/"&gt;JSLint&lt;/a&gt; tool. Mr. Crockford's &lt;a href="http://shop.oreilly.com/product/9780596517748.do"&gt;JavaScript: The Good Parts&lt;/a&gt; appears to be &lt;i&gt;the&lt;/i&gt; definitive JS book out there at the moment, though be aware it is not an introductory work. He has also posted a fair amount of &lt;a href="http://javascript.crockford.com/"&gt;writing about Javascript on his website&lt;/a&gt;. I have also just started viewing a series of &lt;a href="http://www.youtube.com/user/yuilibrary#g/c/7664379246A246CB"&gt;Crockford on Javascript&lt;/a&gt; talks. (I started with the final talk, which would be a good one for programmers to hear even without the JS content; I seriously love his attitude in it.)&lt;/li&gt;&lt;li&gt;I'll nod toward&amp;nbsp;&lt;a href="http://www.html5canvastutorials.com/"&gt;HTML5 Canvas Tutorials&lt;/a&gt;&amp;nbsp;as a nice, targeted collection of information.&lt;/li&gt;&lt;li&gt;Last but not remotely least, get to know a Webkit-based browser's built in development tools and/or the Firefox plug-in FireBug. They will save you all sorts of time.&lt;/li&gt;&lt;/ul&gt;Of course, I'm willing to attempt to answer questions as well, though if you go through all of that, you will probably know a fair bit more on the subject than I do.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-7774638196628664631?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/7774638196628664631/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=7774638196628664631' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/7774638196628664631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/7774638196628664631'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/11/because-sometimes-wrong-is-totally.html' title='Sometimes a Little Wrong is Totally All Right'/><author><name>Brian</name><uri>http://www.blogger.com/profile/05775103217404485929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-1682009103077549214</id><published>2011-11-20T21:41:00.001-05:00</published><updated>2011-11-20T21:56:32.077-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='quotations'/><title type='text'>Quote of the Moment</title><content type='html'>"Hope is a decision we make, a choice to believe that God can take the adversity, the disappointment, the heartache, and the pain of our journeys and use these to accomplish his purposes." &amp;nbsp;&amp;mdash;Adam Hamilton, &lt;u&gt;The Journey: Walking the Road to Bethlehem&lt;/u&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-1682009103077549214?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/1682009103077549214/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=1682009103077549214' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/1682009103077549214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/1682009103077549214'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/11/quote-of-moment_20.html' title='Quote of the Moment'/><author><name>Brian</name><uri>http://www.blogger.com/profile/05775103217404485929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-3191379626720391068</id><published>2011-11-17T11:33:00.001-05:00</published><updated>2011-11-17T13:08:32.319-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Clicking and Wrapping</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;canvas height="200" id="canvas_mousetest" width="200"&gt;Your browser does not support the canvas element, so this example will not function.&lt;/canvas&gt;&lt;/div&gt;&lt;br /&gt;Another day, another JavaScript/canvas experiment. &amp;nbsp;This time around it's all about clicking squares with your mouse. Go ahead, click the squares.&amp;nbsp;In general, this tiny example of hit detection using mouse events would not be worth even posting, much less talking about, but it illustrates some of my issues with the development world moving in the direction of HTML5/CSS3/JavaScript interfaces for everything.&lt;br /&gt;&lt;br /&gt;I will leave the &lt;a href="http://www.infoworld.com/d/application-development/the-great-javascript-debate-improve-it-or-kill-it-173674"&gt;debate over the worthiness of JavaScript&lt;/a&gt;&amp;nbsp;to people more knowledgeable than myself. Instead, I will gripe about using DOM events. In my little example here, if I want to let the canvas element handle mouse clicks, I just attach a mouse click event handler to it and I'm off to the races, right? Naturally, it isn't that simple. First, there is no standard way for the event's information to be passed into the event handling function. &amp;nbsp;Mozilla does it one way, Webkit another. Once you work your way past that with some boilerplate code that has to be repeated every time, you get to the bit that really made me tired. The event data for the mouse click, though attached to a particular element of the page, does not actually have any relationship to the element. Click a mouse on the canvas, and you have your choice of receiving coordinates for that event in &amp;nbsp;relation to the browser window or the browser client area, neither of which is actually useful for figuring out where in the canvas the mouse click happened. The example I got working walks from the canvas element up the DOM tree until it finds the body element, adding up the coordinate offsets as it goes, then adds the browser window padding to get the location of the canvas in window coordinates, which in turn are used to calculate the click position relative to the canvas's coordinates. Sigh.&lt;br /&gt;&lt;br /&gt;Presumably, this lack of local coordinates has something to do with the event bubbling mechanism in the DOM. Or perhaps it is just laziness in the implementation that forces the programmer to manually calculate an element-relative mouse position rather than having the library do it. My ignorance about why this behavior would be desirable is an ever-present third possibility. In any case, the DOM and CSS are filled with these little oddities and&amp;nbsp;incompatibilities.&lt;br /&gt;&lt;br /&gt;People's answer for such irritants remains the same everywhere I've seen it: create utility functions/libraries/frameworks that overlay the standard interfaces. To be clear, I don't mean extensions that add functionality, or even things that simplify for specific purposes, but rather things that seek to provide exactly the same functionality in an "easier" or "better" way. Generally, I take a proliferation of such "utility" wrappers to mean that folks are hiding problems that might be better off fixed in the standards themselves.&lt;br /&gt;&lt;br /&gt;Most of the time, programmers or even groups of programmers do not have the capacity to update the standards. We can't all be part of the W3C, for instance, and nothing would get done if we were. That said, judging by the number of available wrappers I'm seeing in my brush with web development, I suspect the debate over the future path (or death) of JavaScript may be even more important than people realize.&lt;script type="text/javascript"&gt;var cmt = {};//Namespace variable for "canvas mouse test".cmt.init = function(){  cmt.canvas = document.getElementById("canvas_mousetest");  cmt.context = cmt.canvas.getContext("2d");  //Record the states for the clickable squares.  cmt.grid = [false, false, false, false, false, false, false, false, false];  //I want some padding between the clicky squares, so divide the canvas space into  //  thirds, but use only 90% of that, which leaves 5% of the space on  //  either side as the padding.  cmt.gridWidth = cmt.canvas.width / 3;  cmt.squareWidth = cmt.gridWidth * 0.9;  cmt.squareWidthOffset = cmt.gridWidth * 0.05;  cmt.gridHeight = cmt.canvas.height / 3;  cmt.squareHeight = cmt.gridHeight * 0.9;  cmt.squareHeightOffset = cmt.gridHeight * 0.05;  cmt.canvas.addEventListener("click", cmt.onClick, false);  cmt.drawGrid();}cmt.drawGrid = function(){  var squareNum = 0;  cmt.context.fillStyle = "white";  cmt.context.fillRect(0, 0, cmt.canvas.width, cmt.canvas.height);  for (squareNum = 0; squareNum &lt; 9; squareNum += 1){    if (cmt.grid[squareNum]){      cmt.context.fillStyle = "cyan";    }    else{      cmt.context.fillStyle = "lightsteelblue";    }    cmt.context.fillRect(cmt.gridWidth * (squareNum % 3) + cmt.squareWidthOffset,      cmt.gridHeight * (Math.floor(squareNum / 3)) + cmt.squareHeightOffset,      cmt.squareWidth,      cmt.squareHeight);  }}cmt.onClick = function(theEvent){  var obj = cmt.canvas;  var whichBox = 0;  var canvasLeft = 0;  var canvasTop = 0;  var clickXCanvasCoord = 0;  var clickYCanvasCoord = 0;  //Correct for the lack of standard event passing.  if (!theEvent) var theEvent = window.event;  //Get the position of the mouse click in terms of the canvas.  while (obj.tagName != 'BODY'){    canvasLeft += obj.offsetLeft;    canvasTop += obj.offsetTop;    obj = obj.offsetParent;  }  clickXCanvasCoord = theEvent.clientX - canvasLeft + window.pageXOffset;  clickYCanvasCoord = theEvent.clientY - canvasTop + window.pageYOffset;    //Is the click inside the canvas?  if ((clickXCanvasCoord &gt;= 0 &amp;&amp; clickXCanvasCoord &lt; cmt.canvas.width) &amp;&amp;    (clickYCanvasCoord &gt;= 0 &amp;&amp; clickYCanvasCoord &lt; cmt.canvas.height)){    //Is the click on a square and not in the padding around/between them?    if ((clickXCanvasCoord % cmt.gridWidth &gt; cmt.squareWidthOffset) &amp;&amp;      (clickXCanvasCoord % cmt.gridWidth &lt; cmt.gridWidth - cmt.squareWidthOffset) &amp;&amp;      (clickYCanvasCoord % cmt.gridHeight &gt; cmt.squareHeightOffset) &amp;&amp;      (clickYCanvasCoord % cmt.gridHeight &lt; cmt.gridHeight - cmt.squareHeightOffset)      ){      //Calculate which box was clicked and alter its state.      whichBox = Math.floor(clickXCanvasCoord / cmt.gridWidth) +        (3 * (Math.floor(clickYCanvasCoord / cmt.gridHeight)));      cmt.grid[whichBox] = !cmt.grid[whichBox];      //Redraw the grid.      cmt.drawGrid();    }  }}window.addEventListener("load", cmt.init, false);&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-3191379626720391068?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/3191379626720391068/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=3191379626720391068' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/3191379626720391068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/3191379626720391068'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/11/getting-clicky-with-canvas.html' title='Clicking and Wrapping'/><author><name>Brian</name><uri>http://www.blogger.com/profile/05775103217404485929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-5535703936272717408</id><published>2011-11-15T12:28:00.001-05:00</published><updated>2011-11-15T13:15:27.571-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Keeps on Ticking</title><content type='html'>My experimentation with HTML5's canvas element and Javascript continues with this analog-style clock. I don't have much to say about the code save that I treated the canvas as a plain raster device and there may be easier, or at least different, ways to generate the clock face using rotations. If there is anything about it you would like to know, feel free to ask in the comments. For another analog clock example that does not use canvas at all, see&lt;a href="http://www.w3schools.com/js/js_timing.asp"&gt; the timing events page of the W3C's Javascript tutorial&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;canvas height="202" id="canvas_clock" width="202"&gt;Your browser does not support the canvas element.  This post will not display correctly&lt;/canvas&gt;&lt;/div&gt;&lt;script type="text/javascript"&gt;var cc = {};//short for clock canvas, used as a namespace.cc.init = function(){  cc.canvas = document.getElementById("canvas_clock");  cc.context = cc.canvas.getContext("2d");  cc.drawClockFace();}//To make the math easier, the calculations for generating the lines for the hands//  generate hands based on a unit sphere (radius of 1 unit).  Since the canvas is//  larger than that, we will scale the hands based on the width and height of the//  canvas.  There is no real reason to do it like this except that it allows funny//  oblong clock faces.  To keep the clock face circular no matter the aspect ratio//  of the canvas, scale based only on the shortest canvas dimension instead.cc.clearCanvas = function(){  cc.context.fillStyle = "tan";  cc.context.fillRect(0, 0, cc.canvas.width, cc.canvas.height);  //Use clearRect instead of fill rect if you want the background color to come through.  //cc.context.clearRect(0, 0, cc.canvas.width, cc.canvas.height);}cc.drawClockFace = function(){  var theTime = new Date();  var theHour = theTime.getHours();  var theMinute = theTime.getMinutes();  var theSecond = theTime.getSeconds();  cc.clearCanvas();  cc.drawNumberIndicators();  cc.drawHourHand(theHour);  cc.drawMinuteHand(theMinute);  cc.drawSecondHand(theSecond);  setTimeout(cc.drawClockFace, 1000);}cc.drawNumberIndicators = function(){  var i = 0;  var indicatorCoordinate;  cc.context.fillStyle = "black";  for (i = 0; i &lt; 12; i += 1){    //Again, remember that getHandCoordinate assumes 50 divisions.    indicatorCoordinate = cc.getHandCoordinate(i * 5, 0.9);    cc.context.beginPath();    cc.context.arc(indicatorCoordinate.x, indicatorCoordinate.y, 2.5, 2 * Math.PI, false);    cc.context.fill();    cc.context.stroke();  }}cc.getCanvasCenterCoord = function(){  var result = {    x : cc.canvas.width / 2,    y : cc.canvas.height / 2    };  return result}cc.drawHourHand = function(hour){  var centerCoord = cc.getCanvasCenterCoord();  //Watch out for the difference in gradation here, there are only 12 hours on  //  the clock face, but the coordinate funcation expects 60 divisions, so  //  we multiply by 5.  var handCoord = cc.getHandCoordinate(hour * 5, 0.6);  cc.context.save();  cc.context.lineWidth = 5;  cc.context.lineCap = "round";  cc.context.beginPath();  cc.context.moveTo(centerCoord.x, centerCoord.y);  cc.context.lineTo(handCoord.x, handCoord.y);  cc.context.stroke();  cc.context.restore();}cc.drawMinuteHand = function(minute){  var centerCoord = cc.getCanvasCenterCoord();  var handCoord = cc.getHandCoordinate(minute, 0.8);  cc.context.save();  cc.context.lineWidth = 3;  cc.context.lineCap = "round";  cc.context.beginPath();  cc.context.moveTo(centerCoord.x, centerCoord.y);  cc.context.lineTo(handCoord.x, handCoord.y);  cc.context.stroke();  cc.context.restore();}cc.drawSecondHand = function(second){  var centerCoord = cc.getCanvasCenterCoord();  var handCoord = cc.getHandCoordinatePolar(second, 0.9);  cc.context.save();  cc.context.linewidth = 1;  cc.context.lineCap = "round";  cc.context.beginPath();  cc.context.moveTo(centerCoord.x, centerCoord.y);  cc.context.lineTo(handCoord.x, handCoord.y);  cc.context.stroke();  cc.context.restore();}//The position parameter should be between 0 and 59, indicating the hand's//  poistion in units of divisions on the clock face.//The hand length parameter should be a scale factor between 0 and 1, with 1//  meaning the hand length goes out to the edge of the canvas.cc.getHandCoordinate = function(handPosition, handLength){  //Here's another geometry trick, I've based the coordinates on the unit circle,  //  so I need to rotate back by 90 degrees to get the zero point to be straight up  //  instead of straight right.  (A -90 degree phase shift essentially, whee.)  var handPositionInDegrees = 6 * handPosition - 90;  var handPositionInRadians = handPositionInDegrees * Math.PI / 180;  //Yes, I realize this unit conversion can be combined to just  //  handPosition * PI / 30, but I believe writing it out makes it easier to  //  understand exactly what is being done and carries more weight than comments.  //Scale the unit circle coordiante based on the size of the canvas and  //  the desired hand length.  var centerCoord = cc.getCanvasCenterCoord();  var handX = centerCoord.x +    (Math.cos(handPositionInRadians) * handLength * cc.canvas.width / 2);  var handY = centerCoord.y +    (Math.sin(handPositionInRadians) * handLength * cc.canvas.height / 2);  var result = { x : handX, y : handY  };  return result;}cc.getHandCoordinatePolar = function(handPosition, handLength){  //12 o'clock high is equal to an angle (theta) of 90 degrees in polar  //  coordinates.  We also know that each of the 60 divisions of the  //  clock face is equal to 6 degrees (or 1/30 * pi).  Thus:  var theta = Math.PI * (-0.5 + (handPosition / 30));//in radians  var centerCoord = cc.getCanvasCenterCoord();  var handX = centerCoord.x +    (Math.cos(theta) * handLength * cc.canvas.width / 2);  var handY = centerCoord.y +    (Math.sin(theta) * handLength * cc.canvas.height / 2);  var result = { x : handX, y : handY };  return result;}window.addEventListener("load", cc.init, false);&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-5535703936272717408?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/5535703936272717408/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=5535703936272717408' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/5535703936272717408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/5535703936272717408'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/11/keeps-on-ticking.html' title='Keeps on Ticking'/><author><name>Brian</name><uri>http://www.blogger.com/profile/05775103217404485929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-4119131307772496009</id><published>2011-11-09T15:00:00.002-05:00</published><updated>2011-11-09T15:00:38.154-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='quotations'/><title type='text'>Quote of the Moment</title><content type='html'>The woods would be very silent if no birds sang except those that sang best. &amp;nbsp;--Henry Van Dyke&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-4119131307772496009?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/4119131307772496009/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=4119131307772496009' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/4119131307772496009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/4119131307772496009'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/11/quote-of-moment.html' title='Quote of the Moment'/><author><name>Brian</name><uri>http://www.blogger.com/profile/05775103217404485929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-1123864152930943322</id><published>2011-11-08T14:03:00.004-05:00</published><updated>2011-11-09T14:56:20.717-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='news link-post'/><title type='text'>LEDs and Solar Power, like Chocolate and Peanutbutter</title><content type='html'>&lt;a href="http://arstechnica.com/science/news/2011/07/the-future-of-lighting.ars"&gt;ArsTechnica's look at the LED lighting landscape&lt;/a&gt; includes some nice tidbits on the current state of&amp;nbsp;florescent&amp;nbsp;lighting as well and is well worth a read, if only because it gives a glimpse into how the next generation might be decorating their houses. &amp;nbsp;Judging by the product lists available at the big box home improvement stores, we still aren't quite there yet, but the selection is getting better slowly. &amp;nbsp;LED lighting just makes sense, even if it does cost more at the moment.&lt;br /&gt;&lt;br /&gt;The Navy's &lt;a href="http://arstechnica.com/science/news/2011/09/the-us-navy-goes-green-with-solar-and-biodiesel.ars"&gt;recent experiments into more energy efficient forward base designs&lt;/a&gt;&amp;nbsp;noted the combination of LED lighting and integrated solar cells dramatically reduced both the power footprint and soldiers' battery use. &amp;nbsp;The general upward trend of fuel costs and the global economic slowing appear to be combining to encourage alternative energy sources. &amp;nbsp;The business opportunities surrounding alternative power generation seem to be taking hold, enough so that Slashdot featured a roundup of sources demonstrating a&lt;a href="http://hardware.slashdot.org/story/11/07/28/0454213/Solar-Energy-Is-the-Fastest-Growing-Industry-In-the-US"&gt; quickly growing US solar power industry&lt;/a&gt;. &amp;nbsp;Even Google wants to get into the game, by &lt;a href="http://www.news-record.com/content/2011/09/27/article/google_to_finance_home_solar_systems"&gt;owning and subsidizing consumer solar installations&lt;/a&gt;, essentially turning themselves into a distributed utility. &amp;nbsp;Politics play a part as well, and several &lt;a href="http://www.washingtontimes.com/news/2011/sep/13/obamas-shady-solar-subsidies/"&gt;potential&lt;/a&gt; &lt;a href="http://www.thegatewaypundit.com/2011/09/more-crony-socialism-obama-gives-737-million-to-pelosis-brother-in-laws-solar-firm/"&gt;examples&lt;/a&gt; of&amp;nbsp;shady political dealings&amp;nbsp;have not stopped the government from continuing to push solar subsidies.&lt;br /&gt;&lt;br /&gt;Lower power draw lighting solutions fit naturally into the futurist vision of&amp;nbsp;ubiquitous&amp;nbsp;photovoltaic&amp;nbsp;power generation, and slowly economic and political forces are beginning to line up to make the changes happen.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-1123864152930943322?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/1123864152930943322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=1123864152930943322' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/1123864152930943322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/1123864152930943322'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/11/leds-and-solar-power-like-chocolate-and.html' title='LEDs and Solar Power, like Chocolate and Peanutbutter'/><author><name>Brian</name><uri>http://www.blogger.com/profile/05775103217404485929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-5045716393938129353</id><published>2011-10-31T20:52:00.002-04:00</published><updated>2011-10-31T20:52:53.615-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='news link-post'/><title type='text'>A Little Something Scary for Halloween</title><content type='html'>Zombies, vampires, ghosts. &amp;nbsp;These are the fodder for the usual Halloween stories. &amp;nbsp;But there are some stories that people don't want to tell on this night. &amp;nbsp;Stories that could shake the very foundations of your reality. &amp;nbsp;You already know where to look to find these stories, but you avoid it. &amp;nbsp;You watch your Real Jersey Shore Housewife Wipeouts and smile, because the specter that is too horrible to contemplate looms ever just over your shoulder. &amp;nbsp;Oh yes, you can't escape it. &amp;nbsp;It's... it's... &lt;b&gt;the news.&lt;/b&gt;&amp;nbsp; Duh duh duuuuuuuuh!&lt;br /&gt;&lt;br /&gt;Obviously, there are bad things afoot in the economy, the worst seen in quite a while. &amp;nbsp;But I was surprised to see some &lt;a href="http://www.bbc.co.uk/news/business-14972015"&gt;comparing the current economic conditions to the failure of communism in eastern Europe&lt;/a&gt;. &amp;nbsp;Opinions vary, from it's alive, just not for us to my personal favorite about the &lt;a href="http://bitstreamofconsciousness.blogspot.com/2011/04/growth-isnt-everything-are-people-are.html"&gt;myth of eternal growth&lt;/a&gt;, and the debate is nowhere close to being finished.&lt;br /&gt;&lt;br /&gt;Perhaps you are an optimist about the economy or just find the whole debate a bit abstract. &amp;nbsp;Well what if I told you that a magma pocket under a volcano in Bolivia is filling at the rate of &lt;a href="http://www.livescience.com/16685-rapidly-inflating-volcano-creates-growing-mystery.html"&gt;27 cubic feet per second&lt;/a&gt;. &amp;nbsp;And that volcano is part of a cluster of volcanoes that form a potential super-volcano. &amp;nbsp;This particular super volcano last erupted about 300,000 years ago, spewing out a thousand times more material than the famous Mt. St. Helens eruption. &amp;nbsp;Also, the super volcano erupts on average about once every 300,000 years. &amp;nbsp;Should a super-eruption happen, it would be a natural disaster on a scale that literally has not happened since before the dawn of mankind.&lt;br /&gt;&lt;br /&gt;OK, you've had enough of the scary stuff. &amp;nbsp;I get it. &amp;nbsp;Tomorrow's just Tuesday. &amp;nbsp;Here, have a listen to the world's most relaxing music, at least &lt;a href="http://www.dailymail.co.uk/news/article-2049948/Most-relaxing-song-UK-band-Boffins.html"&gt;according to UK scientists&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-5045716393938129353?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/5045716393938129353/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=5045716393938129353' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/5045716393938129353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/5045716393938129353'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/10/little-something-scary-for-halloween.html' title='A Little Something Scary for Halloween'/><author><name>Brian</name><uri>http://www.blogger.com/profile/05775103217404485929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-1913388500098567487</id><published>2011-10-20T17:05:00.000-04:00</published><updated>2011-10-20T17:09:27.636-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Reaching for the Stars</title><content type='html'>While it is quite true that every journey in life begins with a single step, sometimes when you want to reach the stars...&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;canvas height="240" id="canvas1" width="320"&gt;      Sorry, your browser does not support the canvas element, so you are not seeing the thing that's supposed to be here.    &lt;/canvas&gt;    &lt;script type="text/javascript"&gt;      function drawRandomDots(context, color){        context.fillStyle=color;        for (i=0; i&lt;50; i++){          x = Math.floor(Math.random()*320);          y = Math.floor(Math.random()*240);          context.fillRect(x, y, 1, 1);        }      }      var canvas = document.getElementById("canvas1");      var context = canvas.getContext("2d");      var i=0;      var x=0;      var y=0;      context.fillStyle="#000000";      context.fillRect(0, 0, canvas.width, canvas.height);      drawRandomDots(context, "#aaaaff");      drawRandomDots(context, "#aaaaaa");      drawRandomDots(context, "#aa7777");    &lt;/script&gt;&lt;/div&gt;&lt;br /&gt;taking a second one can make all the difference.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;canvas height="240" id="canvas2" width="320"&gt;      Sorry, your browser does not support the canvas element, so you are not seeing the thing that's supposed to be here.    &lt;/canvas&gt;    &lt;script type="text/javascript"&gt;      var sf = {};//short for starfield, used as a namespace/pseudoclass.      sf.numStars = 50;      sf.brightStars = [];      sf.midStars = [];      sf.dimStars = [];      sf.canvas = document.getElementById("canvas2");      sf.context = sf.canvas.getContext("2d");      sf.initStars = function(){        var canvas = document.getElementById("canvas2");        var i = 0;        for (i=0; i&lt;sf.numStars; i++){          sf.brightStars[i] = {            x: Math.floor(Math.random()*sf.canvas.width),            y: Math.floor(Math.random()*sf.canvas.height)          }          sf.midStars[i] = {            x: Math.floor(Math.random()*sf.canvas.width),            y: Math.floor(Math.random()*sf.canvas.height)          }          sf.dimStars[i] = {            x: Math.floor(Math.random()*sf.canvas.width),            y: Math.floor(Math.random()*sf.canvas.height)          }        }      }      sf.moveStars = function(){        var i = 0;        for (i=0; i&lt;sf.numStars; i++){          sf.brightStars[i].x = (sf.brightStars[i].x + 4) % sf.canvas.width;          sf.midStars[i].x = (sf.midStars[i].x + 2) % sf.canvas.width;          sf.dimStars[i].x = (sf.dimStars[i].x + 1) % sf.canvas.width;        }      }      sf.clearCanvas = function(){        sf.context.fillStyle = "#000000";        sf.context.fillRect(0, 0, sf.canvas.width, sf.canvas.height);      }      sf.drawStars = function(){        var i = 0;        //Draw the stars.        sf.context.fillStyle = "#aaaaff";        for (i=0; i&lt;sf.numStars; i++){          sf.context.fillRect(sf.brightStars[i].x, sf.brightStars[i].y, 1, 1);        }        sf.context.fillStyle = "#aaaaaa";        for (i=0; i&lt;sf.numStars; i++){          sf.context.fillRect(sf.midStars[i].x, sf.midStars[i].y, 1, 1);        }        sf.context.fillStyle = "#aa7777";        for (i=0; i&lt;sf.numStars; i++){          sf.context.fillRect(sf.dimStars[i].x, sf.dimStars[i].y, 1, 1);        }      }      sf.drawFrame = function(){        sf.clearCanvas();        sf.drawStars();        sf.moveStars();        setTimeout(sf.drawFrame, 60);      }      sf.initStars();      sf.drawFrame();      //setInterval(sf.drawFrame, 250);    &lt;/script&gt;&lt;/div&gt;&lt;div&gt;For posterity, here's the parallax star field code:&lt;br /&gt;&lt;pre&gt;&amp;lt;html&amp;gt;&lt;br /&gt;  &amp;lt;head&amp;gt;&lt;br /&gt;  &amp;lt;/head&amp;gt;&lt;br /&gt;  &amp;lt;body&amp;gt;&lt;br /&gt;    Hi! This is also a canvas:&amp;lt;br /&amp;gt;&lt;br /&gt;    &amp;lt;canvas id="canvas2" width="320" height="240"&amp;gt;&lt;br /&gt;    &amp;lt;/canvas&amp;gt;&lt;br /&gt;    &amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt;      var sf = {};//short for starfield, used as a namespace/pseudoclass.&lt;br /&gt;      sf.numStars = 50;&lt;br /&gt;      sf.brightStars = [];&lt;br /&gt;      sf.midStars = [];&lt;br /&gt;      sf.dimStars = [];&lt;br /&gt;      sf.canvas = document.getElementById("canvas2");&lt;br /&gt;      sf.context = sf.canvas.getContext("2d");&lt;br /&gt;&lt;br /&gt;      sf.initStars = function(){&lt;br /&gt;        var canvas = document.getElementById("canvas2");&lt;br /&gt;        var i = 0;&lt;br /&gt;&lt;br /&gt;        for (i=0; i&amp;lt;sf.numStars; i++){&lt;br /&gt;          sf.brightStars[i] = {&lt;br /&gt;            x: Math.floor(Math.random()*sf.canvas.width),&lt;br /&gt;            y: Math.floor(Math.random()*sf.canvas.height)&lt;br /&gt;          }&lt;br /&gt;          sf.midStars[i] = {&lt;br /&gt;            x: Math.floor(Math.random()*sf.canvas.width),&lt;br /&gt;            y: Math.floor(Math.random()*sf.canvas.height)&lt;br /&gt;          }&lt;br /&gt;          sf.dimStars[i] = {&lt;br /&gt;            x: Math.floor(Math.random()*sf.canvas.width),&lt;br /&gt;            y: Math.floor(Math.random()*sf.canvas.height)&lt;br /&gt;          }&lt;br /&gt;        }&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      sf.moveStars = function(){&lt;br /&gt;        var i = 0;&lt;br /&gt;&lt;br /&gt;        for (i=0; i&amp;lt;sf.numStars; i++){&lt;br /&gt;          sf.brightStars[i].x = (sf.brightStars[i].x + 4) % sf.canvas.width;&lt;br /&gt;          sf.midStars[i].x = (sf.midStars[i].x + 2) % sf.canvas.width;&lt;br /&gt;          sf.dimStars[i].x = (sf.dimStars[i].x + 1) % sf.canvas.width;&lt;br /&gt;        }&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      sf.clearCanvas = function(){&lt;br /&gt;        sf.context.fillStyle = "#000000";&lt;br /&gt;        sf.context.fillRect(0, 0, sf.canvas.width, sf.canvas.height);&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      sf.drawStars = function(){&lt;br /&gt;        var i = 0;&lt;br /&gt;&lt;br /&gt;        //Draw the stars.&lt;br /&gt;        sf.context.fillStyle = "#aaaaff";&lt;br /&gt;        for (i=0; i&amp;lt;sf.numStars; i++){&lt;br /&gt;          sf.context.fillRect(sf.brightStars[i].x, sf.brightStars[i].y, 1, 1);&lt;br /&gt;        }&lt;br /&gt;        sf.context.fillStyle = "#aaaaaa";&lt;br /&gt;        for (i=0; i&amp;lt;sf.numStars; i++){&lt;br /&gt;          sf.context.fillRect(sf.midStars[i].x, sf.midStars[i].y, 1, 1);&lt;br /&gt;        }&lt;br /&gt;        sf.context.fillStyle = "#aa7777";&lt;br /&gt;        for (i=0; i&amp;lt;sf.numStars; i++){&lt;br /&gt;          sf.context.fillRect(sf.dimStars[i].x, sf.dimStars[i].y, 1, 1);&lt;br /&gt;        }&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      sf.drawFrame = function(){&lt;br /&gt;        sf.clearCanvas();&lt;br /&gt;        sf.drawStars();&lt;br /&gt;        sf.moveStars();&lt;br /&gt;        setTimeout(sf.drawFrame, 60);&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      sf.initStars();&lt;br /&gt;      sf.drawFrame();&lt;br /&gt;      //setInterval(sf.drawFrame, 250);&lt;br /&gt;    &amp;lt;/script&amp;gt;&lt;br /&gt;  &amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-1913388500098567487?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/1913388500098567487/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=1913388500098567487' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/1913388500098567487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/1913388500098567487'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/10/reaching-for-stars.html' title='Reaching for the Stars'/><author><name>Brian</name><uri>http://www.blogger.com/profile/05775103217404485929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-8441572940491465670</id><published>2011-10-18T22:14:00.001-04:00</published><updated>2011-10-18T22:14:21.309-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='distractions'/><title type='text'>It's Finally That Time of Year Again</title><content type='html'>Fall arrived in fits and starts this year, but it appears that it is going to finally take hold this week. &amp;nbsp;&lt;a href="http://bitstreamofconsciousness.blogspot.com/2010/10/arrival-of-october.html"&gt;As&lt;/a&gt; &lt;a href="http://bitstreamofconsciousness.blogspot.com/2008/10/tis-season-for-horror-reading.html"&gt;usual&lt;/a&gt;, when Halloween begins creeping closer on the calendar, the desire to walk paths a little off the beaten track kicks in. &amp;nbsp;This year, I present a couple of looks back to the last century.&lt;br /&gt;&lt;br /&gt;If you are the sort who enjoyed Luke Skywalker's or Indiana Jones's adventures, recognize the name Flash Gordon, or doesn't picture a fiber overdose when you hear the phrase "pulp serial adventure" you might just enjoy the web series&amp;nbsp;&lt;a href="http://www.mercuryseries.com/"&gt;The Mercury Men&lt;/a&gt;. &amp;nbsp;In 1975 mysterious, hostile beings appear in an office building; what nefarious plot have they hatched? &amp;nbsp;Only the dashing guy in the flight jacket with the fancy pistol can save the day, but he can't do it alone... &amp;nbsp;The series attempts to evoke the vibe of the old movie serials, and it pretty well knocks it out of the park, complete with the dodgy pacing and somewhat stiff acting. &amp;nbsp;I suspect at least part of that is on purpose. &amp;nbsp;Given the tiny budget for the series, the&amp;nbsp;villains&amp;nbsp;are exceptionally well done, and there are some real classic sci-fi moments in the series. &amp;nbsp;And hey, at less than ten minutes per episode, if you don't like it you won't have to wait long to find out.&lt;br /&gt;&lt;br /&gt;If pulp fiction isn't your cup of tea, how about a dose of what once passed for reality? &amp;nbsp;Visiting topics from the RAND corporation, to drugs, suburbs, flying saucers, and nuclear war, writer Ken Hollings's&amp;nbsp;&lt;a href="http://boingboing.net/2008/10/03/ken-hollings-welcome.html"&gt;Welcome to Mars&lt;/a&gt;&amp;nbsp;provides a twisting trip through science, science fiction, and culture in the early years of the cold war. &amp;nbsp;I recommend &lt;a href="http://itunes.apple.com/us/podcast/welcome-to-mars/id129278479"&gt;using iTunes&lt;/a&gt; for ease for access, but they are also available via a link on the &lt;a href="http://www.kenhollings.blogspot.com/"&gt;author's blog&lt;/a&gt;. &amp;nbsp;It really makes one wonder what people fifty years from now will see when they look back on the first decade of this century. &amp;nbsp;Did I mention there is theremin music?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-8441572940491465670?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/8441572940491465670/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=8441572940491465670' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/8441572940491465670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/8441572940491465670'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/10/its-finally-that-time-of-year-again.html' title='It&apos;s Finally That Time of Year Again'/><author><name>Brian</name><uri>http://www.blogger.com/profile/05775103217404485929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-602909996174064349</id><published>2011-10-01T11:49:00.000-04:00</published><updated>2011-10-01T11:49:27.570-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='distractions'/><title type='text'>Video Interlude: Things That Wouldn't Have Been</title><content type='html'>I wonder if the scientists and engineers that created the Internet really ever suspected it would provide a new outlet for creative people to be creative in the ways we are seeing now. &amp;nbsp;Thankfully, it did. &amp;nbsp;Whether by coincidence or rising demand, the digital film revolution happened alongside the growth of computer storage and connectivity. &amp;nbsp;All of this together has made becoming a competent amateur at all manner of things far easier than it was in the days when knowledge was less motile. &amp;nbsp;And for professionals and weekenders alike, the tools are getting ever cheaper. &amp;nbsp;So today I have a trio of videos that wouldn't have been nearly as easy to create a decade ago. &amp;nbsp;They are all very different from one another, and they are all very, very awesome.&lt;br /&gt;&lt;br /&gt;First up we have "LOSSES", a short action film by the folks who do &lt;a href="http://revision3.com/filmriot"&gt;Revision 3's Film Riot&lt;/a&gt; show. &amp;nbsp;(Itself a source of knowledge for those interested in film making.)&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;iframe allowfullscreen="" frameborder="0" height="315" src="http://www.youtube-nocookie.com/embed/BMhXexbDmv8?rel=0" width="560"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Second,&amp;nbsp;&lt;a href="http://sanguindrake.com/"&gt;SanguinDrake&lt;/a&gt;'s haunting "Brand New Truth".&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;div style="text-align: center;"&gt;&lt;iframe allowfullscreen="" frameborder="0" height="315" src="http://www.youtube-nocookie.com/embed/X-xYAqJQOsk?rel=0" width="560"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;And an upbeat note to take us out, "it tastes like heaven, but it looks like..." The Bacon Song.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;iframe allowfullscreen="" frameborder="0" height="315" src="http://www.youtube-nocookie.com/embed/k3DAjQhChRs?rel=0" width="560"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-602909996174064349?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/602909996174064349/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=602909996174064349' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/602909996174064349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/602909996174064349'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/10/video-interlude-things-that-wouldnt.html' title='Video Interlude: Things That Wouldn&apos;t Have Been'/><author><name>Brian</name><uri>http://www.blogger.com/profile/05775103217404485929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-3854022335144251292</id><published>2011-09-03T16:35:00.000-04:00</published><updated>2011-09-03T16:35:30.512-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='news link-post'/><title type='text'>Vaccine Worries and Hopes</title><content type='html'>Vaccines are miracles of modern medicine, but like all medicine not everyone reacts to them the same way. &amp;nbsp;As the number of recommended or required vaccines have increased, so too has resistance to them. &amp;nbsp;Unfortunately, vaccines can only be truly effective if they are administered comprehensively. &amp;nbsp;When only part of the population is protected, the diseases have the chance to survive and adapt. &amp;nbsp;Indeed, the claims against the MMR vaccine have apparently resulted in &lt;a href="http://www.eurekalert.org/pub_releases/2011-08/mc-mcp083011.php"&gt;outbreaks of measles&lt;/a&gt; this year.&lt;br /&gt;&lt;br /&gt;Even when vaccines are effective, they aren't always effective for long. &amp;nbsp;The flu vaccine, famously, must be refreshed every year to combat the rapidly changing virus. &amp;nbsp;In the wake of the "bird flu" pandemic, there was some evidence that people exposed may have developed broad flu immunity. &amp;nbsp;Scientists have now isolated &lt;a href="http://www.bbc.co.uk/news/health-14324901"&gt;an antibody which targets a protein found on a broad variety of flu viruses&lt;/a&gt;. &amp;nbsp;There is some hope this will lead to a broad-spectrum vaccine in the future. &amp;nbsp;If nothing else, this should provide some storylines to conspiracy theorists all over the internet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-3854022335144251292?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/3854022335144251292/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=3854022335144251292' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/3854022335144251292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/3854022335144251292'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/09/vaccine-worries-and-hopes.html' title='Vaccine Worries and Hopes'/><author><name>Brian</name><uri>http://www.blogger.com/profile/05775103217404485929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-5176276747541466522</id><published>2011-08-27T17:13:00.003-04:00</published><updated>2011-08-27T17:22:49.254-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='randomness'/><title type='text'>Different Sources, Similar Wisdom</title><content type='html'>&lt;div style="text-align: left;"&gt;Have you ever encountered something multiple times in a short period of time?  I've had one of those weeks.  In this case, the topic was how to be happy.  At the Bible study I attend, one of the folks chose &lt;a href="http://bible.oremus.org/?passage=Philippians+4:4-9"&gt;Philippians 4:4-9&lt;/a&gt;, which among other things is an admonishment to focus on the positive, and how practicing can help reinforce such behavior.  And then today, I ran across this:&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;iframe width="560" height="345" src="http://www.youtube-nocookie.com/embed/GXy__kBVq1M?rel=0" frameborder="0" allowfullscreen=""&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;So, an old source and a new source.  I suspect I may need to take the hint.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-5176276747541466522?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/5176276747541466522/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=5176276747541466522' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/5176276747541466522'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/5176276747541466522'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/08/different-sources-similar-wisdom.html' title='Different Sources, Similar Wisdom'/><author><name>Brian</name><uri>http://www.blogger.com/profile/05775103217404485929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-2441630132612228444</id><published>2011-08-25T17:31:00.002-04:00</published><updated>2011-08-25T17:35:01.969-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='quotations'/><title type='text'>Quote of the Moment</title><content type='html'>"But it’s a disservice to constantly put things in this radical new light — that it’s going to change everything. Things don’t have to change the world to be important." --Steve Jobs, &lt;i&gt;Wired&lt;/i&gt; February 1996.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Since Mr. Jobs stepped down as CEO of Apple Computers yesterday, it seems only fitting to quote him.  No matter your opinion on him or Apple, you must acknowledge his central role in creating the personal computing market we know today.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-2441630132612228444?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/2441630132612228444/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=2441630132612228444' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/2441630132612228444'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/2441630132612228444'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/08/quote-of-moment.html' title='Quote of the Moment'/><author><name>Brian</name><uri>http://www.blogger.com/profile/05775103217404485929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-9112028513412352786</id><published>2011-07-08T13:01:00.003-04:00</published><updated>2011-09-03T16:36:10.921-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='editorial'/><title type='text'>The End of the Shuttle Era</title><content type='html'>The final launch in the merely thirty year old &lt;a href="http://arstechnica.com/science/news/2011/07/30-years-of-manned-space-flight-the-last-flight-of-the-space-shuttle.ars?utm_source=rss&amp;amp;utm_medium=rss&amp;amp;utm_campaign=rss"&gt;Space Shuttle program&lt;/a&gt; happened earlier today.  Though the program certainly has&lt;a href="http://old.news.yahoo.com/s/ap/20110705/ap_on_sc/us_shuttle_legacy"&gt; its detractors&lt;/a&gt;, for me at least the real legacy of the Shuttle is one of imagination.  Starblazers, Battlestar Galactica, Star Wars, and Star Trek were all things I watched as a young boy, and the Shuttle made them all seem possible.  Back then I had never made a budget or studied Physics, I was just someone looking up into the sky and wondering what new wonders we would find.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Somehow it seems fitting that the final Shuttle mission belongs to &lt;i&gt;Atlantis&lt;/i&gt;.  We have gone from &lt;i&gt;Enterprise&lt;/i&gt; envisioning the future of space travel and carrying the proud name and legacy of American engineering with her, to a legend that has sunk from our sight.  The greatest achievement of the Shuttle program may be that launches stopped being a big deal.  I'm still not sure what societal forces make such a thing possible.  Sending people into space has lost none of its impact on me.  It's incredible, dangerous, audacious, expensive, and utterly astounding.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Upon the completion of mission &lt;a href="http://www.nasa.gov/mission_pages/shuttle/shuttlemissions/sts135/index.html"&gt;STS-135&lt;/a&gt;, the U.S. government will be out of the manned space flight game for the foreseeable future.  You can't really blame them at a time when there are real issues that require attention, and yes, money.  It will be left to the private companies to try and create viable businesses out of space flight.  It's even possible they will succeed, and I certainly wish them well.  With the &lt;a href="http://www.nasa.gov/mission_pages/constellation/main/index2.html"&gt;Constellation program&lt;/a&gt; dead and the &lt;a href="http://www.scientificamerican.com/blog/post.cfm?id=threat-of-james-webb-space-telescop-2011-07-07"&gt;James Webb telescope in danger&lt;/a&gt;, NASA's direction remains unclear.  My increasingly hypothetical children will have no Apollo program, no shuttle launches, and maybe even no Hubble-like photos of the cosmos to inspire them.  And then what?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Let's face it, the vast majority of people will not even notice, let alone care.  The Shuttle will become a part of history.  Less expensive robots will carry on with the science.  Space isn't going anywhere.  Perhaps the names &lt;i&gt;Enterprise&lt;/i&gt;, &lt;i&gt;Challenger&lt;/i&gt;, &lt;i&gt;Columbia&lt;/i&gt;, &lt;i&gt;Discovery&lt;/i&gt;, &lt;i&gt;Atlantis&lt;/i&gt;, and&lt;i&gt; Endeavour&lt;/i&gt; will represent a unique time in human history.  But maybe someone will look back at the Space Shuttle and see not the past, but an example of the way to the future.  You can cut funding, you can end a program, but you can't kill an idea.  The Shuttles, the scientists, engineers, pilots, and countless others that made them real, leave behind an inspiring legacy.  And what has been done once can be done again, even better, if you have a little imagination.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-9112028513412352786?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/9112028513412352786/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=9112028513412352786' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/9112028513412352786'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/9112028513412352786'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/07/end-of-shuttle-era.html' title='The End of the Shuttle Era'/><author><name>Brian</name><uri>http://www.blogger.com/profile/05775103217404485929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-2883633042472948961</id><published>2011-07-06T07:55:00.002-04:00</published><updated>2011-07-06T07:58:17.203-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='randomness'/><title type='text'>The First Rule of Ni! is You Don't Say Ni!</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;iframe width="560" height="349" src="http://www.youtube.com/embed/p0pEAiZOR5s?rel=0" frameborder="0" allowfullscreen=""&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Kudos to you sir, whoever you are.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-2883633042472948961?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/2883633042472948961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=2883633042472948961' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/2883633042472948961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/2883633042472948961'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/07/first-rule-of-ni-is-you-dont-say-ni.html' title='The First Rule of Ni! is You Don&apos;t Say Ni!'/><author><name>Brian</name><uri>http://www.blogger.com/profile/05775103217404485929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/p0pEAiZOR5s/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-4974482412908235093</id><published>2011-07-04T11:11:00.003-04:00</published><updated>2011-07-04T11:57:55.166-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='watching the watchers'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='green tech'/><title type='text'>Quick Hits to Catch Up</title><content type='html'>I've had several things sitting in the potentially-interesting queue for far too long.  In the name of catching up, here comes the dreaded link-post!&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In the category of Watching the Watchers we have:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;A &lt;a href="http://www.rollingstone.com/politics/news/the-people-vs-goldman-sachs-20110511"&gt;massive article about Goldman Sachs&lt;/a&gt;.  Aside from being a really great piece of journalism, this one appeared in &lt;i&gt;Rolling Stone&lt;/i&gt; rather than a "news" outlet.  And that's interesting in its own right.&lt;/li&gt;&lt;li&gt;A BBC piece on the &lt;a href="http://www.bbc.co.uk/news/world-11139960"&gt;disparity between America and Europe regarding holidays&lt;/a&gt;.  Seriously, wasn't the bright technological future supposed to allow us to work less?&lt;/li&gt;&lt;/ul&gt;From the land of programming:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;A nice little screed on &lt;a href="http://radar.oreilly.com/2011/05/process-kills-developer-passion.html"&gt;process killing passion&lt;/a&gt;.  This one also generates a decent Quote of the Moment with, "A project where you decide before you start a product cycle the features that must be in the product, the ship date, and the assigned resources is a waterfall project."  The comments are fairly reasonable too.&lt;/li&gt;&lt;li&gt;An opinion piece on why the &lt;a href="http://blogs.sciencemag.org/sciencecareers/2011/03/an-internal-bra.html"&gt;current practices regarding foreign workers&lt;/a&gt; in the science and engineering industries hurts, and more importantly discourages, American workers.&lt;/li&gt;&lt;/ul&gt;Over in green tech:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Scientists at MIT are working on a catalyst that can split water into hydrogen and oxygen &lt;a href="http://news.sciencemag.org/sciencenow/2011/03/spinning-the-suns-rays-into-fuel.html?ref=hp"&gt;simply by being exposed to sunlight&lt;/a&gt;.  The resulting hydrogen can then be used as a power source via burning or a fuel cell.&lt;/li&gt;&lt;li&gt;Others are working on creating batteries with charging profiles more like supercapacitors, that is to say &lt;a href="http://arstechnica.com/science/news/2011/03/electrode-lets-lithium-batteries-charge-in-two-minutes.ars?utm_source=rss&amp;amp;utm_medium=rss&amp;amp;utm_campaign=rss"&gt;really quick&lt;/a&gt;.  Since I'm more interested in going the other way to supercapacitors that can replace batteries, I'll note that the basic premise of the improvement in that article sounds quite similar to research going into graphine supercapacitors talked about in &lt;a href="http://www.automotiveworld.com/news/components/87566-us-researchers-discover-new-supercapacitor-material"&gt;this article&lt;/a&gt; and &lt;a href="http://www.azonano.com/news.aspx?newsID=22744"&gt;this one&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Before leaving the land of the supercapacitor, here's one more article about combining material types to&lt;a href="http://www.nanowerk.com/news/newsid=21787.php"&gt; try and gain the best properties&lt;/a&gt; of each.&lt;/li&gt;&lt;/ul&gt;Yes, I realize I had enough material there for three full posts.  But hey, it's a holiday.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://icanhascheezburger.com/2010/12/07/funny-pictures-meh-2/?utm_source=embed&amp;amp;utm_medium=web&amp;amp;utm_campaign=sharewidget"&gt;&lt;img src="http://icanhascheezburger.files.wordpress.com/2010/12/9c896b7e-04da-4161-95e4-6e22be36081b.jpg" title="funny pictures meh." alt="funny pictures-meh." height="374px" width="500px" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;see more &lt;a href="http://icanhascheezburger.com/?utm_source=embed&amp;amp;utm_medium=web&amp;amp;utm_campaign=sharewidget"&gt;Lolcats and funny pictures&lt;/a&gt;, and check out our &lt;a href="http://memebase.com/category/socially-awkward-penguin/"&gt;Socially Awkward Penguin lolz!&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" &gt;[caption retained out of respect for the source site, with which I have no affiliation]&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/8336831005230062280-4974482412908235093?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/4974482412908235093/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=4974482412908235093' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/4974482412908235093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/4974482412908235093'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/07/quick-hits-to-catch-up.html' title='Quick Hits to Catch Up'/><author><name>Brian</name><uri>http://www.blogger.com/profile/05775103217404485929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-3164856363730431989</id><published>2011-07-03T13:41:00.004-04:00</published><updated>2011-07-06T10:39:03.637-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='watching the watchers'/><title type='text'>Watching the Watchers: In Which I Change My Position On Fission</title><content type='html'>For a long time, I have supported nuclear fission as the best of a bad group of choices for large scale power generation.  It doesn't depend on geography the way solar, wind, hydro, and geothermal power does.  It doesn't produce airborne pollution.  And, &lt;a href="http://www.world-nuclear.org/info/inf02.html"&gt;costs remain competitive with fossil fuels&lt;/a&gt;.  (Though the costs are going up across the board, enough so that in some areas&lt;a href="http://meic.org/energy/global_warming_pollution/renewable-energy-alternatives-1/wind_cost"&gt; wind power is now competitive with nuclear&lt;/a&gt;.)  Of course, the little matter of radioactive waste remains.  For the most part, I trusted that proper safety and disposal was in the best interests of the nuclear power industry, in spite of the failure of the Yucca Mountain national nuclear waste repository.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In recent years, we have seen government fail over and over to address pressing long term issues, including the aforementioned waste disposal.  The &lt;a href="http://en.wikipedia.org/wiki/Fukushima_Daiichi_nuclear_disaster"&gt;Fukushima disaster&lt;/a&gt; highlights the dangers of stored nuclear waste, and the US has been without a comprehensive plan for decades.  The &lt;a href="http://en.wikipedia.org/wiki/Deepwater_Horizon_oil_spill"&gt;BP oil spill&lt;/a&gt; in the Gulf of Mexico shined a light on the all-too-cozy relationship between industry regulators and the industry they are supposed to police.  And now the AP's Jeff Donn gives us a &lt;a href="http://old.news.yahoo.com/s/ap/20110620/ap_on_re_us/us_aging_nukes_part1"&gt;massive&lt;/a&gt; &lt;a href="http://old.news.yahoo.com/s/ap/20110621/ap_on_bi_ge/us_aging_nukes_part2"&gt;article&lt;/a&gt; showing that the nuclear industry, favoring continued operation of its aging reactors, and the profit compared to new infrastructure, over safety.  I know it's a lengthy read, but I think it's well worth the time.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In light of the influence industry now holds over government, trusting that altruism will win out over the Darwinian game of growth and profits that the stock market imposes on the deregulated utility companies appears to be putting our faith in a very fragile, possibly already broken, system.  And so, I live and learn.  As of now, I'm completely off the nuclear bandwagon.  Alternative, renewable energy sources continue to improve every year.  Putting the investment into the infrastructure needed for those technologies instead of a new generation of nuclear reactors seems to make complete sense.  The time has come to stop thinking of the best of a bad set of solutions and start thinking about some that can actually be good.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-3164856363730431989?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/3164856363730431989/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=3164856363730431989' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/3164856363730431989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/3164856363730431989'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/07/watching-watchers-in-which-i-change-my.html' title='Watching the Watchers: In Which I Change My Position On Fission'/><author><name>Brian</name><uri>http://www.blogger.com/profile/05775103217404485929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-1612790472167552440</id><published>2011-06-19T10:15:00.000-04:00</published><updated>2011-06-19T10:15:14.318-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='randomness'/><title type='text'>It's the Worst Parody... in the World</title><content type='html'>Hello, and welcome to tonight's episode of Top Gear. &amp;nbsp;I'm Jeremy Clarkson, and what a show we have for you. You may remember last series when we took a look at the Empire's top line Twin Ion Engine patrol fighter and decided it was something of a death trap. &amp;nbsp;Well this year, the Empire has a new model, and we sent our resident Jawa, Richard Hammod to take a look.&lt;br /&gt;&lt;cut doing="" dramatic="" hammod="" interceptor,="" of="" presentation="" the="" tie="" to="" voice-over=""&gt;&lt;/cut&gt;&lt;br /&gt;Yeah, thanks for that Jeremy. &amp;nbsp;As you can see, the Empire has drastically altered the lines of the craft, and boy what an improvement over the original. &amp;nbsp;The openings in the solar wings allow for greater pilot visibility, and the engines are even more efficient, allowing the whole thing to be lighter and faster even with added structural support. &amp;nbsp;And those engines also provide power for four laser cannons rather than the original's two. &amp;nbsp;They moved the cannons out into the wings to give a greater coverage area, increasing their chances of hitting an evasive target. &amp;nbsp;Let's take 'er out and see how she does on our flight track.&lt;br /&gt;&lt;cut at="" hammond="" the="" to="" track=""&gt;&lt;/cut&gt;&lt;br /&gt;Right, I'm suited up and ready to go. &amp;nbsp;As you can see, this model uses the same hanger system as last year's model. &amp;nbsp;&lt;clambers in=""&gt; &amp;nbsp;And the cockpit is... well, it's just as cramped as the original. &amp;nbsp;Very utilitarian. &amp;nbsp;Let's fire it up, and see what it feels like. &lt;engines scream=""&gt; &amp;nbsp;Ooooh my goodness! &amp;nbsp;This one has a kick! &amp;nbsp;Wow! &amp;nbsp;It's even more nimble than the TIE, so I can make easy work of the turns. &amp;nbsp;Woah, it's almost too maneuverable; you really have to watch out for&amp;nbsp;over-steer. &amp;nbsp;Goodness. &amp;nbsp;I think pod racers might be right at home in one of these babies. &amp;nbsp;Woohoo! &amp;nbsp;It is just a dream to fly!&lt;/engines&gt;&lt;/clambers&gt;&lt;br /&gt;&lt;cut and="" back="" first="" james,="" james="" richard="" speaks="" studio,="" to=""&gt;&lt;/cut&gt;&lt;br /&gt;Richard, you sound awfully&amp;nbsp;enthusiastic&amp;nbsp;about this fighter.&lt;br /&gt;Yeah, James, it really is a rush to fly. &amp;nbsp;Faster, more maneuverable, and just better than the original.&lt;br /&gt;Right, the TIE felt great too, but we had some real issues with what it left out. &amp;nbsp;For instance, you can't actually land it, can you?&lt;br /&gt;Well no, the Bothan&amp;nbsp;boffins&amp;nbsp;say that landing gear and such are just so much dead weight in space.&lt;br /&gt;Repulsorlifts?&lt;br /&gt;No, but you don't need those when you can't land, right.&lt;br /&gt;Hyperdrive?&lt;br /&gt;Um, No. &amp;nbsp;Well, again that's a massive amount of added weight isn't it.&lt;br /&gt;Shield generators?&lt;br /&gt;Yeah, no.&lt;br /&gt;&lt;jeremy and="" frame="" interjects.="" into="" walks=""&gt;&lt;/jeremy&gt;&lt;br /&gt;So it's another death trap.&lt;br /&gt;Well, I mean... yeah, yeah it is. &amp;nbsp;And it's a shame really, I mean it is such a riot to fly, but if you make the slightest mistake, it'll disintegrate. &amp;nbsp;There is just zero margin of error.&lt;br /&gt;It is much better looking and wickedly fast, but I wouldn't have it.&lt;br /&gt;Nor I.&lt;br /&gt;Me neither, but I'll tell you what I would have... later in the show. &amp;nbsp;But first we have to really see how the Interceptor performs, and that means turning it over to our tame Sith pilot. &amp;nbsp;People claim that he's more machine now than man. &amp;nbsp;Some even say he's Richard Hammond's father.&lt;br /&gt;(Oh now, that's not true. &amp;nbsp;That's just impossible.)&lt;br /&gt;All we know is he's called Darth Stig.&lt;br /&gt;And around the first corner, very neat. &amp;nbsp;Through the hammerhead, I don't think I've ever seen something this smooth, it's going to be a very quick time. &amp;nbsp;Coming up on the final corner now, really flying. &amp;nbsp;And across the line. &amp;nbsp;I've got the time here, and the TIE Interceptor has made the Top Gear Run in an astonishing point seven five of a parsec! &amp;nbsp;Just incredible. &amp;nbsp;Too bad you'd die if you tried to use it every day.&lt;br /&gt;&lt;br /&gt;And now it's time to put a star in our reasonably priced speeder. &amp;nbsp;Please put you applause appendages together for singing sensation Sy Snootles...&lt;br /&gt;&lt;transmission due="" interference="" interrupted="" to=""&gt;&lt;/transmission&gt;&lt;br /&gt;&lt;br /&gt;[Apologies to George Lucas, and the cast of Top Gear.]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-1612790472167552440?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/1612790472167552440/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=1612790472167552440' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/1612790472167552440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/1612790472167552440'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/06/its-worst-parody-in-world.html' title='It&apos;s the Worst Parody... in the World'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-2163017818246170696</id><published>2011-06-11T17:20:00.000-04:00</published><updated>2011-06-11T17:20:40.103-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>A New Round of OS Wars Signals a New Era for Personal Computing</title><content type='html'>&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;My primary computer is rapidly approaching its fourth anniversary, and as aging computers tend to do, it developed some... personality quirks. &amp;nbsp;The network port on the motherboard has died. &amp;nbsp;A run-time exception often pops when logging off or shutting down. &amp;nbsp;Being a Windows XP machine, it needed a hard drive wipe and re-install a year ago to clean out the accumulated cruft (which I still haven't done). &amp;nbsp;Basically what I'm saying here is that within the next year and a half to two years, I'm probably going to be in the market for a new computer again. &amp;nbsp;Normally this wouldn't give me pause. &amp;nbsp;The default path for me goes like this: take a budget of 1k dollars, hit up the usual web sites to do my parts research and head over to newegg. &amp;nbsp;Some assembly required, but you get a solid "enthusiast" class Windows PC with pretty much unmatchable value for price. &amp;nbsp;But in the wake of recent announcements from both Microsoft and Apple, that choice is no longer the no-brainer it would have been even a few months ago.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;For the first time in quite a while, there are interesting things afoot in the land of computer operating systems, and you can thank the so-called smart phones for it. &amp;nbsp;Say what you will about Apple, you have to admit the iPhone kicked off a real revolution. &amp;nbsp;Apple's iOS interface opened up a new world of computing to a vastly larger audience than we have seen before. &amp;nbsp;Add to that the ease of use of integrated application purchasing, throw in a dose of network storage, and you can begin to see that we are about to enter a new era of personal computing. &amp;nbsp;And the choice of OS is going to be more important than ever, because once you choose, you are going to be well and truly stuck because of the vendor lock-in all that fancy cloud-marketed convenience is designed to generate.&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;i&gt;"We've introduced a new platform based on standard Web technologies." -&lt;a href="http://arstechnica.com/microsoft/news/2011/06/microsoft-gives-the-first-official-look-of-windows-8-touch-interface.ars"&gt;Microsoft "Building Windows 8" promotional video&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;I'm generally platform agnostic; I can find stuff I hate about every operating system I've ever encountered. &amp;nbsp;But if the choice is as important as I think it might be, it's worth taking a look at what's coming. &amp;nbsp;So what kinds of OSes are we going to have? &amp;nbsp;Well, Google's Chrome OS comes off as an experiment in seeing if dumb terminals can make a comeback using wireless instead of wired networking and the Internet instead of a mainframe. &amp;nbsp;I think we can safely skip that one. &amp;nbsp;Its long history shows us that Linux in its legion of forms will remain both pervasive around the Internet and virtually invisible to normal consumers. &amp;nbsp;That leaves us with just the dinosaur in the room and it's scrappy, arty mammal competitor.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;In lifting the curtain a bit on Windows 8, Microsoft showed they are indeed working on taking their mobile interface to the tablet space and bringing it to PCs. &amp;nbsp;They have also hinted at an integrated software store. &amp;nbsp;At the same time they set of a minor firestorm of developer ire with the promise of yet another new API for programmers to learn. &amp;nbsp;The more incremental changes in OS X Lion (and the previous Snow Leopard) have already put Apple far down the path toward an integrated user experience. &amp;nbsp;The developer community also remains much more lively on the Mac, which can also use its Unix underpinnings to leverage the vast resources of open source software far more easily than Windows.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;i&gt;"We're going to demote the PC and the Mac to just be a device." -&lt;a href="http://www.engadget.com/2011/06/06/wwdc-2011-liveblog-steve-jobs-talks-ios-5-os-x-lion-icloud-an/?sort=oldest&amp;amp;refresh=0"&gt;Steve Jobs in the WWDC 2011 keynote&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Apple has the momentum right now in the consumer (i.e. not the "enterprise") space. &amp;nbsp;Even in the gaming world, Apple is benefiting from the renaissance in indy titles built in Flash, HTML 5, and Java. &amp;nbsp;iOS games are massively outselling gaming console titles. &amp;nbsp;Blizzard and Valve both support Windows and Mac via their digital distribution infrastructures. &amp;nbsp;Digital distribution of software is generally driving down prices and empowering the small developer again. &amp;nbsp;While Microsoft offers the "Express" versions of its Visual Studio apps, they don't have their response to the app store up yet, and the fully functional development tools cost an arm and a leg. &amp;nbsp;Apple's XCode appears to be a capable response at a much lower entry price.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Speaking of entry prices, I can't help but mention that Apple still has a fairly significant brand tax in place. &amp;nbsp;Still,&amp;nbsp;given Apple's momentum and Microsoft's clumsy responses, the choice between a custom-built Windows machine and an any-color-so-long-as-its-black Mac may not come down just to price anymore. &amp;nbsp;As a user, and as a developer, I don't think I can ignore the ecosystems building up around computers anymore. &amp;nbsp;The maturation of speedy networking and portable computing devices means that your PC isn't going to be your sole computing mechanism, but one option of many. &amp;nbsp;If those many can't interoperate smoothly, the whole system will suffer in comparison.&amp;nbsp;That, in turn, means that we are moving into the next era of computing, and things are about to get a whole lot more complicated.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;i&gt;"Apple and Google will compete like crazy for our data because once they have it we'll be their customers forever." -&lt;a href="http://www.cringely.com/2011/06/iclouds-real-purpose-is-to-kill-windows/"&gt;Robert X. Cringely&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-2163017818246170696?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/2163017818246170696/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=2163017818246170696' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/2163017818246170696'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/2163017818246170696'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/06/new-round-of-os-wars-signals-new-era.html' title='A New Round of OS Wars Signals a New Era for Personal Computing'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-7026835011061148654</id><published>2011-06-05T15:38:00.000-04:00</published><updated>2011-06-05T15:38:50.507-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='news link-post'/><title type='text'>People Being Awsome</title><content type='html'>Some people look at the hugely popular Facebook-hosted game Farmville and think of all the time wasted. &amp;nbsp;Others see the shady business practices. &amp;nbsp;Still others see the huge profit potential from a new and largely untapped market. &amp;nbsp;Forget those folks, because there are some who saw an opportunity to educate and reconnect the public with farming. &amp;nbsp;Thus was born the idea of having &lt;a href="http://www.bbc.co.uk/news/uk-13276102"&gt;a real life farm with major decisions made by subscribers from the internet&lt;/a&gt;. &amp;nbsp;It is an odd idea, based largely on a football (soccer) team run using the same methods. &amp;nbsp;I have no idea how they will be providing the people who subscribe with the information needed to make educated decisions, and I have no idea how they will make things fun, but they get major points for thinking outside the box and trying to give a glimpse of the bigger system surrounding and supporting us.&lt;br /&gt;&lt;br /&gt;Speaking of bigger systems, the Space Shuttle program is drawing to a relatively quiet close. &amp;nbsp;Astronauts aboard the&amp;nbsp;&lt;i&gt;Endeavor&lt;/i&gt;&amp;nbsp;completed &lt;a href="http://news.yahoo.com/s/ap/20110527/ap_on_sc/us_space_shuttle"&gt;the final shuttle space walk&lt;/a&gt; late last month, adding the last U.S. built module to the International Space Station. &amp;nbsp;The thirty year old Shuttle program covered the majority of my life, and I expect I will have more to say after the completion of the final mission next month.&lt;br /&gt;&lt;br /&gt;So we have a cool educational idea and the historic final Shuttle space walk. &amp;nbsp;A pair of wildly different stories that share only the theme that people have awesome ideas and can turn them into awesome realities. &amp;nbsp;One more story along those lines closes us out today.&lt;br /&gt;&lt;br /&gt;Anyone who follows the news knows it has been a bad year for natural disasters. &amp;nbsp;Chief among the recent ones was the earthquake, tsunami, and subsequent meltdowns of the Fukushima power plant. &amp;nbsp;The radiation danger makes cleanup of the plant much harder, as it puts the workers at risk. &amp;nbsp;Yasutero Yamada, a retired engineer, offers a unique solution. &amp;nbsp;&lt;a href="http://www.bbc.co.uk/news/world-asia-pacific-13598607"&gt;He is attempting to go back to work&lt;/a&gt;. &amp;nbsp;"I am 72 and on average I probably have 13 to 15 years left to live. &amp;nbsp;Even if I were exposed to radiation, cancer could take 20 or 30 years or longer to develop." &amp;nbsp;He has already gathered a group of more than 200 volunteers, all over the age of 60.&lt;br /&gt;&lt;br /&gt;Sometimes, when things are hard, in your life, around you, for those you know, or even for strangers you will never meet, it's worth remembering that as banal, crazy, callous, and fallen as people can be, they can also be really and truly awesome.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-7026835011061148654?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/7026835011061148654/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=7026835011061148654' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/7026835011061148654'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/7026835011061148654'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/06/people-being-awsome.html' title='People Being Awsome'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-2910174695660641837</id><published>2011-05-31T22:08:00.001-04:00</published><updated>2011-06-19T10:17:29.720-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>A Bit of Anti-Planning</title><content type='html'>&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;The temperature here broke ninety degrees today, ushering in an early beginning to summer to go along with our early spring. &amp;nbsp;And so a programmer's thoughts turn to summer projects. &amp;nbsp;Here's a sampling of some of the things I want to be doing with my free time over the next few months just in the realm of programming:&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Install Xubuntu on my primary computer (after verifying that the wireless works) and get my development environment reasonably up to date.&lt;/li&gt;&lt;li&gt;Learn how to use the Eclipse IDE framework, starting with basic Java development.&lt;/li&gt;&lt;li&gt;Bring myself up to speed on the delta between where I left Java back in the 1.4 days and the current version.&lt;/li&gt;&lt;li&gt;Learn some SQLLite.&lt;/li&gt;&lt;li&gt;Try to make a basic Android app.&lt;/li&gt;&lt;li&gt;Continue learning Javascript.&lt;/li&gt;&lt;li&gt;Play around with WebGL, or at least the Canvas widget.&lt;/li&gt;&lt;/ul&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Sounds great to me! &amp;nbsp;Well, there is one little problem. &amp;nbsp;No, actually, there's two. &amp;nbsp;Time is the first issue, which Scott Adams&amp;nbsp;&lt;a href="http://dilbertblog.typepad.com/the_dilbert_blog/2008/04/time-management.html"&gt;neatly summarized&lt;/a&gt;&amp;nbsp;in a post on his Dilbert blog. &amp;nbsp;Time is not something I can fight, so I have to press on against the second issue: energy. &amp;nbsp;I'm not talking just about the energy to get up and move around, but rather that energy that allows me to focus and create.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;At this point in my life, my job uses up pretty much all the creative energy I have in me. &amp;nbsp;Now, doing any of the things on the list above, even something as relatively simple as getting Linux running on my box, would actually help energize me. &amp;nbsp;But over the past couple of years I've discovered that attempting to generate energy this way is sort of like playing the stock market. &amp;nbsp;It's easier to generate more energy if you have energy to spend in the first place, and if you are running short on energy the risk vs. return ratio is much less favorable. &amp;nbsp;And that, in turn, leads to something of a solution. &amp;nbsp;I'm not going to worry about doing any of the stuff I've listed.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Of course, I won't stop thinking about programming, and I'll try not to stop writing about it either. &amp;nbsp;(Especially since I'm barely squeezing in this month's entry...) &amp;nbsp;The way my life is at this particular moment, it's much more important for me to focus my mental and physical energy where it will give the most return. &amp;nbsp;I'm not going to set any artificial goals this year and beat myself up over failing to achieve them. &amp;nbsp;I'll keep going to that Bible study and my other church activities. &amp;nbsp;I'll keep playing games with my friends (digital and analog). &amp;nbsp;Maybe I will pick up the pencil and start drawing again to see if I can get past the plateau I was on. &amp;nbsp;Maybe I'll just watch Top Gear reruns via Netflix all summer.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;That's not to say that nothing on the list will be attempted, but anything I accomplish in my relatively tiny hobby time is just icing on the cake that is my life. &amp;nbsp;And while cake is better with good icing, failing to enjoy the cake because you don't have time to make the icing is just&amp;nbsp;&lt;a href="http://youtu.be/IqhlQfXUk7w"&gt;silly&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/8336831005230062280-2910174695660641837?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/2910174695660641837/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=2910174695660641837' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/2910174695660641837'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/2910174695660641837'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/05/bit-of-anti-planning.html' title='A Bit of Anti-Planning'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-1745176639063975303</id><published>2011-05-22T15:38:00.000-04:00</published><updated>2011-05-22T15:38:27.852-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='news link-post'/><title type='text'>Technology in the News</title><content type='html'>Today we're going to look at some stories about technology, from the high to the low. &amp;nbsp;Starting off, &amp;nbsp;NASA, continues to seek solutions to the complications of human space flight, even as the Shuttle program comes to a close. &amp;nbsp;With the navy already &lt;a href="http://bitstreamofconsciousness.blogspot.com/2011/02/china-military-on-rise-us-military-gets.html"&gt;working on laser weaponry&lt;/a&gt;, NASA is seeking the other half of a sci-fi kid's dream: energy shields. &amp;nbsp;OK, it's really just &lt;a href="http://www.networkworld.com/community/blog/nasa-wants-revolutionary-radiation-shielding-"&gt;electromagnetic radiation shielding&lt;/a&gt; which could protect astronauts in the same manner that the Earth's magnetic field protects the rest of us. &amp;nbsp;Right now, it's an item on a wish-list, but you never know what the future will bring.&lt;br /&gt;&lt;br /&gt;On the in-production side, one of the big headline makers from a certain recent special forces operation in Pakistan was a strange helicopter tail rotor. &amp;nbsp;Speculation indicates there may have been one or more helicopters involved in the raid with stealthy modifications, possibly to a Blackhawk transport. &amp;nbsp;Perhaps something came out of the &lt;a href="http://en.wikipedia.org/wiki/Boeing/Sikorsky_RAH-66_Comanche"&gt;cancelled Comanche program&lt;/a&gt; after all.&lt;br /&gt;&lt;br /&gt;Once upon a time, back in a distant, cell-phone-less time known as "the eighties," digital watches were how many kids kept time. &amp;nbsp;One particular style, of which I had several versions back in the day, now comes under scrutiny from the government. &amp;nbsp;Apparently &lt;a href="http://www.bbc.co.uk/news/magazine-13194733"&gt;inexpensive Casio digital watches are a bad thing to wear in Gitmo&lt;/a&gt;. &amp;nbsp;Relatively simple, reliable, thirty year old timepiece technology, in the hands of terrorists becomes a simple, reliable bomb timer. &amp;nbsp;Jerks. &amp;nbsp;Of course, having reliable items becomes a big deal when bombs are involved. &amp;nbsp;After all, &lt;a href="http://www.leaderpost.com/news/Text+message+blows+suicide+bomber+accident/4172966/story.html"&gt;having someone blow you up via text message&lt;/a&gt; is&amp;nbsp;embarrassing. &amp;nbsp;Or possibly poetic justice, depending on your point of view.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-1745176639063975303?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/1745176639063975303/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=1745176639063975303' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/1745176639063975303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/1745176639063975303'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/05/technology-in-news.html' title='Technology in the News'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-7886900848514997041</id><published>2011-04-25T15:07:00.000-04:00</published><updated>2011-04-25T15:07:28.947-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='randomness'/><title type='text'>The Joy of Spring</title><content type='html'>Pollen season came early this year, and with all the wind, even the periodic rain has not been able to clear the air. &amp;nbsp;It acts as a force multiplier for all the other annoyances that occur in a normal day. &amp;nbsp;I say this, not to complain, but rather to provide some context for this image, which amuses me.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://icanhascheezburger.com/2011/03/07/funny-pictures-now-i-have-to-sneeze/?utm_source=embed&amp;amp;utm_medium=web&amp;amp;utm_campaign=sharewidget"&gt;&lt;img alt="funny pictures - The worst part is now I have to sneeze." class="event-item-lol-image" height="374px" src="http://icanhascheezburger.files.wordpress.com/2011/02/8ee715e2-b738-4ba7-87f8-d3fa3552004d.jpg" title="funny pictures - The worst part is now I have to sneeze." width="500px" /&gt;&lt;/a&gt;&lt;br /&gt;see more &lt;a href="http://icanhascheezburger.com/?utm_source=embed&amp;amp;utm_medium=web&amp;amp;utm_campaign=sharewidget"&gt;Lolcats and funny pictures&lt;/a&gt;, and check out our &lt;a href="http://memebase.com/category/socially-awkward-penguin/"&gt;Socially Awkward Penguin lolz!&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;(Picture caption retained out of courtesy to the hosting site, with which I have no affiliation.)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-7886900848514997041?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/7886900848514997041/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=7886900848514997041' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/7886900848514997041'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/7886900848514997041'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/04/joy-of-spring.html' title='The Joy of Spring'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-582106321858831245</id><published>2011-04-25T14:56:00.000-04:00</published><updated>2011-04-25T14:56:06.419-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='news link-post'/><title type='text'>Nanotech A-Go-Go</title><content type='html'>Here are a couple of wildly different stories that show a potential future benefits as our ability to examine and manipulate matter at microscopic scales improves.&lt;br /&gt;&lt;br /&gt;The first involves &lt;a href="http://www.wired.com/autopia/2011/03/bananas-could-make-cars-leaner-greener/"&gt;plastic made not from petroleum, but from plant fibers&lt;/a&gt;. &amp;nbsp;Plastics made from "nano-cellulose" fibers can be several times stronger than similar plastics while being around a third lighter. &amp;nbsp;Potentially even more importantly, in addition to being totally renewable the plant based substance is biodegradable. &amp;nbsp;Though the researchers are currently targeting automotive applications, it isn't too big a leap to imagine a world where you throw your spent drink bottle into the mulch pile rather than the recycle bin.&lt;br /&gt;&lt;br /&gt;Second, a potential weapon in the quest to replace increasingly ineffective antibiotics. &amp;nbsp;Now biology isn't my field, but if I'm reading this correctly, researchers are working on substances that can attack bacterial cells physically rather than chemically (though at the scales we are talking that distinction is a blurry one) which should be much harder for the bacteria to develop a resistance toward. &amp;nbsp;In other words, our poisons are beginning to stop working, so we are switching to knives. &amp;nbsp;They have designed &lt;a href="http://arstechnica.com/science/news/2011/04/nanoparticles-successfully-take-down-mrsa-bacteria.ars"&gt;synthetic, charged polymers which can break open the cell walls of bacteria&lt;/a&gt;, killing them. &amp;nbsp;So far the compounds are showing promise against several forms of antibiotic resistant bacteria, including the current media darling methicillin resistant staph (MRSA).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-582106321858831245?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/582106321858831245/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=582106321858831245' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/582106321858831245'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/582106321858831245'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/04/nanotech-go-go.html' title='Nanotech A-Go-Go'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-1996066488212901280</id><published>2011-04-17T22:17:00.001-04:00</published><updated>2011-04-17T22:21:22.228-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='randomness'/><title type='text'>Guitar + Harmony = Awsome</title><content type='html'>One man, one woman, one guitar, one mesmerizing song. &amp;nbsp;This is the studio version, the live ones are well worth checking out too, as is the entire album. &amp;nbsp;This might even be a decent excuse for me to finally try out the drop D tuning.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;iframe allowfullscreen="" frameborder="0" height="390" src="http://www.youtube.com/embed/ODOOo-R6kg8?rel=0" title="YouTube video player" width="640"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-1996066488212901280?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/1996066488212901280/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=1996066488212901280' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/1996066488212901280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/1996066488212901280'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/04/guitar-harmony-awsome.html' title='Guitar + Harmony = Awsome'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/ODOOo-R6kg8/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-6484061529751556211</id><published>2011-04-10T17:23:00.000-04:00</published><updated>2011-06-19T10:18:32.475-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Solving the Programming Professional Name Debate</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;i&gt;Science is to Computer Science as Hydrodynamics is to Plumbing&lt;/i&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;unattributed aphorism from the Fortune program which I first saw in the mid 90s.&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;People who have devoted their lives, or at least their professional lives, to writing computer programs seem to be caught up in a continual debate about how to express what we do for a living. &amp;nbsp;Everyone seems to have their favorite analogy about what our field actually involves. &amp;nbsp;Are we best described as&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Software_engineer"&gt;engineers&lt;/a&gt;?&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Software_development"&gt;developers&lt;/a&gt;?&amp;nbsp;&lt;a href="http://www.codinghorror.com/blog/2009/07/software-engineering-dead.html"&gt;craftsmen&lt;/a&gt;?&amp;nbsp;&lt;a href="http://www.paulgraham.com/hp.html"&gt;artists&lt;/a&gt;?&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Software_architect"&gt;architects&lt;/a&gt;? writers? farmers? oysters accreting software pearls? construction workers?&lt;sup&gt;1&lt;/sup&gt;&amp;nbsp;&amp;nbsp;Frankly, I'm tired of it all. &amp;nbsp;Like so many other political debates going on right now, the debaters are telling you more about what they want than the reality of the issue. &amp;nbsp;People who say creating software&amp;nbsp;&lt;i&gt;is&lt;/i&gt;&amp;nbsp;an engineering discipline are actually saying they&amp;nbsp;&lt;i&gt;want&lt;/i&gt;&amp;nbsp;creating software to be an engineering discipline. &amp;nbsp;It is high time we stop defining ourselves based on the models for other professions.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Naturally, you will want to know how my method for describing people who write software differs from every other person's. &amp;nbsp;It's simple. &amp;nbsp;I'm dropping the analogies. &amp;nbsp;They clearly don't work. &amp;nbsp;Computer science isn't science, and software engineering isn't engineering. &amp;nbsp;That's not to say that we can't take lessons from both science and engineering methods, I certainly do so every day, whether it's isolating variables during debugging like I did back in lab class or doing stress/load testing like a materials engineer. &amp;nbsp;The lessons are freely available to us without needing to take their roles and titles as well.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;If we are to stop defining programmers by what we aren't, we have to examine what we are. &amp;nbsp;When you sit down to design and implement software, no matter the domain, platform, or language, the basis remains the same: algebra, Boolean logic, and symbolic logic. &amp;nbsp;All computer programs are nothing more than numbers being manipulated. &amp;nbsp;All those grand designs, all those layers of abstraction, they are just there to allow us to give context and meaning to those numbers.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Now, maybe you are feeling a frisson of fear. &amp;nbsp;Deep in your&amp;nbsp;hind-brain&amp;nbsp;the instinct for fight of flight is building up. &amp;nbsp;You know deep down what I'm about to say, and you really don't want to hear it. &amp;nbsp;But it's there. &amp;nbsp;People who write software are...&amp;nbsp;&lt;b&gt;mathematicians&lt;/b&gt;. &amp;nbsp;Wait, don't go! &amp;nbsp;It's applied math!&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Yes, I am being overly dramatic to make the point, but when you sit down and seriously think about it, can you really argue against programmers being first and foremost mathematicians? &amp;nbsp;But it really starts to become interesting when you think about what being mathematicians implies. &amp;nbsp;Could changing the titles we use in our jobs away from the ones used now help us as a group? &amp;nbsp;If the code is all just math, how does that make us look at the different roles within the profession?&amp;nbsp;&amp;nbsp;Would the attitudes of managers change if they had a department of mathematicians writing software rather than a department of engineers? &amp;nbsp;What about HR departments and recruiters? &amp;nbsp;If software is written by mathematicians rather than engineers, what does that say about the need for, or the processes of, designing professional credentials and/or certifications? &amp;nbsp;Does acknowledging that it's all math allow us to come up with better methods and/or processes for our work?&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Defining ourselves by analogy really is a perfectly natural thing for software people to do. &amp;nbsp;After all, we spend all our days writing programs that model other domains, other jobs, other tasks. &amp;nbsp;But I really do wonder if there would be a benefit to moving beyond defining programming by comparison to other things.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;[1] The last four analogies are from chapter 2 of my favorite book about programming,&amp;nbsp;&lt;a href="http://www.cc2e.com/Default.aspx"&gt;Code Complete 2 by Steve McConnell&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;br /&gt;&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/8336831005230062280-6484061529751556211?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/6484061529751556211/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=6484061529751556211' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/6484061529751556211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/6484061529751556211'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/04/solving-programming-professional-name.html' title='Solving the Programming Professional Name Debate'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-7369765366563078589</id><published>2011-04-10T15:39:00.000-04:00</published><updated>2011-04-10T15:39:50.603-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='editorial'/><title type='text'>Growth Isn't Everything, Are People are Beginning to Notice?</title><content type='html'>Mike Taylor over on The Reinvigorated Programmer posted his thoughts on one of my favorite issues, &lt;a href="http://reprog.wordpress.com/2011/04/09/farmers-miners-and-investors/"&gt;how growth driven markets aren't necessarily a good thing&lt;/a&gt;. &amp;nbsp;I will not say any more on the subject today, mainly because I don't want to ruin my good mood, but also since I've been on this soapbox since at least &lt;a href="http://bitstreamofconsciousness.blogspot.com/2006/03/growth-or-death.html"&gt;2006&lt;/a&gt;. &amp;nbsp;Happily, the more people that start writing about this stuff, the more brains will be applied to coming up with a solution.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-7369765366563078589?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/7369765366563078589/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=7369765366563078589' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/7369765366563078589'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/7369765366563078589'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/04/growth-isnt-everything-are-people-are.html' title='Growth Isn&apos;t Everything, Are People are Beginning to Notice?'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-4430655468839556946</id><published>2011-03-26T07:50:00.000-04:00</published><updated>2011-03-26T07:50:02.423-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='randomness'/><title type='text'>Jedi at Play</title><content type='html'>Oh After Effects, your users do provide me some fun moments. &amp;nbsp;Ladies and Gentlemen,&amp;nbsp;Badminton&amp;nbsp;Jedi:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;iframe allowfullscreen="" frameborder="0" height="390" src="http://www.youtube.com/embed/KJ01jw-utvo?rel=0" title="YouTube video player" width="640"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-4430655468839556946?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/4430655468839556946/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=4430655468839556946' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/4430655468839556946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/4430655468839556946'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/03/jedi-at-play.html' title='Jedi at Play'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/KJ01jw-utvo/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-8924243193042744624</id><published>2011-03-12T12:00:00.000-05:00</published><updated>2011-03-12T12:00:32.940-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='green tech'/><title type='text'>Small Scale Big Changes</title><content type='html'>Interesting things happen when new technology addresses a market that traditional technologies don't. &amp;nbsp;Case in point, the &lt;a href="http://www.nytimes.com/2010/12/25/science/earth/25fossil.html?_r=1"&gt;New York Times looks at African mud huts charging cell phones and LED lights from small solar cells&lt;/a&gt;. &amp;nbsp;The subtle changes in the lifestyle that this allows have the potential to improve things for people well beyond the reach of the traditional power company model. &amp;nbsp;And frankly, I'd like to see that sort of thing happening more often in America too.&lt;br /&gt;&lt;br /&gt;Speaking of LED lights, development continues apace on them. &amp;nbsp;Hopefully the massive improvements in cost and brightness that &lt;a href="http://www.engadget.com/2011/03/11/bridgelux-silicon-led-could-mean-bright-future-for-solid-state-l/"&gt;companies continue to promise&lt;/a&gt; will show up in the marketplace.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-8924243193042744624?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/8924243193042744624/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=8924243193042744624' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/8924243193042744624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/8924243193042744624'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/03/small-scale-big-changes.html' title='Small Scale Big Changes'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-5197244892830249483</id><published>2011-03-12T09:50:00.000-05:00</published><updated>2011-03-12T09:50:36.841-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='randomness'/><title type='text'>A Certain Kind of Philosophy</title><content type='html'>What do you get when you combine comics, the Dungeons &amp;amp; Dragons alignment axes, and... a John Wesley quote? &amp;nbsp;&lt;a href="http://mightygodking.com/index.php/2008/06/09/from-the-slushpile/"&gt;This&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;For those not really familiar with D&amp;amp;D's method of representing character philosophy, the same site has quite a few attempts to explain. &amp;nbsp;The &lt;a href="http://mightygodking.com/index.php/2010/12/07/alignment-chart-week-star-trek-ds9/"&gt;Deep Space 9 one&lt;/a&gt; works well for the nerdy, but the one that really explains it all involves &lt;a href="http://mightygodking.com/index.php/2011/03/08/alignment-chart-the-muppet-show/"&gt;Muppets&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-5197244892830249483?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/5197244892830249483/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=5197244892830249483' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/5197244892830249483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/5197244892830249483'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/03/certain-kind-of-philosophy.html' title='A Certain Kind of Philosophy'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-5153298004847903930</id><published>2011-02-19T16:28:00.000-05:00</published><updated>2011-02-19T16:28:28.883-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='watching the watchers'/><title type='text'>Watching the Watchers: Hardcore Computer Ownage, Government Style</title><content type='html'>The ongoing results of the dust-up between a computer security contractor and a "hacktivist" group which I shall not name have resulted in a fascinating look at &lt;a href="http://arstechnica.com/tech-policy/news/2011/02/black-ops-how-hbgary-wrote-backdoors-and-rootkits-for-the-government.ars?utm_source=rss&amp;amp;utm_medium=rss&amp;amp;utm_campaign=rss"&gt;the workings of computer espionage in the Internet age&lt;/a&gt;. &amp;nbsp;Seriously, if you haven't seen this story, set aside some time and hit up the whole list of articles in the inset block. It's a pretty astounding story. &amp;nbsp;And then sit back and ponder that the two forces at work both believe they are the good guys.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-5153298004847903930?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/5153298004847903930/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=5153298004847903930' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/5153298004847903930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/5153298004847903930'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/02/watching-watchers-hardcore-computer.html' title='Watching the Watchers: Hardcore Computer Ownage, Government Style'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-1502302301299531202</id><published>2011-02-19T16:17:00.000-05:00</published><updated>2011-02-19T16:17:16.597-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='news link-post'/><title type='text'>China Military on the Rise, the U.S. Military Gets All Sci-Fi</title><content type='html'>Breaking news! ... From a month and a half ago. &amp;nbsp;(Hey, I've been busy, you get what you pay for.) &amp;nbsp;Anyway, it seems the Chinese are &lt;a href="http://online.wsj.com/article/SB10001424052748703808704576061674166905408.html?mod=WSJ_hp_LEFTTopStories"&gt;working on a new stealth fighter&lt;/a&gt;. &amp;nbsp;If only they had some sort of&amp;nbsp;&lt;a href="http://online.wsj.com/video/cctv-tries-to-pass-off-top-gun-clip-as-real/43EC0FC2-A440-4522-8E81-437EC747D30A.html"&gt;maverick&lt;/a&gt;&amp;nbsp;pilot to help speed along its development. &amp;nbsp;In all seriousness, Chinese military power is on the rise and the U.S. military recently &lt;a href="http://news.yahoo.com/s/ap/20110107/ap_on_re_as/as_china_us_military_talks"&gt;renewed diplomatic communications&lt;/a&gt; with them. &amp;nbsp;There are quite a few reasons why the rise of China as the world's premier super-power could be pretty much inevitable at this point. &amp;nbsp;(The current super power mortgaged itself to China, for one.)&lt;br /&gt;&lt;br /&gt;Whether a more powerful China is a factor or not, the U.S. remains a country that loves its toys. &amp;nbsp;For one thing, the U.S. Navy is working hard on laser weapons, and has successfully tested a free electron laser in the &lt;a href="http://www.foxnews.com/scitech/2011/02/18/navy-breaks-world-record-futuristic-laser-getting-real/?intcmp=prn_baynote-js_Navy_Breaks_World_Record_With_Futuristic_Free-Electron_Laser"&gt;14 kilowatt range&lt;/a&gt;, with an eye toward eventual anti-missile and -aircraft use. &amp;nbsp;For another, the U.S. Navy's premier carriers, the &lt;a href="http://en.wikipedia.org/wiki/Nimitz_class_aircraft_carrier"&gt;&lt;i&gt;Nimitz&lt;/i&gt; class&lt;/a&gt; vessels have been in production since 1975. &amp;nbsp;With the 2009 commissioning of the latest one, the Navy decided it was time to create a &lt;a href="http://en.wikipedia.org/wiki/Gerald_R._Ford_class_aircraft_carrier"&gt;new design&lt;/a&gt; using modern technology. &amp;nbsp;Technology such as using &lt;a href="http://dvice.com/archives/2010/12/electromagnetic-1.php"&gt;electromagnetic rail guns to catapult aircraft&lt;/a&gt; rather than steam catapults.&lt;br /&gt;&lt;br /&gt;High powered lasers and fighters launching via electromagnetics... &amp;nbsp;I think I've seen that somewhere before. &amp;nbsp;Oh yeah, &lt;a href="http://en.wikipedia.org/wiki/Battlestar_Galactica"&gt;Battlestar Galactica&lt;/a&gt;. &amp;nbsp;Perhaps you think that's a stretch? &amp;nbsp;Well guess what, we're building our own cylon raiders too. &amp;nbsp;Sure, &lt;a href="http://www.bbc.co.uk/newsbeat/12381538"&gt;we call it the X-47B unmanned bomber, but really, just look at the picture, that thing's a cylon&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-1502302301299531202?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/1502302301299531202/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=1502302301299531202' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/1502302301299531202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/1502302301299531202'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/02/china-military-on-rise-us-military-gets.html' title='China Military on the Rise, the U.S. Military Gets All Sci-Fi'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-1634705655942401118</id><published>2011-02-12T13:12:00.000-05:00</published><updated>2011-02-12T13:12:16.915-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='randomness'/><title type='text'>Fascinating Article About Cracking the Lottery</title><content type='html'>Ah, the lottery. &amp;nbsp;Often decried as false hope for people that don't know&amp;nbsp;probability, such games remain a giant source of income across the country. &amp;nbsp;Wired presents an &lt;a href="http://www.wired.com/magazine/2011/01/ff_lottery/all/1"&gt;incredible article about how one man cracked a lottery game's secret&lt;/a&gt;, allowing him to select winning tickets. &amp;nbsp;The article also goes into the circumstantial evidence that this feat may be more common than people suspect.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-1634705655942401118?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/1634705655942401118/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=1634705655942401118' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/1634705655942401118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/1634705655942401118'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/02/fascinating-article-about-cracking.html' title='Fascinating Article About Cracking the Lottery'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-774843979907708785</id><published>2011-01-30T15:28:00.000-05:00</published><updated>2011-01-30T15:28:43.622-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='editorial'/><title type='text'>Thank you, Jack LaLanne!</title><content type='html'>Fitness legend Jack LaLanne &lt;a href="http://news.yahoo.com/s/ap/20110124/ap_on_en_ot/us_obit_jack_lalanne"&gt;passed&lt;/a&gt; on this week leaving behind the entire TV/video fitness business as a legacy. &amp;nbsp;I'm sure I am but one of countless others who can say The Jack LaLanne show changed my life.&lt;br /&gt;&lt;br /&gt;It feels strange saying that a TV show made a difference in my life, but it's true. &amp;nbsp;I had tried to exercise consistently for years, but never saw any real results out of it. &amp;nbsp;I had gone to gyms, which didn't stick because there was too much wasted time. &amp;nbsp;I had used expensive equipment, which never really worked. &amp;nbsp;And then, I don't even remember how, I found reruns of &lt;a href="http://www.jacklalanne.com/watch-jack/"&gt;The Jack LaLanne Show&lt;/a&gt; back when they were airing on ESPN Classic.&lt;br /&gt;&lt;br /&gt;Yes, the show is of a different time. &amp;nbsp;Yes, viewed through today's eyes it could be considered condescending or even sexist. &amp;nbsp;To do so would be to miss the point entirely, like reading Doyle's Holmes stories and seeing only the undercurrent of racism. &amp;nbsp;What I saw was a man showing off simple exercises that required little or no equipment beyond a chair or towel. &amp;nbsp;This was not some P90X fad aimed to make fit people ripped, this was a show aimed at people like me who were starting at the bottom and just wanted to be in better shape. &amp;nbsp;And Jack presented more than just exercises on the show, he gave motivational speeches and preached on the&amp;nbsp;importance&amp;nbsp;of good nutrition, and he ended with a song or a blessing.&lt;br /&gt;&lt;br /&gt;The real revelation for me was how little the message of fitness and nutrition has changed since the 50s. &amp;nbsp;The simple things that Jack preached are the same ones we hear today from &lt;a href="http://michaelpollan.com/books/in-defense-of-food/"&gt;Michael Pollan&lt;/a&gt;,&amp;nbsp;&lt;a href="http://www.tedprize.org/jamie-oliver/"&gt;Jamie Oliver&lt;/a&gt; and &lt;a href="http://www.letsmove.gov/"&gt;Michelle Obama&lt;/a&gt;. &amp;nbsp;Except... Jamie and Michelle are focused on the children, in a sense having given up on the adults. &amp;nbsp;Jack believed that everyone, young or old, man or woman, could better their lives through relatively simple means.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;iframe allowfullscreen="" class="youtube-player" frameborder="0" height="390" src="http://www.youtube.com/embed/vBVk071N88M?rel=0" title="YouTube video player" type="text/html" width="480"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;The best tribute I can offer Mr. LaLanne is to say that thanks to the start his show gave me, I am in better shape at 35 than I was at 20, and God willing I will be better still at 50.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-774843979907708785?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/774843979907708785/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=774843979907708785' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/774843979907708785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/774843979907708785'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/01/thank-you-jack-lalanne.html' title='Thank you, Jack LaLanne!'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/vBVk071N88M/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-7202721327045330470</id><published>2011-01-30T14:47:00.000-05:00</published><updated>2011-01-30T14:47:51.098-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='watching the watchers'/><title type='text'>Watching the Watchers: Egypt and the Internet Kill Switch</title><content type='html'>It surprised me that the news headlines coming out of the turmoil in Egypt were so focused on the angle of the government attempting to "shut off" the Internet. &amp;nbsp;I suppose it shouldn't have. &amp;nbsp;China routinely censors the 'net, and some powerful&amp;nbsp;regime&amp;nbsp;was bound to try more drastic communications control sooner or later. &amp;nbsp;The&amp;nbsp;inter-networked&amp;nbsp;personal computer really has been the beginning of a new age, and the ramifications are only beginning to shake out. &amp;nbsp;Luckily for those of us who value free speech, it seems controlling the network isn't easy. &amp;nbsp;ArsTechnica takes a look at &lt;a href="http://arstechnica.com/tech-policy/news/2011/01/how-egypt-or-how-your-government-could-shut-down-the-internet.ars?utm_source=rss&amp;amp;utm_medium=rss&amp;amp;utm_campaign=rss"&gt;the technical side&lt;/a&gt;&amp;nbsp;of the cutoff, while Lifehacker looks at &lt;a href="http://lifehacker.com/5746046/how-to-foil-a-nationwide-internet-shutdown"&gt;how people can get around such restrictions&lt;/a&gt;. &amp;nbsp;(The latter even mentions some sort of archaic acoustic &lt;a href="http://en.wikipedia.org/wiki/Modem"&gt;modulator-demodulator&lt;/a&gt; technology.) &amp;nbsp;Such things are important to keep an eye on. &amp;nbsp;After all, &lt;a href="http://www.pcmag.com/article2/0,2817,2376888,00.asp"&gt;some argue that the U.S. government would like to have the option of an Internet kill switch&lt;/a&gt;, for the public good of course.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-7202721327045330470?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/7202721327045330470/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=7202721327045330470' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/7202721327045330470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/7202721327045330470'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/01/watching-watchers-egypt-and-internet.html' title='Watching the Watchers: Egypt and the Internet Kill Switch'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-4058547491947563045</id><published>2011-01-30T14:19:00.000-05:00</published><updated>2011-06-19T10:19:39.626-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>The Object Oriented Lament</title><content type='html'>William Woody pens&amp;nbsp;&lt;a href="http://chaosinmotion.com/blog/?p=622"&gt;an excellent argument decrying excess when coding&lt;/a&gt;. He's focused on the Java language, but I've certainly seen this type of behavior in C++ and other OO languages as well. It goes back to&amp;nbsp;&lt;a href="http://codemonkeying.blogspot.com/2010/07/regarding-coding-style-goals.html"&gt;my number one goal when coding&lt;/a&gt;. Remember, the sanity you save may be your own.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-4058547491947563045?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/4058547491947563045/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=4058547491947563045' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/4058547491947563045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/4058547491947563045'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/01/object-oriented-lament.html' title='The Object Oriented Lament'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-4123242248594329933</id><published>2011-01-15T20:44:00.000-05:00</published><updated>2011-01-15T20:44:22.518-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='watching the watchers'/><title type='text'>Watching the Watchers: Computers, Imagination, and Wall Street</title><content type='html'>Money. &amp;nbsp;We all need it to some level. &amp;nbsp;We all want it at another, much higher one. It may not be able to buy happiness, but it sure as heck can buy peace of mind along many of the axes adults have to travel. And the key to the money in the U.S. is the stock market. &amp;nbsp;Interestingly, the problem with the money in the U.S. is also the stock market. The recent downturn remains an astonishing example of just how far away from the &lt;a href="http://en.wikipedia.org/wiki/Physical_capital"&gt;capital&lt;/a&gt; our capitalist society has moved. Like they are in so many facets of our lives, computers have become pervasive in the trading game. So much so that &lt;a href="http://arstechnica.com/tech-policy/news/2011/01/algorithms-take-control-of-wall-street.ars?utm_source=rss&amp;amp;utm_medium=rss&amp;amp;utm_campaign=rss"&gt;the majority of trades are now done without any human intervention&lt;/a&gt;. Thanks to new data centers in New Jersey, &lt;a href="http://www.cbsnews.com/8301-504803_162-20019067-10391709.html"&gt;Wall Street isn't really even the hub of trading anymore&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;If the economy is a shared delusion, &lt;a href="http://www.thisamericanlife.org/radio-archives/episode/423/the-invention-of-money"&gt;and it is&lt;/a&gt;, what are the implications. Is pointing out the obvious imbalance between the "institutional" investors and people something that would affect this illusion? How do we tell if the assurances of people in those businesses, who have every reason to believe their own stories, are really correct that it benefits everyone? Even if it does benefit everyone, just not equitably, is that simply good business? Can our government, already failing in their regulatory roles across several industries, really keep an eye on the system?&lt;br /&gt;&lt;br /&gt;I believe the relevant Star Wars quote is: "She'll hold together. Hear me baby? Hold together!"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-4123242248594329933?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/4123242248594329933/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=4123242248594329933' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/4123242248594329933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/4123242248594329933'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/01/watching-watchers-computers-imagination.html' title='Watching the Watchers: Computers, Imagination, and Wall Street'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-2300565940981746858</id><published>2011-01-11T20:13:00.000-05:00</published><updated>2011-01-11T20:13:54.858-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='news link-post'/><title type='text'>Pandemic Leads to Panimmunity?</title><content type='html'>If you suffered through a round of the H1N1 flu last year, you may have gotten a big bonus along with your misery: &lt;a href="http://www.bbc.co.uk/news/health-12152500"&gt;really good immunity to all manner of flu viruses&lt;/a&gt;.&amp;nbsp; Apparently in fighting off the H1N1 strain the body produces antibodies that are effective against a wide variety of flues, so many that scientists see the potential to help create a single universal flu vaccine instead of having to guess the proper strains every year.&amp;nbsp; They are also going to be testing to see if people who were vaccinated but did not catch the flu have the same immune response.&amp;nbsp; If so, then the H1N1 pandemic might be one of the best things that happened last year.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-2300565940981746858?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/2300565940981746858/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=2300565940981746858' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/2300565940981746858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/2300565940981746858'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/01/pandemic-leads-to-panimmunity.html' title='Pandemic Leads to Panimmunity?'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-6529654689240689840</id><published>2011-01-11T19:29:00.002-05:00</published><updated>2011-01-11T19:31:40.030-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='editorial'/><title type='text'>The Daily Show Reacts to the Arizona Shootings</title><content type='html'>The Daily Show presents a thoughtful reaction to the recent shootings in Arizona.&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;table cellpadding="0" cellspacing="0" height="353" style="background-color: whitesmoke; color: #333333; font: 11px arial; width: 360px;"&gt;&lt;tbody&gt;&lt;tr align="center" style="background-color: #e5e5e5;" valign="middle"&gt;&lt;td style="padding: 2px 1px 0px 5px;"&gt;&lt;a href="http://www.thedailyshow.com/" style="color: #333333; font-weight: bold; text-decoration: none;" target="_blank"&gt;The Daily Show With Jon Stewart&lt;/a&gt;&lt;/td&gt;&lt;td style="font-weight: bold; padding: 2px 5px 0px;"&gt;Mon - Thurs 11p / 10c&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center" style="height: 14px;" valign="middle"&gt;&lt;td colspan="2" style="padding: 2px 1px 0px 5px;"&gt;&lt;a href="http://www.thedailyshow.com/watch/mon-january-10-2011/arizona-shootings-reaction" style="color: #333333; font-weight: bold; text-decoration: none;" target="_blank"&gt;Arizona Shootings Reaction&lt;/a&gt;&lt;a href="http://www.blogger.com/post-create.g?blogID=8336831005230062280"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center" style="background-color: #353535; height: 14px;" valign="middle"&gt;&lt;td colspan="2" style="overflow: hidden; padding: 2px 5px 0px; width: 360px;"&gt;&lt;a href="http://www.thedailyshow.com/" style="color: #96deff; font-weight: bold; text-decoration: none;" target="_blank"&gt;www.thedailyshow.com&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center" valign="middle"&gt;&lt;td colspan="2" style="padding: 0px;"&gt;&lt;embed allowfullscreen="true" allownetworking="all" allowscriptaccess="always" bgcolor="#000000" flashvars="autoPlay=false" height="301" src="http://media.mtvnservices.com/mgid:cms:item:comedycentral.com:370499" style="display: block;" type="application/x-shockwave-flash" width="360" wmode="window"&gt;&lt;/embed&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 18px;" valign="middle"&gt;&lt;td colspan="2" style="padding: 0px;"&gt;&lt;table cellpadding="0" cellspacing="0" height="100%" style="margin: 0px; text-align: center;"&gt;&lt;tbody&gt;&lt;tr align="center" valign="middle"&gt;&lt;td style="padding: 3px; width: 33%;"&gt;&lt;a href="http://www.thedailyshow.com/full-episodes/" style="color: #333333; font: 10px arial; text-decoration: none;" target="_blank"&gt;Daily Show Full Episodes&lt;/a&gt;&lt;/td&gt;&lt;td style="padding: 3px; width: 33%;"&gt;&lt;a href="http://www.indecisionforever.com/" style="color: #333333; font: 10px arial; text-decoration: none;" target="_blank"&gt;Political Humor &amp;amp; Satire Blog&amp;lt;/a&amp;gt;&lt;/a&gt;&lt;/td&gt;&lt;td style="padding: 3px; width: 33%;"&gt;&lt;a href="http://www.facebook.com/thedailyshow" style="color: #333333; font: 10px arial; text-decoration: none;" target="_blank"&gt;The Daily Show on Facebook&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&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/8336831005230062280-6529654689240689840?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/6529654689240689840/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=6529654689240689840' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/6529654689240689840'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/6529654689240689840'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/01/daily-show-presents-thoughtful-reaction.html' title='The Daily Show Reacts to the Arizona Shootings'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-5785753215904479771</id><published>2011-01-08T12:37:00.000-05:00</published><updated>2011-01-08T12:37:58.256-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='editorial'/><title type='text'>Global Warming A-Go-Go</title><content type='html'>Sigh. I am more tired of global warming than any other political subject save one. &amp;nbsp;And yes, it's beyond clear that global warming has ceased being a scientific discussion and become a political straw man. &amp;nbsp;The &lt;a href="http://arstechnica.com/science/news/2010/12/fox-news-on-climate-skip-the-science-report-the-controversy.ars?utm_source=rss&amp;amp;utm_medium=rss&amp;amp;utm_campaign=rss"&gt;recently leaked Fox News editorial memo&lt;/a&gt; neatly illustrates both the political problem and the issue of how the media relates to scientists. &amp;nbsp;I'm reminded of Issac Asimov's fictional mathematician Hari Seldon being called to task for predicting the fall of the Galactic Empire in &lt;u&gt;Foundation&lt;/u&gt;:&lt;br /&gt;&lt;blockquote&gt;Q: Can you prove this mathematics is valid?&lt;br /&gt;&lt;br /&gt;A: Only to another mathematician.&lt;br /&gt;&lt;br /&gt;Q: (with a smile) Your claim then, is that your truth is of so esoteric a nature that it is beyond the understanding of a plain man.  It seems to me truth should be clearer than that, less mysterious, more open to the mind.&lt;br /&gt;&lt;br /&gt;A: It presents no difficulties to some minds.  The physics of energy transfer, which we know as thermodynamics, has been clear and true through all the history of man since the mythical ages, yet there may be people present who would find it impossible to design a power engine.  People of high intelligence, too.&lt;/blockquote&gt;In the age of the Internet, we should all be aware just how dangerous it is to allow &lt;i&gt;any&lt;/i&gt;&amp;nbsp;criticism to invalidate an argument.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-5785753215904479771?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/5785753215904479771/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=5785753215904479771' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/5785753215904479771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/5785753215904479771'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/01/global-warming-go-go.html' title='Global Warming A-Go-Go'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-5962794598180007935</id><published>2011-01-06T22:03:00.001-05:00</published><updated>2011-01-06T22:04:40.161-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='editorial'/><title type='text'>Looking Back at 2010</title><content type='html'>Around the office the buzzword "lessons learned" indicates a look back at what worked and what didn't. &amp;nbsp;Looking back on 2010, I can see myself struggling with many of the same issues I've had in the past, but I did manage to learn a lesson or two along the way.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;First lesson of 2010: It turns out that seeking new perspectives usually doesn't require as much effort as you think it does.&lt;/i&gt; &amp;nbsp;&lt;a href="http://twitter.com/"&gt;Twitter&lt;/a&gt; turns out to be a pretty neat service for following bite-sized nuggets of opinion, especially if you don't stick to circles you are used to. &amp;nbsp;As a strong introvert, I would never enjoy doing &lt;a href="http://en.wikipedia.org/wiki/Improvisational_theatre"&gt;improv&lt;/a&gt;, or so I thought until I gave it a try. &amp;nbsp;And some of the lessons it can teach are things I seriously need to learn. &amp;nbsp;And of course the Internet lurks out there with more than you wanted to know about most everything you can think of.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Second lesson of 2010: If it doesn't really need to get done, it's OK to not get it done.&lt;/i&gt; &amp;nbsp;To a first approximation, all adults have more things to do than we have time and energy to do them with. &amp;nbsp;I have a bad habit of setting goals for myself, not meeting them, and then feeling bad about it. &amp;nbsp;The real truth is that once I've met my obligations, work and commitments to other people, nobody cares what I do with my time but me. &amp;nbsp;And if I don't care enough to do a particular task right now, it will still be there waiting for me tomorrow. &amp;nbsp;Life's too short to worry about all the recreational things you don't get done. &amp;nbsp;It's just indulging in what the Internet calls a "&lt;a href="http://www.urbandictionary.com/define.php?term=First+World+Problems"&gt;first-world problem&lt;/a&gt;."&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Third lesson of 2010: Exercise actually does help with stress levels.&lt;/i&gt; &amp;nbsp;As with all repetitive tasks, finding the proper combination of motivation and enjoyment is key.&amp;nbsp;&amp;nbsp;I finally ditched my uncomfortable, back-aggrivating exercise bike for a mini-elliptical, which allowed me to exercise while watching &lt;a href="http://www.ted.com/"&gt;TED presentations&lt;/a&gt;, &lt;a href="http://revision3.com/tekzilla"&gt;Tekzilla&lt;/a&gt;, or &lt;a href="http://day9tv.blip.tv/"&gt;nerd-sports&lt;/a&gt;. &amp;nbsp;Adding in the extra incentive of getting to watch interesting or fun Internet programming was enough to allow me to nearly double the number of days I exercise. &amp;nbsp;It has made a&amp;nbsp;noticeable&amp;nbsp;difference, which helps create a positive feedback loop.&lt;br /&gt;&lt;br /&gt;Finally, a bit of a look forward. &amp;nbsp;I'm not much for new-year's resolutions, but I have spotted a trend in my life, and I think I need to embrace it: &lt;i&gt;the time has come to embrace the non-physical&lt;/i&gt;. &amp;nbsp;I'm not talking about hugging ghosts, I'm talking about digital distribution. &amp;nbsp;My computer gaming habits went down that &lt;a href="http://store.steampowered.com/"&gt;rabbit hole&lt;/a&gt; several years ago. &amp;nbsp;My recent e-book reader purchase has caused my book reading to follow that path as well. &amp;nbsp;I think it's time to let go of my insistence on buying CDs as well. &amp;nbsp;And if a season set of BluRay disks costs the same as, for example, four months or more of &lt;a href="http://www.netflix.com/"&gt;Netflix&lt;/a&gt; subscription, why not consider if that's a better alternative to buying and storing them myself?&lt;br /&gt;&lt;br /&gt;Pause and consider 2010, what lessons stick out for you?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-5962794598180007935?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/5962794598180007935/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=5962794598180007935' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/5962794598180007935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/5962794598180007935'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2011/01/looking-back-at-2010.html' title='Looking Back at 2010'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-5359138241587735902</id><published>2010-12-28T16:49:00.001-05:00</published><updated>2010-12-28T16:52:18.297-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='quotations'/><title type='text'>Quote of the Moment</title><content type='html'>"Harvard Business School Dean Nitin Nohria ... says that if U.S. businesses keep prospering while Americans are struggling, business leaders will lose legitimacy in society. He exhorted business leaders to find a way to link growth with job creation at home"&lt;br /&gt;--&lt;a href="http://news.yahoo.com/s/ap/20101228/ap_on_re_us/us_overseas_hiring"&gt;From an AP story&lt;/a&gt; by Pallavi Gogoi.&lt;br /&gt;&lt;br /&gt;Will lose? &amp;nbsp;Ahem, it's possible &lt;a href="http://www.dilbert.com/"&gt;you have your tense wrong&lt;/a&gt; there. &amp;nbsp;And there's that growth word again.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-5359138241587735902?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/5359138241587735902/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=5359138241587735902' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/5359138241587735902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/5359138241587735902'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2010/12/quote-of-moment.html' title='Quote of the Moment'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-964197750055544376</id><published>2010-12-26T18:25:00.000-05:00</published><updated>2010-12-26T18:25:40.422-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='news link-post'/><title type='text'>We Need to Make Things</title><content type='html'>Though I hate to end the year on a depressing note, &lt;a href="http://news.yahoo.com/s/nm/20101216/bs_nm/us_usa_economy_special"&gt;Nick Carey of Reuters wrote a heck of a story&lt;/a&gt; about the interlocking effects the collapse of American manufacturing, the&amp;nbsp;fallacy&amp;nbsp;of financial sector growth, the ineffectiveness of the education system, and the current political impotence have had and will continue to have on the economy.&lt;br /&gt;&lt;br /&gt;And while I'm on the subject of the economy, I highly recommend &lt;a href="http://www.thisamericanlife.org/radio-archives/episode/418/toxie"&gt;the "Toxie" episode of This American Life&lt;/a&gt;, wherein some reporters buy one of the now-infamous&amp;nbsp;toxic assets and use it to explore the financial crisis. &amp;nbsp;It's an utterly fascinating account and some great reporting. &amp;nbsp;Heck, This American Life has been doing great reporting on financial stuff for a while now, including "&lt;a href="http://www.thisamericanlife.org/radio-archives/episode/390/return-to-the-giant-pool-of-money"&gt;Return To The Giant Pool of Money&lt;/a&gt;," and "&lt;a href="http://www.thisamericanlife.org/radio-archives/episode/405/inside-job"&gt;Inside Job&lt;/a&gt;." &amp;nbsp;Not to mention "&lt;a href="http://www.thisamericanlife.org/radio-archives/episode/403/nummi"&gt;NUMMI&lt;/a&gt;," exploring how GM failed to learn lessons from Toyota, or "&lt;a href="http://www.thisamericanlife.org/radio-archives/episode/391/more-is-less"&gt;More Is Less&lt;/a&gt;" and "&lt;a href="http://www.thisamericanlife.org/radio-archives/episode/392/someone-elses-money"&gt;Someone Else's Money&lt;/a&gt;" looking at the health care system.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-964197750055544376?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/964197750055544376/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=964197750055544376' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/964197750055544376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/964197750055544376'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2010/12/we-need-to-make-things.html' title='We Need to Make Things'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-505998627508770660</id><published>2010-12-23T08:40:00.000-05:00</published><updated>2010-12-23T08:40:09.891-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='watching the watchers'/><title type='text'>Watching the Watchers: Who Says the Government Can't Do Humor</title><content type='html'>In a wonderfully self aware move, the CIA has set up a task force to find damage done by the Wikileaks document releases. &amp;nbsp;The group is called the Wikileaks Task Force, or &lt;a href="http://www.guardian.co.uk/world/2010/dec/22/cia-wikileaks-taskforce-wtf"&gt;as it's known around the office: WTF&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-505998627508770660?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/505998627508770660/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=505998627508770660' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/505998627508770660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/505998627508770660'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2010/12/watching-watchers-who-says-government.html' title='Watching the Watchers: Who Says the Government Can&apos;t Do Humor'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-5563325945404661888</id><published>2010-12-21T14:24:00.000-05:00</published><updated>2010-12-21T14:24:14.609-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='randomness'/><title type='text'>Some Joy and Hope for Christmas</title><content type='html'>What happens when two awesome things combine to make something even more awesomer? &amp;nbsp;Reese's cups. &amp;nbsp;Also this: &lt;a href="http://www.youtube.com/watch?v=VYVQooRSlzg"&gt;Inigo and Roberts with lightsabers&lt;/a&gt;. &amp;nbsp;(Yeah, the poster disabled embedding.)&lt;br /&gt;&lt;br /&gt;And if that wasn't enough to bring a smile to your face, then perhaps something a bit more serious. &amp;nbsp;In a section from "The Joy of Stats," Hans Rosling takes us through the life&amp;nbsp;expectancy and wealth changes of two hundred countries over&amp;nbsp;two hundred years. &amp;nbsp;It's more worth your time to watch than you might think.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;object height="385" width="640"&gt;&lt;param name="movie" value="http://www.youtube.com/v/jbkSRLYSojo?fs=1&amp;amp;hl=en_US&amp;amp;rel=0"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/jbkSRLYSojo?fs=1&amp;amp;hl=en_US&amp;amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-5563325945404661888?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/5563325945404661888/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=5563325945404661888' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/5563325945404661888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/5563325945404661888'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2010/12/some-joy-and-hope-for-christmas.html' title='Some Joy and Hope for Christmas'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-3761162979758541866</id><published>2010-12-21T14:13:00.000-05:00</published><updated>2010-12-21T14:13:25.390-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='green tech'/><title type='text'>Big News from the Small</title><content type='html'>A virus that attacks the family of plants including tomatoes and tobacco is being put to a more benign and very impressive use: &lt;a href="http://www.physorg.com/news/2010-12-virally-nano-electrodes-boost-energy-capacity.html"&gt;making lithium ion batteries ten times better&lt;/a&gt;. &amp;nbsp;Building off the rigid structure of the virus, scientists are constructing electrodes with much higher surface area, which in turn increases the efficiency of the battery. &amp;nbsp;With ten times the capacity in the same size, or the same capacity in one tenth the size, electronic devices could become smaller and last longer between charges. &amp;nbsp;Think smart phones that could go a week or more without needing a recharge. &amp;nbsp;And of course, smaller batteries mean less waste.&lt;br /&gt;&lt;br /&gt;While more efficient batteries are undoubtedly great, that isn't the news that got me fired up this month. &amp;nbsp;After years and years of waiting, someone finally announced a breakthrough in the green tech I want to see become reality more than any other. &amp;nbsp;Oh yes, there is finally news on the &lt;a href="http://en.wikipedia.org/wiki/Electric_double-layer_capacitor"&gt;supercapacitor&lt;/a&gt; front. &amp;nbsp;Scientists working with single-atom-thick sheets of carbon (a.k.a. graphene) have devised a method which makes the &lt;a href="http://physicsworld.com/cws/article/news/44477"&gt;energy storage capacity of a supercapacitor about that of a nickle-metal hydride battery&lt;/a&gt;. &amp;nbsp;While that is less than the currently used lithium-ion batteries, it is still quite impressive, and the scientists have not come anywhere near the theoretical maximum of the material yet. &amp;nbsp;Hopefully advances will continue apace and we can get those things into use. &amp;nbsp;I still want a battery-free life!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-3761162979758541866?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/3761162979758541866/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=3761162979758541866' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/3761162979758541866'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/3761162979758541866'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2010/12/big-news-from-small.html' title='Big News from the Small'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-6951853894268355038</id><published>2010-12-21T13:42:00.000-05:00</published><updated>2010-12-21T13:42:32.496-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='news link-post'/><title type='text'>Space: the Veteran and the New Guy</title><content type='html'>It isn't just science, it's rocket science!&lt;br /&gt;&lt;br /&gt;Voyager 1, the most distant man-made object from the sun, reached another milestone. &amp;nbsp;It has entered a region where the solar wind, outflowing gas from the sun, is no longer at its back. &amp;nbsp;The &lt;a href="http://www.bbc.co.uk/news/science-environment-11988466"&gt;solar particles are now a cross-wind&lt;/a&gt;, meaning it is nearing the official edge of the solar system. &amp;nbsp;Already on its mission for thirty-three years, the probe will likely pass into interstellar space in the next couple of years. &amp;nbsp;The Voyager program remains a markee of the heyday of NASA. &amp;nbsp;Sadly, it appears the glory days are gone, even as the science continues unabated.&lt;br /&gt;&lt;br /&gt;But now there are some new folks picking up the torch. &amp;nbsp;Space Exploration Technologies became the &lt;a href="http://arstechnica.com/science/news/2010/12/dragon-reaches-orbit-atop-a-falcon-with-a-fiery-tail.ars?utm_source=rss&amp;amp;utm_medium=rss&amp;amp;utm_campaign=rss"&gt;first non-governmental entity to put an object in orbit&lt;/a&gt;. &amp;nbsp;The test mission ended with a successful re-entry and splashdown from the unmanned craft. &amp;nbsp;There will be several more test flights as the corporation seeks NASA approval to dock with the International Space Station and eventual manned flight.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-6951853894268355038?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/6951853894268355038/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=6951853894268355038' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/6951853894268355038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/6951853894268355038'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2010/12/space-veteran-and-new-guy.html' title='Space: the Veteran and the New Guy'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-401069777067467379</id><published>2010-12-21T13:20:00.000-05:00</published><updated>2010-12-21T13:20:38.694-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='news link-post'/><title type='text'>Military Tech, on the Way Out and on the Way In</title><content type='html'>The Harrier Vertical/Short Takeoff and Landing jet has &lt;a href="http://www.bbc.co.uk/news/uk-11996936"&gt;made its last flight for the British military&lt;/a&gt;. &amp;nbsp;They are on their way to decommissioning, eventually to be replaced by a variant of the Joint Strike Fighter. &amp;nbsp;The carrier &lt;i&gt;Ark Royal&lt;/i&gt; is likewise being retired. &amp;nbsp;It marks the end of an era for British aviation, and closes the book on a truly unique aircraft design.&lt;br /&gt;&lt;br /&gt;Meanwhile, the U.S. Navy's railgun program has gone from a record setting ten and a half megajoule shot two years ago to a whopping &lt;a href="http://www.wired.com/dangerroom/2010/12/video-navys-mach-8-railgun-obliterates-record/"&gt;33 megajoules&lt;/a&gt;, on their way to a desired 64. &amp;nbsp;It is a long way from being a useful weapon, but it's still impressive tech.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-401069777067467379?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/401069777067467379/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=401069777067467379' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/401069777067467379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/401069777067467379'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2010/12/military-tech-on-way-out-and-on-way-in.html' title='Military Tech, on the Way Out and on the Way In'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-7338200895822502508</id><published>2010-12-04T09:36:00.000-05:00</published><updated>2010-12-04T09:36:03.907-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='news link-post'/><title type='text'>A New U.S. Space Plane Successfully Tested</title><content type='html'>The Air Force's newest space vehicle, sort of a modern small pickup truck compared to the Shuttle's 70s cargo hauler, has &lt;a href="http://www.msnbc.msn.com/id/40491145/ns/technology_and_science-space/"&gt;returned to Earth after a seven month test flight&lt;/a&gt;.&amp;nbsp; Speculation abounds about the ultimate purpose of the robotic plane, currently designated X-37B.&amp;nbsp; Some say it is an orbiting spy platform, others that it could be used in anti-satellite operations.&amp;nbsp; It began its life as a NASA testbed, and likely continues in that role for the Air Force.&amp;nbsp; The official word states that it is a continuation of the types of missions the Shuttle has been used for.&lt;br /&gt;&lt;br /&gt;In any case, it's nice to see at least some work still going on in creating space vehicles, especially as the Space Shuttle program winds down.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-7338200895822502508?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/7338200895822502508/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=7338200895822502508' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/7338200895822502508'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/7338200895822502508'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2010/12/new-us-space-plane-successfully-tested.html' title='A New U.S. Space Plane Successfully Tested'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-638653571333275340</id><published>2010-12-04T09:23:00.000-05:00</published><updated>2010-12-04T09:23:22.021-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='watching the watchers'/><title type='text'>Watching the Watchers: WikiLeaks Edition</title><content type='html'>I have been darkly captivated by the ongoing saga of the WikiLeaks website, or more precisely the reactions to the ongoing leaks.&amp;nbsp; The &lt;a href="http://www.guardian.co.uk/media/2010/dec/04/wikileaks-world-week-cables"&gt;latest document dump&lt;/a&gt; revealed approximately zero surprising details while confirming a great many most people would have expected anyway.&amp;nbsp; Russia has an organized crime problem.&amp;nbsp; Corruption is endemic in a war zone.&amp;nbsp; Diplomats communicate like regular people when nobody is looking.&amp;nbsp; None of this is really shocking is it?&lt;br /&gt;&lt;br /&gt;And yet some media outlets are comparing the release to that of the &lt;a href="http://en.wikipedia.org/wiki/Pentagon_Papers"&gt;Pentagon Papers&lt;/a&gt;, which is patently ridiculous, at least so far.&amp;nbsp; Nothing that has come from WikiLeaks has had anywhere near the impact the Pentagon Papers had.&amp;nbsp; However, I find it fascinating that the government and some pundits are &lt;a href="http://arstechnica.com/tech-policy/news/2010/12/meet-the-people-who-want-julian-assange-whacked.ars?utm_source=rss&amp;amp;utm_medium=rss&amp;amp;utm_campaign=rss"&gt;reacting as if it did&lt;/a&gt;.&amp;nbsp; It seems quite probable that WikiLeaks will cease to exist as a centralized site very soon as public corporations pull their support and the authorities make life harder on Assange.&amp;nbsp; It's also just as probable the leaked documents will continue to see the light of day, given the nature of the Internet.&lt;br /&gt;&lt;br /&gt;The web was envisioned to allow open and easy communications, and that's a knife that can cut in many ways.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-638653571333275340?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/638653571333275340/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=638653571333275340' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/638653571333275340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/638653571333275340'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2010/12/watching-watchers-wikileaks-edition.html' title='Watching the Watchers: WikiLeaks Edition'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-1026019793245825880</id><published>2010-11-26T18:08:00.000-05:00</published><updated>2010-11-26T18:08:28.588-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='editorial'/><title type='text'>Not Quite Cutting the Cord</title><content type='html'>A little while ago, I went through my twice-yearly phase of wanting to cut my cable bill.&amp;nbsp; Even though I maintain a fairly strong TV watching habit for someone who works full time, cable prices annoy me.&amp;nbsp; It gets more expensive every year, the quality is uneven, especially for the smaller viewership networks, and thanks to switch digital channel delivery, every once in a while a channel just won't be available.&amp;nbsp; And while I could defect to a satellite company, that brings its own limitations, and doesn't save much money either.&amp;nbsp; That leaves the Internet.&amp;nbsp; This time around, I really took a serious look at it, including calculating costs.&amp;nbsp; What I found was more interesting than I expected.&lt;br /&gt;&lt;br /&gt;How do Netflix, Amazon Video on Demand, iTunes Video, streaming sites such as Hulu, and so on compare?&amp;nbsp; We'll start with cable's strengths: DVR, at-release availability for all broadcast shows, a  wide variety of HD channels, and ACC football and basketball.&lt;br /&gt;&lt;br /&gt;The American football and basketball bit is the easiest.&amp;nbsp; If you want to watch those sports at the collegiate level, you have to pay a provider for the ESPN family of networks.&amp;nbsp; Period.&amp;nbsp; There currently is no alternative (which is why &lt;a href="http://www.videonuze.com/blogs/?2010-11-22%2010:24:21/Are-Live-Sports-Pay-TV-s-Firewall-or-Its-Albatross-/&amp;amp;id=2819"&gt;ESPN is the most expensive cable network&lt;/a&gt;).&amp;nbsp; The NFL is in a similar situation, though they push their own network as well.&lt;br /&gt;&lt;br /&gt;Release availability is slowly becoming less and less of an issue.&amp;nbsp; The rise of the DVR continues to push against the rigor of network scheduling.&amp;nbsp; I virtually never watch anything the day it airs anymore, and even when I do, I often start it late to speed through commercials.&amp;nbsp; If you really don't care about watching things right when they are released, the "Netflix plan" is a no-brainer.&amp;nbsp; All the TV you could want, fairly conveniently, with more and more available on-demand as time passes, for a fraction of a digital cable bill.&amp;nbsp; All you have to do is hold out until the show is released on the service.&amp;nbsp; However, one of the things I discovered when looking at the shows I watch was how many of them were free to view a day or a week after air.&amp;nbsp; (Cable's on-demand programming typically reflects the same spreads.)&amp;nbsp; These shows are often only around for a limited time, but they are a viable free alternative when you can get them.&amp;nbsp; The pay video segment, most strongly represented by Amazon and Apple, also makes shows available in similar time frames.&amp;nbsp; Plus, if your VOD purchases are "buy" rather than "rent" you have eliminated the need for DVD/BluRays as well.&amp;nbsp; Pay video also tends to be available in higher quality than the free services, and quality matters.&lt;br /&gt;&lt;br /&gt;I like High Definition, and not just because it lets me read the game scores without needing my glasses.&amp;nbsp; When a show is made in HD, I want to watch it in HD.&amp;nbsp; HD content on the web is almost exclusively 720p, rather than the 1080p you get through more traditional means.&amp;nbsp; It's something to keep in mind if you are going to be viewing on a large HDTV.&lt;br /&gt;&lt;br /&gt;I mentioned before that I had run some numbers.&amp;nbsp; Let's say you want the best HD quality you can get and you prefer to watch stuff while it's airing, but not necessarily the same day.&amp;nbsp; Plus, you don't want to have to mess around visiting a dozen different web sites trying to find the shows you are interested in.&amp;nbsp; If you assume the current upper prices of HD shows on Amazon ($3 per  episode) and assume ten shows a year at the American standard twenty-two  episodes a season, you end up with a working estimate of $55 per month.&amp;nbsp; Add in a  Netflix subscription and you suddenly aren't saving much money over the  cable bill.&amp;nbsp; Of course, this is just an estimate, and a rather high end one at that since prices vary.&amp;nbsp; So the viability of going to the net for your TV depends on what you want to get out of it.&amp;nbsp; Cable remains very competitive thanks to its quality and convenience, but there are more options now than ever before than can save you a little or a bunch, depending on your preferences.&lt;br /&gt;&lt;br /&gt;During the research that lead to this ramble, I was quite surprised to see that going without cable is completely and totally a viable option now.&amp;nbsp; Should I lose my job, as so many of my friends and neighbors have, I will immediately cancel my cable.&amp;nbsp; But for now, cable still wins in my house.&lt;br /&gt;&lt;br /&gt;I don't want to do this, but I can't leave without nodding toward the elephant in the room.&amp;nbsp; Yes, there are other ways of watching TV via the Internet that I have not mentioned due to their illegality.&amp;nbsp; And yes, using these methods often result in better viewing experiences than the legal means currently available.&amp;nbsp; And if I'm going to rant, I also wish the media companies would get the fact that making the FBI warning at the beginning of the DVD unskippable does nothing but annoy their paying customers.&amp;nbsp; These things aren't likely to change soon, but in truth, we have come a very long way.&amp;nbsp; You &lt;i&gt;can&lt;/i&gt; watch TV from the Internet now, legally and competitively priced.&amp;nbsp; That's not something that could be said even a few years ago.&amp;nbsp; And it will continue to improve.&amp;nbsp; &lt;a href="http://www.google.com/tv/"&gt;Google TV&lt;/a&gt; is currently being resisted by the networks for all the wrong reasons, but it might still succeed in turning the Internet into the world's DVR.&amp;nbsp; Or perhaps the Apple model will take hold and true a-la-carte subscription TV will arise.&amp;nbsp; Or maybe Netflix will be the sole distributor of a new show, bypassing the networks to create the new form of independent TV that web series have been hinting at for years.&amp;nbsp; In any case, the future of entertainment comes through the Internet.&amp;nbsp; And the revelation is that that isn't a revelation anymore.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-1026019793245825880?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/1026019793245825880/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=1026019793245825880' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/1026019793245825880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/1026019793245825880'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2010/11/not-quite-cutting-cord.html' title='Not Quite Cutting the Cord'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-742177111771694790</id><published>2010-10-31T15:38:00.000-04:00</published><updated>2011-06-19T10:21:25.424-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>The Practice and the Art</title><content type='html'>&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;A funny thing happened on the way to the text editor the other day.&amp;nbsp; A Firefox update came in, and after the restart, there on the promo section, was an add-on called&amp;nbsp;&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/2677/"&gt;Morning Coffee&lt;/a&gt;.&amp;nbsp; Normally, I wouldn't take any notice, but this time the extension did something I was interested in.&amp;nbsp; It provides a way to organize the sites you visit on a daily basis by what day it is.&amp;nbsp; By coincidence, that is exactly what I had planned to work on for my first little Javascript project.&amp;nbsp; And that brings me to this quote written by Ville-Matias Heikkilä a.k.a. viznut/pwp:&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;"Programming is no longer a fashionable way of expressing creativity, as there is ready-made software easily available for almost any purpose."&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Now he was&amp;nbsp;&lt;a href="http://www.pelulamu.net/countercomplex/the_future_of_demo_art/"&gt;writing specifically about the transformation of the demo scene&lt;/a&gt;&amp;nbsp;from the 90s to today, but his sentiments have resonance with where I am today in the hobby aspect of my programming.&amp;nbsp; I suspect there are really only three reasons for programmers to program: you get paid to do it, you need a program that doesn't already exist, or simply the art of it.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;As the personal computer's power and use grew, so to did the programs.&amp;nbsp; PC operating systems have evolved from being primarily overlays to a file system into multi-headed beasts that can deal with multiple CPUs with multiple execution paths, hundreds of programs running at the same time, astounding sets of peripherals, security concerns, and machines acting as multiple other machines, all supported by scores of utility programs.&amp;nbsp; Line editors became file editors and on to word processors which became office suites.&amp;nbsp; The programmers' world of compiler/linker/assembler now holds Integrated Development Environments, Virtual Machines, database integration, and more languages than you can shake a stick at, all with increasingly huge libraries of built-in capabilities.&amp;nbsp; In short, the world is bigger now.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;The world is also smaller, because people along the line had the brilliant idea that these general purpose computing devices could also be used to facilitate rapid communication between groups of like interest.&amp;nbsp; And thus the Internet was born, in all of its Tower of Babel glory.&amp;nbsp; Now the entire world of programming is out there for anyone to discover and explore.&amp;nbsp; As with so many things, a good academic grounding will help, but it isn't strictly necessary.&amp;nbsp; (This was the lesson in Visual Basic's success.)&amp;nbsp; With the flood of brainpower brought on by the Internet, and the pressure to make bigger, better, more usable programs, the programming world changed.&amp;nbsp; The&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Waterfall_model"&gt;Waterfall&lt;/a&gt;&amp;nbsp;became too tall for programmers to survive if they weren't sufficiently&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Agile_software_development"&gt;Agile&lt;/a&gt;.&amp;nbsp; Programming has become less about the art of creating code, and more about integration and the processes needed to handle the increased size and complexity.&amp;nbsp; Which brings me to another quote, this time from&amp;nbsp;&lt;a href="http://www.shamusyoung.com/twentysidedtale/?p=9557"&gt;Shamus Young's post, Object Disoriented Programming&lt;/a&gt;.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;"I program in C++ for a living. ...I've gotten fed up with this language and its cryptic aggravating bullshit."&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Shamus rants about the frustration of using libraries in the post-Internet world.&amp;nbsp; In a time when programming has gone from using the&amp;nbsp;&lt;a href="http://www.lego.com/"&gt;LEGO&lt;/a&gt;&amp;nbsp;bricks provided by the basic languages and libraries to create new things, to a world where you use your LEGO to connect other peoples creations together, is there still art?&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Of course there is.&amp;nbsp; Heck, combining things in novel and interesting ways could very well be the very definition of creativity.&amp;nbsp; But time comes in short supply when you have a day job, and there are a great many things already done for you and ready to use.&amp;nbsp; So the question becomes, do we persevere down the rough path through the weeds ourselves, or do we hop onto the walkway our fellows built?&amp;nbsp; The answer becomes apparent when you decide which of the three categories of programmer you fall into for the particular task.&amp;nbsp; If you are being paid to do it, or you simply have a problem to solve, you evaluate whether using the pre-built stuff will help or hinder from a purely pragmatic stance.&amp;nbsp; If, poor soul, you are programming as an artist, it brings up one last quote:&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;I shall be telling this with a sigh&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Somewhere ages and ages hence:&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Two roads diverged in a wood, and I—&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;I took the one less traveled by,&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;And that has made all the difference.&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;—&lt;a href="http://www.wsu.edu:8080/~wldciv/world_civ_reader/world_civ_reader_2/frost_road.html"&gt;Robert Frost&lt;/a&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/8336831005230062280-742177111771694790?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/742177111771694790/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=742177111771694790' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/742177111771694790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/742177111771694790'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2010/10/practice-and-art.html' title='The Practice and the Art'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-3179315226586200565</id><published>2010-10-16T19:59:00.002-04:00</published><updated>2010-10-16T19:59:51.486-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='quotations'/><title type='text'>Quote of the Moment</title><content type='html'>"Philosophers have explained space.  They have not explained time.  It is the inexplicable raw material of everything.  With it all is possible; without it, nothing."&lt;br /&gt;--Arnold Bennett, &lt;u&gt;How to Live on 24 Hours a Day&lt;/u&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-3179315226586200565?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/3179315226586200565/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=3179315226586200565' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/3179315226586200565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/3179315226586200565'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2010/10/quote-of-moment_16.html' title='Quote of the Moment'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-3650214339996774880</id><published>2010-10-16T11:25:00.002-04:00</published><updated>2010-10-21T17:39:51.921-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='randomness'/><title type='text'>While on the Subject of Halloween</title><content type='html'>Since I'm on the subject of Halloween, there's this Ghostbusters-AC/DC mash-up by way of &lt;a href="http://dubiousquality.blogspot.com/"&gt;Dubious Quality&lt;/a&gt;.  Epic.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/jiH1wNmZTII?fs=1&amp;amp;hl=en_US&amp;amp;rel=0&amp;amp;color1=0x3a3a3a&amp;amp;color2=0x999999"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/jiH1wNmZTII?fs=1&amp;amp;hl=en_US&amp;amp;rel=0&amp;amp;color1=0x3a3a3a&amp;amp;color2=0x999999" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-3650214339996774880?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/3650214339996774880/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=3650214339996774880' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/3650214339996774880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/3650214339996774880'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2010/10/while-on-subject-of-halloween.html' title='While on the Subject of Halloween'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-6325183997363308850</id><published>2010-10-16T11:18:00.002-04:00</published><updated>2010-10-16T11:21:55.171-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='distractions'/><title type='text'>The Arrival of October</title><content type='html'>October has finally arrived.&amp;nbsp; It was a bit slow in coming this year, but this morning dawned with bright skies, a touch of color on the leaves, and a cool crispness in the air.&amp;nbsp; As the year-round-work of the adult lifestyle settled in, the fall became my favorite time of the year.&amp;nbsp; November and December contain my major work holidays, with carefully hoarded vacation days standing ready to give me a spell from the daily grind, but it's October that wakes me from the summer doldrums.&amp;nbsp; The oppressive heat and humidity lifts, the pervasive pollen dissipates, and the cool temps snap you awake in the morning as surely as a warm bed cradles you to sleep.&amp;nbsp; Also there's Halloween.&lt;br /&gt;&lt;br /&gt;It's a built in excuse to fire up the creativity again, especially for a fan of the weird such as myself.&amp;nbsp; So today, I thought I would share a couple of things that I've found interesting and inspiring recently.&lt;br /&gt;&lt;br /&gt;I have been enjoying the writings of &lt;span class="post-author vcard"&gt;&lt;span class="fn"&gt;Michael Curtis for a while now, primarily through his "old school" Dungeons and Dragons blog The Society of &lt;a href="http://poleandrope.blogspot.com/"&gt;Torch, Pole and Rope&lt;/a&gt;.&amp;nbsp; Recently, he's turned at least a portion of his mind from swords and sorcery to the genre of existential horror, and I'm loving it.&amp;nbsp; His own particular twilight zone is called &lt;a href="http://secretantiquities.blogspot.com/2010/10/so-what-is-this-october-country-you.html"&gt;October Country&lt;/a&gt;, and the vignettes he's been writing evoke the mysterious quite nicely.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="post-author vcard"&gt;&lt;span class="fn"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="post-author vcard"&gt;&lt;span class="fn"&gt;Through sheer chance, I came across an &lt;a href="http://mikedoylesnap.blogspot.com/2010/09/abandoned-house-series-first-project.html"&gt;astonishing model of a decrepit house&lt;/a&gt;... made solely of LEGO.&amp;nbsp; Seriously, follow the link and click the picture.&amp;nbsp; The artistry is magnificent.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="post-author vcard"&gt;&lt;span class="fn"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="post-author vcard"&gt;&lt;span class="fn"&gt;So while you are doing your chores for the weekend cue up some &lt;a href="http://www.youtube.com/results?search_query=midnight+syndicate&amp;amp;aq=0"&gt;atmospheric&lt;/a&gt; &lt;a href="http://www.halloweenradio.net/index.php"&gt;music&lt;/a&gt; and enjoy the arrival of fall.&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-6325183997363308850?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/6325183997363308850/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=6325183997363308850' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/6325183997363308850'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/6325183997363308850'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2010/10/arrival-of-october.html' title='The Arrival of October'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-3698692278075918686</id><published>2010-10-10T14:37:00.001-04:00</published><updated>2010-10-10T14:37:49.095-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='randomness'/><title type='text'>Cake in Honor of Chuck</title><content type='html'>I continue to be surprised &lt;a href="http://www.nbc.com/chuck/"&gt;Chuck&lt;/a&gt; has made it on the air as long as it has and that it continues to be great. &amp;nbsp;So partially in honor of the folks that make the show, and partly because it's a good song, here's Cake's "Short Skirt/Long Jacket."&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;object height="385" width="480"&gt;&lt;param name="movie" value="http://www.youtube.com/v/X5KmB8Laemg?fs=1&amp;amp;hl=en_US&amp;amp;rel=0"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/X5KmB8Laemg?fs=1&amp;amp;hl=en_US&amp;amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-3698692278075918686?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/3698692278075918686/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=3698692278075918686' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/3698692278075918686'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/3698692278075918686'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2010/10/cake-in-honor-of-chuck.html' title='Cake in Honor of Chuck'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-6530149179130347031</id><published>2010-10-10T14:25:00.000-04:00</published><updated>2010-10-10T14:25:24.599-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='watching the watchers'/><title type='text'>Watching the Watchers</title><content type='html'>After a fairly long hiatus, watching the watchers returns with the disturbing story of the Pentagon spending forty-seven thousand dollars to &lt;a href="http://www.bbc.co.uk/news/world-us-canada-11423338"&gt;purchase the entire first run of a book by a soldier said to be critical&lt;/a&gt; of the handling of the war in Afghanistan. &amp;nbsp;According to the government, the initial printing was not vetted properly and would have revealed classified information. &amp;nbsp;According to the publisher, it's all good because the publicity ginned up around the book. &amp;nbsp;(And of course they sold their entire first print run.) &amp;nbsp;According to the book... well, we'll just have to wait for the censored copy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-6530149179130347031?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/6530149179130347031/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=6530149179130347031' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/6530149179130347031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/6530149179130347031'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2010/10/watching-watchers.html' title='Watching the Watchers'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-7219494818551058425</id><published>2010-10-10T14:18:00.000-04:00</published><updated>2010-10-10T14:18:05.356-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='news link-post'/><title type='text'>Nifty Medical Tech</title><content type='html'>I'm still working through the collected back-log, so these are somewhat old. &amp;nbsp;That doesn't diminish how cool they are though.&lt;br /&gt;&lt;br /&gt;First up,&lt;a href="http://singularityhub.com/2010/09/13/hondas-exoskeletons-help-you-walk-like-asimo-video/"&gt;&amp;nbsp;Honda is working on an exoskeleton&lt;/a&gt; designed to help people walk. &amp;nbsp;It grew out of their work with the anthropomorphic Asimo robot program, showing that if robots can be taught to walk, then why not use the same tech to help humans who have difficulty with it.&lt;br /&gt;&lt;br /&gt;Second, and particularly relevant to someone who had a flu shot earlier in the week, we have the fine folks at &lt;a href="http://www.medicaldaily.com/news/20100718/325/microneedles-may-make-getting-flu-shots-easier.htm"&gt;Georgia Tech working on a micro-needle patch&lt;/a&gt; that can deliver drugs without an injection. &amp;nbsp;The patches would be much less uncomfortable than a shot, require no special training, and remove the cost and need to dispose of used needles.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-7219494818551058425?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/7219494818551058425/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=7219494818551058425' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/7219494818551058425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/7219494818551058425'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2010/10/nifty-medical-tech.html' title='Nifty Medical Tech'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-1647262176241853690</id><published>2010-10-10T14:06:00.000-04:00</published><updated>2010-10-10T14:06:52.922-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='quotations'/><title type='text'>Quote of the Moment</title><content type='html'>"I know this: if life is an illusion, then I am no less an illusion, and being thus, the illusion is real to me."&lt;br /&gt;--Conan, in "The Queen of the Black Coast" by Robert E. Howard&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-1647262176241853690?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/1647262176241853690/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=1647262176241853690' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/1647262176241853690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/1647262176241853690'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2010/10/quote-of-moment.html' title='Quote of the Moment'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-639228610716423658</id><published>2010-09-30T20:45:00.000-04:00</published><updated>2010-09-30T20:45:44.478-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='headline hunting'/><title type='text'>Headline Hunting</title><content type='html'>Once again, the BBC RSS feed headline contains the funny that the linked story doesn't. &amp;nbsp;"&lt;a href="http://www.bbc.co.uk/news/world-europe-11442633"&gt;The grape escape - theives make off with harvest&lt;/a&gt;" tells the story of a wine grape harvest absconded by thieves.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-639228610716423658?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/639228610716423658/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=639228610716423658' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/639228610716423658'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/639228610716423658'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2010/09/headline-hunting.html' title='Headline Hunting'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-2665753833836540504</id><published>2010-09-30T20:38:00.000-04:00</published><updated>2010-09-30T20:38:11.249-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='green tech'/><title type='text'>Playing Catch-up with Green Tech</title><content type='html'>Cripes, is it the end of September already? &amp;nbsp;I've been accumulating story links as usual, but quite lax at posting them, so prepare for a green tech link dump!&lt;br /&gt;&lt;br /&gt;Out in the Pacific, there's a vast area covered in plastic trash, which is sort of appalling. &amp;nbsp;Now there's a research project to &lt;a href="http://green.blorge.com/2010/07/recycled-island-will-be-created-from-plastic-waste-in-the-pacific-ocean/"&gt;turn it into an island&lt;/a&gt;, which is sort of hilarious. &amp;nbsp;Hey, why not, we need the jobs.&lt;br /&gt;&lt;br /&gt;In more current construction projects, excavation has started in France on the &lt;a href="http://physicsbuzz.physicscentral.com/2010/09/construction-underway-at-iter.html"&gt;future site of the ITER fusion reactor&lt;/a&gt;. &amp;nbsp;And it only took twenty-five years to get started.&lt;br /&gt;&lt;br /&gt;From the perpetually fifty years away we go to the probably fifty years away with Boeing's concept aircraft of the future. &amp;nbsp;One of the concepts uses &lt;a href="http://www.boeing.com/Features/2010/06/corp_envision_06_14_10.html"&gt;hybrid electric battery/gas turbine&lt;/a&gt; to vastly decrease fuel use.&lt;br /&gt;&lt;br /&gt;And finally, there's a story that sounds like pure science fiction, but like so many other things, it's coming true. &amp;nbsp;Scientists are researching using biological processes to create &lt;a href="http://arstechnica.com/science/news/2010/09/building-a-self-healing-solar-cell-with-proteins.ars?utm_source=rss&amp;amp;utm_medium=rss&amp;amp;utm_campaign=rss"&gt;self-regenerating solar cells&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I'll admit, I sometimes wonder if most of my posts here lately would work better in twitter...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-2665753833836540504?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/2665753833836540504/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=2665753833836540504' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/2665753833836540504'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/2665753833836540504'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2010/09/playing-catch-up-with-green-tech.html' title='Playing Catch-up with Green Tech'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-5719860609252180524</id><published>2010-08-22T17:14:00.001-04:00</published><updated>2011-06-19T10:22:20.395-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>What in the World is a Closure</title><content type='html'>&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Browsing programming blogs and sites like&amp;nbsp;&lt;a href="http://www.reddit.com/r/programming/"&gt;reddit's programming section&lt;/a&gt;, I keep coming across a CS term that my schooling missed out on: closure.&amp;nbsp; It's one of the touted features of Javascript.&amp;nbsp; (Which, as an aside, remains too low on the priority list for me to make much headway with.)&amp;nbsp; Folks seem to really like 'em, so in the interest of continuing education, I decided to see what in the world a closure could be.&amp;nbsp; Naturally, I visited Wikipedia first and got&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Closure_%28computer_science%29"&gt;a browser full of code examples and this definition&lt;/a&gt;: "... a closure is a first-class function with free variables that are bound in the lexical environment."&amp;nbsp; Well, that's quite a mouthful.&amp;nbsp; Like any good programmer, when faced with a daunting puzzle, let's break it down into smaller parts.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;First-class function is an easy one, it just means that functions are not just syntax but a true data type within the language.&amp;nbsp; If the language allows us to create functions, assign them, pass them, and otherwise treat them like any other data type available, then it supports first-class functions.&amp;nbsp; C doesn't, but it simulates some of the capabilities through the function pointer mechanism.&amp;nbsp; Of course Lisp, and other functional languages, are built on the foundation of first-class functions.&amp;nbsp; So a closure is a first-class function, but that's not all.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Free variables,&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Free_variables_and_bound_variables"&gt;again according to Wikipedia&lt;/a&gt;, are variables referred to in a subroutine that are neither local variables nor parameters to the subroutine.&amp;nbsp; This definition becomes a bit clearer when you think back to CS class and remember that variables become bound when they take on a value.&amp;nbsp; In other words, a free variable in a subroutine is one that is not bound within the scope of that subroutine.&amp;nbsp; The trivial example would be a function using a global variable; the global is a free variable in the scope of the function.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;That bit at the end of the definition about "lexical environment" is another reference to variable scoping.&amp;nbsp; Basically, it's saying that the free variable in the subroutine has been bound by the syntax of where the subroutine is defined.&amp;nbsp; In our trivial global variable example, the global is bound in a scope that encompasses the function, the global one.&amp;nbsp; Assume for a moment that our example function was assigned to an object, ready to be passed around and you will see that it meets the requirements for a closure: it is a first-class function (or we couldn't assign it to a variable and pass it around), it has a free variable (the global), and that free variable is bound in the lexical scope where the function was defined.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;But wait, a closure isn't necessary for this example, because the global variable, by definition, is visible everywhere.&amp;nbsp; To make a more interesting example, picture a module (or package, depending on your preferred nomenclature) that defines a variable which is private within its namespace.&amp;nbsp; It also defines a procedure that uses the variable.&amp;nbsp; And finally, it exposes that procedure as an object through its publicly available interface.&amp;nbsp; When the function gets called outside of the module's scope, it still references the module's private variable, even though that variable isn't visible in the scope where the function is used.&amp;nbsp; So our function object is carrying with it a piece of state, not from the scope where it is being&amp;nbsp;&lt;i&gt;executed&lt;/i&gt;, but from the scope where it was&amp;nbsp;&lt;i&gt;defined&lt;/i&gt;.&amp;nbsp; This somewhat mind bending ability defines a closure.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;For further reading, see the Wikipedia pages above and&amp;nbsp;&lt;a href="http://martinfowler.com/bliki/Closure.html"&gt;this post about closures from Martin Fowler&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/8336831005230062280-5719860609252180524?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/5719860609252180524/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=5719860609252180524' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/5719860609252180524'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/5719860609252180524'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2010/08/what-in-world-is-closure.html' title='What in the World is a Closure'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-8959243180145172719</id><published>2010-08-22T16:06:00.000-04:00</published><updated>2010-08-22T16:06:48.969-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='green tech'/><title type='text'>Solar Improvements, Nuclear Fallout</title><content type='html'>The rapid pace of innovation around solar cells continues.&amp;nbsp; Traditionally, one of the major weaknesses of photovoltaic cells has been their inability to use most of the sun's energy.&amp;nbsp; A new type of cell promises to help offset that disadvantage by allowing the cells to generate some power from heat as well.&amp;nbsp; The &lt;a href="http://arstechnica.com/science/news/2010/08/new-solar-cell-uses-heat-to-beat-theoretical-limits.ars?utm_source=rss&amp;amp;utm_medium=rss&amp;amp;utm_campaign=rss"&gt;two methods combined&lt;/a&gt; can exceed the theoretical maximum efficiency for photovoltaics alone.&amp;nbsp; Although these cells only operate at peak efficiency at very high heat and don't set any records for absolute efficiency, there is the possibility the techniques can be used to improve existing solar tech.&lt;br /&gt;&lt;br /&gt;Adding to the massive upswing in solar potential comes an &lt;a href="http://www.nytimes.com/2010/07/27/business/global/27iht-renuke.html?_r=1"&gt;article in the New York Times &lt;/a&gt;citing a report that shows solar power now costs less than nuclear.&amp;nbsp; The study has apparently been called into question (see the note at the bottom of the article's pages), but it remains an interesting read, if only to give a glimpse into the web of industry and government considerations that swirl around nuclear power.&amp;nbsp; Whether the cost crossover point has been reached already, or if it is just looming, it does appear that fission may not be the go-to long-term solution for energy anymore.&amp;nbsp; I find that pretty surprising.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-8959243180145172719?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/8959243180145172719/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=8959243180145172719' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/8959243180145172719'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/8959243180145172719'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2010/08/solar-improvements-nuclear-fallout.html' title='Solar Improvements, Nuclear Fallout'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-6012981187010685769</id><published>2010-07-25T13:08:00.001-04:00</published><updated>2011-06-19T10:23:08.682-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Regarding Coding Style Goals</title><content type='html'>&lt;div style="margin-bottom: 0in;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;I'm currently creeping my way through a Javascript book. It's taking longer than I would like since it's not high enough on my priority list at the moment, and because it's summer. In the interest of keeping things rolling, I thought I might write about code aesthetics today. Everyone who programs has a slightly different preferred coding style. Here are a few of the things that I love to see when reading code and strive to do when writing it. Take a moment and think about general coding practices you like. Now you can be amused by how similar, or different, our priorities are.&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;b&gt;Clarity&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;When I'm reading code, I love seeing things that improve my ability to grasp both what the code is doing and where that piece fits in the larger whole. Descriptive naming is a huge help, and it goes beyond just what you call your functions and variables. I enjoy seeing complex Boolean tests broken into logical parts using descriptive Boolean variables. Meaningful constants in place of literals, especially numeric literals, are a joy to read. &amp;nbsp;Naming in libraries can help their users understand not what they are but their focus as well. Whether I prefer seeing a pattern like&amp;nbsp;&lt;code&gt;FileOpen&lt;/code&gt;,&amp;nbsp;&lt;code&gt;FileRead&lt;/code&gt;, and&amp;nbsp;&lt;code&gt;FileClose&lt;/code&gt;&amp;nbsp;to&amp;nbsp;&lt;code&gt;OpenFile&lt;/code&gt;,&amp;nbsp;&lt;code&gt;ReadFile&lt;/code&gt;, and&amp;nbsp;&lt;code&gt;CloseFile&lt;/code&gt;&amp;nbsp;in a function library depends on what the library is for. The naming should reflect the usage pattern. If the library is focused on file I/O, I like the File part first. If it's a generic I/O library that provides similar operations across a large type of targets, put the operation name first and the File/Socket/PrintBuffer part next. I usually name GUI widget variables using the style of typePurpose, resulting in names such as&amp;nbsp;&lt;code&gt;labelTitle&lt;/code&gt;, and&amp;nbsp;&lt;code&gt;buttonStartCountdown&lt;/code&gt;, to make them easier to find both in graphical designers and the code. Similarly, I like to reflect class hierarchies in their naming. For example, think about an abstract socket class and two concrete subclasses implementing UDP and TCP sockets. I prefer the naming to help me see not just what the classes represent, but their relationships too. So, I wouldn't call them&amp;nbsp;&lt;code&gt;AbsSocket&lt;/code&gt;,&amp;nbsp;&lt;code&gt;TcpSocket&lt;/code&gt;, and&amp;nbsp;&lt;code&gt;UdpSocket&lt;/code&gt;. Instead, I'd call them&amp;nbsp;&lt;code&gt;Socket&lt;/code&gt;,&amp;nbsp;&lt;code&gt;SocketTcp&lt;/code&gt;, and&amp;nbsp;&lt;code&gt;SocketUdp&lt;/code&gt;, or something along those lines. Note the effects on auto-completion with this scheme: typing the base class will give you the subclasses because the name directly reflects the inheritance relationship. &amp;nbsp;And you can't talk about clarity without mentioning comments. Comments that tell why something is being done the way it is are often more important than comments that tell what is being done. And of course, misleading, incorrect, and out of date comments can quickly destroy your code's clarity.&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;b&gt;Consistency&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Having similar things work similarly seems obvious, but I'm sure you've seen code that just doesn't do it. If the existing methods in a class report errors by throwing an exception, I don't want to add a new method that uses a return code, and vice versa. I like seeing consistent parameter ordering in related routines. Using I/O library example from above, I'm going to be much happier if all of the routines take their target identifier in the same relative position in the parameter lists than if some of them have it first, others last, and a few somewhere in between.&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Having, and enforcing, coding style conventions is a big deal. They help keep you reading code rather than having to stop and check if the indention is misleading or if there is some significance to that one variable using underscores instead of being camel cased. And I doubt anyone likes having to change their editor's tab/indention settings every time they change what they are working on. It's just one more niggling little thing to forget. Personally, I'm a huge advocate of the generic conventions put forth in the second edition of Code Complete. To paraphrase a recent political slogan, yes we can use the same coding style across all languages.&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;b&gt;Simplicity&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Simplicity is a big pet peeve of mine. The KISS rule has real benefits. Writing working code is hard enough when you can keep the model in your head, and my memory is poor enough that I really hate extraneous noise. I strive to keep the noise down when I can with these personal rules. Avoid routines that do nothing but call one other routine, they can be an indication of poor design. (Language specific things such as compiler chaining and faking default parameters get a pass on this. Sometimes.) Don't create a whole new class when a method will do. An abstract class with only one subclass wastes programmer and compiler time. Really think hard about inheritance. Using true subtypes should reduce the complexity of the code. If it isn't, I may be coming at it from the wrong angle. Would composition be a better fit than inheritance? Can I use conditional statements instead, or will that cause me headaches later? Write classes/routines for specific tasks unless you already have a concrete reason for them to be more generic. Try to keep paths between where data is stored and where it is used as short as possible (ideally this would be handled within a single class/set of routines).&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;b&gt;Brevity&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;I tend not to follow this rule in my writing, but I do try to in my coding. The less code there is, the fewer places you have to check later to find defects. I try to follow the DRY rule. Comments that just restate code are always annoying. Plus, I have a pathological hatred of redundant header comments. (Why do I need to write the name of the routine in a comment right above the syntactic definition of that name!) Brevity speaks to design in a very similar way as simplicity, for instance not adding a transformation layer to code when you can correct the data differences to not require the transformation in the first place. It's worth noting that as code ages, it gets harder and harder to maintain brevity in the face of normal development accretion.&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;There are real tradeoffs between these goals, and in general I have listed them in my order of preference. I'd rather the code be clear than brief, and prefer consistent to simple. Striving for all of them at once is one of the things that makes programming fun (and frustrating). Actually achieving them all produces what a colleague once referred to as really sexy code.&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/8336831005230062280-6012981187010685769?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/6012981187010685769/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=6012981187010685769' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/6012981187010685769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/6012981187010685769'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2010/07/regarding-coding-style-goals.html' title='Regarding Coding Style Goals'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-7635655638207967699</id><published>2010-07-18T15:16:00.000-04:00</published><updated>2010-07-18T15:16:11.940-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='editorial'/><title type='text'>A Strategy for Strategy</title><content type='html'>The summer heat and humidity settled across the area early and in force this year. &amp;nbsp;June was the hottest June on record, ever, and July's temps are staying above normal so far. &amp;nbsp;Paradoxically, when the sun is bright in the summer, I tend to close up my south facing blinds more often in an attempt to keep the house cooler. &amp;nbsp;And if it's going to be cool and relatively dim in the house, well that's a perfect video gaming setup.&lt;br /&gt;&lt;br /&gt;I've been anticipating &lt;a href="http://www.starcraft2.com/"&gt;Starcraft 2&lt;/a&gt; for some time, despite having "finished" with the real-time strategy genre in the late 90's. &amp;nbsp;In many ways, the game is a throwback to the decade old original, which was in turn a mere evolutionary step above its even older predecessors. &amp;nbsp;That said, there is one new "killer" feature that has hooked my interest almost more than the game itself: replays. &amp;nbsp;Starcraft 2 automatically records every game you play. &amp;nbsp;You can then play it back anytime for review and analysis or upload it to the internet for others to examine. &amp;nbsp;I think it will be a revolution in analyzing ones own play. &amp;nbsp;Of course, the serious Starcraft community has been analyzing matches for quite a while. &amp;nbsp;One such commentator has taken the place of physical sports for me this summer. &amp;nbsp;His name is &lt;a href="http://twitter.com/day9tv"&gt;Sean Plott&lt;/a&gt;, his handle is Day[9], and the archives of his commentary can be found &lt;a href="http://day9tv.blip.tv/"&gt;here&lt;/a&gt;. &amp;nbsp;Be warned, his&amp;nbsp;enthusiasm&amp;nbsp;for the game is infectious. &amp;nbsp;(Though like sports, there is a fair amount of shorthand jargon you may have a hard time immediately understanding if you aren't at least passingly familiar with the game.) &amp;nbsp;&lt;a href="http://day9tv.blip.tv/file/3732340/"&gt;One cast&lt;/a&gt;, covering some basics of developing Starcraft strategy, really caught my attention. &amp;nbsp;I think the things he mentioned are widely applicable across all sorts of different strategy games, and I want to go into them here for a bit. &amp;nbsp;Honestly, I think there may be some aspects to the tips that can be applied to life in general as well.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Have a plan.&lt;/b&gt;&lt;br /&gt;Seems obvious, right? &amp;nbsp;But really, the root of any sound strategy begins with an attempt to accomplish something. &amp;nbsp;You may succeed by acting randomly in the moment, but you won't know why, and you won't be able to reproduce your success consistently. &amp;nbsp;Come up with a means to get to your desired end. &amp;nbsp;It shouldn't be too rigid in the face of adversity, but neither should you abandon it at the first sign of trouble.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;It's more about timing than speed.&lt;/b&gt;&lt;br /&gt;Just because you are constantly&amp;nbsp;doing things&amp;nbsp;doesn't mean you are actually moving efficiently. &amp;nbsp;Having good timing means you can outpace competitors who are fast but not as good at using resources properly.&amp;nbsp;&amp;nbsp;(And how many of us wish we could get &lt;i&gt;that&lt;/i&gt; message through in our workplaces?) &amp;nbsp;Remember the lesson of the&amp;nbsp;tortoise&amp;nbsp;and the hare, and keep an eye on speed vs. quality trade-offs.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Remembering what you need to do is the key to good timing.&lt;/b&gt;&lt;br /&gt;Sean recommends building a mental list of the things you need to constantly keep track of as you go about executing your plan. &amp;nbsp;Then just loop through the list over and over. &amp;nbsp;At each step make sure you have it covered and then move on to the next. &amp;nbsp;As the number of things you have to keep track of increases, so does your list. &amp;nbsp;This list becomes a tool to leverage repetition for learning. &amp;nbsp;With practice, the "simple/mechanical/housekeeping" stuff becomes internalized and you can focus your mental energy on the "big picture."&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Don't think about what you are doing now, think about what you need to do next.&lt;/b&gt;&lt;br /&gt;Now is already happening, stick to your list and you don't have to worry about it. &amp;nbsp;Given the situation, what do you need to do next to keep moving along your plan? &amp;nbsp;This is where your flexibility lies. &amp;nbsp;If you loose a battle in Starcraft or get your queen captured in chess, don't sit in the moment fretting about how it happened, use your list to keep moving forward and get straight into mitigation if you need to.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Improve your technique as you go.&lt;/b&gt;&lt;br /&gt;Practice had to come in here at some point, and this is it. &amp;nbsp;You have to learn your sense of timing through focused effort. &amp;nbsp;The first step is to thoroughly learn your game's mechanics. &amp;nbsp;For a real-time game like Starcraft 2, this will also involve training your physical memory for the interface, which is the same thing one does when practicing a musical instrument or learning an artistic medium. &amp;nbsp;Games like chess or go lend themselves toward learning to intuitively see patterns developing on the board.&lt;br /&gt;&lt;br /&gt;I want to give a big thanks to Sean for framing the bolded tips above. &amp;nbsp;I suspect I will be pondering their application in all sorts of areas for some time to come. &amp;nbsp;And when you think about it, they make a pretty good mental list in and of themselves, don't they?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-7635655638207967699?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/7635655638207967699/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=7635655638207967699' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/7635655638207967699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/7635655638207967699'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2010/07/strategy-for-strategy.html' title='A Strategy for Strategy'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-5065303971993981113</id><published>2010-07-15T20:04:00.000-04:00</published><updated>2010-07-15T20:04:24.333-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='randomness'/><title type='text'>OK, It's Over Now.  Old Spice Wins the Internet (at least this week)</title><content type='html'>Yes, I've posted a pair of Old Spice ads just because I find them hilarious. &amp;nbsp;It turns out that they are more than just hilarious, they are quite savvy. &amp;nbsp;Here's &lt;a href="http://www.readwriteweb.com/archives/how_old_spice_won_the_internet.php"&gt;one story&lt;/a&gt; about it. &amp;nbsp;I promise I will not post anything else about it. &amp;nbsp;Besides, you should be watching &lt;a href="http://www.youtube.com/user/OldSpice#p/c/484F058C3EAF7FA6"&gt;hilariously silly videos&lt;/a&gt; rather than reading my magnificent words.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-5065303971993981113?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/5065303971993981113/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=5065303971993981113' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/5065303971993981113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/5065303971993981113'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2010/07/ok-its-over-now-old-spice-wins-internet.html' title='OK, It&apos;s Over Now.  Old Spice Wins the Internet (at least this week)'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-6155851695072109894</id><published>2010-07-11T13:27:00.000-04:00</published><updated>2010-07-11T13:27:52.285-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='headline hunting'/><title type='text'>Headline Hunting</title><content type='html'>It's been a while since a headline jumped out at me, but happily the BBC comes to the rescue. &amp;nbsp;And once again, the headline on the story is different from the one that showed up in the RSS reader. &amp;nbsp;Yes,&amp;nbsp;"Body part scare on motorway proves 'armless" is less informative than "&lt;a href="http://news.bbc.co.uk/2/hi/uk_news/england/merseyside/10483734.stm"&gt;Plastic arm on M62 in Mercyside causes 'traffic chaos,'&lt;/a&gt;" but the original is just gold!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-6155851695072109894?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/6155851695072109894/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=6155851695072109894' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/6155851695072109894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/6155851695072109894'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2010/07/headline-hunting.html' title='Headline Hunting'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-7796949900256276062</id><published>2010-07-05T14:34:00.000-04:00</published><updated>2010-07-05T14:34:13.087-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='randomness'/><title type='text'>I Smell Awesome, Again</title><content type='html'>&lt;a href="http://bitstreamofconsciousness.blogspot.com/2010/02/i-smell-awsome.html"&gt;The man your man could smell like&lt;/a&gt; is back in action again, and it's another winner. &amp;nbsp;Yes, I'm posting someone else's commercial without them paying me. &amp;nbsp;Heck, I even went out and got some of the endorsed product (which turned out to be quite good). &amp;nbsp;Bringing the funny should be rewarded, darn it!&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" height="288" width="512"&gt;     &lt;param name="allowScriptAccess" value="always" /&gt;    &lt;param name="allowFullScreen" value="true" /&gt;    &lt;param name="movie" value="http://www.oldspice.com/_swf/embedplayer.swf" /&gt;    &lt;param name="flashvars" value="vid=34"&gt;    &lt;embed src="http://www.oldspice.com/_swf/embedplayer.swf" flashvars="vid=34" width="512" height="288" allowFullScreen="true" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"&gt;&lt;/embed&gt;     &lt;/object&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-7796949900256276062?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/7796949900256276062/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=7796949900256276062' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/7796949900256276062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/7796949900256276062'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2010/07/i-smell-awesome-again.html' title='I Smell Awesome, Again'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-1979861417448981943</id><published>2010-06-06T15:12:00.002-04:00</published><updated>2010-06-06T15:13:38.708-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='distractions'/><title type='text'>Today's Musical Diversion</title><content type='html'>I first heard this one as the intro track for the videogame &lt;a href="http://www.borderlandsthegame.com/"&gt;Borderlands&lt;/a&gt;. &amp;nbsp;It stuck in my head for weeks thanks to a catchy chorus and the slide guitar. Here's "Ain't No Rest for the Wicked" from Cage the Elephant.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;object height="385" width="640"&gt;&lt;param name="movie" value="http://www.youtube.com/v/U631FGnXDXY&amp;hl=en_US&amp;fs=1&amp;rel=0&amp;color1=0x3a3a3a&amp;color2=0x999999"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/U631FGnXDXY&amp;hl=en_US&amp;fs=1&amp;rel=0&amp;color1=0x3a3a3a&amp;color2=0x999999" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-1979861417448981943?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/1979861417448981943/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=1979861417448981943' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/1979861417448981943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/1979861417448981943'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2010/06/todays-musical-diversion.html' title='Today&apos;s Musical Diversion'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-367959733080471387</id><published>2010-06-06T14:57:00.000-04:00</published><updated>2010-06-06T14:57:29.041-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='news link-post'/><title type='text'>High and Low Tech Medicine of the Future</title><content type='html'>I haven't collected many story links lately, being busy will do that to a guy, but the ones I have found in recent months centered around medicine. &amp;nbsp;There has been talk of the amazing nano-tech future for a long time, much of it centering around the more sci-fi aspects of ultra-small things. &amp;nbsp;However, the folks at Cal. Tech are &lt;a href="http://gizmodo.com/5501103/this-is-the-future-of-the-fight-against-cancer"&gt;in human trials with "nanobots" that can cure cancer&lt;/a&gt;. &amp;nbsp;With no side effects. &amp;nbsp;While we are curing cancer, let's &lt;a href="http://science.slashdot.org/story/10/05/03/2341209/Gene-Therapy-Restores-Sight-To-Blind?from=rss&amp;amp;utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed:+Slashdot/slashdot+(Slashdot)&amp;amp;utm_content=Google+Reader"&gt;take out genetic blindness using gene therapy&lt;/a&gt; too. &amp;nbsp;This is some seriously awesome stuff. &amp;nbsp;But it's not just the high-tech miracles that matter. &amp;nbsp;Sometimes simple ingenuity can make a difference too. &amp;nbsp;Like &lt;a href="http://inhabitat.com/2010/05/03/salad-spinner-transformed-into-centrifuge-for-diagnosing-diseases/"&gt;creating a medically useful centrifuge out of a salad spinner&lt;/a&gt; for places where electricity isn't a given, and costs are critically important. &amp;nbsp;Advances, both small and large, continue to bring the future closer to now, and I find it pretty encouraging.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-367959733080471387?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/367959733080471387/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=367959733080471387' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/367959733080471387'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/367959733080471387'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2010/06/high-and-low-tech-medicine-of-future.html' title='High and Low Tech Medicine of the Future'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-8926611578603886862</id><published>2010-05-31T16:58:00.002-04:00</published><updated>2011-06-19T10:25:32.130-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='metablog'/><title type='text'>Announcing Code Monkeying</title><content type='html'>[Update: I gave up on the Code Monkeying experiment in June of 2011, and folded much of its content back into this blog.]&lt;br /&gt;&lt;br /&gt;For years, I've struggled with the programming section of this blog.&amp;nbsp; Generally, this is a place where I post what I've been spending my spare time with, or stories that caught my eye in the news, things I'm pondering, or general silliness.&amp;nbsp; As a programmer by trade, I continued to want to write about the subject, but I've never really been able to fit those topics into the tone of this blog.&amp;nbsp; So I'm going to stop trying.&amp;nbsp; From now on, the Bit-Stream of Consciousness will be free of programming topics.&lt;br /&gt;&lt;br /&gt;That doesn't mean I will stop writing about programming.&amp;nbsp; Quite the contrary.&amp;nbsp; Over the years, I've often wanted to write more about programming.&amp;nbsp; After thinking about it for a long time, I decided to go ahead with an experiment: my new programming-related blog.&amp;nbsp; Things are a little ugly over there right now, because the first subject I'm tackling is building a working Blogger template from scratch, and it's still ongoing.&amp;nbsp; If you decide to start following, you will be able to see the evolution of the template live as I update it.&lt;br /&gt;&lt;br /&gt;Without further ado, I present:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://codemonkeying.blogspot.com/"&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Code Monkeying&lt;/b&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt; Fighting Programming Burnout with a Flamethrower &lt;/b&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-8926611578603886862?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/8926611578603886862/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=8926611578603886862' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/8926611578603886862'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/8926611578603886862'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2010/05/announcing-code-monkeying.html' title='Announcing Code Monkeying'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-4807456109019546799</id><published>2010-05-22T11:53:00.000-04:00</published><updated>2010-05-22T11:53:29.745-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='quotations'/><title type='text'>Quote of the Moment</title><content type='html'>"I'm not a computer nerd, I'm a computer jock."&lt;br /&gt;-Sean Plott a.k.a. Day[9], Starcraft veteran. &amp;nbsp;And yes, he said it quite humorously.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-4807456109019546799?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/4807456109019546799/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=4807456109019546799' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/4807456109019546799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/4807456109019546799'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2010/05/quote-of-moment.html' title='Quote of the Moment'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-7755830895251947796</id><published>2010-05-09T21:35:00.001-04:00</published><updated>2010-05-09T21:35:47.184-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='editorial'/><title type='text'>Fossil Fuels at What Cost</title><content type='html'>As the extent of the environmental damage from the destroyed oil rig in the Gulf &lt;a href="http://news.yahoo.com/s/afp/20100510/ts_alt_afp/usblastoilenergypollution"&gt;becomes worse with every passing day&lt;/a&gt;, will there be enough impact on the country for people to finally realize that oil really is a bad solution? &amp;nbsp;Forget global warming, that's an issue that people can't grasp properly. &amp;nbsp;Address pollution. &amp;nbsp;Imagine a world where cities don't have yellow-orange haze hanging over them in summer. &amp;nbsp;Imagine a world where parking lots don't have the rainbow&amp;nbsp;sheen&amp;nbsp;of&amp;nbsp;petroleum&amp;nbsp;on them after a spring rain. &amp;nbsp;Imagine you can't hear cars rumbling past your house even if it's built right next to the highway. &amp;nbsp;Solar power generation would certainly seem to be a safer alternative to deep sea drilling. &amp;nbsp;It's even possible the removal of the strategic oil need could change the dynamic of war and terrorism in the Middle East.&lt;br /&gt;&lt;br /&gt;In today's advanced society, energy storage is the single most important technology. &amp;nbsp;A breakthrough that could compete with heavy, toxic, expensive chemical batteries really would change the world. &amp;nbsp;But so would ending the polluting reign of oil. &amp;nbsp;But you have to be willing to pay for change. &amp;nbsp;Are you? &amp;nbsp;Am I?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-7755830895251947796?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/7755830895251947796/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=7755830895251947796' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/7755830895251947796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/7755830895251947796'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2010/05/fossil-fuels-at-what-cost.html' title='Fossil Fuels at What Cost'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-941906964412939967</id><published>2010-04-27T20:54:00.002-04:00</published><updated>2010-04-27T20:56:06.440-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='distractions'/><title type='text'>Today's Musical Diversion</title><content type='html'>It's funny, on a day when I was pondering the cost of cable and the time "wasted" watching TV, I watch Top Gear, and this guy (Seasick Steve) was the guest. &amp;nbsp;Looks like this round goes to the cable bill.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;object height="385" width="480"&gt;&lt;param name="movie" value="http://www.youtube.com/v/pNoPNC3ebYQ&amp;hl=en_US&amp;fs=1&amp;rel=0&amp;color1=0x3a3a3a&amp;color2=0x999999"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/pNoPNC3ebYQ&amp;hl=en_US&amp;fs=1&amp;rel=0&amp;color1=0x3a3a3a&amp;color2=0x999999" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-941906964412939967?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/941906964412939967/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=941906964412939967' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/941906964412939967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/941906964412939967'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2010/04/todays-musical-diversion.html' title='Today&apos;s Musical Diversion'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-8578609577421998252</id><published>2010-04-27T20:47:00.000-04:00</published><updated>2010-04-27T20:47:18.958-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='green tech'/><title type='text'>The Future (of Lightbulbs) is Being Made Today</title><content type='html'>Lightbulbs are rather ordinary. &amp;nbsp;Compact&amp;nbsp;Fluorescent&amp;nbsp;Lightbulbs are rather silly looking, and contain toxic gas to boot. &amp;nbsp;Well, worry not. &amp;nbsp;The real future of lightbulb technology is finally coming to retail this year. &amp;nbsp;And if &lt;a href="http://www.engadget.com/2010/04/13/ges-led-light-bulbs-look-cool-last-forever-cost-a-lot/"&gt;Engadget's reporting of the fin-covered sphere that is the GE LED bulb&lt;/a&gt; is accurate, then the future of bulb style will be a bit more ... interesting. &amp;nbsp;And while the LED equivalent of a 40 Watt bulb will cost around fifty bucks, it will last for close to two decades at 4 hours of use a day, be ten percent more efficient than a CFL, and it won't poison your kids when they knock over the lamp.&lt;br /&gt;&lt;br /&gt;Of course this is the Internet age, where Technology of the Future goes to be laughed at. &amp;nbsp;So naturally, folks over at Cambridge U. are "&lt;a href="http://www.engadget.com/2009/01/30/research-team-near-production-of-a-cheap-lightbulb-lasts-up-t/"&gt;quite close&lt;/a&gt;" to production quality on a LED bulb that will last nearly seventy years at the four hour a day rate while bringing the cost down to less than three dollars.&lt;br /&gt;&lt;br /&gt;Either way, I'm hoping to never have to buy a CFL again.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-8578609577421998252?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/8578609577421998252/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=8578609577421998252' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/8578609577421998252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/8578609577421998252'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2010/04/future-of-lightbulbs-is-being-made.html' title='The Future (of Lightbulbs) is Being Made Today'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-1423589516453053976</id><published>2010-04-02T20:58:00.002-04:00</published><updated>2010-04-02T21:00:55.616-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Sympathy For the Devil</title><content type='html'>&lt;div&gt;Toyota has had quite a year so far. Now, &lt;a href="http://online.wsj.com/article/SB20001424052702303601504575153653009888036.html"&gt;experts from NASA have been called in&lt;/a&gt; to examine the computer systems and software in an attempt to figure out the cause of the sudden acceleration some cars experience. I'm really glad I don't have that job. Except that I kind of do. All working programmers do.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;"What's puzzling you is the nature of my game." --Rolling Stones, Sympathy For the Devil&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Programming is hard because it's complex: every detail matters all the time. And with this complexity comes the inevitable defects. We call them "bugs." Ideally, extensive design, reviews, and testing drive out all the critical bugs before any given product goes into production. But things are never really perfect, because the humans that build them aren't omniscient. And neither are the humans that use them. When market forces are involved (that is, money), even the definition of "critical bug" becomes a fluid thing. And guaranteed &lt;a href="http://bitstreamofconsciousness.blogspot.com/2007/06/on-orange-juice-and-toilet-paper.html"&gt;quality&lt;/a&gt; can be very expensive.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;"Is this going to be a stand up fight, sir, or another bug hunt?" --Aliens&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Bugs can come from the most innocuous of places, like a misplaced or missing character in a line of code, a typo in a specification, or any number of simple human mistakes. They can also come from unexpected external interactions, like electronics shorting when the power surges, or when the cleaning crew unplugs the it's-always-on computer once a week to plug in the vacuum, or the local horseflies land on and trigger a touch screen when the operator isn't in front of it, or when the color blind guy doesn't see the red-on-white annotation on the specification. (All based on true stories.) Finding and fixing these sorts of bugs resembles a combination of lab and detective work. If you can just get that one extra piece of information that will make the bug make sense, you can isolate it and fix it. Probably. Debugging makes up the lion's share of the drudgery of programming. Finding all the edge cases, closing all the logic holes, making the program bullet proof, it's all part of the job. And it's hard.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;"Adjusting to the requirement for perfection is, I think, the most difficult part of learning to program." --Frederick Brooks, Jr. "The Tar Pit"&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As a person, I can not overstate how bad it is that people have been hurt and killed by the problems with Toyota vehicles, but as a programmer, I feel for the people who are right now working as hard as they can to figure out what exactly is going wrong and why. Here's hoping they come across that elusive information they need to squash this particularly nasty bug.&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/8336831005230062280-1423589516453053976?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/1423589516453053976/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=1423589516453053976' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/1423589516453053976'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/1423589516453053976'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2010/04/sympathy-for-devil.html' title='Sympathy For the Devil'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-8082017425588338706</id><published>2010-03-28T20:33:00.004-04:00</published><updated>2010-03-28T21:02:05.250-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='green tech'/><title type='text'>Alternative Power: Recent Hype, Potential, and Deployment</title><content type='html'>The green power news cycle tends to be about hype for future potential more than actual progress, mainly because the progress is still going on mostly in labs.  However there was one announcement of a product that is actually out in the real world: the Bloom Energy fuel cell.  Reportedly already in use with the potential to be price competitive with other sources.  Unfortunately, &lt;a href="http://arstechnica.com/science/news/2010/02/bloom-energy-fuel-cell-claim-raises-hype-questions.ars"&gt;details are quite slim&lt;/a&gt;.  From a personal perspective, fuel cells are nifty, but this one still uses fossil fuels as the primary source, so it's not exactly solar-clean.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Speaking of solar, the good folks out at CalTech are experimenting with a new material that should be as efficient as the best solar cells on the market, but uses on the order of &lt;a href="http://www.technologyreview.com/energy/24665/?a=f"&gt;one one-hundredth of the material to produce&lt;/a&gt;.  Yep, it's still in the lab, but it's nice to see progress in all sorts of different places. Happily, such advances may not stay in the lab forever.  Local microchip maker RF Micro Devices has announced their intention to &lt;a href="http://www.news-record.com/content/2010/03/15/article/rf_micro_announces_advancement_for_the_solar_power_industry"&gt;begin developing solar cells&lt;/a&gt; using their existing microchip technology.  This could make them an early leader in solar production.  They hope to be entering the market in about two years.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And while I'm talking about local news, the city has announced their intention to add &lt;a href="http://www.news-record.com/content/2010/03/20/article/greensboro_plans_two_renewable_energy_projects"&gt;a power generating turbine&lt;/a&gt; to the inflow of the local water treatment plant.  The inflowing water has to be slowed, and the turbine will recapture some of that wasted energy to create electricity.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-8082017425588338706?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/8082017425588338706/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=8082017425588338706' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/8082017425588338706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/8082017425588338706'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2010/03/alternative-power-recent-hype-potential.html' title='Alternative Power: Recent Hype, Potential, and Deployment'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-6742180100564819067</id><published>2010-03-27T07:18:00.002-04:00</published><updated>2010-03-27T07:21:39.979-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='distractions'/><title type='text'>A Plug for Better Writers than Me</title><content type='html'>Just a quick note to pass on a link to "&lt;a href="http://www.gamerswithjobs.com/node/49632"&gt;Ordinary Average Guy&lt;/a&gt;."  It's writing of this quality, and the discussion that follows, that keeps me returning to &lt;a href="http://www.gamerswithjobs.com/"&gt;Gamers With Jobs&lt;/a&gt;, even during times when I'm not actually playing games much.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-6742180100564819067?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/6742180100564819067/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=6742180100564819067' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/6742180100564819067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/6742180100564819067'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2010/03/plug-for-better-writers-than-me.html' title='A Plug for Better Writers than Me'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-7204809556499557476</id><published>2010-03-09T17:39:00.001-05:00</published><updated>2010-03-09T17:41:05.649-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='quotations'/><title type='text'>Quote of the Moment</title><content type='html'>"We're all going to be one big, happy family with guns locked in a bloody, never-ending struggle for cap points."&lt;div&gt;--The Team Fortress 2 &lt;a href="http://teamfortress.com/post.php?id=3578"&gt;blog post&lt;/a&gt; on the coming of Valve games to Macintosh computers.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-7204809556499557476?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/7204809556499557476/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=7204809556499557476' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/7204809556499557476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/7204809556499557476'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2010/03/quote-of-moment.html' title='Quote of the Moment'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-7297313760828226581</id><published>2010-02-20T16:40:00.008-05:00</published><updated>2010-02-20T17:09:29.890-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='editorial'/><title type='text'>Exploring Creativity Through Lightsaber Fights</title><content type='html'>The hardest thing about creativity is all the work you have to put in before you can actually take advantage of it.  No matter what endeavor you choose to pursue, chances are you will have to go a very long way before you can even start down the path you envisioned.  With the Internet at our fingertips, we have a tremendous resource for learning, sharing, and encouraging one another, but it can also be distracting, discouraging, and overwhelming.  This line of thinking started for me when, while link following one afternoon, I ran across this bit of nonsense from the Jace Hall Show.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;object id="ignplayer" data="http://media.ign.com/ev/embed.swf" type="application/x-shockwave-flash" height="270" width="480"&gt;&lt;param name="movie" value="http://media.ign.com/ev/embed.swf"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;param name="bgcolor" value="#000000"&gt;&lt;param name="flashvars" value="vgroup=jacehall_prt_felicaday&amp;amp;article=1062228"&gt;&lt;/object&gt;&lt;div style="width: 480px;"&gt;&lt;a href="http://video.ign.com/dor/articles/1062228/jace-hall-show/videos/jacehall_prt_felicaday.html"&gt;Jace Hall Show: Felicia Day Light Saber Fight&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Hey, I thought to myself, that's a pretty impressive lightsaber fight.  The technology available to create such things has really come a long way, hasn't it.  But the more I thought about it, the more I realized that reaction didn't tell the proper story.  It doesn't really matter how cheap video cameras have become, or how video editing and processing software is within the reach of mainstream desktop computers.  If I were to try and make a video like that I'd end up looking like that poor Star Wars Kid.&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;object height="340" width="560"&gt;&lt;param name="movie" value="http://www.youtube.com/v/lQN1bfoePBA&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;rel=0"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/lQN1bfoePBA&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="340" width="560"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;The story behind that video is a sad one, because what was posted publicly was someone captured in the early stages of learning, experimenting, and having fun.  The first time you pick up a guitar, even if you have someone teaching you, you aren't going to sound like Hendrix.  Your first attempt at &lt;span style="font-style: italic;"&gt;anything&lt;/span&gt; isn't likely to be very good.  Mostly it will be, if we stick to Internet memes, an epic fail.  But you will be ever so slightly better the next time.  A creative success is just another failure with a tiny, almost imperceptible improvement iterated over the course of months, years, or even decades.  And there is another factor in the lightsaber fight between Mr. Hall and Ms. Day: the third person.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;object height="340" width="560"&gt;&lt;param name="movie" value="http://www.youtube.com/v/8NE5elL30w4&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;rel=0"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/8NE5elL30w4&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="340" width="560"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;As you can see, there is some experience at play here.  In fact, you have to do the tiniest bit of research to learn that everyone involved in the top clip is in the creative industry.  Jace Hall works in interactive entertainment and television.  Felicia Day is a writer and actor.  Both have their own web series.  The third person in the clip is Michael Scott, an independent filmmaker and special effects artist who has made some very popular lightsaber fighting shorts.  They have put years into practicing the skills on display in a couple minutes of video.  And these are just the people prominently featured in the clip.  There are no doubt others filling in the "behind the scenes" roles that make the polished clip what it is.&lt;br /&gt;&lt;br /&gt;Even solitary creative pursuits can benefit from collaboration that encourages, teaches, or supports.  Sometimes just knowing that others are out there having similar struggles can be a balm for the ground down spirit.  And often you can see people's progression in skill as they continue to practice their art.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;object height="505" width="640"&gt;&lt;param name="movie" value="http://www.youtube.com/v/-is63goeBgc&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;rel=0"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/-is63goeBgc&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="505" width="640"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;So maybe you are a little discouraged at how hard something is to get into, or your latest attempt doesn't match the vision you had for it.  Remember that everything is a learning experience.  Heck, maybe this post didn't express what I was trying to say terribly well.  It's OK, it's just practice.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;PS: Higher res versions of the Ryan vs. Dorkman videos are available for download through &lt;a href="http://www.ryanvsdorkman.com/"&gt;ryanvsdorkman.com&lt;/a&gt;.  DVDs too.  Naturally, you can follow &lt;a href="http://feliciaday.com/"&gt;Felicia Day&lt;/a&gt;'s and &lt;a href="http://jacehall.tv/"&gt;Jace Hall&lt;/a&gt;'s work through their respective web sites as well.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-7297313760828226581?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/7297313760828226581/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=7297313760828226581' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/7297313760828226581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/7297313760828226581'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2010/02/exploring-creativity-through-lightsaber.html' title='Exploring Creativity Through Lightsaber Fights'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-6557448100635887231</id><published>2010-02-20T16:40:00.003-05:00</published><updated>2010-02-20T16:44:39.362-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='randomness'/><title type='text'>I Smell Awsome</title><content type='html'>Old Spice has been running completely bat guano nuts commercials for a while now, but one I have been seeing lately cracks me up more than most.  Here, without further ado is the man your man could smell like:&lt;br /&gt;&lt;div style="text-align:center"&gt;&lt;br /&gt;&lt;object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="512" height="288"&gt;&lt;br /&gt;    &lt;param name="allowScriptAccess" value="always" /&gt;&lt;br /&gt;    &lt;param name="allowFullScreen" value="true" /&gt;&lt;br /&gt;    &lt;param name="movie" value="http://www.oldspice.com/_swf/embedplayer.swf" /&gt;&lt;br /&gt;    &lt;param name="flashvars" value="vid=22"&gt;&lt;br /&gt;    &lt;embed src="http://www.oldspice.com/_swf/embedplayer.swf" flashvars="vid=22" width="512" height="288" allowFullScreen="true" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"&gt;&lt;/embed&gt;&lt;br /&gt;    &lt;/object&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/8336831005230062280-6557448100635887231?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/6557448100635887231/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=6557448100635887231' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/6557448100635887231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/6557448100635887231'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2010/02/i-smell-awsome.html' title='I Smell Awsome'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-6986852798779175213</id><published>2010-02-14T09:18:00.003-05:00</published><updated>2010-02-14T09:23:35.042-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='quotations'/><title type='text'>Quote of the Moment</title><content type='html'>Those very principles of efficiency and flawlessness that earned Toyota Motor Corp. a near perfect reputation couldn't prevent problems cropping up in area outside the factory, areas just as crucial these days in the industry -- design development, crisis management, and software programming.&lt;br /&gt;--Yuri Kageyama, AP Business Writer in "&lt;a href="http://news.yahoo.com/s/ap/20100214/ap_on_bi_ge/toyota_recall_wrong_way"&gt;Recall woes show new challenges for 'Toyota Way'&lt;/a&gt;"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-6986852798779175213?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/6986852798779175213/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=6986852798779175213' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/6986852798779175213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/6986852798779175213'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2010/02/quote-of-moment_14.html' title='Quote of the Moment'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-2559177388495060686</id><published>2010-02-08T19:56:00.002-05:00</published><updated>2010-02-08T20:00:22.277-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='quotations'/><title type='text'>Quote of the Moment</title><content type='html'>"The leadership of a public company like Sun or Oracle, the kind that  anyone can own a share in by buying public stock, is bound by what is  known as the "fiduciary duty" -- their decisions must be made with the  goal of maximizing company profit, to be paid out to its owners in the  form of dividends to the shareholders. Shareholders supervise the  executives' fulfillment of this duty through a board of directors, who  are elected by the shareholders and usually represent the interests with  the largest shares. Notice that the well-being of employees, or of the  public at large in the economy in which a company participates, are not a  part of this equation."&lt;br /&gt;--Excerpt from &lt;a href="http://www.simmons.de/blog/index.php?itemid=169"&gt;an essay&lt;/a&gt; by Geoff Simmons on his departure from now-defunct Sun.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-2559177388495060686?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/2559177388495060686/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=2559177388495060686' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/2559177388495060686'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/2559177388495060686'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2010/02/quote-of-moment_08.html' title='Quote of the Moment'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-2487410373769602167</id><published>2010-02-07T17:40:00.001-05:00</published><updated>2010-02-07T17:41:33.207-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='quotations'/><title type='text'>Quote of the Moment</title><content type='html'>For every expert there is an equal and opposite expert.  –(Arthur C.) Clark’s 4th law.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-2487410373769602167?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/2487410373769602167/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=2487410373769602167' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/2487410373769602167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/2487410373769602167'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2010/02/quote-of-moment.html' title='Quote of the Moment'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-4321419915482406849</id><published>2010-01-31T11:55:00.001-05:00</published><updated>2010-01-31T11:58:29.851-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='randomness'/><title type='text'>January Grab-bag</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Y1ZKEi5XjG8/S2W2n9rZDSI/AAAAAAAAAHs/fL9th39cSuo/s1600-h/InvertedStarfield_s.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 197px;" src="http://4.bp.blogspot.com/_Y1ZKEi5XjG8/S2W2n9rZDSI/AAAAAAAAAHs/fL9th39cSuo/s400/InvertedStarfield_s.jpg" alt="" id="BLOGGER_PHOTO_ID_5432949323180084514" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;The new year hit the ground running.  The news of this week was the winter storm that blew through the area.  I got about 5 inches of snow and another inch of sleet on top.  It was very cold, so the whole lot is powdery and easy to shovel. As I tried to capture in the picture above, the ice crystals are big enough to really reflect the light, which made for a dazzling morning's view.&lt;br /&gt;&lt;br /&gt;On the entertainment front, I've just finished reading William Gibson's &lt;u&gt;Spook Country&lt;/u&gt;, which sadly wasn't up to the standard set by the exceptional &lt;u&gt;Pattern Recognition&lt;/u&gt;.  It's not bad by any means, but all the main characters are passive participants, being dragged along by events or other people.  It made the stakes lower than I'm used to in a Gibson novel.  I finally watched Hitchcock's "The Birds," thanks to BBC America.  I'm not a big fan of the sub-genre of horror to which it belongs, so there was an automatic bias against it, but the moment when the birds are gathering outside the school is intensely creepy.  The winter TV deluge is well under way, with Dollhouse finishing up this past Friday and new (to the US) Top Gear cranking engines tomorrow.&lt;br /&gt;&lt;br /&gt;The news remains both depressing and utterly samey.  So instead of messing around with links, I will just provide one that explains the rest.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;object height="340" width="560"&gt;&lt;param name="movie" value="http://www.youtube-nocookie.com/v/YtGSXMuWMR4&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;rel=0&amp;amp;color1=0x3a3a3a&amp;amp;color2=0x999999"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube-nocookie.com/v/YtGSXMuWMR4&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;rel=0&amp;amp;color1=0x3a3a3a&amp;amp;color2=0x999999" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="340" width="560"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Things have been slow on the hobby front lately.  Had a blast playing guitar and singing with some old friends, further solidifying that I just don't spend enough time practicing.  I have done even less drawing lately, though I did put in around three hours (over an extended period of time) to produce a fantasy style map.  The iconography was heavily influenced by the old Dungeons and Dragons map symbols.  With only three hours in it, it's just sketch quality.  And since I don't have a lightbox, it's unlikely to ever get inked properly.  It was a good learning exercise, and turned out decently enough.  Happily, Tolkien's Lord of the Rings maps aren't all that complex, so he can provide inspiration without pressure.  It also lead me to stumble across this post on &lt;a href="http://makingmaps.net/2008/04/03/map-symbols-landforms-terrain/"&gt;Erwin Raisz's utterly stunning landform mapping technique&lt;/a&gt;.  Attempting these will make for some wonderful sketchbook practice, should I ever get myself to sit back down to it.&lt;br /&gt;&lt;br /&gt;Speaking of guitar playing, I ran across this fine example of skill levels I will almost certainly never attain, but it's fun to dream, and besides I haven't heard a straight instrumental electric guitar song in quite a while.  Here's Orianthi and Steve Vai with Highly Strung.&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;object height="340" width="560"&gt;&lt;param name="movie" value="http://www.youtube-nocookie.com/v/G7b-_YcACuQ&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;rel=0&amp;amp;color1=0x3a3a3a&amp;amp;color2=0x999999"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube-nocookie.com/v/G7b-_YcACuQ&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;rel=0&amp;amp;color1=0x3a3a3a&amp;amp;color2=0x999999" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="340" width="560"&gt;&lt;/embed&gt;&lt;/object&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/8336831005230062280-4321419915482406849?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/4321419915482406849/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=4321419915482406849' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/4321419915482406849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/4321419915482406849'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2010/01/january-grab-bag_31.html' title='January Grab-bag'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Y1ZKEi5XjG8/S2W2n9rZDSI/AAAAAAAAAHs/fL9th39cSuo/s72-c/InvertedStarfield_s.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-1300789252666794878</id><published>2009-12-29T10:17:00.003-05:00</published><updated>2009-12-29T11:07:52.874-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='editorial'/><title type='text'>The Requisite Retrospective</title><content type='html'>As 2009 careens to an end, many folks are taking a look back, and I'm no different.  It really has been a huge decade on so many levels.  We've seen the terrorist attack of Sept. 11, 2001, constant low-intensity wars, the first non-Caucasian U.S. President, and rovers on Mars.  The echos of the .com bubble at the start of the decade have settled and the full effects of the mortgage collapse will ripple into the next decade.  Technology has seen dramatic, sweeping changes.  Digital cameras have gone from proof of concept to ubiquitous.  Digital and High Definition television came onto the scene only to be immediately challenged by streaming video.  Cell phones have gone from bulky luxury items to indispensable, not to mention from phones to pocket Internet computers.  Google got big and went public while the Internet survived Y2K scares and spawned social media.  The iPod changed how we listen to music, and helped Apple become something more than a niche company.  Pluto got demoted from being a planet, and it looks like the universe is expanding at an accelerating rate rather than slowing down.  Two different space probes left the area of influence of our sun to enter interstellar space proper.  Doctor Who regenerated.&lt;br /&gt;&lt;br /&gt;On a personal level, it's been the decade where I entered my career, and held down a job for nearly nine years and counting.  I've been through two surgeries, one of which really changed my life for the better.  I moved into my first home, totaled my first car, and built a computer from parts, and participated in my first in-depth Bible study.  I started to blog semi-regularly in 2005, switching to regularly in 2007.  I managed to post weekly for over two years (producing very little original content in that time).&lt;br /&gt;&lt;br /&gt;Looking back over the decade, what I most clearly see the faces of the people who have made my life what it is.  Old friends from high school and college, folks from church who gave me insights into my faith, people from work who taught me the million things I have learned on the job and became friends in the process, and my ever-faithful family stand out as shining highlights in a world that has seen much darkness.&lt;br /&gt;&lt;br /&gt;Looking forward has never been a particular specialty of mine, but it's always worth a try.  The days of me regularly posting here ended a couple months ago so I could redirect my time to other pursuits, but I don't intend to let things here go completely fallow.  The next decade will give us technological wonders beyond what we expect, though it's easy to predict that cable TV will face the full weight of the Internet that has already enveloped the print media and music industries.  Our lives will continue to become more connected, with all the convenience and inconvenience that implies.  Politics will likely continue to depress me.  It's even remotely possible that I will finally send a text message.&lt;br /&gt;&lt;br /&gt;Welcome to The Future everyone!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-1300789252666794878?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/1300789252666794878/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=1300789252666794878' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/1300789252666794878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/1300789252666794878'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2009/12/requisite-retrospective.html' title='The Requisite Retrospective'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-3745445696826818221</id><published>2009-12-27T20:53:00.001-05:00</published><updated>2009-12-27T20:54:46.775-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='quotations'/><title type='text'>Quote of the Moment</title><content type='html'>"I wish that, just once, some terrorist would try something that you can only foil by upgrading the passengers to first class and giving them free drinks."&lt;br /&gt;--Bruce Schneier, &lt;a href="http://www.schneier.com/blog/archives/2009/12/separating_expl.html"&gt;in his Schneier on Security blog&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-3745445696826818221?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/3745445696826818221/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=3745445696826818221' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/3745445696826818221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/3745445696826818221'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2009/12/quote-of-moment.html' title='Quote of the Moment'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-6694776480126450687</id><published>2009-12-23T16:54:00.002-05:00</published><updated>2009-12-23T17:37:04.828-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='distractions'/><title type='text'>A Brief Dollhouse Epiphany</title><content type='html'>With only around three episodes left in Joss Whedon's latest show Dollhouse, I can finally pin a genre on it.  It's a horror show.  Considering it's always been about exploring the dark and desperate side of humanity, I suppose I shouldn't be as surprised as I am.  But after this past week's pair of episodes, I can certainly say I have not been creeped out by a TV show this much in a long time.  Possibly ever.  The implications of a technology that can directly manipulate the human brain at the level of personality were bad enough in the first season, and have now been blown wide open.  And they are truly scary.  The idea of having your personality stored on a hard drive while your body is reprogrammed to do goodness only knows what is a magnificent horror premise.  If you can watch without being disturbed then I'm not sure I want you anywhere around me.&lt;br /&gt;&lt;br /&gt;However, "disturbing" doesn't exactly make for a great TV show pitch.  And it doesn't help that the show didn't really come together well until after the first season.  (Though you can make a case for the un-aired season one finale "Epitaph One" as being the real turning point.)  A better writer than I am has a &lt;a href="http://scifiwire.com/2009/12/7-ways-dollhouse-could-ha.phphttp://scifiwire.com/2009/12/7-ways-dollhouse-could-ha.php"&gt;cogent summary of the missed potential on scifiwire&lt;/a&gt;.  I could go into my own litany (why bring Paul into the second season when Boyd was already in a better position to fill the role he now plays?), but it's easy for an outsider to criticize.  I'm no writer, just a viewer.  And from my seat on the couch, Dollhouse had the potential to be better sci-fi than Battlestar Galactica, better even, perhaps, than Firefly, but that potential was not quite realized.  However, us viewers will get a complete story out of it, which is better than most can manage.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-6694776480126450687?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/6694776480126450687/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=6694776480126450687' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/6694776480126450687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/6694776480126450687'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2009/12/brief-dollhouse-epiphany.html' title='A Brief Dollhouse Epiphany'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-1100591736789364612</id><published>2009-11-29T21:16:00.000-05:00</published><updated>2009-11-29T21:17:52.504-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='quotations'/><title type='text'>Quote of the Moment</title><content type='html'>My analysis is: “&lt;em&gt;this place is [freaking] confusing&lt;/em&gt;” and I think I’m talking about the bookstore, but I’m actually talking about my brain.&lt;br /&gt;–Michael Lopp, (author of Managing Humans) in his Rands in Repose blog.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-1100591736789364612?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/1100591736789364612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=1100591736789364612' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/1100591736789364612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/1100591736789364612'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2009/11/quote-of-moment_29.html' title='Quote of the Moment'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-6898426543646547843</id><published>2009-11-28T14:11:00.002-05:00</published><updated>2009-11-28T14:13:32.187-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='quotations'/><title type='text'>Quote of the Moment</title><content type='html'>Creativity is a lot like happiness.  It shows up when you are thinking of something else.&lt;br /&gt;--Bert Dodson, &lt;u&gt;Keys to Drawing with Imagination&lt;/u&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-6898426543646547843?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/6898426543646547843/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=6898426543646547843' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/6898426543646547843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/6898426543646547843'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2009/11/quote-of-moment.html' title='Quote of the Moment'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-898527120140936433</id><published>2009-11-11T20:11:00.002-05:00</published><updated>2009-11-11T20:27:34.376-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Could Go Be a New Beginning For Programmers?</title><content type='html'>Google has announced a new programming language called &lt;a href="http://golang.org/"&gt;Go&lt;/a&gt;.  Normally, I wouldn't look on a new language as a big deal.  Really, programming languages are a dime a dozen these days, and me investing the time to really learn the nuances of one pretty much requires monetary compensation at this point.  But, in this case there just might be something very, very interesting happening.  You see, Go is positioned as a compiled-to-native systems language, and that to me is a huge, huge deal.&lt;br /&gt;&lt;br /&gt;Right now, C and its offshoots C++ and Objective C rule the systems landscape.  Java, C#, Python, Ruby, Pearl, and many, many other currently popular languages featuring more modern language features than the systems level C family all have one thing in common: they run on virtual machines.  And virtual machines have to be loaded before they can run a program.  This artificially increases both the start-up time and overhead necessary to run a program.  What I'm saying here is that C is very fast at run-time.  Sadly, C and friends don't have many of the modern features that make programmers happy, like automated memory management (a.k.a. garbage collection), concurrency support, closures, etc.  (If you want to know what any of those things mean, try Wikipedia.  If not, just know that programmers like having them.)  Go is an attempt to provide the more modern programming features while retaining the pure speed of a fully compiled language.&lt;br /&gt;&lt;br /&gt;As much as I love me some C, if Google's new language gains traction and becomes a truly useful system level tool, it could open a new level of productivity for crazy people like myself.  And everyone likes it when their computer programs run faster.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-898527120140936433?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/898527120140936433/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=898527120140936433' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/898527120140936433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/898527120140936433'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2009/11/could-go-be-new-beginning-for.html' title='Could Go Be a New Beginning For Programmers?'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8336831005230062280.post-583479151109228363</id><published>2009-11-08T19:51:00.002-05:00</published><updated>2009-11-08T20:56:10.350-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Thoughts Upon an Encounter with a Virus</title><content type='html'>The news this year has been full of stories about the H1N1 variant of the flu virus.  The rate of contagion has reached official pandemic stages, though the flu season has barely started.  H1N1 vaccines are scarce, and all the publicity has put the normal seasonal vaccine in higher demand as well.  Worried parents, official office policies, and overwrought newscasters all react to the possibility of the virus causing real, serious problems.  But H1N1 isn't what I'm writing about this evening.  Thankfully, so far, I have not contracted a real flu.  My main computer, however, did contract a virus.  Given the increasingly digital nature of our lives, computer viruses can be just as annoying as the real ones.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://en.wikipedia.org/wiki/Computer_virus"&gt;Computer viruses&lt;/a&gt;, in all their various forms subvert the general utility of the computer for the purposes of crime or destructive mischief.  The virus I got was of the former type.  It included the ability to watch for inputs to certain sites to capture my login credentials.  Luckily, since I have a hardware firewall, in the form of a router, separating my machines from the Internet, the evil thing should not have been able to communicate properly.  It's still a worry though.  I haven't run active virus software in years due to the horrible toll it takes on a computer's performance.  Lately however, I had gotten complacent in my scanning.  I became suspicious when the machine gave me an error at login that I hadn't seen before, and immediately installed Microsoft Security Essentials.  It found and identified the little bugger, but it wasn't able to actually completely clean it out.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Like real viruses, computer viruses are changing constantly.  Completely new viruses and variants of existing ones are constantly being released by the nefarious people who create them, and some even have the ability to change their own code to escape the detectors.  This results in the same situation as real life: there aren't always ways to defeat a virus, and &lt;a href="http://arstechnica.com/security/news/2009/10/av-comparatives-picks-six-malware-removal-winners.ars"&gt;no antivirus product is completely effective&lt;/a&gt;.  Sometimes the only way to cure an infected computer is to completely replace its hard drive(s). Yes, that's a bit like nuking it from orbit, but it's the only way to be sure. Happily for my computer a combination of two antivirus products (both free) and some research on the web appear, with reasonable confidence, to have gotten rid of my little infection.  In any case, I'm back to being diligent about my antivirus scanning.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;One of the consequences of everything in the computer being numbers is how simple it is to be destructive.  Early in my computer science education I learned how to render a hard drive unreadable with one instruction, or go a long way toward erasing it with three. That's one of the reasons they teach ethics as part of a CS program. These days, both hardware vendors and software writers are much, much more aware of the danger of malicious code and the need for secure and defensive programming in general.  But the beasts remain at the gate.  Sending spam e-mails pulls in huge amounts of money for the criminals, and using infected computers (often called "zombies") to send them reduces their costs to essentially zero and makes them very difficult to track.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The lesson here is simple: the price of the Internet is eternal vigilance.  Put another way, it's a spin on the lesson of the Tower of Babel: when computers are allowed complete communication, they can accomplish anything, even their own destruction.  Fight the evil: run your virus scanners periodically, if your machine suddenly changes how it behaves scan it immediately.  If the scanner finds something, punch it into Google and see if you can find a description of what it might do and how it spreads.  Be aware of others you may have exposed.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Also, get a flu shot.  Just in case.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8336831005230062280-583479151109228363?l=bitstreamofconsciousness.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitstreamofconsciousness.blogspot.com/feeds/583479151109228363/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8336831005230062280&amp;postID=583479151109228363' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/583479151109228363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8336831005230062280/posts/default/583479151109228363'/><link rel='alternate' type='text/html' href='http://bitstreamofconsciousness.blogspot.com/2009/11/thoughts-upon-encounter-with-virus.html' title='Thoughts Upon an Encounter with a Virus'/><author><name>Brian</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
