Merge branch 'academic' into 'master'

Academic

See merge request ariejan/devroom.io!9
This commit is contained in:
Ariejan de Vroom 2019-01-13 15:57:47 +01:00
commit a638f5fb4e
379 changed files with 816 additions and 640 deletions

View File

@ -2,26 +2,14 @@ image: ariejan/dockerized-hugo:latest
test:
script:
# Compile
- hugo
# Compress CSS
- yui-compressor public/css/style.css -o public/css/style-min.css
- mv -f public/css/style-min.css public/css/style.css
# Mogrify thumbnails
- mkdir -p public/img/thumbs
- cd public/img
- mogrify -format png -path thumbs -thumbnail 724 *.png
- mogrify -format jpg -path thumbs -thumbnail 724 *.jpg
except:
- master
pages:
before_script:
# Setup SSH keys
- mkdir -p ~/.ssh # Setup SSH
- mkdir -p ~/.ssh
- echo "$SSH_PRIVATE_KEY" | tr -d '\r' > ~/.ssh/id_rsa
- chmod 600 ~/.ssh/id_rsa
- whoami
@ -32,27 +20,17 @@ pages:
- ssh -vv -i ~/.ssh/id_rsa ariejan@mail.devroom.io exit; echo $?
script:
# Compile
- hugo
# Compress CSS
- yui-compressor public/css/style.css -o public/css/style-min.css
- mv -f public/css/style-min.css public/css/style.css
# Mogrify thumbnails
- mkdir -p public/img/thumbs
- cd public/img
- mogrify -format png -path thumbs -thumbnail 724 *.png
- mogrify -format jpg -path thumbs -thumbnail 724 *.jpg
# Deploy
- cd "$CI_PROJECT_DIR"
- rsync -az4 -e 'ssh -i ~/.ssh/id_rsa -l ariejan' --stats --delete-after public/* mail.devroom.io:/home/ariejan/www/devroom.io/
artifacts:
paths:
- public
environment:
name: production
url: https://www.devroom.io
only:
- master

3
.gitmodules vendored Normal file
View File

@ -0,0 +1,3 @@
[submodule "themes/academic"]
path = themes/academic
url = https://github.com/gcushen/hugo-academic

View File

@ -1,52 +1,364 @@
# Configuration of Academic
# Documentation: https://sourcethemes.com/academic/
#
# This file is formatted using TOML syntax - learn more at https://learnxinyminutes.com/docs/toml/
# Each configuration section is defined by a name in square brackets (e.g. `[outputs]`).
# The URL of your website.
# End your URL with a `/` trailing slash, e.g. `https://example.com/`.
baseurl = "https://www.devroom.io/"
builddrafts = false
canonifyurls = true
contentdir = "content"
languageCode = "en-US"
layoutdir = "layouts"
publishdir = "public"
theme = "cocoa-eh"
# Title of your site
title = "ariejan de vroom"
copyright = "Ariejan de Vroom"
disqusshortname = ""
pluralizelisttitles = false
PygmentsCodeFences = true
pygmentsuseclasses = false
pygmentsstyle = "pastie"
# Your copyright notice - appears in site footer.
# To display a copyright symbol, type `©`.
copyright = "Copyright © 1999 - 2019 Ariejan de Vroom"
[author]
name = "Ariejan de Vroom"
theme = "academic"
enableEmoji = true
footnotereturnlinkcontents = "<sup>^</sup>"
ignoreFiles = ["\\.Rmd$", "\\.Rmarkdown$", "_files$", "_cache$"]
preserveTaxonomyNames = true
paginate = 10
canonifyurls = true
[permalinks]
blog = "/:year/:month/:day/:slug/"
electronics = "/:year/:month/:day/:slug/"
[taxonomies]
category = "categories"
tag = "tags"
# Enable comments by entering your Disqus shortname
disqusShortname = ""
# Enable analytics by entering your Google Analytics tracking ID
googleAnalytics = "UA-60089-16"
# Default language to use (if you setup multilingual support)
defaultContentLanguage = "en"
hasCJKLanguage = false # Set `true` for Chinese/Japanese/Korean languages.
defaultContentLanguageInSubdir = false
# Get last modified date for content from Git?
enableGitInfo = true
[outputs]
home = [ "HTML", "CSS", "RSS", "JSON" ]
section = [ "HTML", "RSS" ]
# Configure BlackFriday Markdown rendering.
# See: https://gohugo.io/getting-started/configuration/#configure-blackfriday
[blackfriday]
hrefTargetBlank = true # `true` opens external links in a new tab.
fractions = true # `false` disables smart fractions (e.g. 5/12 formatted as a fraction).
smartypants = true # `false` disables all smart punctuation substitutions (e.g. smart quotes, dashes, fractions).
extensions = ["backslashLineBreak"]
[params]
dateform = "2 Jan, 2006"
dateformfull = "Mon 2 Jan 2006 15:04:05 MST"
description = "a blog by ariejan de vroom about software engineering and electronics."
copyright = "Copyright © 1996 - 2019 Ariejan de Vroom"
copyrightUrl = "https://creativecommons.org/licenses/by/4.0/"
logofile = "img/logo.png"
faviconfile = "favicon.ico"
highlightjs = false
progressively = false
share = true
latestpostcount = 7
github = "ariejan"
# AUTHOR SETUP
# Your details.
name = "Ariejan de Vroom"
role = "Software Engineer and Electronics Tinkerer"
# Organizations/Affiliations.
# Separate multiple entries with a comma, using the form: `[ {name="Org1", url=""}, {name="Org2", url=""} ]`.
#organizations = [ { name = "Kabisa", url = "https://www.kabisa.nl" }, {name="deVroom Audio", url=""} ]
organizations = [ ]
gravatar = true # Get your avatar from Gravatar.com? (true/false)
avatar = "portrait.jpg" # Specify an avatar image (in `static/img/` folder) or delete value to disable avatar.
# Details for the Contact Widget
email = "ariejan@devroom.io"
linkedin = "ariejan"
address = "Son en Breugel, The Netherlands"
office_hours = ""
phone = ""
skype = ""
telegram = ""
keybase = "adevroom" # Your keybase.io username.
# Enter an optional link for booking appointments (e.g. calendly.com).
appointment_url = ""
# Discussion link (e.g. link to a forum, mailing list, or chat).
# Uncomment line below to use.
# discussion = { name = "Discuss", url = "https://discourse.gohugo.io" }
# Enable/disable map in Contact widget.
# To show your address on a map in the contact widget, you need to enter your latitude, longitude and choose
# a map provider below.
# To use Google Maps, set `map = 1` and enter your API key that can be obtained here:
# https://developers.google.com/maps/documentation/javascript/get-api-key
# To use OpenStreetMap tiles, set `map = 2`.
# To use OpenStreetMap on a high traffic site, set `map = 3` and enter your API key that can be obtained here:
# https://www.mapbox.com/studio/account/tokens
# To get your coordinates, right-click on Google Maps and choose "What's here?". The coords will show up at the bottom.
#
# Map provider:
# 0: No map
# 1: Google Maps
# 2: OpenStreetMap (Mapnik)
# 3: OpenStreetMap (Mapbox)
map = 0
map_api_key = ""
latitude = "51.513487"
longitude = "5.505905"
zoom = 5
# SITE SETUP
# Color theme.
# Choose from `default`, `ocean`, `forest`, `dark`, `apogee`, `1950s`, `coffee`, `cupcake`.
# color_theme = "default"
color_theme = "ocean"
# Enable users to switch between day and night mode?
day_night = true
# Font style.
# Choose from `default`, `classic`, or `playfair`.
font = "default"
# Description for social sharing and search engines. If undefined, author role is used in place.
description = ""
# Default image for social sharing and search engines. Place image in `static/img/` folder and specify image name here.
sharing_image = ""
# Twitter username (without @). Used when a vistor shares your site on Twitter.
twitter = "ariejan"
facebook = ""
social_banner = "img/banner.png"
usesmallsummarycard = true
posts_navigation = true
# issoHost = "comments.domain.tld:1234"
# githubRepo = "githubUsername/repositoryName"
small_banner_logo = false
book_recommendations = false
# Diplay a logo in navigation bar rather than title (optional).
# To enable, place an image in `static/img/` and reference its filename below. To disable, set the value to "".
logo = ""
# Date and time format (refer to https://sourcethemes.com/academic/docs/customization/#date-format )
# Examples: "Mon, Jan 2, 2006" or "2006-01-02"
date_format = "2 Jan 2006"
# Examples: "3:04 pm" or "15:04"
time_format = "15:04"
# Show estimated reading time for posts?
reading_time = true
# Display comment count? Requires commenting to be enabled.
comment_count = true
# Display next/previous section pager?
section_pager = false
# Enable global LaTeX math rendering?
# If false, you can enable it locally on a per page basis.
math = false
# Highlight.js options
# highlight
# Enable global source code highlighting? If false, you can
# override it for a particular page in that page's preamble.
#
# Example: highlight = true
#
# highlight_languages
# Add support for highlighting additional languages. Support for
# languages mentioned here will be included in all pages.
#
# Example: highlight_languages = ["go", "lisp", "ocaml"]
#
# highlight_style
# Choose a different CSS style for highlighting source
# code. Setting this option in a page's preamble has no
# effect.
#
# Example: highlight_style = "github-gist"
#
# For the list of supported languages and styles, see:
# https://cdnjs.com/libraries/highlight.js/
#
# For more info on the highlighting options, see:
# https://sourcethemes.com/academic/docs/writing-markdown-latex/#highlighting-options
highlight = true
highlight_languages = ["go", "ruby", "yaml", "apache", "arduino", "bash", "cpp", "css", "dns", "dockerfile", "elixir", "erb", "haml", "gherkin", "http", "java", "javascript", "json", "markdown", "nginx", "openscad", "pgsql", "php", "plaintext", "scss", "sql", "tex", "vim", "xml" ]
highlight_style = "ir-black"
# Enable native social sharing buttons?
sharing = true
# Privacy pack
# Show a cookie consent message to visitors
# Anonymize IP in Google Analytics (if enabled)
privacy_pack = false
# Link custom CSS and JS assets
# (relative to /static/css and /static/js respectively)
custom_css = []
custom_js = []
# Publication types.
# Used to categorize publications.
# The index of the publication type in the list is used as its unique numerical identifier.
# The numeric ID is used in a publication's frontmatter to categorize it.
# The language can be edited below.
# For multilingual sites, `publication_types` can be copied to each language section at the end of this file and
# translated.
publication_types = [
'Uncategorized', # 0
'Conference paper', # 1
'Journal article', # 2
'Manuscript', # 3
'Report', # 4
'Book', # 5
'Book section' # 6
]
[permalinks]
post = "/:year/:month/:day/:slug"
# Configuration of talk pages.
[params.talks]
# Show talk time?
time = true
# Configuration of publication pages.
[params.publications]
# Date format (refer to https://sourcethemes.com/academic/docs/customization/#date-format )
# Examples: "Mon, Jan 2, 2006" or "2006-01-02"
date_format = "January, 2006"
# Configuration of project pages.
[params.projects]
# List publications and talks related to the project?
list_children = true
# Post list format.
# 0 = Simple
# 1 = Detailed
# 2 = Stream
post_format = 2
# Publication list format.
# 0 = Simple
# 1 = Detailed
# 2 = APA
# 3 = MLA
# 4 = Stream
publication_format = 4
# Talk list format.
# 0 = Simple
# 1 = Detailed
# 2 = Stream
talk_format = 2
# Social/Academic Networking
#
# Icon pack "fab" includes the following social network icons:
#
# twitter, weibo, linkedin, github, facebook, pinterest, google-plus,
# youtube, instagram, soundcloud
#
# For email icon, use "fas" icon pack, "envelope" icon, and
# "mailto:your@email.com" as the link.
#
# Full list: https://fontawesome.com/icons
#
# Icon pack "ai" includes the following academic icons:
#
# cv, google-scholar, arxiv, orcid, researchgate, mendeley
#
# Full list: https://jpswalsh.github.io/academicons/
[[params.social]]
icon = "envelope"
icon_pack = "fas"
link = "#contact" # For a direct email link, use "mailto:test@example.org".
[[params.social]]
icon = "twitter"
icon_pack = "fab"
link = "https://twitter.com/ariejan"
[[params.social]]
icon = "github"
icon_pack = "fab"
link = "https://github.com/ariejan"
# Link to a PDF of your resume/CV from the About widget.
# To enable, copy your resume/CV to `static/files/cv.pdf` and uncomment the lines below.
# [[params.social]]
# icon = "cv"
# icon_pack = "ai"
# link = "files/cv.pdf"
# Navigation Links
# To link a homepage widget, specify the URL as a hash `#` followed by the filename of the
# desired widget in your `content/home/` folder.
# The weight parameter defines the order that the links will appear in.
[params.menus]
# Align the main menu to the right of the page? (true/false)
align_right = true
[[menu.main]]
name = "Home"
url = "/"
weight = 10
[[menu.main]]
name = "Posts"
url = "#posts"
weight = 20
[[menu.main]]
name = "Projects"
url = "#projects"
weight = 40
[[menu.main]]
name = "Contact"
url = "#contact"
weight = 60
# Link to a PDF of your resume/CV from the menu.
# To enable, copy your resume/CV to `static/files/cv.pdf` and uncomment the lines below.
# [[menu.main]]
# name = "CV"
# url = "files/cv.pdf"
# weight = 7
# Search.
[params.search]
# Search provider:
# 0: No search engine
# 1: Built-in (Fuse)
# 2: Algolia (https://www.algolia.com)
engine = 1
# Configuration of Algolia search engine.
# Paste the values from your Algolia dashboard.
[params.search.algolia]
app_id = ""
api_key = ""
index_name = ""
show_logo = false
# Taxonomies.
[taxonomies]
tag = "tags"
category = "categories"
publication_type = "publication_types"
# Languages
# Create a [languages.X] block for each language you want, where X is the language ID.
# Refer to https://sourcethemes.com/academic/docs/language/
# Configure the English version of the website.
[languages.en]
languageCode = "en-us"
# Uncomment the lines below to configure your website in a second language.
#[languages.zh]
# languageCode = "zh-Hans"
# title = "Chinese website title..."
# [languages.zh.params]
# name = "Your name in Chinese..."
# role = "Your role in Chinese..."
# [[languages.zh.menu.main]]
# name = "Wo"
# url = "#about"
# weight = 1

View File

@ -1,69 +0,0 @@
+++
date = "2016-01-12"
title = "Denon PMA-560 Repair Log - Update"
tags = ["ohmexpress", "repair", "audiorepair"]
categories = [ "Audio Repair" ]
description = "Replacement parts for the Denon PMA-560 have arrived. Let's get to work!"
slug = "denon-pma-560-repair-log-update"
+++
Last week I diagnosed a Denon PMA-560 Integrated Stereo Amplifier. The device worked fine
since its production in 1990, but had lost output on the left channel. My diagnosis, as
you can [read in the previous repair log][repair-log] was a defect in the A-Channel
relay.
## There and back again
It sounds straightforward: just replace the A-channel relay. And it is. But does require
a bit of work and careful deconstruction of the unit.
![Original Relays of the Denon PMA-560](/img/denon-pma-560-situation.jpg)
Those are the original relays. On the left you can see some metal pins connected to the
PCB, those are the speaker terminals that you can see protrude out the back. This PCB is,
on one side, firmly pressed against the back panel of the case and other the other side
wedged in by the big transformer. The PCB itself is held in place by three white plastic
pins. Can you spot them?
To remove the PCB, as I need to do some soldering work on the bottom side, I'd need to
remove the back panel, which amounts to 15 screws. After that, the PCB comes loose and
the soldering iron can be heated up.
## Replacement
The first problem is that the schematic in the service manual sports two RL602 devices.
I've marked the three relays in green. RL601 and RL602 are for the A and B speaker channels.
The second relay also RL602 in the schematic is for the headphones. Luckily this relay
has different size and shape and is correctly marked as RL603 on the PCB silkscreen.
![Error in the schematic](/img/denon-pma-560-schematic-2.png)
The relay has six pins, which are soldered to the PCB. Using my soldering iron and
desoldering pump I first removed most of the solder and then wiggled the relay free
while quickly heating up each pin.
![Relay removed](/img/denon-pma-560-removed-relay.jpg)
Next up, insert new relays and solder it to the PCB.
![Relay replaced](/img/denon-pma-560-replaced-relay.jpg)
Here is the new relay in place. As you can see it's the same make and model as
it's malfunctioning predecessor.
Let's get the PCB back in, re-attach the back plate and hook the unit up to some speakers
and input.
## Moment of truth
Yes. It worked. Turn on some music, select the correct input, select A-channel speaker output
and slowly turn up the volume to the voice of Adele.
After this I did a double-check that I reconnected all wires and put the device back
together (including the 15 screws on the back, not counting the three for the top cover).
Here is the restored Denon PMA-560 Integrated Stereo Amplifier, fully tested and working.
![Denon PMA-560](/img/denon-pma-560-project-completed.jpg)
[repair-log]: /2016/01/07/denon-pma-560-repair-log/

View File

@ -1,43 +0,0 @@
+++
date = "2017-10-16"
title = "Signal 1 - DIY Audio Signal Generator (Part 1)"
tags = ["audio", "design", "electronics", "signal-1"]
description = "This is part 1 in a series of posts showing you how I build a digitally controlled audio signal generator based on the AD9833."
slug = "signal-1-diy-signal-generator-part-1"
+++
**Signal 1** is the name for my first _signal generator_ project. The goal for this project
is to create a device that can output clean sine waves in the 10 Hz - 100 kHz range for testing
audio equipment.
This is what I'm looking for:
* 10 Hz - 100 kHz frequency range sine waves
* Stereo Line level output (100-600 Ohm output impedance; 2Vpp) to feed directly into an amp
* Display of frequency and other settings
* Frequency presets or 'zero' at 1kHz
* Adjustable amplitude (e.g. volume control; 5mVpp - 2Vpp)
* Digitally controlled
Bonus features:
* Reverse RIAA circuit
* Frequency sweep
There are at this point two pieces of hardware I have selected:
**AD9833 Programmable Waveform Generator** is a nice chip that can more than handle my simple needs. If
it can go up to a 16Mhz square wave, that'd be great, but not necessary. It's also inexpensive when bought
from China as a breakout board. I'm not usually a fan of there boards, but to for prototyping they should
be fine. The AD9833 communicates for SPI, so I'll need a microcontroller to handle that.
![The AD9833 Breakout Board](/img/signal-1-ad9833-breakout.jpg)
**Arduino Nano**. I was going to go for an onboard ATMega328 and program it directly using
_Atmel Studio_. However, there's so much good stuff out there for Arduino that I'll start out
by just plugging in an Arduino Nano and program that. The upside is that it alread contains
USB/Serial so it's be rather easy to make this devise computer controlled later on. That said,
for the final build I might op to integrate the Arduino Nano components on my PCB anyway :-)
For now, I've ordered a few AD9833 breakout boards from China and I'll start working on a block diagram
of the entire system soon, which you can read about in Part 2 of this series.

View File

@ -1,100 +0,0 @@
+++
date = "2014-11-26"
title = "VoltMeister 100: Bench Power Supply - Part 2"
tags = ["electronics", "voltmeister", "power supply"]
categories = [ "Electronics" ]
description = "In Part 1 of this series I discussed how an ATX power supply can be usedto create a poor man's bench power supply. In Part 2 I'll show you howI managed to fit the ATX power supply, my control board and everythingelse neatly into a single box."
slug = "voltmeister-100-atx-bench-power-supply-part-2"
+++
In [Part 1](https://ariejan.net/2014/11/24/voltmeister-100-atx-bench-power-supply-part-1/) of
this article I've discussed the design and PCB layout for my _VoltMeister 100_ project.
I've converted an ATX power supply to a safe-to-use bench power supply. Although not ideal
for anything serious, it's a great way to actually get started and complete a project.
This is Part 2 of a two part write-up of how I designed and built my first bench
power supply.
* [Part 1 - Design, schematic and PCB](https://ariejan.net/2014/11/24/voltmeister-100-atx-bench-power-supply-part-1)
* [Part 2 - Enclosure and finished build](https://ariejan.net/2014/11/26/voltmeister-100-atx-bench-power-supply-part-2)
## The enclosure
I think that in a professional design process there is some tension between the PCBs you design, the
components you use and the enclosure you need to all fit it in. I tried to be smart and opted to buy a
'universal enclosure' that would fit my ATX power supply and leave some room for a small PCB.
Because of the dimensions of the ATX power supply (roughly 140x50x80mm), I needed something that would fit that.
Note that most dimenstions specified when shopping for enclosures are _outside_ dimensions.
In the end I opted for a nice Hammond enclosure, large enough to fit my power supply snugly and not
too expensive. It even has nice aluminium front and back panels. For those wondering, it's
the [1598ESGY](http://octopart.com/1598esgy-hammond-46506) from Hammond.
![](/img/hammond-enclosure.jpg "Hammond Universal Enclosure")
Another thing I learned is to take a detailed look at the specification drawings.
![](/img/hammond-inside.png "Inside the enclosure")
Notice the two supports circled in red? Yeah, those are used to screw the top and bottom parts of
the enclosure together. And guess what, my ATX power supply does _not_ fit between those
two supports and is now protruding about 10mm from the back. Booh!
This is really a problem. I don't want to have an ATX power supply hanging out of the back.
At first I thought of just buying a larger case, but I would not be that easily defeated.
Because I'm curious by nature, I opened up my ATX power supply to see what's inside and
remove some of the cables I would not need.
The PCB for the ATX supply is pretty tightly packed, but I noticed that transformer on the side was
not mounted on the PCB. There was a nice cutout on the PCB to allow room for the transformer.
Putting one and one together I decided to remove the ATX enclosure and see if I could fit
the PCB in my small Hammond case. The transformer could be moved just a bit so it would
not interfer with the support inside the case.
This worked brilliantly. All I had to do was make cutouts for the powercord and 120/230V
selector.
The only reason I did this is because there is a clear separation between the high
voltage parts of the supply and the control (for the fan, I presume). Because the
orientation was just right, it would also shield my own PCB nicely.
## The build
Here you can see the inside of my bench power supply.
![](/img/case-inside.jpg "Inside the case")
The bottom half is filled with the ATX PCB. You can see the ground wire floating around,
this has been connected properly tot he front and back panels.
The transformer is leaving a bit of a gap and has been placed just on the other
side of the support.
On the top you can see my PCB with the ATX connector attached to it and wires going
out to the LEDs, the power switch and the different output voltages.
## The result
And, this is the end result. Suffice it to say that my precision drilling skills need
some more love. But other than that, I'm quite happy with how it turned out. It's my
first project, after all.
![](/img/voltmeister-100.jpg "VoltMeister 100 in all it's glory")
## Conclusion
Building an ATX-based bench power supply like this is nice. If you need
a stable and reliable power supply, you're probably better off buying a cheap
linear power supply online for like € 50.
I did this project to learn something. And I did. I learned how to SMD solder components,
I learned what to look out for when selecting an enclosure for your project. I also learned
about ATX power supplies and how you don't want to mess with them. These units handle
pretty beefy currents. If you don't know what you're doing you could end up hurting yourself.
What's next? The VoltMeister 200, of course!

29
content/home/about.md Normal file
View File

@ -0,0 +1,29 @@
+++
# About/Biography widget.
widget = "about"
active = true
date = 1980-10-17T00:00:00
# Order that this section will appear in.
weight = 5
# List your academic interests.
[interests]
interests = [
"Software Engineering",
"Electronics repair, design, and manufacturing"
]
# List your qualifications (such as academic degrees).
[[education.courses]]
course = "B.Sc. Software Engineering"
institution = "Fontys University of Applied Sciences"
year = 2007
+++
# Biography
Ariejan de Vroom is a senior software engineer at [Kabisa](https://www.kabisa.nl). His interests include test-driven software development and rock-solid backend engineering. He leads teams of software developers as scrum master or product owner in web development projects.
In his free time Ariejan likes to tinker with electronics by repairing _"vintage"_ audio equipment or designing, programming, and manufacturing small batch electronics projects.

22
content/home/contact.md Normal file
View File

@ -0,0 +1,22 @@
+++
# Contact widget.
widget = "contact"
active = true
date = 1980-10-17T00:00:00
title = "Contact"
subtitle = ""
# Order that this section will appear in.
weight = 70
# Automatically link email and phone?
autolink = true
# Email form provider
# 0: Disable email form
# 1: Netlify (requires that the site is hosted by Netlify)
# 2: formspree.io
email_form = 2
+++

View File

@ -0,0 +1,55 @@
+++
# Experience widget.
widget = "experience" # Do not modify this line!
active = true # Activate this widget? true/false
title = "Experience"
subtitle = ""
# Order that this section will appear in.
weight = 8
# Date format for experience
# Refer to https://sourcethemes.com/academic/docs/customization/#date-format
date_format = "January 2006"
# Experiences.
# Add/remove as many `[[experience]]` blocks below as you like.
# Required fields are `title`, `company`, and `date_start`.
# Leave `date_end` empty if it's your current employer.
# Begin/end multi-line descriptions with 3 quotes `"""`.
[[experience]]
title = "Senior Software Engineer"
company = "Kabisa"
company_url = "https://www.kabisa.nl"
location = "Weert, The Netherlands"
date_start = "2007-08-06"
date_end = ""
description = """
Provide software engineering consultancy with a focus on Ruby on Rails web applications and software integration.
Responsibilities include:
* Writing rock-solid Ruby on Rails applications
* Manage development teams as either Scrum Master or Product Owner
* Manage relations with stakeholders and customers
* Train colleagues on software craftsmanship and testing practices
* Supervise software engineering interns and graduate students
* Organize and speak at meet-ups and conferences
"""
[[experience]]
title = "Lecturer / Software Engineer"
company = "Fontys University of Applied Sciences"
company_url = "https://www.fontyx.nl"
location = "Eindhoven, The Netherlands"
date_start = "2004-09-01"
date_end = "2007-07-31"
description = """
Responsibilities include:
* Lecture on Open-Source software, Linux and provide LPI training courses
* Manage groups of students on software engineering projects
"""
+++

26
content/home/posts.md Normal file
View File

@ -0,0 +1,26 @@
+++
# Recent Posts widget.
# This widget displays recent posts from `content/post/`.
widget = "posts" # Do not modify this line!
active = true # Activate this widget? true/false
weight = 40 # Order that this section will appear.
date = 1980-10-17T00:00:00
title = "Recent Posts"
subtitle = ""
# Number of recent posts to list.
count = 5
# List format.
# 0 = Simple
# 1 = Detailed
# 2 = Stream
list_format = 2
# Filter posts by tag or category.
# E.g. to only show posts tagged with `Academic`, set `filter_tag = "Academic"`
filter_tag = ""
filter_category = ""
+++

52
content/home/projects.md Normal file
View File

@ -0,0 +1,52 @@
+++
# Projects widget.
widget = "projects"
active = true
date = 2016-04-20T00:00:00
title = "Projects"
subtitle = ""
# Order that this section will appear in.
weight = 50
# Content.
# Display content from the following folder.
# For example, `folder = "project"` displays content from `content/project/`.
folder = "projects"
# View.
# Customize how projects are displayed.
# Legend: 0 = list, 1 = cards, 2 = showcase.
view = 2
# Widget layout
# Legend: 0 = two columns (default), 1 = single column
widget_layout = 0
# For Showcase view, flip alternate rows?
flip_alt_rows = false
# Filter toolbar.
# Default filter index (e.g. 0 corresponds to the first `[[filter]]` instance below).
filter_default = 0
# Add or remove as many filters (`[[filter]]` instances) as you like.
# To show all items, set `tag` to "*".
# To filter by a specific tag, set `tag` to an existing tag name.
# To remove toolbar, delete/comment all instances of `[[filter]]` below.
# [[filter]]
# name = "All"
# tag = "*"
#
# [[filter]]
# name = "Deep Learning"
# tag = "Deep Learning"
#
# [[filter]]
# name = "Other"
# tag = "Demo"
+++

Some files were not shown because too many files have changed in this diff Show More