<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title>Mike Valstar's Blog</title><link>http://mikevalstar.com</link><description>WEB DEVELOPMENT, PROGRAMMING, RANDOM THOUGHTS</description><docs>http://blogs.law.harvard.edu/tech/rss</docs><pubDate>Sun, 26 May 2013 00:08:54 +0000</pubDate><lastBuildDate>Sun, 26 May 2013 00:08:54 +0000</lastBuildDate><item><title>A New Design</title><link>http://mikevalstar.com/Blog/116/A_New_Design</link><description>&lt;p&gt;A lot has changed on the web in the 11 months I’ve had this particular revision of my website. So time for an upgrade again.&lt;/p&gt;</description><pubDate>Tue, 16 Oct 2012 12:57:50 +0000</pubDate><author>mikevalstar@gmail.com</author><guid isPermaLink="true">http://mikevalstar.com/Blog/116/A_New_Design</guid></item><item><title>Nodejitsu announces individual pricing</title><link>http://blog.nodejitsu.com/paid-individual-plans</link><description>&lt;p&gt;Nodejitsu has finally &lt;a href=&quot;http://blog.nodejitsu.com/paid-individual-plans&quot;&gt;announced the pricing for their service&lt;/a&gt;, and its cheap!&lt;/p&gt;

&lt;p&gt;For the last year or so I&#39;ve been coding Node whenever possible for client projects, but Ive always ended up hosting on a VPS.  Heroku and similar services have been offering up hosting for a while, and even have a free tier (1 process usually). But these services have always been geared towards larger projects and the pricing reflects that. The new Nodejitsu plans have me excited by offering a better pricing structure for smaller sites and blogs!&lt;/p&gt;</description><pubDate>Fri, 12 Oct 2012 12:51:36 +0000</pubDate><author>mikevalstar@gmail.com</author><guid isPermaLink="true">http://mikevalstar.com/Blog/115/Nodejitsu_announces_individual_pricing</guid></item><item><title>A Zoomable UIImageView</title><link>http://mikevalstar.com/Blog/114/A_Zoomable_UIImageView</link><description>&lt;p&gt;The preferred method for creating an image you can zoom and pan on is to nest a UIImageView inside a UIScrollView. But I needed something a little different...&lt;/p&gt;</description><pubDate>Tue, 02 Oct 2012 15:51:43 +0000</pubDate><author>mikevalstar@gmail.com</author><guid isPermaLink="true">http://mikevalstar.com/Blog/114/A_Zoomable_UIImageView</guid></item><item><title>Coding with Node.js: Part 7; Upgrading to Express 3.x and Mongoose 3.x</title><link>http://mikevalstar.com/Blog/113/Coding_with_Nodejs_Part_7_Upgrading_to_Express_3x_and_Mongoose_3x</link><description>&lt;p&gt;Node is a fast moving technology, and so to this applies to the libraries and tools.  since I started this blog Node has been upgraded from 6.0 to 8.12, and express has migrated from 2.5.0 to 3.0.0 and mongoose is now at 3.2 as well.&lt;/p&gt;</description><pubDate>Tue, 02 Oct 2012 13:34:53 +0000</pubDate><author>mikevalstar@gmail.com</author><guid isPermaLink="true">http://mikevalstar.com/Blog/113/Coding_with_Nodejs_Part_7_Upgrading_to_Express_3x_and_Mongoose_3x</guid></item><item><title>Coding with Node.js: Part 6; Displaying an Archive</title><link>http://mikevalstar.com/Blog/112/Coding_with_Nodejs_Part_6_Displaying_an_Archive</link><description>&lt;p&gt;Now that we are pulling our posts from the database the next step is to allow users to browse old posts.  And just in time since this will be the 11th post to the blog.&lt;/p&gt;

&lt;p&gt;The key items we need for people to be able to view an archive of the website is a previous and next button on the main page, and an archive listing of posts (in this case by month).&lt;/p&gt;

&lt;p&gt;In addition to the above I&#39;ll be adding a new column to the blog posts allowing me to group posts.&lt;/p&gt;</description><pubDate>Fri, 20 Jul 2012 18:03:02 +0000</pubDate><author>mikevalstar@gmail.com</author><guid isPermaLink="true">http://mikevalstar.com/Blog/112/Coding_with_Nodejs_Part_6_Displaying_an_Archive</guid></item><item><title>Forever - Making sure your apps dont crash (too hard)</title><link>https://github.com/nodejitsu/forever</link><description>&lt;Whenever&gt;I write my node apps I sometimes make a mistake and miss a corner case or forget to put try/catch around something I really should have. So when I've started to deploy my apps on live systems with Forever to keep my apps running no matter what. And check in on the logs later to find what if anything I missed. Try it out! &lt;/Whenever&gt;</description><pubDate>Sun, 24 Jun 2012 14:36:53 +0000</pubDate><author>mikevalstar@gmail.com</author><guid isPermaLink="true">http://mikevalstar.com/Blog/111/Forever_-_Making_sure_your_apps_dont_crash_(too_hard)</guid></item><item><title>Coding with Node.js: Part 5; Publishing Your Posts</title><link>http://mikevalstar.com/Blog/110/Coding_with_Nodejs_Part_5_Publishing_Your_Posts</link><description>&lt;p&gt;It&#39;s been a little while since I&#39;ve posted. Sorry about that; but I&#39;m back.&lt;/p&gt;

&lt;p&gt;Now, in the last post I went over how to store your blog posts in a database and retrieve them for editing, now we need to show them to the user and provide them with an rss feed to subscribe to your site with.&lt;/p&gt;</description><pubDate>Sun, 24 Jun 2012 02:34:45 +0000</pubDate><author>mikevalstar@gmail.com</author><guid isPermaLink="true">http://mikevalstar.com/Blog/110/Coding_with_Nodejs_Part_5_Publishing_Your_Posts</guid></item><item><title>Jade template for RSS 2.0</title><link>http://mikevalstar.com/Blog/109/Jade_template_for_RSS_20</link><description>&lt;p&gt;When coding an RSS feed for this site I saw that there really was no simple RSS templates written in &lt;a href=&quot;http://jade-lang.com/&quot;&gt;jade&lt;/a&gt;. (Specifically since this site uses the &lt;a href=&quot;http://expressjs.com/&quot;&gt;Express framework&lt;/a&gt;, jade is already built in. ) I decided to create a jade template that will cover just about anyones needs for an RSS feed.&lt;/p&gt;</description><pubDate>Tue, 17 Apr 2012 18:24:00 +0000</pubDate><author>mikevalstar@gmail.com</author><guid isPermaLink="true">http://mikevalstar.com/Blog/109/Jade_template_for_RSS_20</guid></item><item><title>Coding with Node.js: Part 4; Storing Blog Posts</title><link>http://mikevalstar.com/Blog/108/Coding_with_Nodejs_Part_4_Storing_Blog_Posts</link><description>&lt;p&gt;With the admin login page completed we now need a list of blog entries and a way to create and edit them. So to start lets give ourselves an admin interface for blog posts that we can later integrate into the main website.&lt;/p&gt;</description><pubDate>Tue, 17 Apr 2012 15:03:27 +0000</pubDate><author>mikevalstar@gmail.com</author><guid isPermaLink="true">http://mikevalstar.com/Blog/108/Coding_with_Nodejs_Part_4_Storing_Blog_Posts</guid></item><item><title>Coding with Node.js: Part 3.1; Mongoose Sessions</title><link>http://mikevalstar.com/Blog/107/Coding_with_Nodejs_Part_31_Mongoose_Sessions</link><description>&lt;p&gt;This is a supplemental post to the previous tutorial to add in session handling into Mongo. You may have noticed after the last tutorial that when running the code in production you are alerted that Connect does not recommend the use of in-memory session storage for productions systems.&lt;/p&gt;</description><pubDate>Sat, 28 Jan 2012 00:00:05 +0000</pubDate><author>mikevalstar@gmail.com</author><guid isPermaLink="true">http://mikevalstar.com/Blog/107/Coding_with_Nodejs_Part_31_Mongoose_Sessions</guid></item><item><title>Coding with Node.js: Part 3; Admin login with Mongo &amp; Mongoose.</title><link>http://mikevalstar.com/Blog/106/Coding_with_Nodejs_Part_3_Admin_login_with_Mongo_&amp;_Mongoose</link><description>&lt;p&gt;Now that we have a working website model with error pages and some useful content the next step is to connect to a database so that we can later administer the content of the website and store it in the database.&lt;/p&gt;

&lt;p&gt;For this tutorial we are going to setup a simple login system into mongo with the help of mongoose. In the next tutorial add in the blog posts to the database.&lt;/p&gt;</description><pubDate>Fri, 27 Jan 2012 00:00:05 +0000</pubDate><author>mikevalstar@gmail.com</author><guid isPermaLink="true">http://mikevalstar.com/Blog/106/Coding_with_Nodejs_Part_3_Admin_login_with_Mongo_&amp;_Mongoose</guid></item><item><title>Coding with Node.js: Part 2; Error Handling and 404 pages with Express.</title><link>http://mikevalstar.com/Blog/105/Coding_with_Nodejs_Part_2_Error_Handling_and_404_pages_with_Express</link><description>&lt;p&gt;The next step for coding a website (for me) is to setup the error and 404 pages. The 404 page to be used to display something useful to the user when something cannot be found. A nice error page can also be helpful in debugging and for informing the general public that an error has occurred on your website.&lt;/p&gt;</description><pubDate>Wed, 18 Jan 2012 00:00:05 +0000</pubDate><author>mikevalstar@gmail.com</author><guid isPermaLink="true">http://mikevalstar.com/Blog/105/Coding_with_Nodejs_Part_2_Error_Handling_and_404_pages_with_Express</guid></item><item><title>Simple Hashbang URLs and Google</title><link>http://mikevalstar.com/Blog/104/Simple_Hashbang_URLs_and_Google</link><description>&lt;p&gt;websites are increasingly becoming more and more dynamically loaded as opposed to a full page download for every page on a website. This website in particular is using Hashbang (shebang) style page loading to make page transitions more seamless; but this presents a problem both with google search and google analytics.  I&#39;ll discuss how I manage both of these problems and how you can design a website with seamless page transition as well as tracking these page changes with google analytics.&lt;/p&gt;</description><pubDate>Tue, 15 Nov 2011 00:00:05 +0000</pubDate><author>mikevalstar@gmail.com</author><guid isPermaLink="true">http://mikevalstar.com/Blog/104/Simple_Hashbang_URLs_and_Google</guid></item><item><title>Coding with Node.js: Part 1; Getting started with Express.</title><link>http://mikevalstar.com/Blog/103/Coding_with_Nodejs_Part_1_Getting_started_with_Express</link><description>&lt;p&gt;I have once again decided to rewrite and this time in &lt;a href=&quot;http://nodejs.org/&quot;&gt;node.js&lt;/a&gt;, I have rewritten the site both as a tutorial for new node.js developers as well as a personal blog and project page. &lt;/p&gt;

&lt;p&gt;Since college I have primarily been a PHP developer, building OOP websites with a combination of PHP, Smarty, PDO and other good practice techniques; however since the birth of node I followed the development of the project and more recently started using node for my production projects. Node has proved to be a great tool for rapidly creating websites both semi-static and highly interactional; it is highly responsive and is a better fit for progressively loaded pages over PHP and most other languages I have used in the past. &lt;/p&gt;</description><pubDate>Fri, 11 Nov 2011 00:00:05 +0000</pubDate><author>mikevalstar@gmail.com</author><guid isPermaLink="true">http://mikevalstar.com/Blog/103/Coding_with_Nodejs_Part_1_Getting_started_with_Express</guid></item><item><title>Fitbit vs. UP - Day 1</title><link>http://mikevalstar.com/Blog/102/Fitbit_vs_UP_-_Day_1</link><description>&lt;p&gt;For the last year or so I have been on a bit of a diet and exercise routine in order to get myself in shape and more recently I have increased my level of workout and decreased my calorie intake somewhat. A few weeks ago I bought myself a &lt;a href=&quot;http://www.fitbit.com&quot;&gt;Fitbit&lt;/a&gt; to help me better track my daily exercise and overall fitness level as well as weight and sleeping habits asa bonus. Last week however I started seeing a myriad of reviews and information about the new &lt;a href=&quot;http://jawbone.com/UP&quot;&gt;Jawbone Up&lt;/a&gt; and was starting to think I might be missing out on something. &lt;/p&gt;</description><pubDate>Thu, 10 Nov 2011 00:00:05 +0000</pubDate><author>mikevalstar@gmail.com</author><guid isPermaLink="true">http://mikevalstar.com/Blog/102/Fitbit_vs_UP_-_Day_1</guid></item><item><title>Brand New Once Again</title><link>http://mikevalstar.com/Blog/101/Brand_New_Once_Again</link><description>&lt;p&gt;In what has become an annual tradition; I have re-written the website again. And this time I&#39;ve re-written it in &lt;a href=&quot;http://nodejs.org/&quot;&gt;node.js&lt;/a&gt;. I do plan on taking better care of the website this time around and devoting a little more time to my other projects including &lt;a href=&quot;http://gentoo-portage.com&quot;&gt;gentoo-portage.com&lt;/a&gt; and &lt;a href=&quot;http://gentoo-wiki.com&quot;&gt;gentoo-wiki.com&lt;/a&gt; as well as my newer projects e.g. &lt;a href=&quot;https://github.com/mikevalstar/medusajs&quot;&gt;medusajs&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Wed, 09 Nov 2011 00:00:00 +0000</pubDate><author>mikevalstar@gmail.com</author><guid isPermaLink="true">http://mikevalstar.com/Blog/101/Brand_New_Once_Again</guid></item></channel></rss>