<?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>Tyler Kieft &#187; Programming</title>
	<atom:link href="http://tylerkieft.com/archives/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://tylerkieft.com</link>
	<description></description>
	<lastBuildDate>Tue, 10 Jun 2008 16:07:19 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Today&#8217;s High: NaN</title>
		<link>http://tylerkieft.com/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Ftylerkieft.com%2Farchives%2F2007%2F05%2F12%2Ftodays-high-nan%2F&amp;seed_title=Today%26%238217%3Bs+High%3A+NaN</link>
		<comments>http://tylerkieft.com/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Ftylerkieft.com%2Farchives%2F2007%2F05%2F12%2Ftodays-high-nan%2F&amp;seed_title=Today%26%238217%3Bs+High%3A+NaN#comments</comments>
		<pubDate>Sat, 12 May 2007 14:11:56 +0000</pubDate>
		<dc:creator>Tyler</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://snier.com/archives/2007/05/12/todays-high-nan/</guid>
		<description><![CDATA[Good thing it&#8217;s not going to be hot OR cold today:

]]></description>
			<content:encoded><![CDATA[<p>Good thing it&#8217;s not going to be hot OR cold today:</p>
<p><a href="http://en.wikipedia.org/wiki/NaN"><img src='http://snier.com/blog/images/2007/05/weathernan.png' class='centered noborder' alt='Apple Weather Widget: NaN' /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://tylerkieft.com/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Ftylerkieft.com%2Farchives%2F2007%2F05%2F12%2Ftodays-high-nan%2F&amp;seed_title=Today%26%238217%3Bs+High%3A+NaN/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TextMate Lacks A VHDL Bundle</title>
		<link>http://tylerkieft.com/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Ftylerkieft.com%2Farchives%2F2007%2F03%2F12%2Ftextmate-lacks-a-vhdl-bundle%2F&amp;seed_title=TextMate+Lacks+A+VHDL+Bundle</link>
		<comments>http://tylerkieft.com/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Ftylerkieft.com%2Farchives%2F2007%2F03%2F12%2Ftextmate-lacks-a-vhdl-bundle%2F&amp;seed_title=TextMate+Lacks+A+VHDL+Bundle#comments</comments>
		<pubDate>Mon, 12 Mar 2007 19:42:23 +0000</pubDate>
		<dc:creator>Tyler</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://snier.com/archives/2007/03/12/textmate-lacks-a-vhdl-bundle/</guid>
		<description><![CDATA[I am relatively new to TextMate, having been converted from Emacs less than a year ago.  Emacs (pictured below) has extensive support for coding in VHDL.  I was quite surprised, then, when I learned that there is no VHDL bundle available for TextMate.  It turns out that both VHDL and Verilog (the [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://snier.com/blog/images/2007/03/tmpurple.png' width='64' class='noborder alignleft' alt='TextMate' />I am relatively new to <a href="http://macromates.com">TextMate</a>, having been converted from <a href="http://www.gnu.org/software/emacs/">Emacs</a> less than a year ago.  Emacs (pictured below) has extensive support for coding in VHDL.  I was quite surprised, then, when I learned that there is no VHDL bundle available for TextMate.  It turns out that both VHDL and Verilog (the two most popular hardware description languages) are on the <a href="http://macromates.com/svn/Bundles/trunk/Bundles/">bundle request list</a>.</p>
<p><a href="http://snier.com/blog/images/2007/03/emacsvhdl.png"><img src='http://snier.com/blog/images/2007/03/emacsvhdl.png' class='centered' width='350' alt='Editing VHDL in Emacs' /></a></p>
<p>When I think about this more, it makes sense.  The Macintosh is not the platform of choice for hardware designers, who are probably using UNIX or Linux.  The VHDL simulation software that we use in school only runs on Windows, but there are some command-line simulation tools such as GHDL that have been ported to run on Mac OS X.</p>
<p>I&#8217;m considering writing my own bundle, which would be a good excuse to buy that <a href="http://www.pragmaticprogrammer.com/titles/textmate/index.html">new TextMate book</a> that I&#8217;ve been wanting.  Syntax highlighting and commonly used snippets/declarations would be the main priority, followed in the future by GHDL integration.  Of course, I would add the bundle to the Macromates SVN repository once it was in a useful state.</p>
<p>If you got here from Google, what functionality would you like to see in a TextMate VHDL bundle?</p>
]]></content:encoded>
			<wfw:commentRss>http://tylerkieft.com/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Ftylerkieft.com%2Farchives%2F2007%2F03%2F12%2Ftextmate-lacks-a-vhdl-bundle%2F&amp;seed_title=TextMate+Lacks+A+VHDL+Bundle/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>A Slightly Important Phone Interview</title>
		<link>http://tylerkieft.com/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Ftylerkieft.com%2Farchives%2F2007%2F02%2F12%2Fa-slightly-important-phone-interview%2F&amp;seed_title=A+Slightly+Important+Phone+Interview</link>
		<comments>http://tylerkieft.com/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Ftylerkieft.com%2Farchives%2F2007%2F02%2F12%2Fa-slightly-important-phone-interview%2F&amp;seed_title=A+Slightly+Important+Phone+Interview#comments</comments>
		<pubDate>Mon, 12 Feb 2007 05:01:43 +0000</pubDate>
		<dc:creator>Tyler</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[Internships]]></category>
		<category><![CDATA[Life Events]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://snier.com/archives/2007/02/12/a-slightly-important-phone-interview/</guid>
		<description><![CDATA[After Apple didn&#8217;t respond to my inquiry about an internship a few weeks ago, I started to pursue other options.  It turns out that the &#8220;contact&#8221; that I thought I had was not actually a recruiter, so I decided to just send my resume through their standard job site on the web.  As [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://snier.com/blog/images/google_sm.gif" class="noborder alignright" alt="Google Logo" />After Apple didn&#8217;t respond to <a href="http://snier.com/archives/2007/01/15/apple-internship-i/">my inquiry about an internship</a> a few weeks ago, I started to pursue other options.  It turns out that the &#8220;contact&#8221; that I thought I had was not actually a recruiter, so I decided to just send my resume through their standard job site on the web.  As I suspected, this dramatically decreased the my chances of getting a response.  My next option would be to find a real technical contact at Apple through someone that I&#8217;ve worked with at IBM.  I&#8217;ve put that on the back burner for now, though, in hopes of getting an internship at Google.</p>
<p>I did things the right way with Google from the beginning.  One of my professors has a colleague who works in Google&#8217;s NYC office; I got in touch with her by email, and had a recruiter contact me to set up a phone interview within the week.  I was extremely impressed by their quick turnaround time.</p>
<p>The phone interview is 4pm on Tuesday.  I&#8217;m nervous and excited.  I&#8217;m hoping the Googler on the other end doesn&#8217;t completely own me, but I also realize that this could be the gateway to a really awesome opportunity.  The interview is scheduled to be 45 minutes, and the email that I received said, &#8220;In terms of what to expect in your interview, you will be asked a variety of technical questions including questions around coding, algorithms, design, problem solving, and general computer science fundamentals.&#8221;  I consider myself a decent interviewer and a good under-pressure thinker, but I keep having dreams in which I am drooling in front of the phone saying &#8220;Huh&#8221; as the interviewer asks me to write a complete operating system kernel in 5 minutes.</p>
<p>Luckily, I believe that Google is looking for people that know how to think, not people that have memorized the solutions to all the problems they have ever come across.  After all, Google is inventing new areas of computing science as they construct a massively parallel system that has to deal with a truly staggering amount of data.  The people there are inventing new algorithms that have revolutionized internet search, not implementing something that every student is taught in CS101.  I say &#8220;luckily&#8221; because this is the type of interview I believe I will excel at.  I know my CS fundamentals, and I hope to be able to use them to come up with a solution to anything they throw at me.</p>
<p>That being said, I still plan to review a bit.  Today I read the chapter on sorting in my data structures book.  I plan to review my labs from C++ class last year, specifically the ones on templates, memory management, object-oriented topics such as polymorphism and overloading and linked lists and trees.  I&#8217;ll try to remember the details of the stuff I did the past two summers, in case I get asked about that.  Toss a bit of general OOP theory on top, and I&#8217;ll be good to go.  Wish me luck.</p>
]]></content:encoded>
			<wfw:commentRss>http://tylerkieft.com/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Ftylerkieft.com%2Farchives%2F2007%2F02%2F12%2Fa-slightly-important-phone-interview%2F&amp;seed_title=A+Slightly+Important+Phone+Interview/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Unfounded Fears of Rejection / Apple Internship, Part I</title>
		<link>http://tylerkieft.com/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Ftylerkieft.com%2Farchives%2F2007%2F01%2F15%2Fapple-internship-i%2F&amp;seed_title=Unfounded+Fears+of+Rejection+%2F+Apple+Internship%2C+Part+I</link>
		<comments>http://tylerkieft.com/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Ftylerkieft.com%2Farchives%2F2007%2F01%2F15%2Fapple-internship-i%2F&amp;seed_title=Unfounded+Fears+of+Rejection+%2F+Apple+Internship%2C+Part+I#comments</comments>
		<pubDate>Mon, 15 Jan 2007 05:03:01 +0000</pubDate>
		<dc:creator>Tyler</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Internships]]></category>
		<category><![CDATA[Musings]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://snier.com/archives/2007/01/15/apple-internship-i/</guid>
		<description><![CDATA[Have you ever wanted something badly enough that you were nervous to even try for it, for fear of rejection?  I&#8217;ve been thinking about applying for an internship at Apple for at least a year.   Because they don&#8217;t visit the University of Rochester on their fall recruiting trips, I knew it had [...]]]></description>
			<content:encoded><![CDATA[<p>Have you ever wanted something badly enough that you were nervous to even try for it, for fear of rejection?  I&#8217;ve been thinking about applying for an <a href="http://www.apple.com/jobs/us/pro/intern/index.html">internship at Apple</a> for at least a year.   Because they don&#8217;t visit the University of Rochester on their fall recruiting trips, I knew it had to be me that took the first step.  I acquired the email address of an Apple recruiter about a month ago, but it has sat unused on my desk through school break, when I had more than enough time to compose an email and update my resume.</p>
<p><img src="http://snier.com/blog/images/applecampussign.jpg" class="alignright noborder" alt="Apple Campus Sign" />I kept putting it off, however, and it wasn&#8217;t until today that I realized that I was so worried about not getting a job there <em>that I hadn&#8217;t done anything to try to get the job.</em>  The same thing happened to me earlier this year.  I really wanted to work for the Admissions Office at school as a tour guide, but I was quite nervous about what I had heard was a grueling application process.  Yes, the process was awful, especially during final exams, but I came away from it more experienced with interviews and public speaking, and I got the job.</p>
<p>I&#8217;ve never been a person to give up on great opportunities just because there is risk of failure.  However, I have had such a string of successes in my life, most recently with scholarships and college applications, that I feel like at some point I&#8217;m going to lose out on a big one.  But this is no reason to stop trying.</p>
<p>There are so many reasons I want to work at Apple, first and foremost because I love their products, but also because I want a new experience.  I&#8217;ve been in Burlington the past two summers working at IBM, and I want a chance to explore California and meet some new people.</p>
<p>So let me announce it publicly.  <i>(deep breath)</i>  I&#8217;m applying for an internship at Apple this summer.  I&#8217;ll let you know how it goes.</p>
]]></content:encoded>
			<wfw:commentRss>http://tylerkieft.com/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Ftylerkieft.com%2Farchives%2F2007%2F01%2F15%2Fapple-internship-i%2F&amp;seed_title=Unfounded+Fears+of+Rejection+%2F+Apple+Internship%2C+Part+I/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>New 20&#8243; Monitor</title>
		<link>http://tylerkieft.com/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Ftylerkieft.com%2Farchives%2F2006%2F11%2F29%2Fnew-20-monitor%2F&amp;seed_title=New+20%26%238243%3B+Monitor</link>
		<comments>http://tylerkieft.com/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Ftylerkieft.com%2Farchives%2F2006%2F11%2F29%2Fnew-20-monitor%2F&amp;seed_title=New+20%26%238243%3B+Monitor#comments</comments>
		<pubDate>Thu, 30 Nov 2006 00:09:09 +0000</pubDate>
		<dc:creator>Tyler</dc:creator>
				<category><![CDATA[Life Events]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://snier.com/archives/2006/11/29/new-20-monitor/</guid>
		<description><![CDATA[I&#8217;ve been wanting a new monitor for a while now as the 15&#8243; has started to feel cramped when many windows are open (i.e. coding) so I braved the Black Friday madness last weekend to get one.  I arrived at Staples at 5:30 for a 6am opening, thinking I was pretty early, but there [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://snier.com/blog/images/samsung205bw.gif" class="alignleft noborder" alt="Samsung 205BW" />I&#8217;ve been wanting a new monitor for a while now as the 15&#8243; has started to feel cramped when many windows are open (i.e. coding) so I braved the Black Friday madness last weekend to get one.  I arrived at Staples at 5:30 for a 6am opening, thinking I was pretty early, but there were already around 100 people in line.  Luckily they had 40-50 of the monitor that I wanted so it wasn&#8217;t a problem.  My parents bought it for me; it&#8217;s a Christmas present but I convinced them to let me take it back to school already.</p>
<p>The monitor they were selling was a <a href="http://www.samsung.com/Products/Monitor/LCD_Digital/LS20HAWCBQXAA.asp">Samsung 205BW</a> (20&#8243; widescreen).  It has a resolution of 1680&#215;1050 and its brightness is 300cd/m^2.  It is dual-input (VGA/DVI), and it supports <a href="http://en.wikipedia.org/wiki/HDCP">HDCP</a>.  It swivels 360 degrees, is height-adjustable, and tilts up and down.  It has a few different selectable color modes, which I&#8217;m not sure that I will use, but I&#8217;m going to try them when I watch a movie to see if I notice a difference.  Unfortunately it does not rotate to go from landscape to portrait mode, but this is not something I&#8217;m overly concerned about.  It&#8217;s normally $350 but it was on sale for $180.  I really love it &#8211; the quality of the display is phenomenal and it is really bright.  In fact, the display is so bright that it makes my Powerbook G4&#8217;s screen look dark in comparison, so I have to run the monitor at 80% brightness so it doesn&#8217;t look out of place.</p>
<p>The form factor was as important to me as the specs.  I wanted a monitor like Apple&#8217;s cinema displays, with a really small, symmetric bezel.  Also, I wanted unobrtusive buttons.  The Samsung meets both of these requirements and overall has a really clean appearance.  With this and my recent purchase of <a href="http://macromates.com">TextMate</a>, I can now say that I am programming in true Mac nerd style.</p>
]]></content:encoded>
			<wfw:commentRss>http://tylerkieft.com/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Ftylerkieft.com%2Farchives%2F2006%2F11%2F29%2Fnew-20-monitor%2F&amp;seed_title=New+20%26%238243%3B+Monitor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Sweet Taste of Progress</title>
		<link>http://tylerkieft.com/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Ftylerkieft.com%2Farchives%2F2006%2F11%2F04%2Fthe-sweet-taste-of-progress%2F&amp;seed_title=The+Sweet+Taste+of+Progress</link>
		<comments>http://tylerkieft.com/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Ftylerkieft.com%2Farchives%2F2006%2F11%2F04%2Fthe-sweet-taste-of-progress%2F&amp;seed_title=The+Sweet+Taste+of+Progress#comments</comments>
		<pubDate>Sat, 04 Nov 2006 07:24:20 +0000</pubDate>
		<dc:creator>Tyler</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Snake World Tour 2006]]></category>

		<guid isPermaLink="false">http://snier.com/archives/2006/11/04/the-sweet-taste-of-progress/</guid>
		<description><![CDATA[I worked on Snake World Tour tonight for the first time since this past summer.  At the time I left it I was having trouble coming up with both a menu scheme and designing more levels.  In addition, I was starting to feel better from jaw surgery and beginning to go out with [...]]]></description>
			<content:encoded><![CDATA[<p>I worked on <a href="http://snier.com/code/snake-world-tour">Snake World Tour</a> tonight for the first time since this past summer.  At the time I left it I was having trouble coming up with both a menu scheme and designing more levels.  In addition, I was starting to feel better from jaw surgery and beginning to go out with friends more often, and so my recovery project got pushed to the side.</p>
<p>I was a bit worried about not knowing my way around the code after not having looked at it for a while.  But who am I kidding, the codebase is not all that large!  I was surprised at the polished state that I had left the game in.  After the aesthetic tweaking that I did tonight, I&#8217;m pretty darn close to a release.  There are three major obstacles that remain: I need to add more levels, some type of sound effects and possibly music, and create a methodology for scoring the game.<span id="more-31"></span>  Should there be a bonus for completing the level? Should it be based on time? Are apples in the harder levels worth more? Should there be different speed levels, each worth more points?</p>
<p>I implemented some simple menus that can be accessed both during and before the actual game &#8211; to switch from windowed to fullscreen, and that kind of thing.  One thing that I was having difficulty with was keeping track with the state manager of the switches between the game and the menu.  If I accessed the menu multiple times during the game, I&#8217;d accumulate multiple pointers on the state stack pointing to the same singleton object, and when I tried to quit the game and delete these singleton objects, the program would fail because there was only one object to clean up.  However, I managed to get it so that only one pointer to a state is on the stack at any time, thereby eliminating the fatal errors.</p>
<p>The game runs very smoothly both in windowed and fullscreen mode.  I&#8217;m quite proud of it.  Completing it (and hopefully porting it to Windows and Linux) will mean a lot to me, because it will be both the first polished application and the first game that I&#8217;ve written.  Its not enough to just make it playable; I want a true release that I can contribute to the freeware games community.  Now that I have a website there is new motivation to finish because I know that there will be a place to host it when it is done.  Here&#8217;s a sneak peek of one of my favorite levels; see if you can guess what it is <img src='http://tylerkieft.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><img src="http://snier.com/blog/images/swtlevel2.png" alt="Snake World Tour Level" class="center noborder" /></p>
]]></content:encoded>
			<wfw:commentRss>http://tylerkieft.com/feeder/?FeederAction=clicked&amp;feed=Articles+%28RSS2%29&amp;seed=http%3A%2F%2Ftylerkieft.com%2Farchives%2F2006%2F11%2F04%2Fthe-sweet-taste-of-progress%2F&amp;seed_title=The+Sweet+Taste+of+Progress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
