<?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>Net by Matt</title>
	<atom:link href="http://www.netbymatt.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.netbymatt.com</link>
	<description>Random thoughts and photos</description>
	<lastBuildDate>Fri, 03 Sep 2010 17:28:55 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>A Small World</title>
		<link>http://www.netbymatt.com/2331</link>
		<comments>http://www.netbymatt.com/2331#comments</comments>
		<pubDate>Sat, 26 Sep 2009 21:00:44 +0000</pubDate>
		<dc:creator>Matt Walsh</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.netbymatt.com/?p=2331</guid>
		<description><![CDATA[It’s simply amazing how small the internet makes this world. I’m in Poland for the next two weeks. To say the least I was not looking forward to this trip, but so far, all of my fears have gone unfounded and things have been going very smoothly.
Purdue was playing Notre Dame the day I arrived, [...]]]></description>
			<content:encoded><![CDATA[<p>It’s simply amazing how small the internet makes this world. I’m in Poland for the next two weeks. To say the least I was not looking forward to this trip, but so far, all of my fears have gone unfounded and things have been going very smoothly.</p>
<p>Purdue was playing Notre Dame the day I arrived, at 2am local time on a Sunday. I happened to be up, so I scanned the TV channels here at the hotel and didn’t see the game. I then picked up my phone and headed over to Twitter, and there it was: commentary from the same people, all around the US, that I talk Purdue football with every weekend. An ocean, 4000 miles, 7 time zones, and a different language and I was still able to experience the Purdue game as it happened.</p>
<p>The internet has also made it incredibly easy and cheap to call home. Using my Google Voice number, a 30 minute call only cost $0.60. Not only that, but the call was crystal clear, and had no lag at all. This is something that 50 years ago would have cost several dollars per minute, required an operator to complete the call, and would require waiting for an open phone line across the Atlantic. 150 years ago it was absolutely impossible. You would have to write a letter, send it off, and wait for a response to come back in no less than a month.</p>
<p>The pace at which technology advances on the internet is astonishing. Being on the leading edge of that wave is a lot of fun, but you don’t realize just how incredible it is until you see just how small it can make the world feel when you’re in an unfamiliar place and it still allows you to connect with friends and family just as easily as if you were there.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.netbymatt.com/2331/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Docs</title>
		<link>http://www.netbymatt.com/1976</link>
		<comments>http://www.netbymatt.com/1976#comments</comments>
		<pubDate>Tue, 19 May 2009 16:00:31 +0000</pubDate>
		<dc:creator>Matt Walsh</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.netbymatt.com/?p=1976</guid>
		<description><![CDATA[Google has an entire office suite online called Google Docs. You can create documents, spreadsheets and presentations completely within your web browser. I find this great for stuff that I need to have access to from many computers. All of the apps have nearly all of the features that you've come to expect from a [...]]]></description>
			<content:encoded><![CDATA[<p>Google has an entire office suite online called <a href="http://docs.google.com">Google Docs</a>. You can create documents, spreadsheets and presentations completely within your web browser. I find this great for stuff that I need to have access to from many computers. All of the apps have nearly all of the features that you've come to expect from a desktop application, and a few that you just can't get. For example, there's a widget in the spreadsheet app that will mark up a Google map with a list of location's that's in your spreadsheet. This is a fun little toy to play with in my spreadsheet that tracks all of the traveling that I've done for work.</p>
<p>Bonus Tip: You can use Google Docs from your phone. Any phone can view documents, and some higher end phones can even make edits to documents.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.netbymatt.com/1976/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TweetDeck</title>
		<link>http://www.netbymatt.com/1974</link>
		<comments>http://www.netbymatt.com/1974#comments</comments>
		<pubDate>Mon, 18 May 2009 16:00:33 +0000</pubDate>
		<dc:creator>Matt Walsh</dc:creator>
				<category><![CDATA[Desktop App]]></category>
		<category><![CDATA[M@'s Picks]]></category>

		<guid isPermaLink="false">http://www.netbymatt.com/?p=1974</guid>
		<description><![CDATA[TweetDeck is a Twitter client that helps you keep track of everything on your timeline. It's core feature is a multi-column view that lets you group your tweets together however you'd like. You can add friends to groups, so their tweets will always show up in a particular column. A column can also be configured [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.tweetdeck.com/">TweetDeck</a> is a Twitter client that helps you keep track of everything on your timeline. It's core feature is a multi-column view that lets you group your tweets together however you'd like. You can add friends to groups, so their tweets will always show up in a particular column. A column can also be configured for search, so you'll see any tweets with your search term in them. I often use search when watching a prime-time TV show live, to see what other people are saying about it, or to see if anyone picks up on some subtlety that I may have missed. It can make TV watching a very interactive experience.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.netbymatt.com/1974/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Handbrake</title>
		<link>http://www.netbymatt.com/1971</link>
		<comments>http://www.netbymatt.com/1971#comments</comments>
		<pubDate>Sun, 17 May 2009 16:00:36 +0000</pubDate>
		<dc:creator>Matt Walsh</dc:creator>
				<category><![CDATA[Desktop App]]></category>
		<category><![CDATA[M@'s Picks]]></category>

		<guid isPermaLink="false">http://www.netbymatt.com/?p=1971</guid>
		<description><![CDATA[Handbrake is a video transcoding application. Most people use it to shrink videos down to a size that their iPod/Phone can handle. For transcoding software, it's very easy to use, with presets for a lot of common formats and handheld devices. Select the file and what you're going to use it on and you're ready [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://handbrake.fr/">Handbrake</a> is a video transcoding application. Most people use it to shrink videos down to a size that their iPod/Phone can handle. For transcoding software, it's very easy to use, with presets for a lot of common formats and handheld devices. Select the file and what you're going to use it on and you're ready to go. The software also has all of the nitty-gritty options that you could possibly need to fine tune the video output you get from it. Finally, it's multi-threaded, meaning that it will use all of the available processors on your system which gives it a huge performance increase.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.netbymatt.com/1971/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Mobile Sync</title>
		<link>http://www.netbymatt.com/1968</link>
		<comments>http://www.netbymatt.com/1968#comments</comments>
		<pubDate>Sun, 17 May 2009 01:46:23 +0000</pubDate>
		<dc:creator>Matt Walsh</dc:creator>
				<category><![CDATA[M@'s Picks]]></category>
		<category><![CDATA[Mobile App]]></category>

		<guid isPermaLink="false">http://www.netbymatt.com/?p=1968</guid>
		<description><![CDATA[A few months ago Google rolled out Google Mobile Sync. This syncs your Google calendar and contacts to your mobile phone. On Windows Mobile, you don't even need any software for it. It runs right through the built in Active Sync interface in Windows. Syncing happens very quickly, and it is very smart about resolving [...]]]></description>
			<content:encoded><![CDATA[<p>A few months ago Google rolled out <a href="http://www.google.com/mobile/default/sync.html">Google Mobile Sync</a>. This syncs your Google calendar and contacts to your mobile phone. On Windows Mobile, you don't even need any software for it. It runs right through the built in Active Sync interface in Windows. Syncing happens very quickly, and it is very smart about resolving conflicts when both the mobile and on-line calendars change. I was surprised to see that Sync also pulled the photos from my phone that are associated with contacts and put them into GMail contacts as well.</p>
<p>Bonus Tip: When you're using Google calendar, or a widget, use natural language to enter your events. "Lunch with Jim 12:30 Tuesday at Quiznos" Google will figure out and fill in the date, time, event and location and set up the appointment automatically.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.netbymatt.com/1968/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Dell Saga</title>
		<link>http://www.netbymatt.com/1503</link>
		<comments>http://www.netbymatt.com/1503#comments</comments>
		<pubDate>Sun, 15 Mar 2009 23:39:48 +0000</pubDate>
		<dc:creator>Matt Walsh</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.netbymatt.com/?p=1503</guid>
		<description><![CDATA[As those of you who follow me on twitter know I have been very disappointed with Dell's handling of my new PC order, which ultimately ended up in me canceling the order. Below is my letter to the FTC explaining how I believe Dell is abusing the "Mail Order Rule." Feel free to use it [...]]]></description>
			<content:encoded><![CDATA[<p>As those of you who follow me on twitter know I have been very disappointed with Dell's handling of my new PC order, which ultimately ended up in me canceling the order. Below is my letter to the FTC explaining how I believe Dell is abusing the "Mail Order Rule." Feel free to use it as a template if you feel that you've been a victim of this as well.</p>
<p>Matthew Walsh<br />
(address removed<br />
for privacy)</p>
<p>March 15, 2009</p>
<p>Federal Trade Commission<br />
Consumer Response Center<br />
600 Pennsylvania Avenue N.W.<br />
Washington, DC 20580</p>
<p>Dear Sir or Madam:<br />
	I recently purchased a computer from Dell Inc. (One Dell Way, Mail Stop 8129, Round Rock, TX 78682). Two weeks after I placed my order they informed me through email that my order would be delayed another week. At the end of this week, they again informed my via email that my order would be delayed another week. This email also mentioned the FTC “Mail Order Rule” (Part 435) and gave me until 9pm that evening to respond or have my order canceled automatically.<br />
	I understand the nature of this rule, but I believe that Dell Inc. is using this to their advantage to keep from having to fulfill orders that they deem unreasonable.<br />
	First, I believe that the approximately 12 hours between when I received my second delay notification and the time I needed to contact them to continue my order was unusually short. This second email did not state that I would have the option to cancel up until the time that they ship my PC, if I had agreed to the delay. Because of this, I felt that I was being pressured into making a decision to wait indefinitely for my new PC, or cancel and loose out on the deal that I had waited to find through their web site.<br />
	Second, at the time of the second notification, the price for the PC I had ordered went up nearly $400 (per their web site), thus I believe they are using this rule as a way to ensure they maximize profits on each of their sales, by saving the components that would have gone into my PC for another customer who was paying more for it.<br />
	I have done business with Dell in the past, and have been very pleased with their products, but the handling of this particular delay, in my opinion, was very unsatisfactory.<br />
	My account information with Dell is as follows, if needed: (removed for privacy). Enclosed are my order confirmation, first and second delay notices.</p>
<p>Thank you for your time,<br />
Matthew Walsh</p>
]]></content:encoded>
			<wfw:commentRss>http://www.netbymatt.com/1503/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Vista 64-Bit, The First 24 Hours</title>
		<link>http://www.netbymatt.com/1483</link>
		<comments>http://www.netbymatt.com/1483#comments</comments>
		<pubDate>Sun, 15 Mar 2009 00:14:50 +0000</pubDate>
		<dc:creator>Matt Walsh</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.netbymatt.com/?p=1483</guid>
		<description><![CDATA[My new computer with Vista-64 arrived yesterday, and now that I've got the majority of my data copied over and programs installed, I'm compiling my thoughts on both Vista and the 64-bit environment.
The first thing that I noticed is that you need to be careful to look for the 64-bit downloads for the software that [...]]]></description>
			<content:encoded><![CDATA[<p>My new computer with Vista-64 arrived yesterday, and now that I've got the majority of my data copied over and programs installed, I'm compiling my thoughts on both Vista and the 64-bit environment.</p>
<p>The first thing that I noticed is that you need to be careful to look for the 64-bit downloads for the software that you're installing. I ended up downloading and re-installing things several times after I ran a program and realized that it was running in 32-bit mode.</p>
<p>How can you tell if something is running in 32-bit mode? Open up task manager and look at the processes tab, in the image name column look for a *32 after the name of the file. If it's there, then it is running in 32-bit mode. I've also noticed that programs that run as services, such as backup and AV programs, run their configuration applications in 32-bit mode, but if you look at the all process tab, I've found that the underlying engine that actually does the scanning or backing up runs in 64-bit mode.</p>
<p>Here are some of the programs that I use regularly and their 64-bit status.</p>
<ul>
<li><strong>Firefox</strong> - The 64-bit version is called "<a href="http://www.mozilla-x86-64.com/">Minefield</a>" You can have this and Firefox installed simultaneously, and they share extensions, preferences, history and cookies. This is convenient so you don't have to maintain two separate copies.</li>
<li><strong>JungleDisk</strong> - You'll need to download the 64-bit version of <a href="http://www.jungledisk.com">JungleDisk</a>. Every part of the application runs in 64-bit.</li>
<li><strong>Adobe Flash</strong> - Flash is not yet supported in 64-bit browsers, both Minefield and Internet Explorer. The good news is that it runs just fine in the 32-bit browsers running in Vista 64.</li>
<li><strong>AVG Anti-Virus</strong> - The <a href="http://free.grisoft.com">free version</a> of AVG runs in 65-bit mode. Note that only the scanning engine does this, not the front-end configuration application. Also, there's no need to dig around for a different installer, the 64-bit one is included in the normal Windows installer download.</li>
<li><strong>Picasa</strong> - <a href="http://picasa.google.com">Picasa</a> does not yet have a 64-bit version for Windows. I have had no problems running the 32-bit version, however.</li>
<li><strong>GIMP</strong> - The GIMP has an experimental 64-bit version. The installer actually requires you to check a box that reads "I promise I won't bother the developers if I can't get this to work" before it lets you install it. I haven't done a lot of work in GIMP yet, but I have yet to run into any problems with it.</li>
<li><strong>VLC</strong> - The free <a href="http://www.vlc.org">Video Lan Client (VLC)</a> does not have a 64-bit version yet. I have had no problems running the 32-bit version, however.</li>
<li><strong>Itunes</strong> - Itunes has a 64-bit version, you'll need to do some digging to find it through Apple's site. Here's the link to <a href="http://support.apple.com/downloads/iTunes_8_1_for_Windows__64_bit_">Itunes 8.1</a>, the newest available at the time of this post.</li>
</ul>
<p>As for drivers, I was able to locate 64-bit drivers for my printer, scanner, bluetooth adapter and video card from their manufacturers' without any problems. All of this hardware is under 3 years old. I would expect some problems finding updated drivers for hardware that is older.</p>
<p>Although it got a bad rap to start, I'm quite impressed with Vista overall. Some of my favorite features that I've found so far include:</p>
<ul>
<li><strong>Start menu search</strong> - Open the start menu and start typing. Windows will immediately show you what matches your search from both programs on the start menu and your documents folder. If the one at the top of the list is the one you're looking for, just press enter, otherwise select it from the list on the left side of the start menu.</li>
<li><strong>Windows Flip 3D</strong> - Instead of switching between windows using Alt-Tab, try Win-Tab. If you've got Aero Glass Enabled, you'll get a cascaded preview of each open window to flip through. A nice effect, and it can help locate the window you want when you've got a lot of windows open.</li>
<li><strong>Aero Glass</strong> - The top-of-the-line theme for windows. It includes translucent window borders, minimize and maximize animations and glowing window controls. Normally I've immediately turned off all of the eye-candy on a new install of XP, even reverting back to the Windows 2000 style taskbar, but Microsoft got it right this time. The animations and other eye candy do not seem to effect the performance, and with a decent graphics card, are actually handled in the GPU and not in the main processor.</li>
<li><strong>User Account Control</strong> - Although many people are annoyed by just how often this pops up, I find it an excellent tool for securing your computer. The theory behind it is that any time a program wants to make changes to a protected area of the system (install a program for example) Windows will alert you to this and require you to enter the password for the administrator account. This is an excellent way to keep malware from installing itself automatically in the drive-by download fashion. It's unfortunate that so many people turn it off.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.netbymatt.com/1483/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Syntax &#8211; Programming Series (3 of 3)</title>
		<link>http://www.netbymatt.com/1403</link>
		<comments>http://www.netbymatt.com/1403#comments</comments>
		<pubDate>Wed, 11 Mar 2009 16:00:17 +0000</pubDate>
		<dc:creator>Matt Walsh</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.netbymatt.com/?p=1403</guid>
		<description><![CDATA[Syntax is structure of the programming language. It can be thought of as the verbs, nouns and parts of speech that make up English, or a foreign language. Syntax can typically fall under 3 different categories: High level, low level, and graphical.
High level is what is most common today. This includes languages such as C, [...]]]></description>
			<content:encoded><![CDATA[<p>Syntax is structure of the programming language. It can be thought of as the verbs, nouns and parts of speech that make up English, or a foreign language. Syntax can typically fall under 3 different categories: High level, low level, and graphical.</p>
<p>High level is what is most common today. This includes languages such as C, Visual Basic, PHP and others. These languages use human-readable elements such as if, then, else, while and return to control the flow of a program. Many of these languages share enough common elements that a programmer familiar with one language can often look at code written in a different language an often have an understanding of what it accomplishes. However, each of these languages is unique and many of them are designed around a particular task or programming concept. A thorough understanding of this underlying concept can help a programmer to make a decision on which language to use to accomplish a particular task.</p>
<p>A graphical language is a high level language that is often represented in a flowchart form to facilitate human readability. Flowcharts are mainly made up of decision branches, and function blocks, not unlike ones that are used to describe a process in a user manual. These languages are typically programmed using drag and drop. Grab the block you need and drop it in the appropriate place on the screen. Each block often has a few parameters associated with it. For example a decision block will have a two input values and a comparison operator, not unlike an if statement in a text based language. From this block you can then branch to a yes or no function block. Function blocks, like decision blocks, also have inputs. A block that performs and addition function, for example, would have two inputs for the values being added, and one output for the result. These languages often become very complex to follow because it is often difficult to place comments within the flowchart structure to help another programmer understand exactly what is happening, unlike comments in a text based program which can be placed nearly anywhere. Additionally, as the program becomes more complex, the flow of the program can become very difficult to follow as it will quickly begin to cover several pages, and connecting blocks between these pages can often be a challenge depending on exact language used.</p>
<p>Another example of a graphical language is ladder logic. It is typically used in industrial control systems, and is based directly on electrical schematics that look a lot like rungs of a ladder. This design was intentional, as an electrician familiar with common electrical symbols could very easily transition to programming in a ladder language, as the symbols and functions of the symbols was essentially the same. Over time, the language has evolved to add instructions and symbols that do not have an electrical counterpart. Ladder based languages also have the distinction of running continuously, unlike the text languages also discussed in this section. Again, this design is intentional as it is modeled after electrical schematics and components, which behave like a continuously running program, as long as the machine is turned on.</p>
<p>Low level languages are ultimately what is run on a processor, and the other two types of languages discussed here are ultimately turned into a low level language before they are executed. Low level languages often use mnemonics that help to make the language readable to programmers. A few lines from a typical low level language might read as follows:</p>
<p><code>LD A, 10<br />
INC A<br />
JP A,Z</code></p>
<p>In the above example LD, INC and JP are all opcodes, and are actual instructions that the processor carries out. The values following the opcodes are parameters for each code. In this case A is a register, 10 is a constant and Z is a label to jump to. Each of these opcodes is turned into a binary value that is the actual sequence of bits that the processor must see to carry out the command entered. Even though this has been made easier to read through the use of mnemonics, at first glance it is not entirely clear that this code loads the value 10 into register A, increments the value in A by 1 and then jumps to label Z if A is not zero. Programming in an assembly language requires a good understanding of the actual architecture of the processor, how memory is laid out, what functions it can perform and how to combine the rather primitive functions provided into more common functions such as if-then-else statements.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.netbymatt.com/1403/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Execution Style &#8211; Programming Series (2 of 3)</title>
		<link>http://www.netbymatt.com/1398</link>
		<comments>http://www.netbymatt.com/1398#comments</comments>
		<pubDate>Mon, 09 Mar 2009 17:00:59 +0000</pubDate>
		<dc:creator>Matt Walsh</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.netbymatt.com/?p=1398</guid>
		<description><![CDATA[There are two basic ways that a program can be executed: continuously and event driven. The execution style is dictated by the programming language, and is almost always event driven.
In event driven code, nothing runs until there is a triggering event. This is often the user clicking a button, pressing a key, following a link [...]]]></description>
			<content:encoded><![CDATA[<p>There are two basic ways that a program can be executed: continuously and event driven. The execution style is dictated by the programming language, and is almost always event driven.</p>
<p>In event driven code, nothing runs until there is a triggering event. This is often the user clicking a button, pressing a key, following a link on a web site, or it could be a machine generated event, such as data arrives on a port or a set amount of time has elapsed. In any case, once the triggering event happens, a portion of code is executed. In a calculator, for example, when the user presses the equals button, the corresponding portion of the program to add, subtract, multiply or divide is carried out.</p>
<p>Continuously executed programs run every line of code, from top to bottom, and then immediately begin executing at the top again. Every line of code has a distinct output that is updated on a more-or-less continuous basis, as long as the program and processor run sufficiently fast. The most basic type of this program is often referred to as “bit banging” and is often used in the programming of industrial equipment. It is called bit banging because these types of programs look at inputs from multiple single bit sources, often push buttons, position sensors or selector switches and based on the states of these inputs, turn on or off a single bit output. The code can often be broken down into several lines of if-then-else statements such as “if A or B are ON then turn ON C else turn OFF C.”</p>
<p>Interestingly, these two different styles of program execution, even though they are defined by the programming language, can be written in such a way that they behave as they other type of program. Consider the following lines of pseudo-code that are written in an event driven language:</p>
<p><code>Event (User Click)<br />
While (1)<br />
If A or B Then C Else D<br />
If A and B Then E Else F<br />
End While<br />
End Event</code></p>
<p>The above program will execute continuously, even though the programming language is event driven. Strictly speaking, this code would “hang” the processor as it would be stuck in an infinite loop that only deals with inputs A and B. In reality, there is a supervisory program (an operating system in a computer, for example) that oversees everything that is going on and will pause the execution of this program and give processing time to other programs to keep everything running as expected.</p>
<p>Like the above example, a continuous execution program can be written to appear to execute as though it were event driven. Here is another pseudo-code example written in a continuous language.</p>
<p><code>If A then B<br />
If B then C<br />
If C then D</code></p>
<p>Even though all of these lines of code are executed over and over, the only way to get to D is to first trigger A, which triggers B and so on, in an event driven fashion.</p>
<p>One other interesting note, excluding the newer multi-core processor systems, any given processor can only execute one command at a time, and can only execute commands sequentially. The speed of a processor allows it to appear to handle multiple tasks at one.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.netbymatt.com/1398/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Algorithm &#8211; Programming Series (1 of 3)</title>
		<link>http://www.netbymatt.com/1395</link>
		<comments>http://www.netbymatt.com/1395#comments</comments>
		<pubDate>Sat, 07 Mar 2009 06:25:41 +0000</pubDate>
		<dc:creator>Matt Walsh</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.netbymatt.com/?p=1395</guid>
		<description><![CDATA[After several years of programming in various languages for several different platforms there are several things I’ve come to realize about programming. I’ve broken it down into 3 separate topics, each with their own discussion. Each discussion will be added over the next few days.
The heart of any program is the algorithm that actually performs [...]]]></description>
			<content:encoded><![CDATA[<p>After several years of programming in various languages for several different platforms there are several things I’ve come to realize about programming. I’ve broken it down into 3 separate topics, each with their own discussion. Each discussion will be added over the next few days.</p>
<p>The heart of any program is the algorithm that actually performs a task at hand. There are often plenty of auxiliary functions that typically must also occur in a program, but what makes each and every piece of software unique is how these functions are tied together to perform a task. Often the algorithm is the piece of code that requires the most debugging, the most attention to detail, and most importantly, a new and often creative idea. Auxiliary functions frequently are written by a third party, or in the case of many high level languages, may actually be features of the language itself. In PHP, as an example, there are functions available to query a database, write HTTP headers to a browser, read data from a web page or sort an array.  All of these functions typically require no more than a line or two of code for them to perform a lot of work more or less automatically.</p>
<p>Let’s apply these functions to a basic model of the Google search engine. Things start off with a web crawler, an auxiliary function that gets a web page. The crawler then finds links on the page, opens them and continues on indefinitely.</p>
<p>The crawler feeds its data to Google’s algorithm called Page Rank. This is the core of their process. It counts up the number of links to a given page, and what context the page is linked to. Note that there are no pre-defined functions to handle this task, thus it is the main algorithm because it contains the new and creative idea mentioned above.</p>
<p>Next we move back to some auxiliary functions. The data that is generated by Page Rank is then stored in a database, another built in function in many programming languages. Then, when a user does a search, the database is queried and returns a response that contains pages that match the user’s input. Finally, this data is then sent to the user’s web browser, all of which can be handled by various functions that are already built into a programming language.</p>
<p>Please understand that this is a very simplified analysis of Google, and it was intentionally designed to show how an algorithm is a small part of an overall program, but is what makes every program unique.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.netbymatt.com/1395/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vista 64</title>
		<link>http://www.netbymatt.com/1331</link>
		<comments>http://www.netbymatt.com/1331#comments</comments>
		<pubDate>Sun, 22 Feb 2009 20:21:13 +0000</pubDate>
		<dc:creator>Matt Walsh</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.netbymatt.com/?p=1331</guid>
		<description><![CDATA[I just purchased a new computer from Dell with Vista 64-bit. I've heard that the transition to 64-bit is often a rough one, so I'll be keeping track of my progress here. To start, I visited the Windows Vista Compatability Center and checked that my major hardware will still work with the OS. This included [...]]]></description>
			<content:encoded><![CDATA[<p>I just purchased a new computer from Dell with Vista 64-bit. I've heard that the transition to 64-bit is often a rough one, so I'll be keeping track of my progress here. To start, I visited the <a href="http://www.microsoft.com/Windows/compatibility/default.aspx?type=Software">Windows Vista Compatability Center</a> and checked that my major hardware will still work with the OS. This included my laser printer, scanner, and of less importance a card readyer, Bluetooth adapter and a new TV tuner. The existing hardware was 1-3 years old and all of it will work just fine.</p>
<p>I opted to go with Vista Home Premium and I'll save my money until Windows 7 comes out later this year and upgrade to the highest level then. With the exception of remote desktop, there's nothing that I'll be missing out on by having Home Premium.</p>
<p>I didn't go with top of the line components but close. I do a bit of video editing, a lot of photo editing, and not much gaming. Here are the specs:</p>
<ul>
<li>Dell Studio XPS 435MT</li>
<li>Core i7-920 processor, 2.66GHz, quad core</li>
<li>6GB DDR3 1067MHz</li>
<li>22" Widescreen Full HD LCD Dell monitor</li>
<li>ATI Radeon HD4670 with 512MB memory</li>
<li>640GB SATA Hard drive, 7200 RPM</li>
<li>Vista Home Premium 64-bit</li>
<li>2-16X DVD+/-RW Drives</li>
</ul>
<p>This is a major step up from my current 7+ year old system (frequently updated) that I built myself. Current specs are:</p>
<ul>
<li>AMD Athlon 1.2GHz</li>
<li>1GB PC133</li>
<li>17" 4:3 LCD Dell Monitor</li>
<li>ATI Radeon All-In-Wonder 7500 64MB</li>
<li>500GB PATA hard drive, 72oo RPM</li>
<li>XP Pro 32-bit</li>
<li>16X DVD+/-RW Drive</li>
<li>52X CD-RW/-RW Drive</li>
<li>Unidentified burning smell (main reason for upgrade)</li>
</ul>
<p>Look for my new 64-bit <a href="http://www.netbymatt.com/category/matts-picks">M@'s Picks</a>, and anything else that I learn about taking the step to 64-bit in the next month or two.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.netbymatt.com/1331/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Download Youtube Videos</title>
		<link>http://www.netbymatt.com/1156</link>
		<comments>http://www.netbymatt.com/1156#comments</comments>
		<pubDate>Sun, 08 Feb 2009 17:00:58 +0000</pubDate>
		<dc:creator>Matt Walsh</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.netbymatt.com/?p=1156</guid>
		<description><![CDATA[Downloading videos from Youtube is easier than ever. Simply change youtube.com in the title bar to pwnyoutube.com when you've viewing a video. It will bring you to a page with the option to download either the standard quality or the high quality video. Just click one of the links to start downloading.
]]></description>
			<content:encoded><![CDATA[<p>Downloading videos from Youtube is easier than ever. Simply change youtube.com in the title bar to pwnyoutube.com when you've viewing a video. It will bring you to a page with the option to download either the standard quality or the high quality video. Just click one of the links to start downloading.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.netbymatt.com/1156/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SCalc</title>
		<link>http://www.netbymatt.com/1126</link>
		<comments>http://www.netbymatt.com/1126#comments</comments>
		<pubDate>Sat, 07 Feb 2009 17:00:28 +0000</pubDate>
		<dc:creator>Matt Walsh</dc:creator>
				<category><![CDATA[M@'s Picks]]></category>
		<category><![CDATA[Mobile App]]></category>

		<guid isPermaLink="false">http://www.netbymatt.com/?p=1126</guid>
		<description><![CDATA[The calculator included with Windows Mobile is rather limited. If you need trig, scientific functions, constants, and more check out SCalc. It's a very simple command line-like interface, but also very powerful.
]]></description>
			<content:encoded><![CDATA[<p>The calculator included with Windows Mobile is rather limited. If you need trig, scientific functions, constants, and more check out <a href="http://mobile.bav73.com/SCalc.htm">SCalc</a>. It's a very simple command line-like interface, but also very powerful.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.netbymatt.com/1126/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VLC</title>
		<link>http://www.netbymatt.com/1124</link>
		<comments>http://www.netbymatt.com/1124#comments</comments>
		<pubDate>Fri, 06 Feb 2009 17:00:54 +0000</pubDate>
		<dc:creator>Matt Walsh</dc:creator>
				<category><![CDATA[Desktop App]]></category>
		<category><![CDATA[M@'s Picks]]></category>

		<guid isPermaLink="false">http://www.netbymatt.com/?p=1124</guid>
		<description><![CDATA[VideoLan Client (VLC) is a media player that works with many OS's. Unlike Windows Media Player, and many others, VLC has all of the codecs that you might need built in. So if you're having trouble playing a particular file, give it a try. Also, there are several advanced features of the software that allow [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.videolan.org">VideoLan Client</a> (VLC) is a media player that works with many OS's. Unlike Windows Media Player, and many others, VLC has all of the codecs that you might need built in. So if you're having trouble playing a particular file, give it a try. Also, there are several advanced features of the software that allow you to do transcoding, live streaming, and video capture.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.netbymatt.com/1124/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bonus Tip: KeePass Password Safe</title>
		<link>http://www.netbymatt.com/1122</link>
		<comments>http://www.netbymatt.com/1122#comments</comments>
		<pubDate>Thu, 05 Feb 2009 17:00:35 +0000</pubDate>
		<dc:creator>Matt Walsh</dc:creator>
				<category><![CDATA[Desktop App]]></category>
		<category><![CDATA[M@'s Picks]]></category>

		<guid isPermaLink="false">http://www.netbymatt.com/?p=1122</guid>
		<description><![CDATA[By putting the file KeePass generates inside a Jungle Disk, and then using Jungle Disk's USB drive version you'll be able to get to your passwords from anywhere. You can keep the KeePass software itself either on your USB drive, or on the Jungle Disk.
]]></description>
			<content:encoded><![CDATA[<p>By putting the file <a href="http://www.netbymatt.com/1120">KeePass</a> generates inside a <a href="http://www.netbymatt.com/295">Jungle Disk</a>, and then using Jungle Disk's USB drive version you'll be able to get to your passwords from anywhere. You can keep the KeePass software itself either on your USB drive, or on the Jungle Disk.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.netbymatt.com/1122/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>KeePass Password Safe</title>
		<link>http://www.netbymatt.com/1120</link>
		<comments>http://www.netbymatt.com/1120#comments</comments>
		<pubDate>Wed, 04 Feb 2009 17:00:54 +0000</pubDate>
		<dc:creator>Matt Walsh</dc:creator>
				<category><![CDATA[Desktop App]]></category>
		<category><![CDATA[M@'s Picks]]></category>

		<guid isPermaLink="false">http://www.netbymatt.com/?p=1120</guid>
		<description><![CDATA[KeePass Password Safe is a password management program. Passwords are stored encrypted in a file, and are listed in a simple spreadsheet style interface within the program. In addition to user names and passwords, you can store additional notes and information about the service that they're used for. It also has some nice features, such [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://keepass.info/">KeePass Password Safe</a> is a password management program. Passwords are stored encrypted in a file, and are listed in a simple spreadsheet style interface within the program. In addition to user names and passwords, you can store additional notes and information about the service that they're used for. It also has some nice features, such as creating strong a password for you automatically when you add a new password to your safe. KeePass will allow you to copy any password from the program to the clipboard, and it will then automatically clear the clipboard after 10 seconds, helping to keep your password secure.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.netbymatt.com/1120/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>User Agent Switcher</title>
		<link>http://www.netbymatt.com/1116</link>
		<comments>http://www.netbymatt.com/1116#comments</comments>
		<pubDate>Mon, 02 Feb 2009 17:00:30 +0000</pubDate>
		<dc:creator>Matt Walsh</dc:creator>
				<category><![CDATA[Firefox Plugin]]></category>
		<category><![CDATA[M@'s Picks]]></category>

		<guid isPermaLink="false">http://www.netbymatt.com/?p=1116</guid>
		<description><![CDATA[The Firefox plugin User Agent Switcher is a quick and dirty way to often get past login requirements on several news sites. By setting the plugin to report that you're the GoogleBot, you can often view content on sites that would otherwise require a login. This works because sites will allow Google to browse their [...]]]></description>
			<content:encoded><![CDATA[<p>The Firefox plugin <a href="https://addons.mozilla.org/en-US/firefox/addon/59">User Agent Switcher</a> is a quick and dirty way to often get past login requirements on several news sites. By setting the plugin to report that you're the GoogleBot, you can often view content on sites that would otherwise require a login. This works because sites will allow Google to browse their site freely so all of the content gets indexed for the search engine. However, when you show up, it realizes you're not Google and forces you to log in or sign up to view the same content.</p>
<p>The plugin is also useful if you're your checking out how your site handles requests from mobile phones. I set it to report the my browser was a Windows Mobile phone and then used the <a href="http://mobilepress.co.za/">Mobile Press</a> plugin for <a href="http://www.wordpress.org">WordPress</a> to reformat my blog for mobile phones. This way I could check out how everything was working without having to go back to my phone constantly.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.netbymatt.com/1116/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Mobile Mail Shortcuts</title>
		<link>http://www.netbymatt.com/1114</link>
		<comments>http://www.netbymatt.com/1114#comments</comments>
		<pubDate>Sun, 01 Feb 2009 17:00:53 +0000</pubDate>
		<dc:creator>Matt Walsh</dc:creator>
				<category><![CDATA[M@'s Picks]]></category>
		<category><![CDATA[Mobile App]]></category>
		<category><![CDATA[Tweak]]></category>

		<guid isPermaLink="false">http://www.netbymatt.com/?p=1114</guid>
		<description><![CDATA[The mail application built into Windows Moblie includes several shortcuts to make managing email easier. To use them simply hold down the corresponding number for about 1 second.

0 - List Shortcuts
1 - Replay All
2 - Reply
3 - Mark Read/Unread
4 - Flag
5 - Move
6 - Forward
7 - Delete
8 - Download
9 - Send/Receive

You can also search the [...]]]></description>
			<content:encoded><![CDATA[<p>The mail application built into Windows Moblie includes several shortcuts to make managing email easier. To use them simply hold down the corresponding number for about 1 second.</p>
<ul>
<li>0 - List Shortcuts</li>
<li>1 - Replay All</li>
<li>2 - Reply</li>
<li>3 - Mark Read/Unread</li>
<li>4 - Flag</li>
<li>5 - Move</li>
<li>6 - Forward</li>
<li>7 - Delete</li>
<li>8 - Download</li>
<li>9 - Send/Receive</li>
</ul>
<p>You can also search the message list by typing your search right at the message list. It will update the message list immediately with messages that match your search and highlight the matching term in the message.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.netbymatt.com/1114/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tetris for your phone</title>
		<link>http://www.netbymatt.com/966</link>
		<comments>http://www.netbymatt.com/966#comments</comments>
		<pubDate>Sat, 31 Jan 2009 17:00:44 +0000</pubDate>
		<dc:creator>Matt Walsh</dc:creator>
				<category><![CDATA[M@'s Picks]]></category>
		<category><![CDATA[Mobile App]]></category>

		<guid isPermaLink="false">http://www.netbymatt.com/?p=966</guid>
		<description><![CDATA[Instead of paying your wireless carrier way too much per month to play Tetris on your Windows Mobile, get the free Kevtris. Nothing unusual here, it has all the normal playing modes and an online high score list if you want to participate in that as well.
]]></description>
			<content:encoded><![CDATA[<p>Instead of paying your wireless carrier way too much per month to play Tetris on your Windows Mobile, get the free <a href="http://www.caywen.com/kevtris/">Kevtris</a>. Nothing unusual here, it has all the normal playing modes and an online high score list if you want to participate in that as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.netbymatt.com/966/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Search and replace across files</title>
		<link>http://www.netbymatt.com/963</link>
		<comments>http://www.netbymatt.com/963#comments</comments>
		<pubDate>Fri, 30 Jan 2009 17:00:25 +0000</pubDate>
		<dc:creator>Matt Walsh</dc:creator>
				<category><![CDATA[M@'s Picks]]></category>
		<category><![CDATA[Tweak]]></category>

		<guid isPermaLink="false">http://www.netbymatt.com/?p=963</guid>
		<description><![CDATA[I still do a lot of my coding by hand, so every now and then I need to do a global search and replace across several files. Notepad++ (see this post) has this feature built in. Simply open all the files needing the search and replace in Notepad++ (drag and drop works nicely for this) [...]]]></description>
			<content:encoded><![CDATA[<p>I still do a lot of my coding by hand, so every now and then I need to do a global search and replace across several files. <a href="http://notepad-plus.sourceforge.net/uk/site.htm">Notepad++</a> (<a href="http://www.netbymatt.com/927">see this post</a>) has this feature built in. Simply open all the files needing the search and replace in Notepad++ (drag and drop works nicely for this) then press Ctrl+H to bring up the replace dialog. Fill in the find and replace text boxes and then click replace all in open documents. There's a similar function on the find tab in the same dialog box that will find every instance of whatever you'd like in all of your open files. Then it will list them all with the surrounding text in the same dialog box. Just click on any one of them to jump right to it.<br />
While you've got Notepad++ open. Press Ctrl+G to bring up the go to dialog box. You can jump directly to any line number from here. This is nice when debugging code and you get an error on line xyz. Make sure to read the dialog carefully, the guys who made Notepad++ seem to have a sense of humor.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.netbymatt.com/963/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
