mirror of
https://github.com/mastermindzh/rickvanlieshout.com
synced 2024-12-25 22:39:41 +01:00
Merge branch 'master' of git.mastermindzh.tech:mastermindzh/rickvanlieshout.com into feature/writing-as-an-architect-is-hard
This commit is contained in:
commit
e2380f9b91
@ -1,3 +1,9 @@
|
|||||||
# Rickvanlieshout.com
|
# Rickvanlieshout.com
|
||||||
|
|
||||||
This is the repository for my personal blog/website [rickvanlieshout.com](https://rickvanlieshout.com).
|
This is the repository for my personal blog/website [rickvanlieshout.com](https://rickvanlieshout.com).
|
||||||
|
|
||||||
|
## todos
|
||||||
|
|
||||||
|
- Links on printed pages need to display
|
||||||
|
- Combine cookies/disclaimer in menu to make it shorter
|
||||||
|
- Improve/replace menu on mobile (on old phones pages need a few scrolls)
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
{
|
{
|
||||||
"title": "Rick van Lieshout ~ Mastermindzh",
|
"title": "Rick van Lieshout ~ Mastermindzh",
|
||||||
"url": "https://rickvanlieshout.com",
|
"url": "https://www.rickvanlieshout.com",
|
||||||
"subtitle": "The thoughts, discoveries and murmurings of a Software enthusiast",
|
"subtitle": "The thoughts, discoveries and murmurings of a Software enthusiast",
|
||||||
"copyright": "© All rights reserved.",
|
"copyright": "© All rights reserved.",
|
||||||
|
"googleAnalyticsId": "G-031EZ8Z73Z",
|
||||||
"disqusShortname": "rickvanlieshoutcom",
|
"disqusShortname": "rickvanlieshoutcom",
|
||||||
"postsLimit": 5,
|
"postsLimit": 5,
|
||||||
"pathPrefix": "/",
|
"pathPrefix": "/",
|
||||||
@ -42,7 +43,7 @@
|
|||||||
"email": "info@rickvanlieshout.com",
|
"email": "info@rickvanlieshout.com",
|
||||||
"github": "mastermindzh",
|
"github": "mastermindzh",
|
||||||
"facebook": "mastermindzh",
|
"facebook": "mastermindzh",
|
||||||
"rss": "rss.xml",
|
"rss": "/rss.xml",
|
||||||
"twitter": "mastermindzh",
|
"twitter": "mastermindzh",
|
||||||
"linkedin": "rickvanlieshout",
|
"linkedin": "rickvanlieshout",
|
||||||
"youtube": "RickvanLieshoutt",
|
"youtube": "RickvanLieshoutt",
|
||||||
|
@ -20,6 +20,7 @@ projects which have been made by other people. Some of these
|
|||||||
include:
|
include:
|
||||||
|
|
||||||
- Disqus - A comment system for your website
|
- Disqus - A comment system for your website
|
||||||
|
- Google analytics - To track info about the website (i.e how many times each page has been seen)
|
||||||
- Social media (twitter, facebook, etc) - To add in those shiny "like" or "tweet" buttons.
|
- Social media (twitter, facebook, etc) - To add in those shiny "like" or "tweet" buttons.
|
||||||
|
|
||||||
Cookies like these are stored for pretty much every website you
|
Cookies like these are stored for pretty much every website you
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
title: "Resume"
|
title: "Resume"
|
||||||
template: "page"
|
template: "page"
|
||||||
---
|
---
|
||||||
|
|
||||||
<!-- prettier-ignore -->
|
<!-- prettier-ignore -->
|
||||||
| | |
|
| | |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
@ -15,6 +16,10 @@ template: "page"
|
|||||||
|
|
||||||
## Work experience
|
## Work experience
|
||||||
|
|
||||||
|
**Open-source aficionado**<br />
|
||||||
|
_Always_<br />
|
||||||
|
A fair share of my private work is done through open-source media. I don't have a portfolio but I have a [Github](https://github.com/mastermindzh) where I share most things.
|
||||||
|
|
||||||
**Software architect at INFORIT**<br />
|
**Software architect at INFORIT**<br />
|
||||||
_2018 - Now_<br />
|
_2018 - Now_<br />
|
||||||
At INFORIT I am responsible for the entire technical architecture of the new TFX stack that I launched shortly after 2018. This involves setting up and maintaining a modern event based microservice architecture on a Kubernetes based SaaS cloud solution and migrating to modern programming languages such as dotnetcore and React.
|
At INFORIT I am responsible for the entire technical architecture of the new TFX stack that I launched shortly after 2018. This involves setting up and maintaining a modern event based microservice architecture on a Kubernetes based SaaS cloud solution and migrating to modern programming languages such as dotnetcore and React.
|
||||||
|
@ -26,6 +26,6 @@ That is why the team behind Numix has requested the package to be removed from t
|
|||||||
|
|
||||||
## Arduino sneak peak.
|
## Arduino sneak peak.
|
||||||
|
|
||||||
I acquired some new toys for the arduino, two of them being the "Adafruit mini 8x8 LED matrix". To use them I had to install 2 libraries, and with those came "Example sketches". One of those example sketches was a "Robotic eye", naturally with me having 2 new toys I decided to create a little "face" (just eyes) with the prebuilt sketches. Anyways I thought that looked cool so I made a video of it which you can watch below:
|
I acquired some new toys for the arduino, two of them being the "Adafruit mini 8x8 LED matrix". To use them I had to install 2 libraries, and with those came "Example sketches". One of those example sketches was a "Robotic eye", naturally with me having 2 new toys I decided to create a little "face" (just eyes) with the prebuilt sketches. Anyways I thought that looked cool so I made a photo which you can view below:
|
||||||
|
|
||||||
<iframe src="//www.youtube.com/embed/7WeG88fOVbA" allowfullscreen="" width="560" height="315" frameborder="0"></iframe>
|
!["two led matrices with green lights illustrating eyes"](./media/face.png "Google eyes... but matrix style")
|
||||||
|
BIN
content/posts/2014/a-status-update/media/face.png
Normal file
BIN
content/posts/2014/a-status-update/media/face.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 237 KiB |
@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: "Me, my blog, and projects."
|
title: "Me, my blog, and projects."
|
||||||
date: "2014-11-16"
|
date: "2014-10-21"
|
||||||
template: "post"
|
template: "post"
|
||||||
category: "blog"
|
category: "blog"
|
||||||
tags:
|
tags:
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: "My brand new blog"
|
title: "My brand new blog"
|
||||||
date: "2014-09-05"
|
date: "2014-09-05 22:00"
|
||||||
template: "post"
|
template: "post"
|
||||||
category: "blog"
|
category: "blog"
|
||||||
tags:
|
tags:
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: "Raspberry pi cluster Step 1: Shopping"
|
title: "Raspberry pi cluster Step 1: Shopping"
|
||||||
date: "2014-09-05"
|
date: "2014-09-05 23:00"
|
||||||
template: "post"
|
template: "post"
|
||||||
category: "Homelab"
|
category: "Homelab"
|
||||||
tags:
|
tags:
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: "Shellshock and why you shouldn't get your panties in a bunch."
|
title: "Shellshock and why you shouldn't get your panties in a bunch."
|
||||||
date: "2014-09-27:23:00"
|
date: "2014-09-27 23:00"
|
||||||
template: "post"
|
template: "post"
|
||||||
category: "exploits"
|
category: "exploits"
|
||||||
tags:
|
tags:
|
||||||
|
@ -11,6 +11,8 @@ description: "My final assignment for a school course is to learn a new language
|
|||||||
disqusId: "20"
|
disqusId: "20"
|
||||||
---
|
---
|
||||||
|
|
||||||
|
!["Logo of the scala programming language"](./scala.png)
|
||||||
|
|
||||||
One of the final assignments for a school course called "APP" (Algorithms Programming language & Paradigms) was/is to learn a new programming language using the book "[Seven languages in Seven weeks](https://pragprog.com/book/btlang/seven-languages-in-seven-weeks)".
|
One of the final assignments for a school course called "APP" (Algorithms Programming language & Paradigms) was/is to learn a new programming language using the book "[Seven languages in Seven weeks](https://pragprog.com/book/btlang/seven-languages-in-seven-weeks)".
|
||||||
|
|
||||||
The idea of this book is that you can get comfortable with a programming language in just a week. As you can probably guess from the title the book covers 7 languages in total and I will be covering at least 1 (Scala).
|
The idea of this book is that you can get comfortable with a programming language in just a week. As you can probably guess from the title the book covers 7 languages in total and I will be covering at least 1 (Scala).
|
||||||
|
BIN
content/posts/2017/scala-day-0-what-is-scala/scala.png
Normal file
BIN
content/posts/2017/scala-day-0-what-is-scala/scala.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 26 KiB |
@ -5,7 +5,9 @@ import * as types from "./internal/gatsby/types";
|
|||||||
|
|
||||||
export default {
|
export default {
|
||||||
pathPrefix: config.pathPrefix,
|
pathPrefix: config.pathPrefix,
|
||||||
|
trailingSlash: "always",
|
||||||
siteMetadata: {
|
siteMetadata: {
|
||||||
|
siteUrl: config.url,
|
||||||
url: config.url,
|
url: config.url,
|
||||||
menu: config.menu,
|
menu: config.menu,
|
||||||
legalMenu: config.legalMenu,
|
legalMenu: config.legalMenu,
|
||||||
@ -120,6 +122,15 @@ export default {
|
|||||||
},
|
},
|
||||||
"gatsby-transformer-sharp",
|
"gatsby-transformer-sharp",
|
||||||
"gatsby-plugin-sharp",
|
"gatsby-plugin-sharp",
|
||||||
|
{
|
||||||
|
resolve: "gatsby-plugin-google-gtag",
|
||||||
|
options: {
|
||||||
|
trackingIds: [config.googleAnalyticsId],
|
||||||
|
pluginConfig: {
|
||||||
|
head: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
resolve: "gatsby-plugin-sitemap",
|
resolve: "gatsby-plugin-sitemap",
|
||||||
options: {
|
options: {
|
||||||
@ -185,5 +196,6 @@ export default {
|
|||||||
"gatsby-plugin-react-helmet",
|
"gatsby-plugin-react-helmet",
|
||||||
"gatsby-plugin-optimize-svgs",
|
"gatsby-plugin-optimize-svgs",
|
||||||
"gatsby-plugin-sass",
|
"gatsby-plugin-sass",
|
||||||
|
"gatsby-plugin-robots-txt",
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
|
1052
package-lock.json
generated
1052
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -53,11 +53,13 @@
|
|||||||
"gatsby-link": "^4.24.1",
|
"gatsby-link": "^4.24.1",
|
||||||
"gatsby-plugin-catch-links": "^4.24.0",
|
"gatsby-plugin-catch-links": "^4.24.0",
|
||||||
"gatsby-plugin-feed": "^4.24.0",
|
"gatsby-plugin-feed": "^4.24.0",
|
||||||
|
"gatsby-plugin-google-gtag": "^4.24.0",
|
||||||
"gatsby-plugin-image": "^2.24.0",
|
"gatsby-plugin-image": "^2.24.0",
|
||||||
"gatsby-plugin-manifest": "^4.24.0",
|
"gatsby-plugin-manifest": "^4.24.0",
|
||||||
"gatsby-plugin-offline": "^5.24.0",
|
"gatsby-plugin-offline": "^5.24.0",
|
||||||
"gatsby-plugin-optimize-svgs": "^1.0.5",
|
"gatsby-plugin-optimize-svgs": "^1.0.5",
|
||||||
"gatsby-plugin-react-helmet": "^5.24.0",
|
"gatsby-plugin-react-helmet": "^5.24.0",
|
||||||
|
"gatsby-plugin-robots-txt": "^1.7.1",
|
||||||
"gatsby-plugin-sass": "^5.24.0",
|
"gatsby-plugin-sass": "^5.24.0",
|
||||||
"gatsby-plugin-sharp": "^4.24.0",
|
"gatsby-plugin-sharp": "^4.24.0",
|
||||||
"gatsby-plugin-sitemap": "^5.24.0",
|
"gatsby-plugin-sitemap": "^5.24.0",
|
||||||
|
@ -9,10 +9,10 @@
|
|||||||
display: flex;
|
display: flex;
|
||||||
height: 50px;
|
height: 50px;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
margin:auto;
|
margin: auto;
|
||||||
max-width: $layout-post-width;
|
max-width: $layout-post-width;
|
||||||
position: sticky;
|
position: sticky;
|
||||||
top:0;
|
top: 0;
|
||||||
z-index: 999;
|
z-index: 999;
|
||||||
|
|
||||||
.title {
|
.title {
|
||||||
@ -37,8 +37,8 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media only screen and (max-device-width: 350px){
|
@media only screen and (max-device-width: 400px) {
|
||||||
.surname{
|
.surname {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
102
static/.htaccess
Normal file
102
static/.htaccess
Normal file
@ -0,0 +1,102 @@
|
|||||||
|
# Enable rewriting.
|
||||||
|
RewriteEngine on
|
||||||
|
|
||||||
|
# Error docs
|
||||||
|
ErrorDocument 404 /404.html
|
||||||
|
|
||||||
|
# Compress HTML, CSS, JavaScript, Text, XML and fonts
|
||||||
|
AddOutputFilterByType DEFLATE application/javascript
|
||||||
|
AddOutputFilterByType DEFLATE application/rss+xml
|
||||||
|
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
|
||||||
|
AddOutputFilterByType DEFLATE application/x-font
|
||||||
|
AddOutputFilterByType DEFLATE application/x-font-opentype
|
||||||
|
AddOutputFilterByType DEFLATE application/x-font-otf
|
||||||
|
AddOutputFilterByType DEFLATE application/x-font-truetype
|
||||||
|
AddOutputFilterByType DEFLATE application/x-font-ttf
|
||||||
|
AddOutputFilterByType DEFLATE application/x-javascript
|
||||||
|
AddOutputFilterByType DEFLATE application/json
|
||||||
|
AddOutputFilterByType DEFLATE application/xhtml+xml
|
||||||
|
AddOutputFilterByType DEFLATE application/xml
|
||||||
|
AddOutputFilterByType DEFLATE font/opentype
|
||||||
|
AddOutputFilterByType DEFLATE font/otf
|
||||||
|
AddOutputFilterByType DEFLATE font/ttf
|
||||||
|
AddOutputFilterByType DEFLATE image/svg+xml
|
||||||
|
AddOutputFilterByType DEFLATE image/x-icon
|
||||||
|
AddOutputFilterByType DEFLATE text/css
|
||||||
|
AddOutputFilterByType DEFLATE text/html
|
||||||
|
AddOutputFilterByType DEFLATE text/javascript
|
||||||
|
AddOutputFilterByType DEFLATE text/plain
|
||||||
|
AddOutputFilterByType DEFLATE text/json
|
||||||
|
AddOutputFilterByType DEFLATE text/xml
|
||||||
|
|
||||||
|
# Remove browser bugs (only needed for really old browsers)
|
||||||
|
BrowserMatch ^Mozilla/4 gzip-only-text/html
|
||||||
|
BrowserMatch ^Mozilla/4\.0[678] no-gzip
|
||||||
|
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
|
||||||
|
Header append Vary User-Agent
|
||||||
|
|
||||||
|
## EXPIRES CACHING ##
|
||||||
|
<IfModule mod_expires.c>
|
||||||
|
ExpiresActive On
|
||||||
|
ExpiresByType image/jpg "access 1 year"
|
||||||
|
ExpiresByType image/jpeg "access 1 year"
|
||||||
|
ExpiresByType image/gif "access 1 year"
|
||||||
|
ExpiresByType image/png "access 1 year"
|
||||||
|
ExpiresByType application/pdf "access 1 month"
|
||||||
|
ExpiresByType text/x-javascript "access 1 month"
|
||||||
|
ExpiresByType application/x-shockwave-flash "access 1 month"
|
||||||
|
ExpiresByType image/x-icon "access 1 year"
|
||||||
|
ExpiresDefault "access 1 month"
|
||||||
|
</IfModule>
|
||||||
|
## EXPIRES CACHING ##
|
||||||
|
|
||||||
|
# Optional: do not allow perusal of directories.
|
||||||
|
Options -Indexes
|
||||||
|
|
||||||
|
RewriteCond %{SERVER_PORT} ^80$
|
||||||
|
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301]
|
||||||
|
|
||||||
|
RewriteCond %{HTTP_HOST} ^rickvanlieshout.com [NC]
|
||||||
|
RewriteRule ^(.*)$ http://www.rickvanlieshout.com/$1 [L,R=301]
|
||||||
|
|
||||||
|
RewriteCond %{HTTP_HOST} ^mastermindzh.com [NC]
|
||||||
|
RewriteRule ^(.*)$ http://www.mastermindzh.com/$1 [L,R=301]
|
||||||
|
|
||||||
|
# Optional: explicitly enable per-directory rewrites in the .htaccess context.
|
||||||
|
|
||||||
|
# To be able to access existing directories and files (standalone scripts).
|
||||||
|
RewriteCond %{REQUEST_FILENAME} !-d
|
||||||
|
RewriteCond %{REQUEST_FILENAME} !-f
|
||||||
|
|
||||||
|
# redirect old blog pages
|
||||||
|
Redirect /home /
|
||||||
|
Redirect /cookies /pages/legal/cookies
|
||||||
|
Redirect /disclaimer /pages/legal/disclaimer
|
||||||
|
Redirect /contact /pages/contacts
|
||||||
|
Redirect /resume /pages/resume
|
||||||
|
Redirect /about /pages/about
|
||||||
|
Redirect /blog/My_brand_new_blog /posts/2014/my-brand-new-blog/
|
||||||
|
Redirect /blog/Raspberry_pi_cluster_the_parts /posts/2014/pi-cluster-1-shopping/
|
||||||
|
Redirect /blog/Raspberry_pi_cluster_the_build /posts/2014/pi-cluster-2-the-build/
|
||||||
|
Redirect /blog/Raspberry_pi_cluster_installing_the_os /posts/2014/pi-cluster-3-installing-the-os/
|
||||||
|
Redirect /blog/Raspberry_pi_cluster_setting_up_the_master_node /posts/2014/pi-cluster-4-setting-up-the-master-node/
|
||||||
|
Redirect /blog/Raspberry_pi_cluster_expanding_the_cluster /posts/2014/pi-cluster-5-expanding-the-cluster/
|
||||||
|
Redirect /blog/Using_the_cluster_for_home_automation /posts/2014/using-the-cluster-for-home-automation/
|
||||||
|
Redirect /blog/Shellshock_dont_get_your_panties_in_a_bunch /posts/2014/shellshock-why-you-shouldnt-get-your-panties-in-a-bunch/
|
||||||
|
Redirect /blog/Me_my_blog_and_projects /posts/2014/me-my-blog-and-projects/
|
||||||
|
Redirect /blog/status_update /posts/2014/a-status-update/
|
||||||
|
Redirect /blog/new_look_new_comments_new_everything /posts/2015/new-look-new-comments-new-everything/
|
||||||
|
Redirect /blog/what_ive_been_doing /posts/2015/what-ive-been-doing/
|
||||||
|
Redirect /blog/raspberry_pi_screen /posts/2015/raspberry-pi-screen/
|
||||||
|
Redirect /blog/making_things /posts/2015/making-things/
|
||||||
|
Redirect /blog/TekTree-part-1 /posts/2015/tektree-part-1-a-christmas-surprise/
|
||||||
|
Redirect /blog/TekTree-part-2 /posts/2015/tektree-part-2-lasercutting/
|
||||||
|
Redirect /blog/TekTree-part-3 /posts/2015/tektree-part-3-wiring/
|
||||||
|
Redirect /blog/TekTree-part-4 /posts/2015/tektree-part-4-programming/
|
||||||
|
Redirect /blog/my-extended-leave /posts/2016/extended-leave-status-updates-and-other-stuff/
|
||||||
|
Redirect /blog/slsw-day0 /posts/2017/scala-day-0-what-is-scala/
|
||||||
|
Redirect /blog/slsw-day1 /posts/2017/scala-day-1-the-basics/
|
||||||
|
Redirect /blog/slsw-day2 /posts/2017/scala-day-2-lets-get-functional/
|
||||||
|
Redirect /blog/slsw-day3 /posts/2017/scala-day-3-concurrency-is-key/
|
||||||
|
Redirect /blog/slsw-day4 /posts/2017/scala-day-4-a-challenge/
|
||||||
|
Redirect /blog/keep-a-sata-port-available /posts/2017/keep-a-sata-port-available/
|
31
static/_redirects
Normal file
31
static/_redirects
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
/home / 301
|
||||||
|
/cookies /pages/legal/cookies 301
|
||||||
|
/disclaimer /pages/legal/disclaimer 301
|
||||||
|
/contact /pages/contact 301
|
||||||
|
/resume /pages/resume 301
|
||||||
|
/about /pages/about 301
|
||||||
|
/blog/My_brand_new_blog /posts/2014/my-brand-new-blog/ 301
|
||||||
|
/blog/Raspberry_pi_cluster_the_parts /posts/2014/pi-cluster-1-shopping/ 301
|
||||||
|
/blog/Raspberry_pi_cluster_the_build /posts/2014/pi-cluster-2-the-build/ 301
|
||||||
|
/blog/Raspberry_pi_cluster_installing_the_os /posts/2014/pi-cluster-3-installing-the-os/ 301
|
||||||
|
/blog/Raspberry_pi_cluster_setting_up_the_master_node /posts/2014/pi-cluster-4-setting-up-the-master-node/ 301
|
||||||
|
/blog/Raspberry_pi_cluster_expanding_the_cluster /posts/2014/pi-cluster-5-expanding-the-cluster/ 301
|
||||||
|
/blog/Using_the_cluster_for_home_automation /posts/2014/using-the-cluster-for-home-automation/ 301
|
||||||
|
/blog/Shellshock_dont_get_your_panties_in_a_bunch /posts/2014/shellshock-why-you-shouldnt-get-your-panties-in-a-bunch/ 301
|
||||||
|
/blog/Me_my_blog_and_projects /posts/2014/me-my-blog-and-projects/ 301
|
||||||
|
/blog/status_update /posts/2014/a-status-update/ 301
|
||||||
|
/blog/new_look_new_comments_new_everything /posts/2015/new-look-new-comments-new-everything/ 301
|
||||||
|
/blog/what_ive_been_doing posts/2015/what-ive-been-doing/ 301
|
||||||
|
/blog/raspberry_pi_screen /posts/2015/raspberry-pi-screen/ 301
|
||||||
|
/blog/making_things /posts/2015/making-things/ 301
|
||||||
|
/blog/TekTree-part-1 /posts/2015/tektree-part-1-a-christmas-surprise/ 301
|
||||||
|
/blog/TekTree-part-2 /posts/2015/tektree-part-2-lasercutting/ 301
|
||||||
|
/blog/TekTree-part-3 /posts/2015/tektree-part-3-wiring/ 301
|
||||||
|
/blog/TekTree-part-4 /posts/2015/tektree-part-4-programming/ 301
|
||||||
|
/blog/my-extended-leave /posts/2016/extended-leave-status-updates-and-other-stuff/ 301
|
||||||
|
/blog/slsw-day0 /posts/2017/scala-day-0-what-is-scala/ 301
|
||||||
|
/blog/slsw-day1 /posts/2017/scala-day-1-the-basics/ 301
|
||||||
|
/blog/slsw-day2 /posts/2017/scala-day-2-lets-get-functional/ 301
|
||||||
|
/blog/slsw-day3 /posts/2017/scala-day-3-concurrency-is-key/ 301
|
||||||
|
/blog/slsw-day4 /posts/2017/scala-day-4-a-challenge/ 301
|
||||||
|
/blog/keep-a-sata-port-available /posts/2017/keep-a-sata-port-available/ 301
|
Loading…
Reference in New Issue
Block a user