<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Lojic Technologies &#187; technology</title>
	<atom:link href="http://blog.lojic.com/category/technology/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.lojic.com</link>
	<description></description>
	<lastBuildDate>Fri, 01 Mar 2013 21:53:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='blog.lojic.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Lojic Technologies &#187; technology</title>
		<link>http://blog.lojic.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blog.lojic.com/osd.xml" title="Lojic Technologies" />
	<atom:link rel='hub' href='http://blog.lojic.com/?pushpress=hub'/>
		<item>
		<title>Precision Quadrotor Flying</title>
		<link>http://blog.lojic.com/2010/05/28/precision-quadrotor-flying/</link>
		<comments>http://blog.lojic.com/2010/05/28/precision-quadrotor-flying/#comments</comments>
		<pubDate>Fri, 28 May 2010 16:09:30 +0000</pubDate>
		<dc:creator>Brian Adkins</dc:creator>
				<category><![CDATA[amazing]]></category>
		<category><![CDATA[robotics]]></category>
		<category><![CDATA[science]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[physics]]></category>

		<guid isPermaLink="false">http://lojic.com/blog/?p=812</guid>
		<description><![CDATA[Wow &#8211; pretty amazing! HT Michael Hale via RT<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lojic.com&#038;blog=47773631&#038;post=812&#038;subd=lojicdotcom&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Wow &#8211; pretty amazing! HT Michael Hale via RT <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='490' height='306' src='http://www.youtube.com/embed/MvRTALJp8DM?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent' frameborder='0'></iframe></span>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lojicdotcom.wordpress.com/812/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lojicdotcom.wordpress.com/812/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lojic.com&#038;blog=47773631&#038;post=812&#038;subd=lojicdotcom&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.lojic.com/2010/05/28/precision-quadrotor-flying/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/3aeb549012715133bf4a8f43d47fab9a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lojicwp</media:title>
		</media:content>
	</item>
		<item>
		<title>Daniel Weinreb re: Lisp use at ITA</title>
		<link>http://blog.lojic.com/2009/08/29/daniel-weinreb-re-lisp-use-at-ita/</link>
		<comments>http://blog.lojic.com/2009/08/29/daniel-weinreb-re-lisp-use-at-ita/#comments</comments>
		<pubDate>Sat, 29 Aug 2009 18:31:17 +0000</pubDate>
		<dc:creator>Brian Adkins</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[lisp]]></category>

		<guid isPermaLink="false">http://lojic.com/blog/?p=770</guid>
		<description><![CDATA[Some random notes: 650 KLOC plus 150 KLOC of open source code 100 people on the team, 70 programmers SBCL for the QPX product Clozure CL for the reservations product Availability requirement: four 9&#8242;s =&#62; less than 53 minutes downtime per year Latency agreement 90% of requests w/in 300 ms 5% of requests w/in 600 [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lojic.com&#038;blog=47773631&#038;post=770&#038;subd=lojicdotcom&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Some random notes:</p>
<ul>
<li>650 KLOC plus 150 KLOC of open source code</li>
<li>100 people on the team, 70 programmers</li>
<li>SBCL for the QPX product</li>
<li>Clozure CL for the reservations product</li>
<li>Availability requirement: four 9&#8242;s =&gt; less than 53 minutes downtime per year</li>
<li>
Latency agreement</p>
<ul>
<li>90% of requests w/in 300 ms</li>
<li>5% of requests w/in 600 ms</li>
<li>5% of requests w/in 1,200 ms</li>
</ul>
</li>
<li>Java presentation layer, Common Lisp stateless business layer, Oracle data layer</li>
<li>Daniel is very positive about Clojure</li>
<li>Some links from the talk:
<ul>
<li><a href="http://common-lisp.net/~dlw/LispSurvey.html">Survey of Common Lisp Implementations</a></li>
<li><a href="http://ilc2009.scheming.org/">International Lisp Conference 2009 Discusison Forum</a></li>
<li><a href="http://danweinreb.org/blog">Dan Weinreb&#8217;s Blog</a></li>
</ul>
</li>
</ul>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='490' height='306' src='http://www.youtube.com/embed/xquJvmHF3S8?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent' frameborder='0'></iframe></span>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lojicdotcom.wordpress.com/770/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lojicdotcom.wordpress.com/770/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lojic.com&#038;blog=47773631&#038;post=770&#038;subd=lojicdotcom&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.lojic.com/2009/08/29/daniel-weinreb-re-lisp-use-at-ita/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/3aeb549012715133bf4a8f43d47fab9a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lojicwp</media:title>
		</media:content>
	</item>
		<item>
		<title>Use Ruby to parse NMEA sentences from your GPS</title>
		<link>http://blog.lojic.com/2009/04/08/use-ruby-to-parse-nmea-sentences-from-your-gps/</link>
		<comments>http://blog.lojic.com/2009/04/08/use-ruby-to-parse-nmea-sentences-from-your-gps/#comments</comments>
		<pubDate>Wed, 08 Apr 2009 16:07:00 +0000</pubDate>
		<dc:creator>Brian Adkins</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[gadgets]]></category>
		<category><![CDATA[gps]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://lojic.com/blog/?p=457</guid>
		<description><![CDATA[I recently obtained a mobile broadband device that has a built in GPS receiver and can emit NMEA sentences. My old Garmin portable GPS can emit NMEA also, but it&#8217;s a pain to hookup to the laptop. Combining a GPS unit in a mobile broadband device is a great idea. Update: it appears that the [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lojic.com&#038;blog=47773631&#038;post=457&#038;subd=lojicdotcom&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>I recently obtained a mobile broadband device that has a built in GPS receiver and can emit NMEA sentences. My old Garmin portable GPS can emit NMEA also, but it&#8217;s a pain to hookup to the laptop. Combining a GPS unit in a mobile broadband device is a great idea.</p>
<p><strong>Update</strong>: it appears that the accuracy radius of the wireless card is quite a bit larger than my old Garmin unit. The Garmin is usually between 15 and 30 feet, but the Sierra Wireless 598U ranges from 100 to 1,000 feet or more.</p>
<p>After installing the ruby-serialport gem, I was able to write a simple Ruby program to read GPS information from the device and update a remote file on my web server to allow real time location tracking.</p>
<p>Add a simple server side script to read the file and update an iframed Google Map and you&#8217;re all set.</p>
<p>The code is also in the Ruby section of my <a href="http://github.com/lojic/sample_code/tree/master">sample code repository</a> on Github.</p>
<pre class="code">
sudo gem install ruby-serialport
</pre>
<pre class="code">
#!/usr/local/bin/ruby
# Author: Brian Adkins
# Date:   2009/04/08
# Copyright 2009 Brian Adkins - All Rights Reserved
#
# Ruby program to retrieve and parse GPS information (via NMEA sentences)
# from a Sprint Sierra Wireless 598U device.
#
# ruby gps-nmea.rb                # prints latititude/longitude info
# ruby gps-nmea.rb update-remote  # scp a file of location info to a remote server
#
# This program depends on the ruby-serialport gem:
# sudo gem install ruby-serialport
#
# From: http://www.gpsinformation.org/dale/nmea.htm#GGA
#  $GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47
# Where:
#      GGA          Global Positioning System Fix Data
#      123519       Fix taken at 12:35:19 UTC
#      4807.038,N   Latitude 48 deg 07.038' N
#      01131.000,E  Longitude 11 deg 31.000' E
#      1            Fix quality: 0 = invalid
#                                1 = GPS fix (SPS)
#                                2 = DGPS fix
#                                3 = PPS fix
#              4 = Real Time Kinematic
#              5 = Float RTK
#                                6 = estimated (dead reckoning) (2.3 feature)
#              7 = Manual input mode
#              8 = Simulation mode
#      08           Number of satellites being tracked
#      0.9          Horizontal dilution of position
#      545.4,M      Altitude, Meters, above mean sea level
#      46.9,M       Height of geoid (mean sea level) above WGS84
#                       ellipsoid
#      (empty field) time in seconds since last DGPS update
#      (empty field) DGPS station ID number
#      *47          the checksum data, always begins with *

require 'rubygems'
require 'serialport'

# Emacs macro to reset user modified values (highlight, then: M-x eval-region )
# ((lambda (&amp;optional arg) "Keyboard macro." (interactive "p") (kmacro-exec-ring-item (quote ("USERNAME
"
372"HOSTNAME
"
372"REMOTE_DIR
"
372"" 0 "%d")) arg)))

# --- MODIFY THESE -- #
USERNAME   = ""  # Username for remote host
HOSTNAME   = ""  # Remote host name e.g. foo.com
REMOTE_DIR = ""  # Remote directory e.g. /var/www/bar
# --- MODIFY THESE -- #

port_str  = '/dev/cu.sierra05'
baud_rate = 9600
data_bits = 8
stop_bits = 1
parity    = SerialPort::NONE

sp = SerialPort.new(port_str, baud_rate, data_bits, stop_bits, parity)

# lat is of the form 4807.038 where the first 2 digits are degrees and
#   the remainder is minutes.
# dir is either 'N' or 'S'
def convert_lat lat, dir
  degrees = lat[0,2].to_f + (lat[2,lat.length-2].to_f / 60.0)
  dir == 'N' ? degrees : -degrees
end

# lon is of the form 01131.000 where the first 3 digits are degrees and
#   the remainder is minutes.
# dir is either 'E', or 'W'
def convert_lon lon, dir
  degrees = lon[0,3].to_f + (lon[3,lon.length-2].to_f / 60.0)
  dir == 'E' ? degrees : -degrees
end

TEMP_PATH = '/tmp'
TEMP_FILE = 'location.txt'

def update_remote_info lat, lon
  File.open("#{TEMP_PATH}/#{TEMP_FILE}", 'w') do |tf|
    tf.puts Time.now.to_s
    tf.puts "#{lat},#{lon}"
  end
  puts 'Updating remote location info'
  `scp #{TEMP_PATH}/#{TEMP_FILE} #{USERNAME}@#{HOSTNAME}:#{REMOTE_DIR}/#{TEMP_FILE}`
  File.delete("#{TEMP_PATH}/#{TEMP_FILE}")
end

# 99 requests should be sufficient to find a $GPGGA sentence
99.times do
  if (str = sp.gets) =~ /^$GPGGA/
    fix = str.split(',')
    if fix[6] == '1'
      lat = convert_lat(fix[2], fix[3])
      lon = convert_lon(fix[4], fix[5])
      if ARGV[0] == 'update-remote'
        update_remote_info(lat,lon)
      elsif
        puts "#{lat}, #{lon}"
      end
      exit 0
    end
  end
end

puts "Invalid data - GPS coordinates not found"
</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lojicdotcom.wordpress.com/457/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lojicdotcom.wordpress.com/457/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lojic.com&#038;blog=47773631&#038;post=457&#038;subd=lojicdotcom&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.lojic.com/2009/04/08/use-ruby-to-parse-nmea-sentences-from-your-gps/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/3aeb549012715133bf4a8f43d47fab9a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lojicwp</media:title>
		</media:content>
	</item>
		<item>
		<title>Retrieve Sunrise, Sunset &amp; Twilight Info in Ruby</title>
		<link>http://blog.lojic.com/2009/03/11/retrieve-sunrise-sunset-twilight-in-ruby/</link>
		<comments>http://blog.lojic.com/2009/03/11/retrieve-sunrise-sunset-twilight-in-ruby/#comments</comments>
		<pubDate>Wed, 11 Mar 2009 05:41:54 +0000</pubDate>
		<dc:creator>Brian Adkins</dc:creator>
				<category><![CDATA[internet]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[science]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[astronomy]]></category>
		<category><![CDATA[emacs]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[usno]]></category>

		<guid isPermaLink="false">http://lojic.com/blog/?p=418</guid>
		<description><![CDATA[Sunrise, Sunset &#38; Twilight I was curious about the exact time of sunrise &#38; sunset at my location, so I found this US Naval Observatory site. In the process, I learned a more precise definition of twilight. I wanted to be able to automate the process of retrieving the information, so my first attempt was [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lojic.com&#038;blog=47773631&#038;post=418&#038;subd=lojicdotcom&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<h2>Sunrise, Sunset &amp; Twilight</h2>
<p><a href="http://lojicdotcom.files.wordpress.com/2009/03/seascape_after_sunset_900x600.jpg"><img class="alignleft size-medium wp-image-441" title="Twilight" src="http://lojicdotcom.files.wordpress.com/2009/03/seascape_after_sunset_900x600.jpg?w=300&#038;h=200" alt="Twilight" width="300" height="200" /></a>I was curious about the exact time of sunrise &amp; sunset at my location, so I found this <a href="http://aa.usno.navy.mil/data/docs/RS_OneDay.php">US Naval Observatory</a> site. In the process, I learned a more precise definition of  <a href="http://aa.usno.navy.mil/faq/docs/RST_defs.php#top"><em>twilight</em></a>. I wanted to be able to automate the process of retrieving the information, so my first attempt was to simply put the query parameters used in the form in the URL as an HTTP GET request, but the server wouldn&#8217;t accept that, so I needed to issue an HTTP POST request.<br />
<br style="clear:left;" /></p>
<h2>Ruby Code</h2>
<p>Ruby is a great language for this sort of task, so I put together the following simple program:</p>
<pre>require 'net/http'

YOUR_ID    = ''    # A unique ID per comment above
YOUR_CITY  = ''    # The name of your city
YOUR_STATE = ''    # Two letter state abbreviation

now   = Time.now
month = now.month
day   = now.day + 1 # Tomorrow
year  = now.year

Net::HTTP.start('aa.usno.navy.mil') do |query|
  response = query.post('/cgi-bin/aa_pap.pl',
    "FFX=1&amp;amp;amp;amp;ID=#{YOUR_ID}&amp;amp;amp;amp;xxy=#{year}&amp;amp;amp;amp;xxm=#{month}&amp;amp;amp;amp;xxd=#{day}&amp;amp;amp;amp;st=#{YOUR_STATE}&amp;amp;amp;amp;place=#{YOUR_CITY}&amp;amp;amp;amp;ZZZ=END")
  if response.body =~ /Begin civil twilight[^0-9]*(d+:d{2} [ap].m.).*Sunrise[^0-9]*(d+:d{2} [ap].m.).*Sunset[^0-9]*(d+:d{2} [ap].m.).*End civil twilight[^0-9]*(d+:d{2} [ap].m.)/m
    puts "#{month}/#{day}/#{year}"
    puts "Begin Twilight: #{$1}"
    puts "Sunrise       : #{$2}"
    puts "Sunset        : #{$3}"
    puts "End Twilight  : #{$4}"
  end
end</pre>
<p>You just need to edit the three constants that begin with YOUR_. The id used on the Navy web form is &#8216;AA&#8217;, but they have a comment in the HTML that requests you use a unique id of your own up to 8 characters to help them with tracking. You can find a more complete version of <a href="http://github.com/lojic/sample_code/blob/7b41e88adefd84154a54c97de86924f8517dca2c/ruby/sunrise_http_post.rb">the code</a> in my <a href="http://github.com/lojic">github profile</a>.</p>
<h2>Emacs Goodness</h2>
<p>After writing the above Ruby script, I made it executable, &#8216;chmod +x sunrise.rb&#8217;, and placed it in my path so I could write a simple Emacs function to invoke it.</p>
<pre>(defun bja-sunrise ()
  "Display sunrise, sunset &amp;amp; twilight information."
  (interactive)
  (shell-command "sunrise.rb"))</pre>
<p>Imagine my surprise when I invoked the Emacs apropos help &#8216;C-h a&#8217; to see my newly defined function and discovered that Emacs, naturally, already has several commands to display sunrise/sunset information!</p>
<dl>
<dt>calendar-mouse-sunrise/sunset</dt>
<dd>Show sunrise/sunset times for mouse-selected date.</dd>
<dt>calendar-sunrise-sunset</dt>
<dd>Local time of sunrise and sunset for date under cursor.</dd>
<dt>sunrise-sunset</dt>
<dd>Local time of sunrise and sunset for today.  Accurate to a few seconds.</dd>
</dl>
<p>It doesn&#8217;t, however, display <strong>twilight</strong> information, so my simple function still has a purpose in life. Emacs is awesome <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lojicdotcom.wordpress.com/418/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lojicdotcom.wordpress.com/418/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lojic.com&#038;blog=47773631&#038;post=418&#038;subd=lojicdotcom&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.lojic.com/2009/03/11/retrieve-sunrise-sunset-twilight-in-ruby/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/3aeb549012715133bf4a8f43d47fab9a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lojicwp</media:title>
		</media:content>

		<media:content url="http://lojicdotcom.files.wordpress.com/2009/03/seascape_after_sunset_900x600.jpg?w=300&#38;h=200" medium="image">
			<media:title type="html">Twilight</media:title>
		</media:content>
	</item>
		<item>
		<title>Big Dog Robot</title>
		<link>http://blog.lojic.com/2008/03/20/big-dog-robot/</link>
		<comments>http://blog.lojic.com/2008/03/20/big-dog-robot/#comments</comments>
		<pubDate>Thu, 20 Mar 2008 21:45:51 +0000</pubDate>
		<dc:creator>Brian Adkins</dc:creator>
				<category><![CDATA[amazing]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[robotics]]></category>

		<guid isPermaLink="false">http://lojic.com/blog/2008/03/20/big-dog-robot/</guid>
		<description><![CDATA[Very impressive balance and mobility. A robot from Boston Dynamics.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lojic.com&#038;blog=47773631&#038;post=125&#038;subd=lojicdotcom&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Very impressive balance and mobility. A robot from <a href="http://www.bostondynamics.com">Boston Dynamics</a>.</p>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='490' height='306' src='http://www.youtube.com/embed/W1czBcnX1Ww?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent' frameborder='0'></iframe></span>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/lojicdotcom.wordpress.com/125/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/lojicdotcom.wordpress.com/125/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lojicdotcom.wordpress.com/125/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lojicdotcom.wordpress.com/125/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lojic.com&#038;blog=47773631&#038;post=125&#038;subd=lojicdotcom&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.lojic.com/2008/03/20/big-dog-robot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/3aeb549012715133bf4a8f43d47fab9a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lojicwp</media:title>
		</media:content>
	</item>
		<item>
		<title>Beware of LEGO Mindstorms NXT on Mac OSX</title>
		<link>http://blog.lojic.com/2008/01/08/beware-of-lego-mindstorms-nxt-on-mac-osx/</link>
		<comments>http://blog.lojic.com/2008/01/08/beware-of-lego-mindstorms-nxt-on-mac-osx/#comments</comments>
		<pubDate>Tue, 08 Jan 2008 23:19:58 +0000</pubDate>
		<dc:creator>Brian Adkins</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[lego]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[robotics]]></category>

		<guid isPermaLink="false">http://lojic.com/blog/2008/01/08/beware-of-lego-mindstorms-nxt-on-mac-osx/</guid>
		<description><![CDATA[I recently installed the software that came with a LEGO Mindstorms NXT kit onto a Mac Mini running OSX 10.4. I was somewhat concerned when the install program prompted me for an admin password, so I attempted to install the software into a directory in my home directory instead of the main Applications directory, but [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lojic.com&#038;blog=47773631&#038;post=114&#038;subd=lojicdotcom&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>I recently installed the software that came with a LEGO Mindstorms NXT kit onto a Mac Mini running OSX 10.4. I was somewhat concerned when the install program prompted me for an admin password, so I attempted to install the software into a directory in my home directory instead of the main Applications directory, but it still prompted for an admin password. Since LEGO is a large reputable company, I gave them the benefit of the doubt and figured the admin password may have been necessary to install Bluetooth drivers or some other feature. I should&#8217;ve learned a lesson from the Sony root kit debacle with respect to blindly trusting large corporations. In the Sony case, maliciousness was involved, in the LEGO Mindstorms case, I think only incompetence is to blame.</p>
<p>After installing the LEGO Mindstorms NXT software, I noticed that the OSX Activity Monitor failed to start which was puzzling. I also noticed that my Missing Sync program (used to synchronize data on my Treo 650 with the Mac) was failing as well &#8211; probably related to Bluetooth misconfiguration. I discovered later that, independently of the software issue, the LEGO Mindstorms  NXT kit was malfunctioning (some attachments worked, but the motors couldn&#8217;t be activated), so we sent it back for an exchange.</p>
<p>I thought that uninstalling the LEGO Mindstorms NXT software might return my Mac OSX system to normal, so I found the uninstall shell script in the Applications directory. With many OSX applications, it&#8217;s sufficient to simply delete the directory associated with the particular application from the Applications directory, but since Bluetooth drivers (and possibly other stuff) was installed, I figured the uninstall script would remove anything that was installed. I viewed the contents of the script briefly, but I was in a particular hurry at the time, so I double-clicked the icon for the uninstall script before I thoroughly reviewed it. It took longer to execute than I expected, and to my great dismay I shortly discovered why.</p>
<p><strong>The LEGO Mindstorms NXT uninstall script removed the entire Applications directory from my Mac OSX system!</strong></p>
<p>I&#8217;ve contacted technical support at LEGO Mindstorms mainly to try and determine how this happened. One of the reps did admit that this has happened before. I&#8217;m not sure what they could do to resolve this to my satisfaction other than pay me for the time I&#8217;ve lost in trying to get the Mac back to normal. I&#8217;ve been able to get the bundled applications reinstalled with some effort, but I still have a fair amount of work to do to reinstall many open source apps.</p>
<p>If LEGO Mindstorms comes up with a creative solution to resolve this to my satisfaction, I&#8217;ll be elated to post an update, but I expect that to be unlikely to say the least. Hopefully this blog post can save at least one person from losing an entire day to a similar problem.</p>
<p>When the replacement LEGO Mindstorms NXT kit arrives I&#8217;m either going to install the software on an old Windows PC, or create a new virtual machine for that purpose, but I don&#8217;t think I can trust LEGO Mindstorms enough to install it on an important computer at this point. Regardless, I&#8217;m going to be much more careful (paranoid?) when installing software that requires root access in the future.</p>
<p><strong>Update 1/18/2008:</strong> It&#8217;s been ten days since I originally called LEGO Mindstorms NXT technical support, and I haven&#8217;t received a call from a supervisor or level 2 person as was promised. I just called them again and talked to the same person who opened the ticket originally. He still refuses to allow me to talk with his supervisor (actually, he states he doesn&#8217;t have a supervisor, and that level 2 is his &#8220;supervisor&#8221;) and simply repeats the same mantra about how my issue has &#8220;been escalated several levels&#8221;. I can&#8217;t recall a tech support experience that has been quite this bad.</p>
<p><strong>Update 1/18/2008 13:00:</strong> I just received the following email response a few minutes ago (probably because I communicated the situation to LEGO corporate headquarters).</p>
<blockquote><p>
Hello,</p>
<p>Your issue has been escalated to the developers in Denmark.<br />
They will get back to you, but we have no control over when that will happen.</p>
<p>In the meantime the only solutions we can offer to you are to repair user permissions and to do an archive reinstall of your Operating System.
</p></blockquote>
<p><strong>Update 1/24/2008 14:10:</strong> Just spoke with David C. from LEGO Mindstorms NXT QA (he was referred to me by a LEGO consumer specialist I had spoken to a couple days ago), and he explained the situation to me. This was a known issue (deleting all your apps on Mac OSX) that has apparently been fixed in the current release of the software. He apologized and will send me a free LEGO Mindstorms NXT kit. It doesn&#8217;t match the monetary loss in time, but it&#8217;s a nice gesture and I appreciate it. I expect it&#8217;s more than many companies would do to remedy the situation.</p>
<p>As to the communication issues with the first line technical support, out of respect for David I won&#8217;t go into detail, but suffice it to say that they are aware of issues with their front line support and are endeavoring to correct them.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/lojicdotcom.wordpress.com/114/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/lojicdotcom.wordpress.com/114/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lojicdotcom.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lojicdotcom.wordpress.com/114/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lojic.com&#038;blog=47773631&#038;post=114&#038;subd=lojicdotcom&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.lojic.com/2008/01/08/beware-of-lego-mindstorms-nxt-on-mac-osx/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/3aeb549012715133bf4a8f43d47fab9a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lojicwp</media:title>
		</media:content>
	</item>
		<item>
		<title>Bug Labs</title>
		<link>http://blog.lojic.com/2007/12/01/bug-labs/</link>
		<comments>http://blog.lojic.com/2007/12/01/bug-labs/#comments</comments>
		<pubDate>Sat, 01 Dec 2007 18:16:26 +0000</pubDate>
		<dc:creator>Brian Adkins</dc:creator>
				<category><![CDATA[technology]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://lojic.com/blog/2007/12/01/bug-labs/</guid>
		<description><![CDATA[This is one of the coolest ideas I&#8217;ve seen in a while. Bug Labs is developing some technology that should be very interesting to any geek. Another great find by Robert Scoble. The video quality isn&#8217;t high because they were recorded on his cell phone, but I&#8217;m glad he had a video capable cell phone [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lojic.com&#038;blog=47773631&#038;post=110&#038;subd=lojicdotcom&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>This is one of the coolest ideas I&#8217;ve seen in a while. <a href="http://www.buglabs.net/">Bug Labs</a> is developing some technology that should be very interesting to any geek. Another great find by <a href="http://scobleizer.com/2007/12/01/buglabsnets-really-cool-reconfigurable-gadget-in-depth/#comment-1587377">Robert Scoble</a>. The video quality isn&#8217;t high because they were recorded on his cell phone, but I&#8217;m glad he had a video capable cell phone with him when he bumped into Peter.</p>
<p><a href="http://video.google.com/googleplayer.swf?docId=-1932063822649530376&amp;hl=en">Part One</a><br />
<a href="http://video.google.com/googleplayer.swf?docId=-3090880151267528595&amp;hl=en">Part Two</a><br />
<a href="http://video.google.com/videoplay?docid=-3950989589304402454&amp;hl=en">Part Three</a></p>
<p><a href="http://www.buglabs.net/"><img src='http://lojic.com/blog/wp-content/uploads/2007/12/bug_lab.gif' alt='bug_lab.gif' /></a></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/lojicdotcom.wordpress.com/110/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/lojicdotcom.wordpress.com/110/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lojicdotcom.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lojicdotcom.wordpress.com/110/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lojic.com&#038;blog=47773631&#038;post=110&#038;subd=lojicdotcom&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.lojic.com/2007/12/01/bug-labs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/3aeb549012715133bf4a8f43d47fab9a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lojicwp</media:title>
		</media:content>

		<media:content url="http://lojic.com/blog/wp-content/uploads/2007/12/bug_lab.gif" medium="image">
			<media:title type="html">bug_lab.gif</media:title>
		</media:content>
	</item>
		<item>
		<title>Gizmo Project</title>
		<link>http://blog.lojic.com/2007/11/13/gizmo-project/</link>
		<comments>http://blog.lojic.com/2007/11/13/gizmo-project/#comments</comments>
		<pubDate>Tue, 13 Nov 2007 21:29:31 +0000</pubDate>
		<dc:creator>Brian Adkins</dc:creator>
				<category><![CDATA[internet]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[voip]]></category>

		<guid isPermaLink="false">http://lojic.com/blog/2007/11/13/gizmo-project/</guid>
		<description><![CDATA[I&#8217;ve been using Gizmo to make voice-over-ip calls for many months now, and I&#8217;ve been extremely pleased with it. They have clients for Linux, Mac &#38; Windows, and the call quality has been outstanding when both ends have broadband. I picked up an inexpensive Plantronics headset with attached microphone which makes extended conversations while working [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lojic.com&#038;blog=47773631&#038;post=105&#038;subd=lojicdotcom&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve been using <a href="http://www.gizmoproject.com/">Gizmo</a> to make voice-over-ip calls for many months now, and I&#8217;ve been extremely pleased with it. They have clients for Linux, Mac &amp; Windows, and the call quality has been outstanding when both ends have broadband.</p>
<p>I picked up an inexpensive Plantronics headset with attached microphone which makes extended conversations while working at a computer a joy. Gizmo call quality is to <a href="http://en.wikipedia.org/wiki/Plain_old_telephone_service">POTS</a> call quality as stereo is to clock radio. I highly recommend checking it out.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/lojicdotcom.wordpress.com/105/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/lojicdotcom.wordpress.com/105/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lojicdotcom.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lojicdotcom.wordpress.com/105/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lojic.com&#038;blog=47773631&#038;post=105&#038;subd=lojicdotcom&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.lojic.com/2007/11/13/gizmo-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/3aeb549012715133bf4a8f43d47fab9a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lojicwp</media:title>
		</media:content>
	</item>
		<item>
		<title>How Bill Gates Beat Gary Kildall</title>
		<link>http://blog.lojic.com/2007/08/13/how-bill-gates-beat-gary-kildall/</link>
		<comments>http://blog.lojic.com/2007/08/13/how-bill-gates-beat-gary-kildall/#comments</comments>
		<pubDate>Mon, 13 Aug 2007 18:50:56 +0000</pubDate>
		<dc:creator>Brian Adkins</dc:creator>
				<category><![CDATA[books]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[history]]></category>

		<guid isPermaLink="false">http://lojic.com/blog/?p=104</guid>
		<description><![CDATA[Robert Scoble has created three video interviews with Tom Rolander (and a few other folks) dealing with early PC industry history. Who is Tom Rolander? He&#8217;s the guy who was flying with Gary Kildall when IBM came calling. The end of the story is that Microsoft got the OS deal with IBM. The video series [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lojic.com&#038;blog=47773631&#038;post=89&#038;subd=lojicdotcom&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Robert Scoble has created three video interviews with Tom Rolander (and a few other folks) dealing with early PC industry history. Who is Tom Rolander? He&#8217;s the guy who was flying with Gary Kildall when IBM came calling. The end of the story is that Microsoft got the OS deal with IBM. The video series fills in some of the blanks <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Aren&#8217;t familiar with this story? You should read: <a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Famazon.com%2Fo%2FASIN%2F0887306292%3Fpf%5Frd%5Fm%3DATVPDKIKX0DER%26pf%5Frd%5Fs%3Dcenter-1%26pf%5Frd%5Fr%3D1Z3GKVZYGVQ6TMAE3TXZ%26pf%5Frd%5Ft%3D101%26pf%5Frd%5Fp%3D278240701%26pf%5Frd%5Fi%3D507846&amp;tag=lojiccom-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325">Hard Drive</a><img src="http://www.assoc-amazon.com/e/ir?t=lojiccom-20&amp;l=ur2&amp;o=1" width="1" height="1" border="0" alt="" style="border:none!important;margin:0!important;" /></p>
<p>A couple other good tech history books are:<br />
<a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FNerds-2-0-1-Stephen-Segaller%2Fdp%2F1575001063%3Fie%3DUTF8%26s%3Dbooks%26qid%3D1187030699%26sr%3D1-1&amp;tag=lojiccom-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325">Nerds 2.0.1</a><img src="http://www.assoc-amazon.com/e/ir?t=lojiccom-20&amp;l=ur2&amp;o=1" width="1" height="1" border="0" alt="" style="border:none!important;margin:0!important;" /> and<br />
<a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FDealers-Lightning-XEROX-PARC-Computer%2Fdp%2F1842030000%3Fie%3DUTF8%26s%3Dbooks%26qid%3D1187030616%26sr%3D1-1&amp;tag=lojiccom-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325">Dealers of Lightning</a><img src="http://www.assoc-amazon.com/e/ir?t=lojiccom-20&amp;l=ur2&amp;o=1" width="1" height="1" border="0" alt="" style="border:none!important;margin:0!important;" /></p>
<p><strong>Part One</strong></p>
<p><strong>Part Two</strong></p>
<p><strong>Part Three</strong></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/lojicdotcom.wordpress.com/89/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/lojicdotcom.wordpress.com/89/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lojicdotcom.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lojicdotcom.wordpress.com/89/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lojic.com&#038;blog=47773631&#038;post=89&#038;subd=lojicdotcom&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.lojic.com/2007/08/13/how-bill-gates-beat-gary-kildall/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/3aeb549012715133bf4a8f43d47fab9a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lojicwp</media:title>
		</media:content>

		<media:content url="http://www.assoc-amazon.com/e/ir?t=lojiccom-20&#38;l=ur2&#38;o=1" medium="image" />

		<media:content url="http://www.assoc-amazon.com/e/ir?t=lojiccom-20&#38;l=ur2&#38;o=1" medium="image" />

		<media:content url="http://www.assoc-amazon.com/e/ir?t=lojiccom-20&#38;l=ur2&#38;o=1" medium="image" />
	</item>
		<item>
		<title>anybots.com</title>
		<link>http://blog.lojic.com/2007/04/22/anybotscom/</link>
		<comments>http://blog.lojic.com/2007/04/22/anybotscom/#comments</comments>
		<pubDate>Mon, 23 Apr 2007 02:35:15 +0000</pubDate>
		<dc:creator>Brian Adkins</dc:creator>
				<category><![CDATA[technology]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[robotics]]></category>

		<guid isPermaLink="false">http://lojic.com/blog/?p=27</guid>
		<description><![CDATA[Ya gotta love robots Trevor Blackwell, the founder and CEO of anybots, worked with Paul Graham on Viaweb which was a pioneering ASP using Lisp which eventually sold to Yahoo! for a nice sum and became Yahoo! Store. Very sharp guy, but I&#8217;m quite skeptical that a walking humanoid robot (technically a remotely operated machine [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lojic.com&#038;blog=47773631&#038;post=54&#038;subd=lojicdotcom&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Ya gotta love robots <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Trevor Blackwell, the founder and CEO of anybots, worked with Paul Graham on Viaweb which was a pioneering ASP using Lisp which eventually sold to Yahoo! for a nice sum and became Yahoo! Store. Very sharp guy, but I&#8217;m quite skeptical that a walking humanoid robot (technically a remotely operated machine since it won&#8217;t be autonomous) will be profitable. I hope it is.</p>
<blockquote><p>Anybots announces the world&#8217;s first dynamically balancing walking humanoid robot.</p></blockquote>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='490' height='306' src='http://www.youtube.com/embed/_CQ5AKaEi3U?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent' frameborder='0'></iframe></span>
<p>Go to <a href="http://www.anybots.com/">anybots.com</a> for more info.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/lojicdotcom.wordpress.com/54/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/lojicdotcom.wordpress.com/54/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lojicdotcom.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lojicdotcom.wordpress.com/54/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lojic.com&#038;blog=47773631&#038;post=54&#038;subd=lojicdotcom&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.lojic.com/2007/04/22/anybotscom/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/3aeb549012715133bf4a8f43d47fab9a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lojicwp</media:title>
		</media:content>
	</item>
	</channel>
</rss>
