<?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>Lojic Technologies Blog &#187; internet</title>
	<atom:link href="http://lojic.com/blog/category/internet/feed/" rel="self" type="application/rss+xml" />
	<link>http://lojic.com/blog</link>
	<description></description>
	<lastBuildDate>Fri, 28 May 2010 16:11:07 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Retrieve Sunrise, Sunset &amp; Twilight Info in Ruby</title>
		<link>http://lojic.com/blog/2009/03/11/retrieve-sunrise-sunset-twilight-in-ruby/</link>
		<comments>http://lojic.com/blog/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 [...]]]></description>
			<content:encoded><![CDATA[<h2>Sunrise, Sunset &amp; Twilight</h2>
<p><a href="http://lojic.com/blog/wp-content/uploads/2009/03/seascape_after_sunset_900x600.jpg"><img class="alignleft size-medium wp-image-441" title="Twilight" src="http://lojic.com/blog/wp-content/uploads/2009/03/seascape_after_sunset_900x600-300x200.jpg" 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 :)</p>
]]></content:encoded>
			<wfw:commentRss>http://lojic.com/blog/2009/03/11/retrieve-sunrise-sunset-twilight-in-ruby/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Twitter in Plain English</title>
		<link>http://lojic.com/blog/2009/01/05/twitter-in-plain-english/</link>
		<comments>http://lojic.com/blog/2009/01/05/twitter-in-plain-english/#comments</comments>
		<pubDate>Mon, 05 Jan 2009 15:20:23 +0000</pubDate>
		<dc:creator>Brian Adkins</dc:creator>
				<category><![CDATA[communication]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[web2.0]]></category>

		<guid isPermaLink="false">http://lojic.com/blog/?p=158</guid>
		<description><![CDATA[Here&#8217;s a great introduction to Twitter. You can follow me on Twitter here: http://twitter.com/lojic

]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a great introduction to Twitter. You can follow me on Twitter here: <a href="http://twitter.com/lojic">http://twitter.com/lojic</a></p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/ddO9idmax0o&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/ddO9idmax0o&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://lojic.com/blog/2009/01/05/twitter-in-plain-english/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automatically Delete Unwanted Cookies in Firefox</title>
		<link>http://lojic.com/blog/2008/01/26/automatically-delete-unwanted-cookies-in-firefox/</link>
		<comments>http://lojic.com/blog/2008/01/26/automatically-delete-unwanted-cookies-in-firefox/#comments</comments>
		<pubDate>Sat, 26 Jan 2008 18:06:26 +0000</pubDate>
		<dc:creator>Brian Adkins</dc:creator>
				<category><![CDATA[internet]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[utility]]></category>

		<guid isPermaLink="false">http://lojic.com/blog/2008/01/26/automatically-delete-unwanted-cookies-in-firefox/</guid>
		<description><![CDATA[I prefer to not have cookies stored in my browser, but it&#8217;s impractical to not store any cookies since this would require repeatedly logging in to authenticated sites that I frequently use. A simple solution in Firefox is the following:
From the Edit menu, choose Preferences and then click the Privacy tab. You should see a [...]]]></description>
			<content:encoded><![CDATA[<p>I prefer to not have cookies stored in my browser, but it&#8217;s impractical to not store any cookies since this would require repeatedly logging in to authenticated sites that I frequently use. A simple solution in Firefox is the following:</p>
<p>From the <span style="text-decoration: underline;">E</span>dit menu, choose <span style="text-decoration: underline;">P</span>references and then click the Privacy tab. You should see a dialog similar to the following one:</p>
<p><img src='http://lojic.com/blog/wp-content/uploads/2008/01/firefox1.png' alt='firefox1.png' /></p>
<p>Check the &#8220;Accept cookies from sites&#8221; checkbox. For the &#8220;Keep until&#8221; setting, select &#8220;I close Firefox&#8221;. The latter is the key &#8211; it will erase all cookies from Firefox whenever you close the program. Of course, we don&#8217;t want to erase <em>all</em> the cookies, so click the &#8220;Exceptions&#8230;&#8221; button on the right and you&#8217;ll see a dialog similar to the following:</p>
<p><img src='http://lojic.com/blog/wp-content/uploads/2008/01/firefox2.png' alt='firefox2.png' /></p>
<p>Just type the name of the web site you want to allow in the text box and click the &#8220;Allow&#8221; button, and Firefox will add it to the exception list so it won&#8217;t be deleted when you close Firefox. You can add a full URL such as www.MySite.com, or just the domain name MySite.com to allow cookies for any host in that domain. You an also add sites you want to disallow any cookies from by clicking the &#8220;Block&#8221; button.</p>
<p>I have about 30 sites that I allow Firefox to store cookies for, but this technique has helped me avoid accumulating tons of unwanted cookies in Firefox. I hope it&#8217;s helpful for you.</p>
]]></content:encoded>
			<wfw:commentRss>http://lojic.com/blog/2008/01/26/automatically-delete-unwanted-cookies-in-firefox/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Gizmo Project</title>
		<link>http://lojic.com/blog/2007/11/13/gizmo-project/</link>
		<comments>http://lojic.com/blog/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 &#038; 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 at [...]]]></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 &#038; 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>
]]></content:encoded>
			<wfw:commentRss>http://lojic.com/blog/2007/11/13/gizmo-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>del.icio.us Tag Bundling</title>
		<link>http://lojic.com/blog/2007/11/03/delicious-tag-bundling/</link>
		<comments>http://lojic.com/blog/2007/11/03/delicious-tag-bundling/#comments</comments>
		<pubDate>Sun, 04 Nov 2007 01:47:24 +0000</pubDate>
		<dc:creator>Brian Adkins</dc:creator>
				<category><![CDATA[internet]]></category>
		<category><![CDATA[utility]]></category>
		<category><![CDATA[web2.0]]></category>

		<guid isPermaLink="false">http://lojic.com/blog/2007/11/03/delicious-tag-bundling/</guid>
		<description><![CDATA[I&#8217;ve written about del.icio.us several times before (use the search box to find the articles). I&#8217;ve been using the service for quite a while and still consider it to be one of the most valuable web services I use.
I just discovered the tag bundling feature from this article and tried it out. Tag bundling, as [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve written about <a href="http://del.icio.us">del.icio.us</a> several times before (use the search box to find the articles). I&#8217;ve been using the service for quite a while and still consider it to be one of the most valuable web services I use.</p>
<p>I just discovered the tag bundling feature from <a href="http://webworkerdaily.com/2007/11/01/become-a-delicious-power-user/trackback/">this article</a> and tried it out. Tag bundling, as you might expect, allows you to group your tags. For example, my first bundle was &#8220;people&#8221;, so now I can see all my people tags in one group. I&#8217;ll be adding more bundles soon.</p>
<p>If you&#8217;re not using <a href="http://del.icio.us">del.icio.us</a>, you should really check it out. And if you, are and don&#8217;t know about tag bundling, give it a shot.</p>
<p><a href="http://del.icio.us">del.icio.us</a> makes it easy to share tags &#8211; for example, here&#8217;s a link for my <a href="http://del.icio.us/lojic/Ruby">bookmarks on the Ruby programming language</a>. I haven&#8217;t discovered a similar way for sharing bundles, so if you know, please leave a comment.</p>
]]></content:encoded>
			<wfw:commentRss>http://lojic.com/blog/2007/11/03/delicious-tag-bundling/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Functional Features in JavaScript on Firefox</title>
		<link>http://lojic.com/blog/2007/10/07/functional-features-in-javascript-on-firefox/</link>
		<comments>http://lojic.com/blog/2007/10/07/functional-features-in-javascript-on-firefox/#comments</comments>
		<pubDate>Sun, 07 Oct 2007 05:01:31 +0000</pubDate>
		<dc:creator>Brian Adkins</dc:creator>
				<category><![CDATA[internet]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[functional]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://lojic.com/blog/2007/10/07/functional-features-in-javascript-on-firefox/</guid>
		<description><![CDATA[I was reading an article about adding code to JavaScript to make it more functional, and one of the blog commenters mentioned some built-in features that were added to JavaScript 1.6 &#038; 1.7 on Firefox, so I checked out the links (see below) &#8211; very cool stuff.


    Array methods

indexOf
lastIndexOf
every
filter
forEach
map
some


Array &#38; String generics
Generators [...]]]></description>
			<content:encoded><![CDATA[<p>I was reading an article about adding code to JavaScript to make it more functional, and one of the blog commenters mentioned some built-in features that were added to JavaScript 1.6 &#038; 1.7 on Firefox, so I checked out the links (see below) &#8211; very cool stuff.</p>
<ul>
<li>
    Array methods</p>
<ul>
<li>indexOf</li>
<li>lastIndexOf</li>
<li>every</li>
<li>filter</li>
<li>forEach</li>
<li>map</li>
<li>some</li>
</ul>
</li>
<li>Array &amp; String generics</li>
<li>Generators &amp; Iterators</li>
<li>Array Comprehensions</li>
<li>Block Scope w/ let</li>
<li>Destructuring Assignment</li>
<li>etc.</li>
</ul>
<p>They won&#8217;t help if you have to target IE also, but it should be possible to conditionally include your own code to implement the ones that don&#8217;t require syntactic changes for pages loaded from IE. That would reduce network load for customers using Firefox.</p>
<p><a href="http://developer.mozilla.org/en/docs/New_in_JavaScript_1.6">New in JavaScript 1.6 (Firefox 1.5)</a></p>
<p><a href="http://developer.mozilla.org/en/docs/New_in_JavaScript_1.7">New in JavaScript 1.7 (Firefox 2.0)</a></p>
<p>Hopefully IE will catch up someday, but if not, I can see taking advantage of Firefox specific JavaScript enhancements for niche applications. Firefox is so easy to install, that it should be easy to convince customers to use it for certain custom applications.</p>
]]></content:encoded>
			<wfw:commentRss>http://lojic.com/blog/2007/10/07/functional-features-in-javascript-on-firefox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web Hosting Bandwidth Constant</title>
		<link>http://lojic.com/blog/2007/09/03/web-hosting-bandwidth-constant/</link>
		<comments>http://lojic.com/blog/2007/09/03/web-hosting-bandwidth-constant/#comments</comments>
		<pubDate>Mon, 03 Sep 2007 06:42:12 +0000</pubDate>
		<dc:creator>Brian Adkins</dc:creator>
				<category><![CDATA[internet]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[sysadmin]]></category>

		<guid isPermaLink="false">http://lojic.com/blog/2007/09/03/web-hosting-bandwidth-constant/</guid>
		<description><![CDATA[
365.25 days per year
12 months per year
24 hours per day
60 minutes per hour
60 seconds per minute
1,024 MB per GB
1,024 KB per MB
8 kilobits (kb) per kilobyte (KB)

Put that all together and you get the following:
3.19 (month kb) / (sec GB)
So when you see a web hosting company stating a bandwidth per month (in GB), you [...]]]></description>
			<content:encoded><![CDATA[<ul>
<li>365.25 days per year</li>
<li>12 months per year</li>
<li>24 hours per day</li>
<li>60 minutes per hour</li>
<li>60 seconds per minute</li>
<li>1,024 MB per GB</li>
<li>1,024 KB per MB</li>
<li>8 kilobits (kb) per kilobyte (KB)</li>
</ul>
<p>Put that all together and you get the following:</p>
<p><strong>3.19 (month kb) / (sec GB)</strong></p>
<p>So when you see a web hosting company stating a bandwidth per month (in GB), you can multiply that by 3.19 to get a kilobits per second figure. In other words, 18 GB/month of bandwidth is the amount of bandwidth that a 56Kb modem would consume at full capacity, and 480 GB/month is roughly the same as a 1.5Mb T1 line.</p>
]]></content:encoded>
			<wfw:commentRss>http://lojic.com/blog/2007/09/03/web-hosting-bandwidth-constant/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Greasemonkey Script for Netflix Half Star Ratings</title>
		<link>http://lojic.com/blog/2007/08/27/greasemonkey-script-for-netflix-half-star-ratings/</link>
		<comments>http://lojic.com/blog/2007/08/27/greasemonkey-script-for-netflix-half-star-ratings/#comments</comments>
		<pubDate>Mon, 27 Aug 2007 21:38:50 +0000</pubDate>
		<dc:creator>Brian Adkins</dc:creator>
				<category><![CDATA[internet]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[movies]]></category>
		<category><![CDATA[utility]]></category>

		<guid isPermaLink="false">http://lojic.com/blog/2007/08/27/greasemonkey-script-for-netflix-half-star-ratings/</guid>
		<description><![CDATA[I wrote an article back in May about a way to give half star ratings on Netflix. It had the advantage of working in any browser and not requiring any software installation, but it wasn&#8217;t very user friendly.
Since then, I&#8217;ve been doing a lot of JavaScript coding, so I thought I&#8217;d give Greasemonkey a try. [...]]]></description>
			<content:encoded><![CDATA[<p>I wrote an article back in May about a way to give <a href="http://lojic.com/blog/2007/05/02/half-star-ratings-on-netflix/">half star ratings</a> on Netflix. It had the advantage of working in any browser and not requiring any software installation, but it wasn&#8217;t very user friendly.</p>
<p>Since then, I&#8217;ve been doing a lot of JavaScript coding, so I thought I&#8217;d give <a href="https://addons.mozilla.org/en-US/firefox/addon/748">Greasemonkey</a> a try. I found a script <a href="http://userscripts.org/scripts/review/8118">here</a> to give half-star ratings, but I didn&#8217;t care for the hover captions and JSLint pointed out a few issues, so I cleaned it up a little:</p>
<p><strong>Code</strong><br />
<code><br />
// ==UserScript==<br />
// @name          Netflix Half Stars<br />
// @description   allows half star user ratings on Netflix<br />
// @include       http://*netflix.com/*<br />
// ==/UserScript==<br />
// http://userscripts.org/scripts/review/8118<br />
// Modified by Brian Adkins</p>
<p>if (!unsafeWindow.sbHandler) { return; }</p>
<p>var sbHandler = unsafeWindow.sbHandler;<br />
sbHandler.sbOffsets = [8,18,27,37,46,56,65,75,84,94];</p>
<p>sbHandler.displayStrings[0.5] = ".5 stars";<br />
sbHandler.displayStrings[1.5] = "1.5 stars";<br />
sbHandler.displayStrings[2.5] = "2.5 stars";<br />
sbHandler.displayStrings[3.5] = "3.5 stars";<br />
sbHandler.displayStrings[4.5] = "4.5 stars";</p>
<p>sbHandler.sbImages[0.5] = new Image();<br />
sbHandler.sbImages[0.5].src = sbHandler.imageRoot+"stars_2_5.gif";</p>
<p>for(var i = 2; i < 11; i++) {<br />
  sbHandler.sbImages[i/2] = new Image();<br />
  sbHandler.sbImages[i/2].src = sbHandler.imageRoot + "stars_2_" +<br />
    (Math.floor(i/2)) + (i % 2 === 0 ? "0" : "5") + ".gif";<br />
}</p>
<p>sbHandler.getStarCount = function (evt) {<br />
  var x = unsafeWindow.getElementMouseCoordinate(evt, this.element);</p>
<p>  for(var ii = 0; ii < 10; ii++) {<br />
    if(x <= this.sbOffsets[ii]) { return (ii + 1) / 2; }<br />
  }</p>
<p>  return 0;<br />
};<br />
</code></p>
<p><strong>Installation</strong></p>
<p>Save the JavaScript code with .user.js extension e.g. netflix_halfstar.user.js and then open that file in Firefox and Greasemonkey should prompt you to install it.</p>
]]></content:encoded>
			<wfw:commentRss>http://lojic.com/blog/2007/08/27/greasemonkey-script-for-netflix-half-star-ratings/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Social Bookmarking</title>
		<link>http://lojic.com/blog/2007/08/07/social-bookmarking/</link>
		<comments>http://lojic.com/blog/2007/08/07/social-bookmarking/#comments</comments>
		<pubDate>Wed, 08 Aug 2007 01:34:35 +0000</pubDate>
		<dc:creator>Brian Adkins</dc:creator>
				<category><![CDATA[internet]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[utility]]></category>
		<category><![CDATA[web2.0]]></category>

		<guid isPermaLink="false">http://lojic.com/blog/?p=103</guid>
		<description><![CDATA[Here&#8217;s a video that explains why using a site such as del.icio.us can be useful. I think they may have failed to mention that you can mark bookmarks as private on del.icio.us, so it&#8217;s not necessary to expose your bookmarks to the world. However, in my case, I only mark a small fraction as private.
I&#8217;ve [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a video that explains why using a site such as <a href="http://del.icio.us">del.icio.us</a> can be useful. I think they may have failed to mention that you can mark bookmarks as private on del.icio.us, so it&#8217;s not necessary to expose your bookmarks to the world. However, in my case, I only mark a small fraction as private.</p>
<p>I&#8217;ve been using del.icio.us for quite some time. After I had been using it for a while, I realized that it had been a long time since I bookmarked something in my browser because I had developed a habit of bookmarking in del.icio.us. Most browsers force you into placing a bookmark into a hierarchical, or directory, structure, but on del.icio.us you can assign as many &#8220;tags&#8221; as you like to a particular bookmark so you can search for things more easily. del.icio.us also allows you to export your bookmarks so you aren&#8217;t at the mercy of a proprietary service.</p>
<p>Another thing that is handy is to subscribe to the del.icio.us feeds of your friends to be automatically notified when they bookmark something that may be of interest.</p>
<p><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/x66lV7GOcNU"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/x66lV7GOcNU" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://lojic.com/blog/2007/08/07/social-bookmarking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Surf Securely Using SSH</title>
		<link>http://lojic.com/blog/2007/08/02/surf-securely-using-ssh/</link>
		<comments>http://lojic.com/blog/2007/08/02/surf-securely-using-ssh/#comments</comments>
		<pubDate>Thu, 02 Aug 2007 05:28:15 +0000</pubDate>
		<dc:creator>Brian Adkins</dc:creator>
				<category><![CDATA[internet]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[utility]]></category>

		<guid isPermaLink="false">http://lojic.com/blog/?p=98</guid>
		<description><![CDATA[This is so easy, you&#8217;re gonna love it! Thanks Tyler Pedersen.
Motivation
I&#8217;ve been using my laptop more frequently at wifi hotspots. Many web sites I visit encrypt traffic with SSL for authentication, but after that they send traffic in the clear which means the cookies that are used for authentication purposes are sent in the clear, [...]]]></description>
			<content:encoded><![CDATA[<p>This is <strong>so</strong> easy, you&#8217;re gonna love it! Thanks Tyler Pedersen.</p>
<p><strong>Motivation</strong></p>
<p>I&#8217;ve been using my laptop more frequently at wifi hotspots. Many web sites I visit encrypt traffic with SSL for authentication, but after that they send traffic in the clear which means the cookies that are used for authentication purposes are sent in the clear, so anyone with a sniffer within range of my laptop could easily intercept the traffic, steal my cookies and impersonate me on the web site. Not good! So, I went looking for a simple solution, and found a <a href="http://www.surfssl.com/?p=20">great article</a> about using ssh for this purpose. Ya gotta love open source software :)</p>
<p><strong>Prerequisites</strong></p>
<p>I&#8217;ll assume the following:</p>
<ol>
<li>You&#8217;ve used ssh before</li>
<li>You have access to a remote host running sshd</li>
</ol>
<p><strong>How To</strong></p>
<p>Issue the following command on your local computer:</p>
<p><code>ssh -Nf username@hostname.com -D 1080</code></p>
<p>replace username@hostname.com with the appropriate information. Look at the man page for ssh, or read the article linked above for an explanation of the options.</p>
<p>The next step is to configure Firefox to use the SOCKS proxy you setup with the above command. I&#8217;m using Firefox 2.0.0.6 on Ubuntu 7.04 Linux.</p>
<p><code>Edit | Preferences | Advanced | Settings</code></p>
<p>Pulls up the following dialog:</p>
<p><img src='http://lojic.com/blog/wp-content/uploads/2007/08/socks.png' alt='socks.png' /></p>
<p>Notice how I&#8217;ve switched from &#8220;Direct connection to the Internet&#8221; to &#8220;Manual proxy configuration&#8221;. I&#8217;ve also set the SOCKS Host to be &#8216;localhost&#8217; and the port to be &#8216;1080&#8242;.</p>
<p>I can now surf and have encrypted traffic between my local computer and the remote host I ssh&#8217;d to. The traffic between my remote host and the destination web site will be unencrypted, but hopefully that traffic is harder to sniff without being detected.</p>
<p>At this point, I tested it out and everything worked fine. I then killed my local ssh process and Firefox complained about the connection being reset, so I knew it was in fact sending data over the ssh tunnel.</p>
<p>The final step is optional, but if you want to avoid having the bad guys detect your DNS requests (or possibly redirect them &#8211; d&#8217;oh!), you can configure Firefox to route DNS requests through the proxy.</p>
<ol>
<li>Type <code>about:config</code> in the Firefox address bar.</li>
<li>Look for network.proxy.socks_remote_dns and set the value to true</li>
</ol>
<p>Is that easy or what? Thanks again Tyler.</p>
]]></content:encoded>
			<wfw:commentRss>http://lojic.com/blog/2007/08/02/surf-securely-using-ssh/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
