Permalink
Browse files

First stab at Jekyll site and porting of existing posts.

  • Loading branch information...
1 parent 77fc4c0 commit 55d90b2fef729d9399cd15909c33de9b53f56040 @jvangael committed Mar 26, 2013
View
@@ -1,32 +1,31 @@
-# This is the default format.
+# This is the default format.
# For more see: https://github.com/mojombo/jekyll/wiki/Permalinks
-permalink: /:categories/:year/:month/:day/:title
+permalink: /:categories/:year/:month/:day/:title
exclude: [".rvmrc", ".rbenv-version", "README.md", "Rakefile", "changelog.md"]
auto: true
pygments: true
-# Themes are encouraged to use these universal variables
+# Themes are encouraged to use these universal variables
# so be sure to set them if your theme uses them.
#
-title : Jekyll Bootstrap
+title : Jurgen's Blog
tagline: Site Tagline
author :
- name : Name Lastname
- email : blah@email.test
- github : username
- twitter : username
- feedburner : feedname
+ name : Jurgen Van Gael
+ email : jurgen.vangael@gmail.com
+ github : jvangael
+ twitter : jvangael
# The production_url is only used when full-domain names are needed
-# such as sitemap.txt
+# such as sitemap.txt
# Most places will/should use BASE_PATH to make the urls
#
# If you have set a CNAME (pages.github.com) set your custom domain here.
# Else if you are pushing to username.github.com, replace with your username.
# Finally if you are pushing to a GitHub project page, include the project name at the end.
#
-production_url : http://username.github.com
+production_url : http://jvangael.github.com
# All Jekyll-Bootstrap specific configurations are namespaced into this hash
#
@@ -38,11 +37,11 @@ JB :
# however this value will be dynamically changed depending on your deployment situation.
#
# CNAME (http://yourcustomdomain.com)
- # DO NOT SET BASE_PATH
+ # DO NOT SET BASE_PATH
# (urls will be prefixed with "/" and work relatively)
#
# GitHub Pages (http://username.github.com)
- # DO NOT SET BASE_PATH
+ # DO NOT SET BASE_PATH
# (urls will be prefixed with "/" and work relatively)
#
# GitHub Project Pages (http://username.github.com/project-name)
@@ -61,7 +60,7 @@ JB :
# ex: [BASE_PATH]/assets/themes/[THEME-NAME]
#
# Override this by defining an absolute path to assets here.
- # ex:
+ # ex:
# http://s3.amazonaws.com/yoursite/themes/watermelon
# /assets
#
@@ -81,7 +80,7 @@ JB :
# Set 'provider' to false to turn commenting off globally.
#
comments :
- provider : disqus
+ provider : false
disqus :
short_name : jekyllbootstrap
livefyre :
@@ -93,36 +92,34 @@ JB :
num_posts: 5
width: 580
colorscheme: light
-
+
# Settings for analytics helper
# Set 'provider' to the analytics provider you want to use.
# Set 'provider' to false to turn analytics off globally.
- #
+ #
analytics :
- provider : google
- google :
- tracking_id : 'UA-123-12'
- getclicky :
- site_id :
- mixpanel :
- token : '_MIXPANEL_TOKEN_'
+ provider : google
+ google :
+ tracking_id : 'UA-35489327-1'
+ getclicky :
+ site_id :
- # Settings for sharing helper.
+ # Settings for sharing helper.
# Sharing is for things like tweet, plusone, like, reddit buttons etc.
# Set 'provider' to the sharing provider you want to use.
# Set 'provider' to false to turn sharing off globally.
#
sharing :
provider : false
-
- # Settings for all other include helpers can be defined by creating
+
+ # Settings for all other include helpers can be defined by creating
# a hash with key named for the given helper. ex:
#
# pages_list :
- # provider : "custom"
+ # provider : "custom"
#
# Setting any helper's provider to 'custom' will bypass the helper code
# and include your custom code. Your custom file must be defined at:
# ./_includes/custom/[HELPER]
# where [HELPER] is the name of the helper you are overriding.
-
+
@@ -17,6 +17,7 @@
<!-- Le styles -->
<link href="{{ ASSET_PATH }}/bootstrap/css/bootstrap.2.2.2.min.css" rel="stylesheet">
<link href="{{ ASSET_PATH }}/css/style.css?body=1" rel="stylesheet" type="text/css" media="all">
+ <link href="{{ BASE_PATH }}/assets/pygments.css" rel="stylesheet">
<!-- Le fav and touch icons -->
<!-- Update these with your own images
@@ -38,9 +39,9 @@
<div class="container-narrow">
<a class="brand" href="{{ HOME_PATH }}">{{ site.title }}</a>
<ul class="nav">
- {% assign pages_list = site.pages %}
- {% assign group = 'navigation' %}
- {% include JB/pages_list %}
+ <li><a href="/archive.html">Archive</a></li>
+ <li><a href="/pages/about.html">About</a></li>
+ <li><a href="/pages/publications.html">Publications</a></li>
</ul>
</div>
</div>
@@ -0,0 +1,12 @@
+---
+layout: post
+title: "Hello, World!"
+description: ""
+category:
+tags: [admin]
+---
+{% include JB/setup %}
+
+Welcome to my blog; I am planning to post discussions on machine learning, functional programming [F#](http://research.microsoft.com/en-us/projects/fsharp/ "F#") and how it can be used in machine learning, fields related to machine learning such as numerical optimization, statistics, ...
+
+Stay tuned.
@@ -0,0 +1,33 @@
+---
+layout: post
+title: "F# and the Task Parallel Library"
+description: ""
+category:
+tags: [F#]
+---
+{% include JB/setup %}
+
+In a previous post I discussed how F\# asynchronous workflows can be used for parallelizing computations. More specifically, I chose to work with the standard matrix multiplication algorithm as it illustrates the point of how easy it is with F\# to take some existing (embarrassingly parallelizable) code and actually parallelizing it. Although F\# asynchronous workflows can be used for parallelization, they are really designed for helping with asynchronous I/O for reactive programs.
+
+Enter the Microsoft Parallel Extenions for .NET 3.5. This is a very exciting new technology that is specifically tailored to please developers who are keen to learn how to use the quad-core machines they are sitting at. In other words, the parallel extensions are a new concurrency library which, to my best knowledge, is well suited for parallizing scientific applications. Although I haven't played around with features like PLinq, I did look a bit into the task parallel library (TPL) component of the parallel extensions. The TPL library makes our life easier by providing sophisticated algorithms for dynamic work distribution. In the following example I used the Parallel.For class to parallelize the matrix multiplication algorithm from my previous blog post.
+
+{% highlight fsharp %}
+
+let PFXMultiply (A: float[,]) (B: float[,]) =
+ let n = Array2.length1 A
+ let C = Array2.create n n 0.0
+ let RowTask i =
+ for j=0 to n-1 do
+ for k=0 to n-1 do
+ C.[i,j] <- C.[i,j] + A.[i,k] * B.[k,j]
+ ()
+ Parallel.For(0, (n-1), new Action(RowTask))
+ C
+
+{% endhighlight %}
+
+As you can see, there is not much to to it. You just create the method which you want to execute in parallel (RowTask in our case) and pass it to the Action class which creates a delegate for you and passes it along to the TPL.
+
+Here are the results when running the parallel matrix multiply for a 1000 by 1000 matrix on my quad core 2.4GHz machine: non-parallel version: 19.2 seconds, async version: 5.6 seconds, TPL version: 5.2 seconds. Feel free to download this file to play with it yourself.
+
+Stay tuned for more neat (machine learning) applications of the TPL.
@@ -0,0 +1,11 @@
+---
+layout: post
+title: "Moving to GitHub pages"
+description: ""
+category:
+tags: [admin]
+---
+{% include JB/setup %}
+
+I've just discovered GitHub pages and really impressed with the Jekyll Bootstrap framework to setup pages (and a blog). Let's
+see if I can port my old blog posts onto here and write some new stuff.
Oops, something went wrong.

0 comments on commit 55d90b2

Please sign in to comment.