Permalink
Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
75 lines (73 sloc) 12.8 KB
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title type="text">Recent Blog Posts</title>
<id>http://mattdeboard.net/feed.atom</id>
<updated>2011-05-04T00:00:00Z</updated>
<link href="http://mattdeboard.net" />
<link href="http://mattdeboard.net/feed.atom" rel="self" />
<subtitle type="text">Recent blog posts</subtitle>
<generator>Werkzeug</generator>
<entry xml:base="http://mattdeboard.net/feed.atom">
<title type="text">No Regrets</title>
<id>http://mattdeboard.net/2011/05/04/no-regrets</id>
<updated>2011-05-04T00:00:00Z</updated>
<link href="http://mattdeboard.net/2011/05/04/no-regrets" />
<author>
<name>&lt;a href="http://mattdeboard.net"&gt;Matt DeBoard&lt;/a&gt;</name>
</author>
<content type="html">&lt;p&gt;I was inspired by the farewell post of a man I've never heard of, published the day of his death. Well, maybe less &amp;quot;inspired&amp;quot; and more &amp;quot;filled with relief and gratitude.&amp;quot; You can read his letter &lt;a class="reference external" href="http://www.penmachine.com/2011/05/the-last-post"&gt;here&lt;/a&gt;. At the time of this writing, however, that link is being hammered by, I'm sure, an overwhelming surge of traffic as word of this post makes its way around the web. Here is Google's &lt;a class="reference external" href="http://webcache.googleusercontent.com/search?q=cache:http://www.penmachine.com/2011/05/the-last-post"&gt;cache&lt;/a&gt;, and here is a &lt;a class="reference external" href="http://pastebin.ca/2053916"&gt;pastebin&lt;/a&gt; copy. It's worth a read, but be forewarned: It is pretty wrenching.&lt;/p&gt;
&lt;p&gt;Derek's post-mortem post made me glad I'm living the life I'm living now. I'm 31 years old -- 32 in a month -- and while my daughter Emma is at school, I spend the day programming, running errands, reading, and otherwise pursuing my own personal interests. When she gets home, I make sure she does her homework, I make dinner, I sleep.&lt;/p&gt;
&lt;p&gt;Every morning I get to wake up next to a beautiful, brilliant, driven woman who's several years my junior but has a firmer grasp of what matters in life than I think I could have ever hoped to in my 20s. I have never felt better about another person in my life.&lt;/p&gt;
&lt;p&gt;I have no bills and I maintain a modest lifestyle. I am attending university for a degree in a subject about which I'm passionate, and which will make me some extra money down the road when I need it.&lt;/p&gt;
&lt;p&gt;I set my own schedule every day, fitted around picking up &amp;amp; dropping off my daughter at school. Beyond the normal stresses of being a single parent, my life is astoundingly, remarkably, wonderfully, joyously stress-free. For the first time in my life, I think, I don't have anything to complain about.&lt;/p&gt;
&lt;p&gt;Reading Derek's post has affirmed the decisions I've made to put me in this position. I regret nothing, and just about every day is awesome. If you've read this far, please don't take this as shameless bragging. It is a sincere expression of gratitude to Derek, and a grinning shout of relief at the sky that I have let so many unnecessary, trivial things fall away from my life over the past few years.&lt;/p&gt;
</content>
</entry>
<entry xml:base="http://mattdeboard.net/feed.atom">
<title type="text">Latest work</title>
<id>http://mattdeboard.net/2011/02/14/my-first-actual-web-app</id>
<updated>2011-02-14T00:00:00Z</updated>
<link href="http://mattdeboard.net/2011/02/14/my-first-actual-web-app" />
<author>
<name>&lt;a href="http://mattdeboard.net"&gt;Matt DeBoard&lt;/a&gt;</name>
</author>
<content type="html">&lt;p&gt;I have put my latest project live. I started &lt;a class="reference external" href="http://yuk.mattdeboard.net"&gt;Yuk&lt;/a&gt; (&lt;a class="reference external" href="https://github.com/mattdeboard/Yuk"&gt;source&lt;/a&gt;) a couple of weeks ago as an exercise in developing an understanding of an MVC web framework, instead of using &lt;a class="reference external" href="http://flask.pocoo.org"&gt;flask&lt;/a&gt; for everything. flask is great, but not knowing Django (and more importantly, Django's underlying principles) is a huge knowledge gap I wanted to address.&lt;/p&gt;
&lt;p&gt;So, Yuk. The least important point first: The name is stupid. Since Yuk is a bookmarking service, I thought it would be cute to play off &amp;quot;delicious&amp;quot; with ... well, you get it. Dumb idea. &amp;quot;Rebranding&amp;quot; isn't really a priority though.&lt;/p&gt;
&lt;p&gt;Though the name was a play off &amp;quot;del.icio.us&amp;quot;, I have actually written the site using &lt;a class="reference external" href="http://pinboard.in"&gt;pinboard.in&lt;/a&gt; as a model, at least in terms of features and design. Pinboard is a really fast, dead simple bookmark service with a lot of great features that don't overshadow/obscure the site's core functionality. Having a model to base my work on has been very helpful.&lt;/p&gt;
&lt;p&gt;My first task was to set about getting Yuk's own core functionality -- saving user-defined URLs to a database -- working. For the framework I chose Django, and for the database I chose sqlite3, for simplicity. An additional point to this project was to gain familiarity with databases, especially how to design them so that model relations not only work, but make sense. I've still got a long, long way to go on this point. Be that as it may, as I said I chose sqlite3 for simplicity (simplicity being a codeword for what the Django docs recommended for a small project). It is fine for my uses and has been a great hands-on exercise.&lt;/p&gt;
&lt;p&gt;One side effect of this project was finally getting a handle on Python classes. Since I'd never undertaken a project that called for them, I'd never really understood what they were for/why they would be used. That is, I could implement a class by regurgitating I'd read -- the 'self' concept, the __init__ function, and so forth -- but I wouldn't actually understand. However, because of some of the details of implementing a bookmarking service, I have had the opportunity to define classes, subclasses, overwrite functions, and so forth within Django's MVC structure. If I learned absolutely nothing else, the time I've spent on this project would have been worth it simply for having a reason to implement classes.&lt;/p&gt;
&lt;p&gt;After nailing down storing bookmarks to the database, then came user registration/accounts. I don't have much to say about this since Django core and the &lt;a class="reference external" href="http://code.google.com/p/django-registration/"&gt;django-registration&lt;/a&gt; app make it ridiculously simple. I still need to customize the URL config for the registration/login/logout views, but since it works so well right out of the box, it has been a low priority.&lt;/p&gt;
&lt;p&gt;Since then, I've put in a few additional features, such as timestamps, tagging, RSS importing (a chance to reuse &lt;a class="reference external" href="https://github.com/mattdeboard/trunkly-rss"&gt;some code&lt;/a&gt; I'd written for another self-learning &lt;a class="reference external" href="http://mattdeboard.net/2010/12/27/Taking-initiative-and-offering-assistance"&gt;project&lt;/a&gt;), editing and deleting. Thanks to that last item, I finally wrote some JavaScript, thanks to the JQuery library. It's not impressive code but it works, and enhances the UI (though in kind of a hacky fashion).&lt;/p&gt;
&lt;p&gt;Yuk isn't done. It's really ugly, and there are some features on my back-of-a-napkin roadmap I'll be implementing this week. That being said I think I can start tightening my code up without it being &amp;quot;premature optimization.&amp;quot;&lt;/p&gt;
</content>
</entry>
<entry xml:base="http://mattdeboard.net/feed.atom">
<title type="text">No More Tumblr</title>
<id>http://mattdeboard.net/2011/01/27/new-blog</id>
<updated>2011-01-27T00:00:00Z</updated>
<link href="http://mattdeboard.net/2011/01/27/new-blog" />
<author>
<name>&lt;a href="http://mattdeboard.net"&gt;Matt DeBoard&lt;/a&gt;</name>
</author>
<content type="html">&lt;p&gt;A week or two ago I decided to stop using Tumblr and &amp;quot;roll my own&amp;quot; blog. Since I've been using &lt;a class="reference external" href="http://flask.pocoo.org"&gt;flask&lt;/a&gt; to put &lt;a class="reference external" href="http://mattdeboard.net/projects"&gt;some projects&lt;/a&gt; on the web, I decided to give &lt;a class="reference external" href="https://github.com/mitsuhiko/rstblog"&gt;rstblog&lt;/a&gt; a go. (Both written by the &lt;a class="reference external" href="http://lucumr.pocoo.org"&gt;same guy&lt;/a&gt;.)&lt;/p&gt;
&lt;p&gt;rstblog is very much a very &amp;quot;small&amp;quot; blog app, with only very minimal documentation. Thankfully &lt;a class="reference external" href="http://sbhr.dk/2010/11/30/using_rstblog/"&gt;Morten Siebuhr&lt;/a&gt; put together a nice beginner's course on how to implement it. I referenced it heavily, though there were still some bumps on the road. Mostly, it took me awhile to realize you have to rm -r _build/ everytime you run-rstblog build. I was wondering why all of my links weren't updating; it was because when you do &amp;quot;run-rstblog build&amp;quot;, it only seems to create templates that already exist. I don't have a great explanation. But if you're looking for rstblog tips, here's mine: rm -r _build/ every time you run-rstblog build.&lt;/p&gt;
&lt;p&gt;I have also added a link to select projects in the header and generally cleaned and centralized everything.&lt;/p&gt;
&lt;p&gt;Getting my blog in a somewhat finalized form also marks the end of the beginning of my movement toward setting up my own web server to function as a place to host my own projects, including the blog. I realize for most people who will read this running a webserver isn't that big a deal, and maybe even something you were doing in high school or before. But for me, this has been a new thing and a tremendous learning experience. Much thanks to Brett Hoerner for his &lt;a class="reference external" href="http://bretthoerner.com/2008/10/9/configs-for-nginx-and-apache-mod-wsgi"&gt;post on configuring Apache2 and nginx&lt;/a&gt; for mod_wsgi. They've been a great reference source as I fumble with those two services.&lt;/p&gt;
</content>
</entry>
<entry xml:base="http://mattdeboard.net/feed.atom">
<title type="text">Initiative and Assistance</title>
<id>http://mattdeboard.net/2010/12/27/Taking-initiative-and-offering-assistance</id>
<updated>2010-12-27T00:00:00Z</updated>
<link href="http://mattdeboard.net/2010/12/27/Taking-initiative-and-offering-assistance" />
<author>
<name>&lt;a href="http://mattdeboard.net"&gt;Matt DeBoard&lt;/a&gt;</name>
</author>
<content type="html">&lt;p&gt;I have kept a bookmark to Joel Spolsky's &lt;a class="reference external" href="http://www.joelonsoftware.com/articles/Unicode.html"&gt;article&lt;/a&gt; on Unicode and character sets on my work computer for ages. So last week, with all the buzz about the demise of del.icio.us, I finally decided it was a good time to find a link manager service to have a persistent place for such things. That brought me to Trunk.ly, a link aggregation service that pulls in links from Twitter, Facebook, etc., and started using it immediately.&lt;/p&gt;
&lt;p&gt;After reading their first blog post (discussing their not-quite-when-we-planned-to-launch launch), I could kind of tell they were feeling the heat to ramp up development to handle their influx of traffic. Not only that but with their growing userbase they were also dealing with requests for new features and bugfixes.&lt;/p&gt;
&lt;p&gt;Just on a lark, looking for a new project to work on, I sent them a message using their &amp;quot;Contact Us&amp;quot; form that simply asked, &amp;quot;Is there any way to contribute help to Trunk.ly?&amp;quot;&lt;/p&gt;
&lt;p&gt;I was surprised when they wrote back, and even more surprised when they gave me a small and straightforward feature (RSS feed importing) to implement. It has been fulfilling, educational and entertaining writing code for something that a lot of people use, not to mention actually helping a couple of real developers out by giving them my time. I am sure they will have to revise it, given that I'm not exactly the world's most experienced developer of production-quality code. That being said, I'm pretty proud of the little bit I've done. Added bonus: I'm not embarrassed about my github repos anymore, since I've got something actually useful in there now.&lt;/p&gt;
&lt;p&gt;I guess the lesson here is that to find a project to work on in order to hone your skills, ask the people who make the things you have a use for if you can help. I'm much more optimistic the answer will be &amp;quot;yes&amp;quot; in the future (and infinitely more confident that I'll actually be able to pull off executing the task I've been given!).&lt;/p&gt;
</content>
</entry>
</feed>