Christian Specht avatar Christian Specht committed 6aa7473

project descriptions

Comments (0)

Files changed (3)

Added
New image
Added
New image

src/projects/index.html.mako

     <div class="row-fluid">
     
         <div class="span6">
-          <h2><img src="https://bitbucket.org/christianspecht/roboshell-backup/raw/tip/img/head35x35.png" /> <a href="${bf.util.site_path_helper('roboshell-backup')}">RoboShell Backup</a></h2>
+          <h2><a href="${bf.util.site_path_helper('roboshell-backup')}"><img src="https://bitbucket.org/christianspecht/roboshell-backup/raw/tip/img/head35x35.png" class="img-polaroid" /> RoboShell Backup</a></h2>
           <%self:filter chain="markdown">
 **What I needed:**  
-xxxxx
+Convert existing batch files for [Robocopy](http://en.wikipedia.org/wiki/Robocopy) backups (*computer&rarr;NAS* and *NAS&rarr;USB disk*) to a more comfortable tool, with all settings in a config file.
 
 **What I learned:**
 
-- xxxxx
+- [Windows PowerShell](http://en.wikipedia.org/wiki/Windows_PowerShell) basics
+- Building a setup with [WiX](http://wixtoolset.org/)
+- Using [TrueCrypt](http://www.truecrypt.org/) and [integrating it into RoboShell Backup](${bf.util.site_path_helper('2012/04/30/roboshell-backup-1-1-now-with-truecrypt-integration')})
           </%self:filter>
         </div><!--/span-->
         
         <div class="row-fluid visible-phone spacer25"></div>
         
         <div class="span6">
-            <h2><img src="https://bitbucket.org/christianspecht/bitbucket-backup/raw/tip/img/logo35x35.png" /> <a href="${bf.util.site_path_helper('bitbucket-backup')}">Bitbucket Backup</a></h2>
+            <h2><a href="${bf.util.site_path_helper('bitbucket-backup')}"><img src="https://bitbucket.org/christianspecht/bitbucket-backup/raw/tip/img/logo35x35.png" class="img-polaroid" /> Bitbucket Backup</a></h2>
             <%self:filter chain="markdown">
 **What I needed:**  
-xxxxx
-
+A tool to automate creating local backups of all my private and public [Bitbucket](https://bitbucket.org) repositories, running without user interaction after being set up once.
+  
 **What I learned:**
 
-- xxxxx
+- Calling [Bitbucket's API](https://api.bitbucket.org/) with [RestSharp](http://restsharp.org/) and [Json.NET](http://json.codeplex.com/)
+- Cloning/pulling [Mercurial](http://mercurial.selenic.com/) and [Git](http://git-scm.com/) repositories with C#
+- Dependency injection with [Ninject](http://ninject.org/)
+- Setting assembly version from build script with [MSBuild Community Tasks](https://github.com/loresoft/msbuildtasks)
             </%self:filter>
         </div><!--/span-->
         
     <div class="row-fluid">
     
         <div class="span6">
-            <h2><img src="https://bitbucket.org/christianspecht/recordset.net/raw/tip/img/logo35x35.png" /> <a href="${bf.util.site_path_helper('recordset-net')}">Recordset.Net</a></h2>
+            <h2><a href="${bf.util.site_path_helper('recordset-net')}"><img src="https://bitbucket.org/christianspecht/recordset.net/raw/tip/img/logo35x35.png" class="img-polaroid" /> Recordset.Net</a></h2>
             <%self:filter chain="markdown">
 **What I needed:**  
-xxxxx
+A library to convert .NET POCOs into `ADODB.Recordsets`, in order to gradually migrate existing MS Access applications to .NET *(Access client needs to read data coming from .NET)*.
 
 **What I learned:**
 
-- xxxxx
+- Reflection basics
+- Writing unit tests with [xUnit.net](http://xunit.codeplex.com/)
+- Creating a [NuGet package](https://nuget.org/) (and [testing it on the preview site](${bf.util.site_path_helper('2012/05/28/how-to-test-nuget-packages-without-polluting-the-nuget-package-listings')}))
             </%self:filter>
         </div><!--/span-->
         
         <div class="row-fluid visible-phone spacer25"></div>
         
         <div class="span6">
-            <h2><img src="https://bitbucket.org/christianspecht/missilesharp/raw/tip/img/logo35x35.png" /> <a href="${bf.util.site_path_helper('missilesharp')}">MissileSharp</a></h2>
+            <h2><a href="${bf.util.site_path_helper()}"><img src="${bf.util.site_path_helper('img/site2012.png')}" class="img-polaroid" /> This site (2012)</a></h2>
             <%self:filter chain="markdown">
 **What I needed:**  
-xxxxx
+A web site to feature my projects and *(maybe)* a blog. I registered the domain years ago, but never had a site until then.
 
 **What I learned:**
 
-- xxxxx
+- Setting up [WordPress](http://wordpress.org/) on rented webspace
+- Displaying [Markdown files from my Bitbucket projects in WordPress](${bf.util.site_path_helper('2012/03/09/how-to-display-markdown-files-from-other-sites-in-wordpress')})
             </%self:filter>
         </div><!--/span-->
         
     
     <div class="row-fluid spacer25"></div>
     
-     <div class="row-fluid">
+    <div class="row-fluid">
      
         <div class="span6">
-            <h2><img src="https://bitbucket.org/christianspecht/vba-helpers/raw/tip/img/logo35x35.png" /> <a href="${bf.util.site_path_helper('vba-helpers')}">VBA Helpers</a></h2>
+            <h2><a href="${bf.util.site_path_helper('missilesharp')}"><img src="https://bitbucket.org/christianspecht/missilesharp/raw/tip/img/logo35x35.png" class="img-polaroid" /> MissileSharp</a></h2>
             <%self:filter chain="markdown">
 **What I needed:**  
-xxxxx
+A library to send commands to an [USB Missile Launcher](http://www.dreamcheeky.com/thunder-missile-launcher) from my own code, without using the control software that came with it.
 
 **What I learned:**
 
-- xxxxx
+- Communicating with an USB device with [Hid Library](https://github.com/mikeobrien/HidLibrary)
+- Building a WPF app *(the [MissileSharp Launcher](${bf.util.site_path_helper('missilesharp#launcher')}))* with MVVM and [MahApps.Metro](http://mahapps.com/MahApps.Metro/)
+- More Dependency Injection, this time with [Autofac](http://autofac.org)
+- More unit testing, this time with [NUnit](http://nunit.org/) and [Moq](http://code.google.com/p/moq/)
+- Building a [ClickOnce](http://msdn.microsoft.com/en-us/library/t71a733d.aspx) installer
             </%self:filter>
         </div><!--/span-->
         
         <div class="row-fluid visible-phone spacer25"></div>
         
         <div class="span6">
-            <h2><img src="http://www.gravatar.com/avatar/6f807629c5f3765f28c61b1271552dc9?s=35" class="img-rounded" /> <a href="${bf.util.site_path_helper()}">This site</a></h2>
+            <h2><a href="${bf.util.site_path_helper('vba-helpers')}"><img src="https://bitbucket.org/christianspecht/vba-helpers/raw/tip/img/logo35x35.png" class="img-polaroid" /> VBA Helpers</a></h2>
             <%self:filter chain="markdown">
 **What I needed:**  
-xxxxx
+A reusable library of VBA helper functions, to avoid having slight variations of the same functions duplicated in several projects.
 
 **What I learned:**
 
-- xxxxx
+- Unit testing in VBA with [AccUnit](http://accunit.access-codelib.net/) and [SimplyVBUnit](http://sourceforge.net/projects/simplyvbunit/)
+            </%self:filter>
+        </div><!--/span-->
+        
+    </div><!--/row-->
+
+    <div class="row-fluid spacer25"></div>
+    
+    <div class="row-fluid">
+     
+        <div class="span6">
+            <h2><a href="${bf.util.site_path_helper()}"><img src="${bf.util.site_path_helper('img/site2013.png')}" class="img-polaroid" /> This site (2013)</a></h2>
+            <%self:filter chain="markdown">
+**What I needed:**  
+Migrate existing WordPress site/blog to a static site generator *(I decided to use [Blogofile](http://blogofile.com/), but I [evaluated](http://octopress.org/) [others](http://getpelican.com/) as well)*.
+
+**What I learned:**
+
+- [Setting up a new site](${bf.util.site_path_helper('2013/01/29/switched-from-wordpress-to-blogofile')}) with [Blogofile](http://blogofile.com/) *([&rarr; source code](https://bitbucket.org/christianspecht/blog))*
+- Creating a responsive HTML template with [Twitter Bootstrap](http://twitter.github.com/bootstrap/)
+- Writing custom [Mako](http://www.makotemplates.org/) templates with [Python](http://www.python.org/)
             </%self:filter>
         </div><!--/span-->
         
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.