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

<channel>
	<title>timgarrett.net</title>
	<atom:link href="http://www.timgarrett.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.timgarrett.net</link>
	<description>software - technology - politics - random rants</description>
	<lastBuildDate>Wed, 15 Feb 2012 04:24:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Adieu to Facebook</title>
		<link>http://www.timgarrett.net/2012/02/14/adieu-to-facebook/</link>
		<comments>http://www.timgarrett.net/2012/02/14/adieu-to-facebook/#comments</comments>
		<pubDate>Wed, 15 Feb 2012 04:24:29 +0000</pubDate>
		<dc:creator>Tim Garrett</dc:creator>
				<category><![CDATA[Rants]]></category>

		<guid isPermaLink="false">http://www.timgarrett.net/?p=77</guid>
		<description><![CDATA[I deactivated my Facebook account tonight. I&#8217;ve been threatening it a while now. I finally reached my tipping point. While filling out the deactivation form, I was asked [..]]]></description>
			<content:encoded><![CDATA[<p>I deactivated my Facebook account tonight.  I&#8217;ve been threatening it a while now.  I finally reached my tipping point.</p>
<p>While filling out the deactivation form, I was asked to select a reason.  I selected &#8216;Privacy Concern&#8217; and filled out the explanation below:</p>
<blockquote><p>My privacy concern is that no one seems interested in having any.  The oversharing on here pretty much tells me that our society is teetering over the edge of depravity.  One of my Facebook friends (a parent of a small child) posted a comment on another parent&#8217;s picture posting of their kids bowel movement.  With the new feed features, that of course &#8220;plopped&#8221; right into my news feed.  I hope Mark Zuckerberg ends up broke and homeless for this foul invention.</p></blockquote>
<p>Please stop the insanity, people.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timgarrett.net/2012/02/14/adieu-to-facebook/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spring Annotations That Look More Like the Disease Than the Cure #Java</title>
		<link>http://www.timgarrett.net/2012/02/02/spring-annotations-that-look-more-like-the-disease-than-the-cure-java/</link>
		<comments>http://www.timgarrett.net/2012/02/02/spring-annotations-that-look-more-like-the-disease-than-the-cure-java/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 05:39:09 +0000</pubDate>
		<dc:creator>Tim Garrett</dc:creator>
				<category><![CDATA[Geek Speak]]></category>

		<guid isPermaLink="false">http://www.timgarrett.net/?p=69</guid>
		<description><![CDATA[First off, I will preface this post with the caveat that I have a lot of respect for the Spring framework and the talented engineers who brought it [..]]]></description>
			<content:encoded><![CDATA[<p>First off, I will preface this post with the caveat that I have a lot of respect for the Spring framework and the talented engineers who brought it to the community.  Given a blind choice between a Spring framework and a competing framework from another vendor, I think I would be much inclined to select Spring.  I understand the pressures that public companies are under and that they have to cater to silly forces and marketing campaigns to stay relevant and profitable.</p>
<p>I was watching a webinar today about changes in Spring Security 3.0/3.1, and I have to say that it provided me with one of the most readily explainable examples of what has been giving me uneasy feelings for some time now, namely the proliferation of Java annotations for imprudent uses.</p>
<p>Annotations are a great mechanism for providing cross-cutting functionality in a more readable and less invasive mechanism.  In many cases they enable such object-oriented principles as &#8220;favor composition over inheritance&#8221;.  Behaviors perpendicular to business logic such as logging, auditing, and transaction management can be indicated in a simple way which points to functionality defined and running elsewhere.  Some functionality is, in my humble opinion, clearly inappropriate in such a container.  For example, I find it a rather poor way to &#8220;externalize&#8221; configuration.  Your username, password, ports, and protocols for a 3rd party integration don&#8217;t belong in annotations.  Nor is there any value in defining algorithms or strategies in 20 lines of bizarre declarative annotations.  Code has its place as do annotations.</p>
<p>The specific example I saw in Spring Security that I am highlighting was the new annotations that support an expression language.  It is, in all actuality, the classic anti-pattern of a magic string.  Scripting code to support permission evaluations is written in yet-another-expression-language and placed directly alongside the code it influences.  The code is untyped, completely framework-proprietary, and brittle.  It doesn&#8217;t take much imagination or foresight to see the things that can go wrong, like a very simple refactoring not being reflected in annotation code.</p>
<p>So far I&#8217;ve been very abstract, so here&#8217;s what I&#8217;m talking about:<br />
<code></p>
<pre>
  @PreAuthorize("hasRole('ROLE_ADMIN') or hasRole('ROLE_EDITOR')")
  public void doPrivilegedStuff() {
     ...
  }
</pre>
<p></code></p>
<p>Users of dynamic languages who have fully bought into Test-Driven Development might not give this any thought.  However, the reality of the Java applications I have worked with professionally is that unit testing is considered a luxury and 20-30% line test coverage is pretty remarkable. I do know this type of code (and it is CODE) hidden in a inline DSL is likely to suffer from typos and errors that are only caught at runtime.  If you are especially unlucky, a typo might even make security silently allow access inappropriately.</p>
<p>I think a better approach would be something like:<br />
<code></p>
<pre>
  @PreAuthorize(AdminPermissionEvaluator.class)
  public void doPrivilegedStuff() {
     ...
  }

  public class AdminPermissionEvaluator implements PermissionEvaluator {

      boolean hasPermission(Authentication authentication,
                            Object targetDomainObject,
                            Object permission) {
          return isUserInRole(authentication, Roles.ADMIN)
                  || isUserInRole(authentication, ROLES.EDITOR)
   }

  boolean hasPermission(Authentication authentication,
                        Serializable targetId,
                        String targetType,
                        Object permission) {
      return isUserInRole(Roles.ADMIN)
              || isUserInRole(Roles.EDITOR);
  }

  boolean isUserInRole(Authentication authentication, GrantedAuthority authority) {
      for(final GrantedAuthority authority : authentication.getAuthorities()) {
          if(authority.equals(authority)) {
              return true;
          }
      }
     return false;
  }
</pre>
<p></code><br />
(This is example blog pseudo-code that has never been in an IDE or compiled, but you get the idea).</p>
<p>So, what did we give up and what did we gain?  We gave up some brevity and completely inlining the permission evaluator.  We gained: 1.) strongly-typed code, 2.) a reusable and testable permission evaluator, 3.) a guarantee that refactoring won&#8217;t trash our security, 4.) the ability to unit test and validate security at build time, 5.) death to magic strings, 6.) A separate class in which we could inject DAOs, external services, or integration code necessary to determine the specifics of fine-grained permissions.</p>
<p>My usage of Spring Security until now has basically consisted of HTTP basic authentication for web apps and REST services as well as basic role-based security where the roles are known and can be enumerated when the code is written.  So, I am almost sure there is a way in Spring Security to do exactly what I am suggesting.  What I take issue with is a framework purporting to be a better alternative to JavaEE providing functionality that will almost NEVER improve development and will probably actively harm a novice developer who uses it, especially in the context of long-term MAINTENANCE development.  A framework should actively steer users toward smart solutions while still allowing them low-level access to interfaces, base classes, and configurations which can be harmful if used incorrectly.  It shouldn&#8217;t just hand them the dangerous functionality as a heralded and celebrated feature.</p>
<p>It&#8217;s not just Spring Security going down this road either.  Spring&#8217;s core functionality is starting to provide silly ways to do things with annotations also.  Using Spring but without tainting every class in your application used to be something that the Spring community really preached.  Now, everyone seems to be screaming &#8220;death to XML configuration&#8221; while taking 3 steps backwards in code maintainability.  Just because you can make it fit into an annotation doesn&#8217;t mean you should.  Hell, you could just mix metaphors and put a whole XML config file into the a String value of an annotation if you really want to make a screwed-up application.</p>
<p>I can&#8217;t help but think of flawed Consult-Use-Retire-Consult cycle that I have observed in organizations with insufficient critical thinking skills.  A Consultant produces some software using some new &#8220;cutting edge&#8221; framework or technology, a client Uses it for a time and eventually finds it doesn&#8217;t meet their needs, a developer or support team is unable to make it work causing it to be Retired, and finally a Consultant is paid to create the same base functionality but with a larger feature set and a completely different design that will soon lead to another consultant starting from scratch.  In other words, the only people that ever seem to profit from poorly maintainable code are hourly consultants and the companies that employ them!</p>
<p>In conclusion, I like Spring.  It&#8217;s a cool set of frameworks that have done a lot of great things for Java developers.  But, I can&#8217;t help but feel the organization may be starting to lose its way dumbing down development to the point of framework-endorsed worst practices.  At the end of the day, good software usually isn&#8217;t all that sexy or easy and trying too hard to make it so usually points toward lack of maturity on the part of a development team.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timgarrett.net/2012/02/02/spring-annotations-that-look-more-like-the-disease-than-the-cure-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ron Paul Making His Move?</title>
		<link>http://www.timgarrett.net/2012/01/10/ron-paul-making-his-move/</link>
		<comments>http://www.timgarrett.net/2012/01/10/ron-paul-making-his-move/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 04:28:32 +0000</pubDate>
		<dc:creator>Tim Garrett</dc:creator>
				<category><![CDATA[other]]></category>
		<category><![CDATA[2012]]></category>
		<category><![CDATA[GOP]]></category>
		<category><![CDATA[Ron Paul]]></category>

		<guid isPermaLink="false">http://www.timgarrett.net/2012/01/10/ron-paul-making-his-move/</guid>
		<description><![CDATA[The election results in New Hampshire tonight seem pretty unexpected to me.  CNN is projecting Ron Paul to take second while trailing Romney by 15 points.  I hate [..]]]></description>
			<content:encoded><![CDATA[<p>The election results in New Hampshire tonight seem pretty unexpected to me.  CNN is projecting Ron Paul to take second while trailing Romney by 15 points.  I hate to read too much into it, but it seems like both the GOP establishment and the Tea Party are being abandoned.  I can&#8217;t help but hope the trend continues because I am adamant that neither group represents a clear path forward to for real solutions.</p>
<p>The GOP establishment, through the emphasis on Romney&#8217;s electability has made it clear that they want to put an R next to the President&#8217;s name with few other requirements.  The Tea Party talks a lot about reduced taxes and smaller government while also endorsing certain untenable and unconstitutional practices.  A Romney administration might well create and enlarge bureaucracies like the Obama health plan.  It is not inconceivable to me that a Tea Party administration might be equally large but with an emphasis on massive defense spending and beefed-up internal law enforcement to make sure all the subjects toe the line.</p>
<p>Ron Paul offers a new option.  His votes in Congress were based on one effective rubric&#8211;Constitutionality.  Oddly enough, that had him voting no on almost everything.  His critics call him naive and out of touch because he doesn&#8217;t think that the core governing principles required to sustain a free democracy have changed with the shifting winds of 200-odd years.  They think he is the naive one when he makes a cogent argument against a foreign policy based on obvious and covert manipulation of the internal affairs of countries around the globe.  Paul takes issue with turning our own country into an authoritarian police state to further special interests on the left or right.</p>
<p>Maybe this will finally be the year of the libertarian.  While I&#8217;m hoping, maybe the Occupiers who aren&#8217;t insane will take meaningful action by aligning behind Dr. Paul.  Real solutions don&#8217;t require governmment to right wrongs or punish the corporate interests, but rather to just get out of the way.  Greed and capitalism aren&#8217;t the answer but they aren&#8217;t the enemy either.  American ideals like courage, honor, and freedom embodied in our history and Constitution hold all the solutions we need.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timgarrett.net/2012/01/10/ron-paul-making-his-move/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Real Problem with Occupy Wherever #OWS</title>
		<link>http://www.timgarrett.net/2011/11/20/the-real-problem-with-occupy-wherever-ows/</link>
		<comments>http://www.timgarrett.net/2011/11/20/the-real-problem-with-occupy-wherever-ows/#comments</comments>
		<pubDate>Sun, 20 Nov 2011 23:32:39 +0000</pubDate>
		<dc:creator>Tim Garrett</dc:creator>
				<category><![CDATA[other]]></category>

		<guid isPermaLink="false">http://www.timgarrett.net/?p=64</guid>
		<description><![CDATA[I have blogged before about what I see as zombie groups united more by rage than any particular ideals.  I think some aspects of what I said then could [..]]]></description>
			<content:encoded><![CDATA[<p>I have blogged before about what I see as <a title="On Zombies" href="http://www.timgarrett.net/2011/08/09/on-zombies/" target="_blank">zombie groups</a> united more by rage than any particular ideals.  I think some aspects of what I said then could be applied to the Occupy groups, but I also recognize that most of the members of the Occupy movement have been somewhat better behaved than the mobs that committed sweeping acts of arson and destruction in London in August.  Regrettably, some have been just as bad, but I will give the Occupiers the benefit of the doubt and assume that was  not the wishes of the larger group.</p>
<p>What I have observed from both sides of Occupy debates, from the fiercest advocate to the most tenacious opponent, is that the groups seem to lack any shared context of cultural references, history, or even terminology.  It is truly frightening to me that we have groups in this country angry at each other who aren&#8217;t even discussing things from the same frame of reference.</p>
<p>Take political ideologies, for example.  The Occupiers have been bashing capitalism and their opponents have labeled the Occupiers as socialists.  Clearly then, socialism and capitalism must be opposites, right?  I disagree.  The opposite of any functional system of government is tyranny.  Socialism has worked for some, generally small, communities united by some ideal or purpose; religion or shared ethnic history has generally been that purpose rather than socialism itself.  (It is the elevation of socialism itself to the status of a great ideal or religion that makes it so appalling to some of us.)  Capitalism has brought great economic gains to many, and astonishing gains to a few, through a sometimes indiscernible blend of  corruption, ambition, and genius.  Though different in theory, in practice both socialism and capitalism have allowed power to concentrate into the hands of few, be it due to extraordinary service to the Party or concentration of wealth.  Power held by the few, unchecked, will always turn into tyranny.  What you call the group that holds the power is really irrelevant.  The fact that the Party is the only permitted ideological entity in a socialist country explains why socialist countries have always had a government collapse before any real change can occur.  A capitalistic, representative democracy like the U.S. was intended to be is rather built for change, and has been through many changes through the years.</p>
<p>Yes, the sway of money through lobbyists and other leverage is powerful, but the power of an IDEA is still highly valued by the people of our country almost universally.  How that idea is given legs can sometimes make all the difference between it being embraced or discarded.  Physically occupying a place where you are not wanted for prolonged periods of time simply makes you a disordered nuisance.  It is, in essence, a confession that your idea is so weak that it can not stand on its own.  A truly peaceful assembly of people with a shared idea and goals could appear en masse for a few short hours at strategic locations and be taken seriously.  An unorganized group of homeless dreamers camped out among their own filth in parks with no common ideology or demands will never be taken seriously.</p>
<p>Let&#8217;s look at property rights as another area where the Occupiers and their opponents seem to lack any common ground.  The Occupiers have stated that they believe the 1% unjustly hold that wealth, and so much or all of it should be taken and redistributed.  They are not protesting outside government offices, which makes it seem they do not wish this inequality to be rectified through the tax code, trials (in the case of the assertions of criminally-gained wealth), or any other channels our system of government offers.  Yet, knock down a few tents and throw a few of their possessions in the back of a trash truck, and they become livid at the affront to their &#8220;rights.&#8221;  They are willing to destroy the lives of the working rich by cutting off their businesses (the NYSE, the Oakland ports to name a couple) and deprive the even wealthier of generations of accumulated wealth, yet their right to occupy a park in perpetuity is sacrosanct.</p>
<p>Though power in a capitalistic country such as ours does show a concentration to the few in the form of wealth, true capitalism can only exist alongside freedom.  Capitalism does dissipate as fast or faster as freedom, and I believe this can be seen in both the recent bailouts (depriving business of the logical freedom of failure) and in expensive regulatory burdens to business such as government-mandated health insurance.  In some cases, the Occupiers are right in pointing out problems in our system, but what they would identify as the flaws of capitalism can be more accurately explained as the creeping effects of tyranny.  Governmental favors to private business (Halliburton, Solyndra?), bailouts, and most other attributable causes of our nation&#8217;s economic decline are corruptions of capitalism that eat at freedom.  The great irony is that the Occupiers, in various de-centralized statements, have asked for guaranteed health care, secure retirements, and other socialist that can only come in the form of big government, redistribution, and severely limited freedoms.  The fact that their proposed solutions require the imposition of new tyranny is one of many reasons I must oppose them.  I still believe in freedom.</p>
<p>The real problem with Occupy Wall Street, Occupy Denver, Occupy Oakland, Occupy Washington, Occupy *?  So far, they have shown no interest at all in working within our system to change it.  They ignore our shared culture, history, and values, and wish to bring down the whole system for their own vision of utopia.  They are revolutionaries and radicals.  We can not even communicate with them because their perversions of words such as freedom, capitalism, democracy, and property are so severe as to be irreconcilable with our own.  They make hollow requests for dialogue while ignoring hundreds of years of our history.  We don&#8217;t need dialogue because our principles are well-known and enduring.  It sure would be nice to hear a cogent set of arguments and demands from the Occupiers as to why we should throw it all away at the demand of people in a homeless encampment.</p>
<p>I&#8217;m not part of the 1%, but I would not feel any guilt if one day I were, through hard work and persistence.  Strangely, I think that is what separates me most from the Occupiers.  Their only ambition seems to be &#8220;if I can&#8217;t have it, you can&#8217;t either.&#8221;  That seems to me a strange basis for a system of government.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timgarrett.net/2011/11/20/the-real-problem-with-occupy-wherever-ows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Problem With Free Web-based Services</title>
		<link>http://www.timgarrett.net/2011/10/24/the-problem-with-free/</link>
		<comments>http://www.timgarrett.net/2011/10/24/the-problem-with-free/#comments</comments>
		<pubDate>Mon, 24 Oct 2011 13:49:00 +0000</pubDate>
		<dc:creator>Tim Garrett</dc:creator>
				<category><![CDATA[other]]></category>

		<guid isPermaLink="false">http://www.timgarrett.net/?p=60</guid>
		<description><![CDATA[I have been observing for quite a while the proliferation of free web-based services.  The growth of these free services has caused me a great deal of concern. [..]]]></description>
			<content:encoded><![CDATA[<p>I have been observing for quite a while the proliferation of free web-based services.  The growth of these free services has caused me a great deal of concern.  What&#8217;s wrong with me?  Shouldn&#8217;t everyone love free?</p>
<p>Someone I follow on Twitter recently tweeted about wanting a free web-based service to provide access to historical Twitter data.  He and another individual then had a short dialogue about how the unavailability of that data was a problem with the service.  Seriously?  Twitter recently announced they are processing 250 million tweets a day and now also support photo uploads.  Do YOU want to finance a free service to make petabytes of data available?  I can&#8217;t help but wonder if this lack of critical thinking is symptomatic of much larger problems in our society.</p>
<p>I have been a big open source software user since the mid 1990&#8242;s.  At first glance, the expansion into free Software-as-a-Service offerings seems like a completely natural progression of the open source movement.  But it&#8217;s not.  Open source software is generally hobbyists or corporate-paid programmers working on something which is important to their business but not critical to their core intellectual property.  They &#8220;throw the software over the fence&#8221; and hopes someone else gets good use out of it.  Free web-based services are backed by hugely-expensive infrastructures from which consumers seem to expect 100% uptime.  Many of these companies are hugely in debt or owe favors to many stakeholders because they are not grown organically, but rather are funded by venture capital and business loans.</p>
<p>I&#8217;ve heard a saying something to the effect of &#8220;if you look around the room and can&#8217;t find the dumbest person, it&#8217;s probably you.&#8221; Well, if you look at a free web-based service and can&#8217;t find the revenue-generating cash cow, it&#8217;s probably you.  Your personal data and identity are the product.  Facebook is trying to build a social graph of the entire universe.  Are they doing that to make it easier to connect with your long-lost friends?  Ha.  They are doing it because the data they are able to gather is a dream stockpile for advertisers, marketing research firms, and governments intent on observing and controlling their populaces.</p>
<p>Google has made some amazing investments and innovations in the tech world, but ultimately they are a signboard available to the highest bidder.  Their contribution to the world, including their investments in alternative energy, are only made possible because of massive advertising revenue.  They can afford to have armies of unproductive people delving into new areas and even entire product lines that will later be canceled.</p>
<p>But if one is happy with the quality and availability of a free service, they just just use it, right?  There are certainly a few I use.  However, you definitely have to go in with open eyes.  If you value privacy, the amount of data you make available in even the simplest uses of these sites probably makes you uncomfortable.  On some, even the registration process can be quite uncomfortable.  Remember, if you are giving your name, date of birth, and hometown to someone to whom you are paying no money, you have an unequal financial relationship with someone who can probably mine your social security number and everything that entails.</p>
<p>What are some of the decision points for whether you should use a free service?  For me, I think about whether the terms of service are mutually acceptable, not just beneficial to the party offering the service.  I think about whether data I spend hours populating can easily be retrieved at any time for backup purposes should the company that owes me nothing decide to close its doors.  I think about whether there is some bigger-picture revenue model that doesn&#8217;t require my data being sold like a commodity.  I think about whether the service is something that is available in a similar paid form elsewhere with a company with more incentive to be concerned about my interests.</p>
<p>These decisions are individual, but they are very important.  For me, there are a number of things I have decided to pay for and a number of free services I have continued to use.  I pay for web hosting, domain names, online backup, Android applications, operating system upgrades.  I am still a very reluctant social networks user, at least on the publishing-personal-information front.  I do find them a great place to learn new things and find interesting new links.</p>
<p>Like everything else in the real world, there are a lot of gray areas, but there are without a doubt free web-based services that you should avoid like the plague.  Many others you just need to be very, very careful how you use.  Keep your eyes open and keep asking yourself &#8220;what&#8217;s the product?&#8221;</p>
<p>P.S.  This blog is one of the free services out there.  I spend about $60 a year on hosting it and the domain name.  So far, I have made less than $4 on my ads.  I am considering removing them to be less of a hypocrite, but we&#8217;ll see <img src='http://www.timgarrett.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.timgarrett.net/2011/10/24/the-problem-with-free/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pod Cars</title>
		<link>http://www.timgarrett.net/2011/10/14/pod-cars/</link>
		<comments>http://www.timgarrett.net/2011/10/14/pod-cars/#comments</comments>
		<pubDate>Fri, 14 Oct 2011 13:02:28 +0000</pubDate>
		<dc:creator>Tim Garrett</dc:creator>
				<category><![CDATA[other]]></category>

		<guid isPermaLink="false">http://www.timgarrett.net/?p=58</guid>
		<description><![CDATA[When I posted last night, I had no idea the term &#8220;pod cars&#8221; was already in use commercially.  My usage of the term was completely coincidental.  I read [..]]]></description>
			<content:encoded><![CDATA[<p>When I <a title="posted last night" href="http://www.timgarrett.net/2011/10/13/thoughts-on-todays-tech-startups/">posted last night</a>, I had no idea the term &#8220;pod cars&#8221; was already in use commercially.  My usage of the term was completely coincidental.  I read about pod cars later on a few news sites and at <a title="podcars.com" href="http://www.podcars.com">podcars.com</a>.  It&#8217;s definitely solving some interesting problems, and maybe they will even have a pivot to solve both fixed long-distance and medium-distance routes as well as short distance independent trips where the driver has autonomy over their time of departure, arrival, and route.</p>
<p>Thanks for reading this editorial clarification.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timgarrett.net/2011/10/14/pod-cars/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Thoughts on today&#8217;s tech startups</title>
		<link>http://www.timgarrett.net/2011/10/13/thoughts-on-todays-tech-startups/</link>
		<comments>http://www.timgarrett.net/2011/10/13/thoughts-on-todays-tech-startups/#comments</comments>
		<pubDate>Fri, 14 Oct 2011 04:14:34 +0000</pubDate>
		<dc:creator>Tim Garrett</dc:creator>
				<category><![CDATA[other]]></category>

		<guid isPermaLink="false">http://www.timgarrett.net/?p=52</guid>
		<description><![CDATA[Startups are hot right now.  So hot in fact that some would suggest we are approaching another bubble.  I follow a number of tech startup blogs, podcasts, and [..]]]></description>
			<content:encoded><![CDATA[<p>Startups are hot right now.  So hot in fact that some would suggest we are approaching another bubble.  I follow a number of tech startup blogs, podcasts, and Twitter accounts.  I find them fascinating from both a technology and economic perspective.  As a fiscal conservative with libertarian tendencies, I can&#8217;t help but cheer for the little guys trying to do something new and powering our economy at the same time.</p>
<p>One thing I have been contemplating, and I&#8217;m not even sure if this is a fair assessment of the situation, is why so many tech startups have this laser-focus on tiny problems.  Don&#8217;t get me wrong.  I see the merits of lean startups, minimal viable products, and starting small.  However, I&#8217;m an engineer, and it seems to me like a lot of up and coming tech startups are using a miniscule amount of technology prowess to solve consumer or business problems that aren&#8217;t bringing that much value to the world.  Companies like airbnb and groupon have a relatively small amount of tech IP backed by an army of business development, support, and sales people.  Yes, Web 2.0 companies face a lot of engineering challenges like coming up with great UI design and usability and managing massive amounts of load through various scalability techniques.  Seemingly, though, when you look deeper than that, there really isn&#8217;t that much going on.</p>
<p>There seems to be a trend toward really flashy web apps without a lot of substance.  There are even groups of hobbyist programmers who get together and try to build a minimal prototype over the course of a caffeine-fueled weekend.  That sounds like a lot of fun, but are you really going to produce something of enduring value like that?</p>
<p>Each person looks at the world from his own skewed perspective.  I have a lot of big ideas.  I have hundreds of hours invested in my current side project.  It&#8217;s hard.  Crazy hard.  Only in the last few weeks have I had enough of the structure of the application in place that it would start to do show promise of doing some truly original things that I don&#8217;t think have been done before.  I can&#8217;t help but feel that a lot of tech guys, developers or otherwise, won&#8217;t put up with months or years of the unpaid grind to try something crazy.  If tech startups make you think of launch parties with fountains of Absolut, I would humbly suggest your calling might be elsewhere.</p>
<p>My eyes are wide open.  I might completely fail in my ultimate objective, but I will have some amazing experiences I can draw on throughout my career.  I&#8217;m pretty okay with that.</p>
<p>Remember when I said I have lots of big ideas?  I&#8217;m pretty sure I won&#8217;t get to them all, so I&#8217;m happy to share some thoughts.  Figure one of these out.  It will likely take you a really long time, might not make you much money, but could change the world in a meaningful way.  Here&#8217;s a few I like:</p>
<ul>
<li>Alternative energy on the micro scale.  Solyndra hasn&#8217;t worked out so well.  Seems like Enron had some troubles too.  The infrastructure for energy delivery is costly, dangerous, and requires huge amounts of aboveground and underground easements.  Why aren&#8217;t we pursuing roof-mounted vertical-axis wind turbines, sewage gas recovery, or small optically magnified solar systems that track the sun?  Why on earth aren&#8217;t we wiring new houses for DC and LED lighting?  AC won for electrical <em>transmission!</em>  90% of what is in your house runs on DC through its own wall-wart power transformer!  We can do so much better, but not through legislation.  Let&#8217;s innovate all on our own, succeed or fail.  The last 8 Presidents have lectured us about energy independence from foreign nations.  Imagine if we harvested so much alternative energy at the neighborhood or residential unit level that we had energy independence from government-sponsored utility monopolies.  Sure wouldn&#8217;t hurt to have your own power in the event of the next natural or manmade disaster.</li>
<li>Combine cars and trains.  We&#8217;ve tried cars and trains.  They&#8217;ve worked great alone for the problems they are individually good at solving.  Commuter trains are great for moving large numbers of people safely long distances while packed in a small area.  Cars are great for short trips across town on your own schedule.  I call my answer pod cars.  They are self-powered, single passenger vehicles.  They are so small and lightweight they could easily be powered by electricity or miserly use of gasoline.  By limiting them to surface streets they could avoid deadly high-speed collisions with larger vehicles.  The innovation is that they can be combined in chains front-to-back and left-to-right and controlled by a single unit.  Parents could each have their own module for their individual commutes.  Their children could have small pods with their own power but no steering module until they were old enough to drive themselves.  Tens or hundreds of pods could be combined at designated highway merge points to be driven together by trained drivers/engineers.  These vehicles could travel in a designated lane with barriers from tractor-trailer and other heavy vehicles at speeds much higher and with fewer spots than is allowed for individual vehicles today, much like a traditional commuter train.</li>
<li>Affordable 3D hologram TVs.  Okay, not that important to the future of the world, but boy would that be sweet.  I watched some 3D TV recently, and I couldn&#8217;t help but think the glasses were a bit annoying and I got a small headache just like every 3D movie I&#8217;ve seen in theaters.  The downside to this item is that if we had 3D hologram TVs, we would probably all sit around watching TV to the extent that even actors and actresses wouldn&#8217;t want to go to work and there would be nothing to watch.  Okay, I was kidding here, but I was completely serious about micro energy and pod cars.</li>
</ul>
<div>I come up with, and discard, ideas every day.  If you like hearing about them, I can blog about them more.  I won&#8217;t blog about anything I am trying to keep my own little secret, so if it&#8217;s here, have at it.  Solve some big problems, or at least give it a few spare brain cycles.  It&#8217;s fun!</div>
]]></content:encoded>
			<wfw:commentRss>http://www.timgarrett.net/2011/10/13/thoughts-on-todays-tech-startups/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Trying to avoid being just another stale blog</title>
		<link>http://www.timgarrett.net/2011/10/04/another-stale-blo/</link>
		<comments>http://www.timgarrett.net/2011/10/04/another-stale-blo/#comments</comments>
		<pubDate>Wed, 05 Oct 2011 03:19:51 +0000</pubDate>
		<dc:creator>Tim Garrett</dc:creator>
				<category><![CDATA[other]]></category>

		<guid isPermaLink="false">http://www.timgarrett.net/?p=49</guid>
		<description><![CDATA[Do you ever wander into a blog, see the date of the most recent post, and immediately dismiss it as another abandoned blog of a sometimes-egomaniac on the [..]]]></description>
			<content:encoded><![CDATA[<p>Do you ever wander into a blog, see the date of the most recent post, and immediately dismiss it as another abandoned blog of a sometimes-egomaniac on the information superhighway?  I don&#8217;t harbor any delusions of grandeur, at least as it would relate to me turning my blog into a media empire.  I barely know what a Klout score is, but I know mine is an anemic 18.</p>
<p>I could probably just as easily turn my blog-o-rants into a handwritten journal and get all the same cathartic value out of it.  Honestly, it&#8217;s seldom worth reading.  I have the occasional weird post that always seems to drive traffic.  My old Budweiser can post got a lot of reads, as did my pictures of disassembling and repairing the MacBook Pro.  Years ago, on another web page, I hosted the only known working XF86Config file for an obsolete Compaq laptop, something I put together painstakingly by hand over the course of 20-30 hours while trying to keep myself equipped with computers on a high schooler&#8217;s budget.  I guess that just confirms that content that people actually want is key to having a successful blog.</p>
<p>Why haven&#8217;t I written much?  Honestly, I&#8217;ve been pushing myself in too many directions at once.  I took a new job in March working at the intersection of software engineering and network security management.  It&#8217;s a pretty interesting gig, although I do sometimes feel a little out of place.  It&#8217;s not so much that I&#8217;m in over my head as I&#8217;ve never spent much time even thinking about the domain area.  Ipchains back in the day, later iptables, then a consumer-grade Linksys router with WPA2 encryption and everything is good, right?</p>
<p>At home I have also managed to get myself into an R&amp;D-type project which I am absolutely loving.  It&#8217;s almost pure creation, and completely self-inflicted so only self-imposed deadlines and also a completely non-compensated effort at this time.  I&#8217;ve logged upwards of 600 hours on it now, and I am getting pretty excited that I may have something to launch to a limited audience in a few short months.  It has stretched my mind in a thousand different ways, and has oddly pulled together all the disciplines I hated in school to make a really amazing amalgamation of functionality that I really enjoy working with.  Maybe someday I will be able to give a speech to a classroom of kids who are where I was and basically tell them, &#8220;Half of what you will learn here is useless, but you will never know which half until much later, so be a sponge and work hard.&#8221;  Remember when I said I had no delusions of grandeur <em>about turning my blog into a media empire</em>.  You caught me&#8211;I guess I do have some others.</p>
<p>What else is going on?  Lots of home repairs and maintenance.  Had the house torn up a bit in early August to get some new hardwood floors which we are absolutely loving.  We didn&#8217;t do the install ourselves, but the furniture moving and dealing with stacks of acclimating lumber everywhere we went was enough.  Now, I&#8217;m on to things like siding repair and wood rot repair.  Generally speaking, I take the first stab at fixing these things and then have someone out to fix my fixes.  Ended up tearing off about 20 square foot of rotten siding to find a rotting rim joist this weekend.  Realized I didn&#8217;t want to deal much with that and called some pros.  Meanwhile, my handiwork can be seen in the white trash bags stapled to the side of the house.</p>
<p>What else?  Watching Android try to turn into Apple and can&#8217;t help but think if both are equally closed, Apple has the better product.  Keeping an eye on the AT&amp;T-T-Mobile merger.  Wouldn&#8217;t rule out a future iPhone purchase even if I had to eat some crow from my previous post (Why Apple Will No Longer Be Part of My Life).  Drives me nuts that my wife and I both have Gingerbread Android phones and the UIs are completely unrecognizable as the same thing.  Trying to swap tips on customizations and settings is like reading a thesaurus, &#8220;It&#8217;s under settings or profiles or customize or maybe menu-settings-profile-customize.&#8221;  Coming from this as a non-repentant software engineer, damn, can you screw up software when you put engineers in charge of everything!</p>
<p>I follow other blogs where the authors set goals of daily posting of 2000 words.  That makes me tired just reading that goal.  Nevertheless, I do hope I can keep this going at least such a pace as to keep the casual reader from observing it&#8217;s abandoned.  The joy of the very occasional post is certainly worth the very occasional effort.  But if I can&#8217;t keep up, I am thinking about creating a bot to post for me.  I just read recently that some sports sites are writing prose from stats tables.  Doesn&#8217;t seem so hard!</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timgarrett.net/2011/10/04/another-stale-blo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On Zombies</title>
		<link>http://www.timgarrett.net/2011/08/09/on-zombies/</link>
		<comments>http://www.timgarrett.net/2011/08/09/on-zombies/#comments</comments>
		<pubDate>Tue, 09 Aug 2011 23:41:19 +0000</pubDate>
		<dc:creator>Tim Garrett</dc:creator>
				<category><![CDATA[Rants]]></category>

		<guid isPermaLink="false">http://www.timgarrett.net/?p=45</guid>
		<description><![CDATA[I think very few people recognize the threat that zombies pose to our civilization.  I have recently reached the conclusion that zombies are very real, although metaphorical.  If [..]]]></description>
			<content:encoded><![CDATA[<p>I think very few people recognize the threat that zombies pose to our civilization.  I have recently reached the conclusion that zombies are very real, although metaphorical.  If you are looking for a humor piece, move along now.  You will not find it here.</p>
<p>Watching the unfolding of recent events such as the intense and damaging riots in London and the flash mobs in Philadelphia, I can not help but think we are seeing a rise of zombies, aimless individuals united as one in a hive mind of undirected rage.  These individuals are sacrificing their very humanity simultaneously at the altars of self-love and self-loathing.  The self-love is apparent in that these individuals feel so wronged that they &#8220;deserve&#8221; to riot, to take from others, to grab on to whatever they want.  Their self-loathing is apparent in that they will risk their own bodies and lives, in addition to those of others, in these self-destructive pursuits.</p>
<p>Evelyn Beatrice Hall is credited with the line: &#8220;I disapprove of what you say, but I will defend to the death your right to say it.&#8221;  I firmly believe those words.  I have had many disagreements with others on their views, but I am always glad to hear them&#8211;or at least glad to know they have the right to say them even if I choose not hear them.  Civil discourse is key to protecting the rights of both the majority and the minority.  There are even times when violence has seemed the right and necessary course of action, as in our own American Revolution.  But that violent rebellion emerged only after a very clear and deeply-reasoned philosophy of self-government and freedom tempered by responsibility was thwarted repeatedly at every turn by the former ruling entity.  It was not an army of zombies, but a militia of principled men and women willing to pledge their lives, their fortunes, and their sacred honor for a greater cause.</p>
<p>I have heard reports that the rioters and looters in London burned to the ground one family-owned store over 140 years old that had survived through many generations and the German bombings of World War II.  I am saddened at such losses, but even more so for what they represent.  We have young individuals willing to turn their backs on and actively destroy the history of their own people to get free stuff they feel they deserve.  One looter was heard on microphone explaining that she was &#8220;getting back her taxes.&#8221;</p>
<p>I am truly fearful for the future of humanity, or more precisely that the embodiment of DNA and genes we now call humans will be replaced by new generations of blood-thirsty, enraged zombies.  May God have mercy on us all.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timgarrett.net/2011/08/09/on-zombies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Myth of the Interchangeable Employee</title>
		<link>http://www.timgarrett.net/2011/03/16/the-myth-of-the-interchangeable-employee/</link>
		<comments>http://www.timgarrett.net/2011/03/16/the-myth-of-the-interchangeable-employee/#comments</comments>
		<pubDate>Wed, 16 Mar 2011 14:00:15 +0000</pubDate>
		<dc:creator>Tim Garrett</dc:creator>
				<category><![CDATA[Business]]></category>

		<guid isPermaLink="false">http://www.timgarrett.net/?p=37</guid>
		<description><![CDATA[Calling employees &#8220;resources&#8221; has been ubiquitous for quite a while now.  It is pretty much taken for granted that the department that will deal with payroll, employee relations, [..]]]></description>
			<content:encoded><![CDATA[<p>Calling employees &#8220;resources&#8221; has been ubiquitous for quite a while now.  It is pretty much taken for granted that the department that will deal with payroll, employee relations, and benefits will be called Human Resources.  The label is somewhat troubling because it indicates interchangeability of people.</p>
<p>Another rabbithole that companies can fall into is using the tagline &#8220;no one is irreplaceable&#8221; when a valued contributor leaves a team or organization.  While meant to inspire the team that hope is not lost and they will be able to continue on to an equally successful outcome, it most likely will backfire in dramatic ways.  Employees begin to question the extra time spent, the extra effort, and their motivation.  They wonder how much their own work is valued if a well-respected peer who leaves the organization is almost immediately thrown under the bus.  They also rightfully question the leadership abilities and decision-making skills of someone who would publicly make such an inflammatory assertion.  Why work for someone who thinks I am completely interchangeable with someone fresh off the street?</p>
<p>While every team member can be replaced in the long term, it does not happen without great expense and impact on the progress of a team.  If business continuity items like knowledge sharing and good documentation are not in place, the loss of a team member can even be a death blow to a project.</p>
<p>So, maybe engineering team members are not so readily replaceable or interchangeable.  The theory must have some valid origin somewhere then, right?  I argue it is almost a universal fallacy.  To make my point, I invoke the memories of my first regular job in high school.  I was a dishwasher for a Sizzler-style steak and buffet place for 30-40 hours a week for an entire summer.  Besides reminding me why I should invest in my education, it was also an exercise in figuring out how to work with radically different people who happened to be on the same shift as you.  It was disgusting, toilsome work but never really boring.  The biggest reason was the variety of personalities I was teamed up with during busy lunch and dinner shifts.  These personalities included:</p>
<p><em>The Daydreamer: </em>This fellow may very well have been puffing the reefer before work each day.  Lots of staring off into space for minutes at a time.  Keeping a steady flow of conversation and feeding him work rather than letting him be the front-end of the process kept him engaged and productive.  Attention to detail wasn&#8217;t always there, so you sometimes had to subtly grab his output from the end of the washing line and drop it back in the sink.</p>
<p><em>The Drama Queen: </em>This avid Cher fan was a hand-waver, complainer, and all-around grouch.  He was also very, very good at his job.  Dishes flowed through quickly and came out CLEAN.  You could talk to him about his interests or not talk at all&#8211;they were equally good options&#8211;I just learned to avoid minefield topics that would make steam come out his ears.</p>
<p><em>The Combat Veteran: </em>This Vietnam Veteran was going through a rough patch.  He was working toward becoming a truck driver and was always looking ahead to that.  He worked a short while and then disappeared.  I never really figured out how to work with him other than to work harder to make up for his not wanting to be there.</p>
<p><em>The Motorcycle Head Trauma Guy: </em>This fellow was engaging and entertaining.  He told a lot of stories, most of them entirely inappropriate.  They all made a lot more sense once he told the story of his motorcycle accident with resulting head trauma.  It was not apparent to me that he had lingering issues other than the fact that he did not have much of a filter.  He was not around long, but he was memorable.</p>
<p><em>The Jazz Singer:</em> This man was built like an offensive lineman with a catchy voice like a jazz singer.  He was always pleasant and nearly always singing songs, some real and some apparently jingles made up on the spot.  He wasn&#8217;t the fastest co-worker, but his infectious energy made me work harder and faster and made the time fly.</p>
<p>This motley crew came with both joys and frustrations, but it was eye-opening to see personalities in a rawer, more transparent way than you typically see in an office environment.  Each team member&#8217;s background brought unique challenges and skills.  While dishwashing might be considered unskilled labor, there are a number of skills and tricks necessary to succeed.  For example, with a firm grasp of mechanical principles, I could disassemble, re-assemble, and troubleshoot problems with the wash/sanitize machine faster than most of my co-workers.  However, probably the most valuable skill I gained was learning how to interact with different personality types&#8211;how to avoid angering some, how to motivate others, how to divide up work to keep things moving smoothly.  I am not suggesting that people should be inspected and manipulated; rather, that legitimate relationships have to be built with co-workers to build a happy workplace.</p>
<p>Avoid the trap of treating employees and co-workers interchangeably.  Building relationships and learning team members&#8217;  unique skill sets and personalities is critical to achieving synergy within a team.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timgarrett.net/2011/03/16/the-myth-of-the-interchangeable-employee/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

