diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 264cbac..ba5a73d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -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 + - master \ No newline at end of file diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..1737ac5 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "themes/academic"] + path = themes/academic + url = https://github.com/gcushen/hugo-academic diff --git a/config.toml b/config.toml index 8759e16..d6bc601 100644 --- a/config.toml +++ b/config.toml @@ -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 = "^" +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" -email = "ariejan@devroom.io" -linkedin = "ariejan" -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 + # 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" + 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" + + # 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 \ No newline at end of file diff --git a/content/electronics/repair-denon-pma560-update.md b/content/electronics/repair-denon-pma560-update.md deleted file mode 100644 index eb91cd7..0000000 --- a/content/electronics/repair-denon-pma560-update.md +++ /dev/null @@ -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/ diff --git a/content/electronics/signal-1-part-1.md b/content/electronics/signal-1-part-1.md deleted file mode 100644 index 37294ab..0000000 --- a/content/electronics/signal-1-part-1.md +++ /dev/null @@ -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. \ No newline at end of file diff --git a/content/electronics/voltmeister-100-atx-bench-power-supply-part-2.md b/content/electronics/voltmeister-100-atx-bench-power-supply-part-2.md deleted file mode 100644 index 70d8b4a..0000000 --- a/content/electronics/voltmeister-100-atx-bench-power-supply-part-2.md +++ /dev/null @@ -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! - - diff --git a/content/home/about.md b/content/home/about.md new file mode 100644 index 0000000..a775297 --- /dev/null +++ b/content/home/about.md @@ -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. \ No newline at end of file diff --git a/content/home/contact.md b/content/home/contact.md new file mode 100644 index 0000000..67e2a36 --- /dev/null +++ b/content/home/contact.md @@ -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 ++++ + diff --git a/content/home/experience.md b/content/home/experience.md new file mode 100644 index 0000000..8bbc53f --- /dev/null +++ b/content/home/experience.md @@ -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 + """ + ++++ diff --git a/content/home/posts.md b/content/home/posts.md new file mode 100644 index 0000000..e368695 --- /dev/null +++ b/content/home/posts.md @@ -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 = "" ++++ + diff --git a/content/home/projects.md b/content/home/projects.md new file mode 100644 index 0000000..b6fc5d6 --- /dev/null +++ b/content/home/projects.md @@ -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" + ++++ + diff --git a/content/blog/2006-10-09-welcome-to-ariejannet.md b/content/post/2006-10-09-welcome-to-ariejannet.md similarity index 100% rename from content/blog/2006-10-09-welcome-to-ariejannet.md rename to content/post/2006-10-09-welcome-to-ariejannet.md diff --git a/content/blog/2006-10-10-easily-create-a-favicon-online.md b/content/post/2006-10-10-easily-create-a-favicon-online.md similarity index 100% rename from content/blog/2006-10-10-easily-create-a-favicon-online.md rename to content/post/2006-10-10-easily-create-a-favicon-online.md diff --git a/content/blog/2006-10-10-generate-a-sqlite-based-rails-app.md b/content/post/2006-10-10-generate-a-sqlite-based-rails-app.md similarity index 100% rename from content/blog/2006-10-10-generate-a-sqlite-based-rails-app.md rename to content/post/2006-10-10-generate-a-sqlite-based-rails-app.md diff --git a/content/blog/2006-10-10-hi-res-wallpapers-for-you-macbook.md b/content/post/2006-10-10-hi-res-wallpapers-for-you-macbook.md similarity index 100% rename from content/blog/2006-10-10-hi-res-wallpapers-for-you-macbook.md rename to content/post/2006-10-10-hi-res-wallpapers-for-you-macbook.md diff --git a/content/blog/2006-10-10-top-5-dvds-you-must-have.md b/content/post/2006-10-10-top-5-dvds-you-must-have.md similarity index 100% rename from content/blog/2006-10-10-top-5-dvds-you-must-have.md rename to content/post/2006-10-10-top-5-dvds-you-must-have.md diff --git a/content/blog/2006-10-13-having-fun-with-spam.md b/content/post/2006-10-13-having-fun-with-spam.md similarity index 100% rename from content/blog/2006-10-13-having-fun-with-spam.md rename to content/post/2006-10-13-having-fun-with-spam.md diff --git a/content/blog/2006-10-13-migrate-sqlite3-to-mysql-easily.md b/content/post/2006-10-13-migrate-sqlite3-to-mysql-easily.md similarity index 100% rename from content/blog/2006-10-13-migrate-sqlite3-to-mysql-easily.md rename to content/post/2006-10-13-migrate-sqlite3-to-mysql-easily.md diff --git a/content/blog/2006-10-13-tagging-in-ajax_scaffold.md b/content/post/2006-10-13-tagging-in-ajax_scaffold.md similarity index 100% rename from content/blog/2006-10-13-tagging-in-ajax_scaffold.md rename to content/post/2006-10-13-tagging-in-ajax_scaffold.md diff --git a/content/blog/2006-10-23-ruby-on-rails-for-php-cakephp.md b/content/post/2006-10-23-ruby-on-rails-for-php-cakephp.md similarity index 100% rename from content/blog/2006-10-23-ruby-on-rails-for-php-cakephp.md rename to content/post/2006-10-23-ruby-on-rails-for-php-cakephp.md diff --git a/content/blog/2006-10-29-do-your-ads-pay-your-blogging-bills.md b/content/post/2006-10-29-do-your-ads-pay-your-blogging-bills.md similarity index 100% rename from content/blog/2006-10-29-do-your-ads-pay-your-blogging-bills.md rename to content/post/2006-10-29-do-your-ads-pay-your-blogging-bills.md diff --git a/content/blog/2006-10-30-adsense-resource-inventory.md b/content/post/2006-10-30-adsense-resource-inventory.md similarity index 100% rename from content/blog/2006-10-30-adsense-resource-inventory.md rename to content/post/2006-10-30-adsense-resource-inventory.md diff --git a/content/blog/2006-10-30-cheat-sheets-look-here.md b/content/post/2006-10-30-cheat-sheets-look-here.md similarity index 100% rename from content/blog/2006-10-30-cheat-sheets-look-here.md rename to content/post/2006-10-30-cheat-sheets-look-here.md diff --git a/content/blog/2006-10-30-confused-about-css-columns.md b/content/post/2006-10-30-confused-about-css-columns.md similarity index 100% rename from content/blog/2006-10-30-confused-about-css-columns.md rename to content/post/2006-10-30-confused-about-css-columns.md diff --git a/content/blog/2006-10-30-how-does-your-site-look-on.md b/content/post/2006-10-30-how-does-your-site-look-on.md similarity index 100% rename from content/blog/2006-10-30-how-does-your-site-look-on.md rename to content/post/2006-10-30-how-does-your-site-look-on.md diff --git a/content/blog/2006-10-31-wordpressmu-dont-allow-new-blogs.md b/content/post/2006-10-31-wordpressmu-dont-allow-new-blogs.md similarity index 100% rename from content/blog/2006-10-31-wordpressmu-dont-allow-new-blogs.md rename to content/post/2006-10-31-wordpressmu-dont-allow-new-blogs.md diff --git a/content/blog/2006-11-13-cups-426-upgrade-required.md b/content/post/2006-11-13-cups-426-upgrade-required.md similarity index 100% rename from content/blog/2006-11-13-cups-426-upgrade-required.md rename to content/post/2006-11-13-cups-426-upgrade-required.md diff --git a/content/blog/2006-11-15-ubuntu-610-live-dvd-on-the-apple-macbook.md b/content/post/2006-11-15-ubuntu-610-live-dvd-on-the-apple-macbook.md similarity index 100% rename from content/blog/2006-11-15-ubuntu-610-live-dvd-on-the-apple-macbook.md rename to content/post/2006-11-15-ubuntu-610-live-dvd-on-the-apple-macbook.md diff --git a/content/blog/2006-11-17-announcing-cse-tool-deploy-you-google-cse-with-ease.md b/content/post/2006-11-17-announcing-cse-tool-deploy-you-google-cse-with-ease.md similarity index 100% rename from content/blog/2006-11-17-announcing-cse-tool-deploy-you-google-cse-with-ease.md rename to content/post/2006-11-17-announcing-cse-tool-deploy-you-google-cse-with-ease.md diff --git a/content/blog/2006-11-21-cse-tool-110-released.md b/content/post/2006-11-21-cse-tool-110-released.md similarity index 100% rename from content/blog/2006-11-21-cse-tool-110-released.md rename to content/post/2006-11-21-cse-tool-110-released.md diff --git a/content/blog/2006-11-21-svn-how-to-release-software-properly.md b/content/post/2006-11-21-svn-how-to-release-software-properly.md similarity index 100% rename from content/blog/2006-11-21-svn-how-to-release-software-properly.md rename to content/post/2006-11-21-svn-how-to-release-software-properly.md diff --git a/content/blog/2006-11-22-google-project-hosting-sourceforge-competitor.md b/content/post/2006-11-22-google-project-hosting-sourceforge-competitor.md similarity index 100% rename from content/blog/2006-11-22-google-project-hosting-sourceforge-competitor.md rename to content/post/2006-11-22-google-project-hosting-sourceforge-competitor.md diff --git a/content/blog/2006-11-22-svn-how-to-fix-bugs-properly.md b/content/post/2006-11-22-svn-how-to-fix-bugs-properly.md similarity index 100% rename from content/blog/2006-11-22-svn-how-to-fix-bugs-properly.md rename to content/post/2006-11-22-svn-how-to-fix-bugs-properly.md diff --git a/content/blog/2006-11-22-wordpress-author-comment-highlighting.md b/content/post/2006-11-22-wordpress-author-comment-highlighting.md similarity index 100% rename from content/blog/2006-11-22-wordpress-author-comment-highlighting.md rename to content/post/2006-11-22-wordpress-author-comment-highlighting.md diff --git a/content/blog/2006-11-24-svn-how-to-structure-your-repository.md b/content/post/2006-11-24-svn-how-to-structure-your-repository.md similarity index 100% rename from content/blog/2006-11-24-svn-how-to-structure-your-repository.md rename to content/post/2006-11-24-svn-how-to-structure-your-repository.md diff --git a/content/blog/2006-11-25-the-three-corner-stones-of-developerhood.md b/content/post/2006-11-25-the-three-corner-stones-of-developerhood.md similarity index 100% rename from content/blog/2006-11-25-the-three-corner-stones-of-developerhood.md rename to content/post/2006-11-25-the-three-corner-stones-of-developerhood.md diff --git a/content/blog/2006-11-30-rails-security-check-up.md b/content/post/2006-11-30-rails-security-check-up.md similarity index 100% rename from content/blog/2006-11-30-rails-security-check-up.md rename to content/post/2006-11-30-rails-security-check-up.md diff --git a/content/blog/2006-12-01-how-to-setup-a-ubuntu-development-server-part-1.md b/content/post/2006-12-01-how-to-setup-a-ubuntu-development-server-part-1.md similarity index 100% rename from content/blog/2006-12-01-how-to-setup-a-ubuntu-development-server-part-1.md rename to content/post/2006-12-01-how-to-setup-a-ubuntu-development-server-part-1.md diff --git a/content/blog/2006-12-02-how-to-setup-a-ubuntu-development-server-part-2.md b/content/post/2006-12-02-how-to-setup-a-ubuntu-development-server-part-2.md similarity index 100% rename from content/blog/2006-12-02-how-to-setup-a-ubuntu-development-server-part-2.md rename to content/post/2006-12-02-how-to-setup-a-ubuntu-development-server-part-2.md diff --git a/content/blog/2006-12-03-installing-rails-on-ubuntu-dapper-edgy.md b/content/post/2006-12-03-installing-rails-on-ubuntu-dapper-edgy.md similarity index 100% rename from content/blog/2006-12-03-installing-rails-on-ubuntu-dapper-edgy.md rename to content/post/2006-12-03-installing-rails-on-ubuntu-dapper-edgy.md diff --git a/content/blog/2006-12-06-install-ruby-mysql-on-mac-os-x-104-tiger.md b/content/post/2006-12-06-install-ruby-mysql-on-mac-os-x-104-tiger.md similarity index 100% rename from content/blog/2006-12-06-install-ruby-mysql-on-mac-os-x-104-tiger.md rename to content/post/2006-12-06-install-ruby-mysql-on-mac-os-x-104-tiger.md diff --git a/content/blog/2006-12-13-show-the-current-svn-revision-in-your-rails-app.md b/content/post/2006-12-13-show-the-current-svn-revision-in-your-rails-app.md similarity index 100% rename from content/blog/2006-12-13-show-the-current-svn-revision-in-your-rails-app.md rename to content/post/2006-12-13-show-the-current-svn-revision-in-your-rails-app.md diff --git a/content/blog/2006-12-20-svn-how-often-should-you-commit.md b/content/post/2006-12-20-svn-how-often-should-you-commit.md similarity index 100% rename from content/blog/2006-12-20-svn-how-often-should-you-commit.md rename to content/post/2006-12-20-svn-how-often-should-you-commit.md diff --git a/content/blog/2006-12-20-svn-merge-a-branch-with-your-trunk.md b/content/post/2006-12-20-svn-merge-a-branch-with-your-trunk.md similarity index 100% rename from content/blog/2006-12-20-svn-merge-a-branch-with-your-trunk.md rename to content/post/2006-12-20-svn-merge-a-branch-with-your-trunk.md diff --git a/content/blog/2006-12-22-textmaterails-easy-partials-for-better-code.md b/content/post/2006-12-22-textmaterails-easy-partials-for-better-code.md similarity index 100% rename from content/blog/2006-12-22-textmaterails-easy-partials-for-better-code.md rename to content/post/2006-12-22-textmaterails-easy-partials-for-better-code.md diff --git a/content/blog/2007-01-12-rails-group-results-by-week-using-group_by.md b/content/post/2007-01-12-rails-group-results-by-week-using-group_by.md similarity index 100% rename from content/blog/2007-01-12-rails-group-results-by-week-using-group_by.md rename to content/post/2007-01-12-rails-group-results-by-week-using-group_by.md diff --git a/content/blog/2007-01-19-print-this-page-with-ruby-on-rails.md b/content/post/2007-01-19-print-this-page-with-ruby-on-rails.md similarity index 100% rename from content/blog/2007-01-19-print-this-page-with-ruby-on-rails.md rename to content/post/2007-01-19-print-this-page-with-ruby-on-rails.md diff --git a/content/blog/2007-01-19-why-ruby-rocks-convince-your-fellow-developers.md b/content/post/2007-01-19-why-ruby-rocks-convince-your-fellow-developers.md similarity index 100% rename from content/blog/2007-01-19-why-ruby-rocks-convince-your-fellow-developers.md rename to content/post/2007-01-19-why-ruby-rocks-convince-your-fellow-developers.md diff --git a/content/blog/2007-01-23-new-in-rails-resource-scaffold-generator.md b/content/post/2007-01-23-new-in-rails-resource-scaffold-generator.md similarity index 100% rename from content/blog/2007-01-23-new-in-rails-resource-scaffold-generator.md rename to content/post/2007-01-23-new-in-rails-resource-scaffold-generator.md diff --git a/content/blog/2007-01-23-rails-nested-resource-scaffold.md b/content/post/2007-01-23-rails-nested-resource-scaffold.md similarity index 100% rename from content/blog/2007-01-23-rails-nested-resource-scaffold.md rename to content/post/2007-01-23-rails-nested-resource-scaffold.md diff --git a/content/blog/2007-01-23-updates-wordpress-21-themes-and-social.md b/content/post/2007-01-23-updates-wordpress-21-themes-and-social.md similarity index 100% rename from content/blog/2007-01-23-updates-wordpress-21-themes-and-social.md rename to content/post/2007-01-23-updates-wordpress-21-themes-and-social.md diff --git a/content/blog/2007-01-28-ruby-sort-an-array-of-objects-by-an-attribute.md b/content/post/2007-01-28-ruby-sort-an-array-of-objects-by-an-attribute.md similarity index 100% rename from content/blog/2007-01-28-ruby-sort-an-array-of-objects-by-an-attribute.md rename to content/post/2007-01-28-ruby-sort-an-array-of-objects-by-an-attribute.md diff --git a/content/blog/2007-02-23-subversion-cheat-sheet-10.md b/content/post/2007-02-23-subversion-cheat-sheet-10.md similarity index 100% rename from content/blog/2007-02-23-subversion-cheat-sheet-10.md rename to content/post/2007-02-23-subversion-cheat-sheet-10.md diff --git a/content/blog/2007-02-26-4-unusual-uses-for-subversion.md b/content/post/2007-02-26-4-unusual-uses-for-subversion.md similarity index 100% rename from content/blog/2007-02-26-4-unusual-uses-for-subversion.md rename to content/post/2007-02-26-4-unusual-uses-for-subversion.md diff --git a/content/blog/2007-03-06-subversion-cheat-sheet-update-101.md b/content/post/2007-03-06-subversion-cheat-sheet-update-101.md similarity index 100% rename from content/blog/2007-03-06-subversion-cheat-sheet-update-101.md rename to content/post/2007-03-06-subversion-cheat-sheet-update-101.md diff --git a/content/blog/2007-03-07-wordpress-plugin-autoflickr-10.md b/content/post/2007-03-07-wordpress-plugin-autoflickr-10.md similarity index 100% rename from content/blog/2007-03-07-wordpress-plugin-autoflickr-10.md rename to content/post/2007-03-07-wordpress-plugin-autoflickr-10.md diff --git a/content/blog/2007-03-20-8-great-ways-to-use-google-for-your-start-up.md b/content/post/2007-03-20-8-great-ways-to-use-google-for-your-start-up.md similarity index 100% rename from content/blog/2007-03-20-8-great-ways-to-use-google-for-your-start-up.md rename to content/post/2007-03-20-8-great-ways-to-use-google-for-your-start-up.md diff --git a/content/blog/2007-03-20-how-i-made-6-figures-with-google-adsense-in-10-days.md b/content/post/2007-03-20-how-i-made-6-figures-with-google-adsense-in-10-days.md similarity index 100% rename from content/blog/2007-03-20-how-i-made-6-figures-with-google-adsense-in-10-days.md rename to content/post/2007-03-20-how-i-made-6-figures-with-google-adsense-in-10-days.md diff --git a/content/blog/2007-03-21-26-things-you-can-do-with-an-old-pc.md b/content/post/2007-03-21-26-things-you-can-do-with-an-old-pc.md similarity index 100% rename from content/blog/2007-03-21-26-things-you-can-do-with-an-old-pc.md rename to content/post/2007-03-21-26-things-you-can-do-with-an-old-pc.md diff --git a/content/blog/2007-03-22-rails-tip-snippet-logging-informational-messages-to-your-log.md b/content/post/2007-03-22-rails-tip-snippet-logging-informational-messages-to-your-log.md similarity index 100% rename from content/blog/2007-03-22-rails-tip-snippet-logging-informational-messages-to-your-log.md rename to content/post/2007-03-22-rails-tip-snippet-logging-informational-messages-to-your-log.md diff --git a/content/blog/2007-03-23-be-productive-37-things-you-can-do-on-the-toilet.md b/content/post/2007-03-23-be-productive-37-things-you-can-do-on-the-toilet.md similarity index 100% rename from content/blog/2007-03-23-be-productive-37-things-you-can-do-on-the-toilet.md rename to content/post/2007-03-23-be-productive-37-things-you-can-do-on-the-toilet.md diff --git a/content/blog/2007-03-25-speedlinking-top-28-startup-resources.md b/content/post/2007-03-25-speedlinking-top-28-startup-resources.md similarity index 100% rename from content/blog/2007-03-25-speedlinking-top-28-startup-resources.md rename to content/post/2007-03-25-speedlinking-top-28-startup-resources.md diff --git a/content/blog/2007-03-27-rails-tip-snippet-create-a-comma-seperate-list.md b/content/post/2007-03-27-rails-tip-snippet-create-a-comma-seperate-list.md similarity index 100% rename from content/blog/2007-03-27-rails-tip-snippet-create-a-comma-seperate-list.md rename to content/post/2007-03-27-rails-tip-snippet-create-a-comma-seperate-list.md diff --git a/content/blog/2007-03-27-subversion-how-to-revert-to-a-previous-revision.md b/content/post/2007-03-27-subversion-how-to-revert-to-a-previous-revision.md similarity index 100% rename from content/blog/2007-03-27-subversion-how-to-revert-to-a-previous-revision.md rename to content/post/2007-03-27-subversion-how-to-revert-to-a-previous-revision.md diff --git a/content/blog/2007-03-29-5-reasons-why-pc-oems-should-offer-linux.md b/content/post/2007-03-29-5-reasons-why-pc-oems-should-offer-linux.md similarity index 100% rename from content/blog/2007-03-29-5-reasons-why-pc-oems-should-offer-linux.md rename to content/post/2007-03-29-5-reasons-why-pc-oems-should-offer-linux.md diff --git a/content/blog/2007-04-02-what-do-you-want-for-autoflickr.md b/content/post/2007-04-02-what-do-you-want-for-autoflickr.md similarity index 100% rename from content/blog/2007-04-02-what-do-you-want-for-autoflickr.md rename to content/post/2007-04-02-what-do-you-want-for-autoflickr.md diff --git a/content/blog/2007-04-03-tipsnippet-create-a-rss-feed.md b/content/post/2007-04-03-tipsnippet-create-a-rss-feed.md similarity index 100% rename from content/blog/2007-04-03-tipsnippet-create-a-rss-feed.md rename to content/post/2007-04-03-tipsnippet-create-a-rss-feed.md diff --git a/content/blog/2007-04-12-rails-resources-and-permalinks.md b/content/post/2007-04-12-rails-resources-and-permalinks.md similarity index 100% rename from content/blog/2007-04-12-rails-resources-and-permalinks.md rename to content/post/2007-04-12-rails-resources-and-permalinks.md diff --git a/content/blog/2007-04-29-ariejannet-server-move.md b/content/post/2007-04-29-ariejannet-server-move.md similarity index 100% rename from content/blog/2007-04-29-ariejannet-server-move.md rename to content/post/2007-04-29-ariejannet-server-move.md diff --git a/content/blog/2007-05-09-rails-snippet-write-like-orwell-with-to_sentence.md b/content/post/2007-05-09-rails-snippet-write-like-orwell-with-to_sentence.md similarity index 100% rename from content/blog/2007-05-09-rails-snippet-write-like-orwell-with-to_sentence.md rename to content/post/2007-05-09-rails-snippet-write-like-orwell-with-to_sentence.md diff --git a/content/blog/2007-05-18-feedburner-acquired-by-google.md b/content/post/2007-05-18-feedburner-acquired-by-google.md similarity index 100% rename from content/blog/2007-05-18-feedburner-acquired-by-google.md rename to content/post/2007-05-18-feedburner-acquired-by-google.md diff --git a/content/blog/2007-05-21-merge-request-failed-on-pathtofile.md b/content/post/2007-05-21-merge-request-failed-on-pathtofile.md similarity index 100% rename from content/blog/2007-05-21-merge-request-failed-on-pathtofile.md rename to content/post/2007-05-21-merge-request-failed-on-pathtofile.md diff --git a/content/blog/2007-05-28-bat-ter-y.md b/content/post/2007-05-28-bat-ter-y.md similarity index 100% rename from content/blog/2007-05-28-bat-ter-y.md rename to content/post/2007-05-28-bat-ter-y.md diff --git a/content/blog/2007-05-29-installing-rmagick-ruby-gem-on-mac-os-x-1049.md b/content/post/2007-05-29-installing-rmagick-ruby-gem-on-mac-os-x-1049.md similarity index 100% rename from content/blog/2007-05-29-installing-rmagick-ruby-gem-on-mac-os-x-1049.md rename to content/post/2007-05-29-installing-rmagick-ruby-gem-on-mac-os-x-1049.md diff --git a/content/blog/2007-05-29-slow-connections-with-proftpd.md b/content/post/2007-05-29-slow-connections-with-proftpd.md similarity index 100% rename from content/blog/2007-05-29-slow-connections-with-proftpd.md rename to content/post/2007-05-29-slow-connections-with-proftpd.md diff --git a/content/blog/2007-05-30-trac-webadmin-plugin-and-global-configuration.md b/content/post/2007-05-30-trac-webadmin-plugin-and-global-configuration.md similarity index 100% rename from content/blog/2007-05-30-trac-webadmin-plugin-and-global-configuration.md rename to content/post/2007-05-30-trac-webadmin-plugin-and-global-configuration.md diff --git a/content/blog/2007-06-07-coming-up-ubuntu-development-server-guide.md b/content/post/2007-06-07-coming-up-ubuntu-development-server-guide.md similarity index 100% rename from content/blog/2007-06-07-coming-up-ubuntu-development-server-guide.md rename to content/post/2007-06-07-coming-up-ubuntu-development-server-guide.md diff --git a/content/blog/2007-06-10-find-and-replace-with-a-mysql-query.md b/content/post/2007-06-10-find-and-replace-with-a-mysql-query.md similarity index 100% rename from content/blog/2007-06-10-find-and-replace-with-a-mysql-query.md rename to content/post/2007-06-10-find-and-replace-with-a-mysql-query.md diff --git a/content/blog/2007-06-10-send-mail-with-a-bash-shell-script.md b/content/post/2007-06-10-send-mail-with-a-bash-shell-script.md similarity index 100% rename from content/blog/2007-06-10-send-mail-with-a-bash-shell-script.md rename to content/post/2007-06-10-send-mail-with-a-bash-shell-script.md diff --git a/content/blog/2007-06-10-ultimate-list-of-ruby-resources.md b/content/post/2007-06-10-ultimate-list-of-ruby-resources.md similarity index 100% rename from content/blog/2007-06-10-ultimate-list-of-ruby-resources.md rename to content/post/2007-06-10-ultimate-list-of-ruby-resources.md diff --git a/content/blog/2007-06-11-activescaffold-acts_as_taggable_on_steroids.md b/content/post/2007-06-11-activescaffold-acts_as_taggable_on_steroids.md similarity index 100% rename from content/blog/2007-06-11-activescaffold-acts_as_taggable_on_steroids.md rename to content/post/2007-06-11-activescaffold-acts_as_taggable_on_steroids.md diff --git a/content/blog/2007-06-12-bash-your-svn-and-trac-installation.md b/content/post/2007-06-12-bash-your-svn-and-trac-installation.md similarity index 100% rename from content/blog/2007-06-12-bash-your-svn-and-trac-installation.md rename to content/post/2007-06-12-bash-your-svn-and-trac-installation.md diff --git a/content/blog/2007-06-14-buy-it-now-mac-os-x-105-leopard.md b/content/post/2007-06-14-buy-it-now-mac-os-x-105-leopard.md similarity index 100% rename from content/blog/2007-06-14-buy-it-now-mac-os-x-105-leopard.md rename to content/post/2007-06-14-buy-it-now-mac-os-x-105-leopard.md diff --git a/content/blog/2007-06-19-geslaagd-passed-my-final-exams.md b/content/post/2007-06-19-geslaagd-passed-my-final-exams.md similarity index 100% rename from content/blog/2007-06-19-geslaagd-passed-my-final-exams.md rename to content/post/2007-06-19-geslaagd-passed-my-final-exams.md diff --git a/content/blog/2007-06-20-action-mailer-all-mail-comes-from-mailer-daemon.md b/content/post/2007-06-20-action-mailer-all-mail-comes-from-mailer-daemon.md similarity index 100% rename from content/blog/2007-06-20-action-mailer-all-mail-comes-from-mailer-daemon.md rename to content/post/2007-06-20-action-mailer-all-mail-comes-from-mailer-daemon.md diff --git a/content/blog/2007-06-20-rails-production-server-setup-and-deployment-on-ubuntudebian.md b/content/post/2007-06-20-rails-production-server-setup-and-deployment-on-ubuntudebian.md similarity index 100% rename from content/blog/2007-06-20-rails-production-server-setup-and-deployment-on-ubuntudebian.md rename to content/post/2007-06-20-rails-production-server-setup-and-deployment-on-ubuntudebian.md diff --git a/content/blog/2007-06-21-ajax-rules-80-javascript-solutions-for-professional-coding.md b/content/post/2007-06-21-ajax-rules-80-javascript-solutions-for-professional-coding.md similarity index 100% rename from content/blog/2007-06-21-ajax-rules-80-javascript-solutions-for-professional-coding.md rename to content/post/2007-06-21-ajax-rules-80-javascript-solutions-for-professional-coding.md diff --git a/content/blog/2007-07-01-activescaffold-acts_as_taggable-auto-complete.md b/content/post/2007-07-01-activescaffold-acts_as_taggable-auto-complete.md similarity index 100% rename from content/blog/2007-07-01-activescaffold-acts_as_taggable-auto-complete.md rename to content/post/2007-07-01-activescaffold-acts_as_taggable-auto-complete.md diff --git a/content/blog/2007-07-02-how-to-force-data-to-be-downloaded-as-a-file-from-your-rails-app.md b/content/post/2007-07-02-how-to-force-data-to-be-downloaded-as-a-file-from-your-rails-app.md similarity index 100% rename from content/blog/2007-07-02-how-to-force-data-to-be-downloaded-as-a-file-from-your-rails-app.md rename to content/post/2007-07-02-how-to-force-data-to-be-downloaded-as-a-file-from-your-rails-app.md diff --git a/content/blog/2007-07-03-got-updates.md b/content/post/2007-07-03-got-updates.md similarity index 100% rename from content/blog/2007-07-03-got-updates.md rename to content/post/2007-07-03-got-updates.md diff --git a/content/blog/2007-07-03-how-to-create-and-apply-a-patch-with-subversion.md b/content/post/2007-07-03-how-to-create-and-apply-a-patch-with-subversion.md similarity index 100% rename from content/blog/2007-07-03-how-to-create-and-apply-a-patch-with-subversion.md rename to content/post/2007-07-03-how-to-create-and-apply-a-patch-with-subversion.md diff --git a/content/blog/2007-07-04-how-to-resolve-subversion-conflicts.md b/content/post/2007-07-04-how-to-resolve-subversion-conflicts.md similarity index 100% rename from content/blog/2007-07-04-how-to-resolve-subversion-conflicts.md rename to content/post/2007-07-04-how-to-resolve-subversion-conflicts.md diff --git a/content/blog/2007-07-06-how-to-write-a-rails-plugin-for-controllers.md b/content/post/2007-07-06-how-to-write-a-rails-plugin-for-controllers.md similarity index 100% rename from content/blog/2007-07-06-how-to-write-a-rails-plugin-for-controllers.md rename to content/post/2007-07-06-how-to-write-a-rails-plugin-for-controllers.md diff --git a/content/blog/2007-07-06-some-dns-problems-with-ariejannet.md b/content/post/2007-07-06-some-dns-problems-with-ariejannet.md similarity index 100% rename from content/blog/2007-07-06-some-dns-problems-with-ariejannet.md rename to content/post/2007-07-06-some-dns-problems-with-ariejannet.md diff --git a/content/blog/2007-07-07-clear-dns-cache-on-your-router.md b/content/post/2007-07-07-clear-dns-cache-on-your-router.md similarity index 100% rename from content/blog/2007-07-07-clear-dns-cache-on-your-router.md rename to content/post/2007-07-07-clear-dns-cache-on-your-router.md diff --git a/content/blog/2007-07-16-ariejannet-whats-next.md b/content/post/2007-07-16-ariejannet-whats-next.md similarity index 100% rename from content/blog/2007-07-16-ariejannet-whats-next.md rename to content/post/2007-07-16-ariejannet-whats-next.md diff --git a/content/blog/2007-08-01-im-back.md b/content/post/2007-08-01-im-back.md similarity index 100% rename from content/blog/2007-08-01-im-back.md rename to content/post/2007-08-01-im-back.md diff --git a/content/blog/2007-08-20-im-back-in-business.md b/content/post/2007-08-20-im-back-in-business.md similarity index 100% rename from content/blog/2007-08-20-im-back-in-business.md rename to content/post/2007-08-20-im-back-in-business.md diff --git a/content/blog/2007-08-20-kabisa-railsconf-europe-and-ariejannet.md b/content/post/2007-08-20-kabisa-railsconf-europe-and-ariejannet.md similarity index 100% rename from content/blog/2007-08-20-kabisa-railsconf-europe-and-ariejannet.md rename to content/post/2007-08-20-kabisa-railsconf-europe-and-ariejannet.md diff --git a/content/blog/2007-08-21-using-iconv-to-convert-utf-8-to-ascii-on-linux.md b/content/post/2007-08-21-using-iconv-to-convert-utf-8-to-ascii-on-linux.md similarity index 100% rename from content/blog/2007-08-21-using-iconv-to-convert-utf-8-to-ascii-on-linux.md rename to content/post/2007-08-21-using-iconv-to-convert-utf-8-to-ascii-on-linux.md diff --git a/content/blog/2007-08-24-super-simple-authentication-plugin-and-generator.md b/content/post/2007-08-24-super-simple-authentication-plugin-and-generator.md similarity index 100% rename from content/blog/2007-08-24-super-simple-authentication-plugin-and-generator.md rename to content/post/2007-08-24-super-simple-authentication-plugin-and-generator.md diff --git a/content/blog/2007-08-27-blueprintcss-rails-generator.md b/content/post/2007-08-27-blueprintcss-rails-generator.md similarity index 100% rename from content/blog/2007-08-27-blueprintcss-rails-generator.md rename to content/post/2007-08-27-blueprintcss-rails-generator.md diff --git a/content/blog/2007-08-31-blueprint-05-rails-plugin-released.md b/content/post/2007-08-31-blueprint-05-rails-plugin-released.md similarity index 100% rename from content/blog/2007-08-31-blueprint-05-rails-plugin-released.md rename to content/post/2007-08-31-blueprint-05-rails-plugin-released.md diff --git a/content/blog/2007-09-01-content_for-yield-and-making-sure-something-gets-displayed.md b/content/post/2007-09-01-content_for-yield-and-making-sure-something-gets-displayed.md similarity index 100% rename from content/blog/2007-09-01-content_for-yield-and-making-sure-something-gets-displayed.md rename to content/post/2007-09-01-content_for-yield-and-making-sure-something-gets-displayed.md diff --git a/content/blog/2007-09-11-10-reasons-why-microsofts-10-reasons-not-to-use-google-apps-suck.md b/content/post/2007-09-11-10-reasons-why-microsofts-10-reasons-not-to-use-google-apps-suck.md similarity index 100% rename from content/blog/2007-09-11-10-reasons-why-microsofts-10-reasons-not-to-use-google-apps-suck.md rename to content/post/2007-09-11-10-reasons-why-microsofts-10-reasons-not-to-use-google-apps-suck.md diff --git a/content/blog/2007-09-17-railsconf-europe-2007.md b/content/post/2007-09-17-railsconf-europe-2007.md similarity index 100% rename from content/blog/2007-09-17-railsconf-europe-2007.md rename to content/post/2007-09-17-railsconf-europe-2007.md diff --git a/content/blog/2007-09-24-rails-20-new-features.md b/content/post/2007-09-24-rails-20-new-features.md similarity index 100% rename from content/blog/2007-09-24-rails-20-new-features.md rename to content/post/2007-09-24-rails-20-new-features.md diff --git a/content/blog/2007-09-24-whooop-here-it-is-the-new-ariejannet.md b/content/post/2007-09-24-whooop-here-it-is-the-new-ariejannet.md similarity index 100% rename from content/blog/2007-09-24-whooop-here-it-is-the-new-ariejannet.md rename to content/post/2007-09-24-whooop-here-it-is-the-new-ariejannet.md diff --git a/content/blog/2007-09-25-the-glorious-canon-eos-400d-digital.md b/content/post/2007-09-25-the-glorious-canon-eos-400d-digital.md similarity index 100% rename from content/blog/2007-09-25-the-glorious-canon-eos-400d-digital.md rename to content/post/2007-09-25-the-glorious-canon-eos-400d-digital.md diff --git a/content/blog/2007-09-25-wordpress-23-released.md b/content/post/2007-09-25-wordpress-23-released.md similarity index 100% rename from content/blog/2007-09-25-wordpress-23-released.md rename to content/post/2007-09-25-wordpress-23-released.md diff --git a/content/blog/2007-09-26-flash-not-clearing-after-a-request.md b/content/post/2007-09-26-flash-not-clearing-after-a-request.md similarity index 100% rename from content/blog/2007-09-26-flash-not-clearing-after-a-request.md rename to content/post/2007-09-26-flash-not-clearing-after-a-request.md diff --git a/content/blog/2007-10-08-google-increases-storage.md b/content/post/2007-10-08-google-increases-storage.md similarity index 100% rename from content/blog/2007-10-08-google-increases-storage.md rename to content/post/2007-10-08-google-increases-storage.md diff --git a/content/blog/2007-10-17-party-time.md b/content/post/2007-10-17-party-time.md similarity index 100% rename from content/blog/2007-10-17-party-time.md rename to content/post/2007-10-17-party-time.md diff --git a/content/blog/2007-11-15-bash-it-number-of-messages-in-postfix-queue.md b/content/post/2007-11-15-bash-it-number-of-messages-in-postfix-queue.md similarity index 100% rename from content/blog/2007-11-15-bash-it-number-of-messages-in-postfix-queue.md rename to content/post/2007-11-15-bash-it-number-of-messages-in-postfix-queue.md diff --git a/content/blog/2007-11-27-railsjobsnl-ruby-on-rails-jobs-in-the-netherlands.md b/content/post/2007-11-27-railsjobsnl-ruby-on-rails-jobs-in-the-netherlands.md similarity index 100% rename from content/blog/2007-11-27-railsjobsnl-ruby-on-rails-jobs-in-the-netherlands.md rename to content/post/2007-11-27-railsjobsnl-ruby-on-rails-jobs-in-the-netherlands.md diff --git a/content/blog/2007-11-30-mysql-reset-the-auto-increment-value-of-a-table.md b/content/post/2007-11-30-mysql-reset-the-auto-increment-value-of-a-table.md similarity index 100% rename from content/blog/2007-11-30-mysql-reset-the-auto-increment-value-of-a-table.md rename to content/post/2007-11-30-mysql-reset-the-auto-increment-value-of-a-table.md diff --git a/content/blog/2007-12-06-rails-calculated-column-caching.md b/content/post/2007-12-06-rails-calculated-column-caching.md similarity index 100% rename from content/blog/2007-12-06-rails-calculated-column-caching.md rename to content/post/2007-12-06-rails-calculated-column-caching.md diff --git a/content/blog/2007-12-07-wil-jij-mijn-collega-zijn-kabisa-is-hiring.md b/content/post/2007-12-07-wil-jij-mijn-collega-zijn-kabisa-is-hiring.md similarity index 100% rename from content/blog/2007-12-07-wil-jij-mijn-collega-zijn-kabisa-is-hiring.md rename to content/post/2007-12-07-wil-jij-mijn-collega-zijn-kabisa-is-hiring.md diff --git a/content/blog/2007-12-12-how-to-install-mysql-on-ubuntudebian.md b/content/post/2007-12-12-how-to-install-mysql-on-ubuntudebian.md similarity index 100% rename from content/blog/2007-12-12-how-to-install-mysql-on-ubuntudebian.md rename to content/post/2007-12-12-how-to-install-mysql-on-ubuntudebian.md diff --git a/content/blog/2007-12-12-run-internet-explorer-5-55-6-and-7-natively-on-mac-os-x-leopard-or-tiger.md b/content/post/2007-12-12-run-internet-explorer-5-55-6-and-7-natively-on-mac-os-x-leopard-or-tiger.md similarity index 100% rename from content/blog/2007-12-12-run-internet-explorer-5-55-6-and-7-natively-on-mac-os-x-leopard-or-tiger.md rename to content/post/2007-12-12-run-internet-explorer-5-55-6-and-7-natively-on-mac-os-x-leopard-or-tiger.md diff --git a/content/blog/2007-12-20-for-you-merry-christmas-and-a-happy-2008.md b/content/post/2007-12-20-for-you-merry-christmas-and-a-happy-2008.md similarity index 100% rename from content/blog/2007-12-20-for-you-merry-christmas-and-a-happy-2008.md rename to content/post/2007-12-20-for-you-merry-christmas-and-a-happy-2008.md diff --git a/content/blog/2007-12-31-write-a-dvd-video-from-the-linux-console.md b/content/post/2007-12-31-write-a-dvd-video-from-the-linux-console.md similarity index 100% rename from content/blog/2007-12-31-write-a-dvd-video-from-the-linux-console.md rename to content/post/2007-12-31-write-a-dvd-video-from-the-linux-console.md diff --git a/content/blog/2008-01-03-review-parking-london.md b/content/post/2008-01-03-review-parking-london.md similarity index 100% rename from content/blog/2008-01-03-review-parking-london.md rename to content/post/2008-01-03-review-parking-london.md diff --git a/content/blog/2008-01-13-kabisa-blog.md b/content/post/2008-01-13-kabisa-blog.md similarity index 100% rename from content/blog/2008-01-13-kabisa-blog.md rename to content/post/2008-01-13-kabisa-blog.md diff --git a/content/blog/2008-01-15-attack-of-the-killer-bunnies.md b/content/post/2008-01-15-attack-of-the-killer-bunnies.md similarity index 100% rename from content/blog/2008-01-15-attack-of-the-killer-bunnies.md rename to content/post/2008-01-15-attack-of-the-killer-bunnies.md diff --git a/content/blog/2008-01-19-roles-admins-pretending-to-be-users.md b/content/post/2008-01-19-roles-admins-pretending-to-be-users.md similarity index 100% rename from content/blog/2008-01-19-roles-admins-pretending-to-be-users.md rename to content/post/2008-01-19-roles-admins-pretending-to-be-users.md diff --git a/content/blog/2008-01-22-your-help-is-needed-railsjobsnl.md b/content/post/2008-01-22-your-help-is-needed-railsjobsnl.md similarity index 100% rename from content/blog/2008-01-22-your-help-is-needed-railsjobsnl.md rename to content/post/2008-01-22-your-help-is-needed-railsjobsnl.md diff --git a/content/blog/2008-01-25-the-presidents-of-the-united-states-of-america-live.md b/content/post/2008-01-25-the-presidents-of-the-united-states-of-america-live.md similarity index 100% rename from content/blog/2008-01-25-the-presidents-of-the-united-states-of-america-live.md rename to content/post/2008-01-25-the-presidents-of-the-united-states-of-america-live.md diff --git a/content/blog/2008-02-07-ruby-on-rails-plugin-throttler.md b/content/post/2008-02-07-ruby-on-rails-plugin-throttler.md similarity index 100% rename from content/blog/2008-02-07-ruby-on-rails-plugin-throttler.md rename to content/post/2008-02-07-ruby-on-rails-plugin-throttler.md diff --git a/content/blog/2008-04-09-enabling-trac-email-notifications.md b/content/post/2008-04-09-enabling-trac-email-notifications.md similarity index 100% rename from content/blog/2008-04-09-enabling-trac-email-notifications.md rename to content/post/2008-04-09-enabling-trac-email-notifications.md diff --git a/content/blog/2008-04-09-here-we-go-again-wordpress-25.md b/content/post/2008-04-09-here-we-go-again-wordpress-25.md similarity index 100% rename from content/blog/2008-04-09-here-we-go-again-wordpress-25.md rename to content/post/2008-04-09-here-we-go-again-wordpress-25.md diff --git a/content/blog/2008-04-09-rails-snippet-caching-expensive-calls.md b/content/post/2008-04-09-rails-snippet-caching-expensive-calls.md similarity index 100% rename from content/blog/2008-04-09-rails-snippet-caching-expensive-calls.md rename to content/post/2008-04-09-rails-snippet-caching-expensive-calls.md diff --git a/content/blog/2008-04-10-debian-etch-rmagick-loaderror.md b/content/post/2008-04-10-debian-etch-rmagick-loaderror.md similarity index 100% rename from content/blog/2008-04-10-debian-etch-rmagick-loaderror.md rename to content/post/2008-04-10-debian-etch-rmagick-loaderror.md diff --git a/content/blog/2008-04-15-permanently-redirect-wordpress-pages.md b/content/post/2008-04-15-permanently-redirect-wordpress-pages.md similarity index 100% rename from content/blog/2008-04-15-permanently-redirect-wordpress-pages.md rename to content/post/2008-04-15-permanently-redirect-wordpress-pages.md diff --git a/content/blog/2008-04-23-git-using-the-stash.md b/content/post/2008-04-23-git-using-the-stash.md similarity index 100% rename from content/blog/2008-04-23-git-using-the-stash.md rename to content/post/2008-04-23-git-using-the-stash.md diff --git a/content/blog/2008-05-04-how-to-compile-packages-on-debianubuntu-by-hand.md b/content/post/2008-05-04-how-to-compile-packages-on-debianubuntu-by-hand.md similarity index 100% rename from content/blog/2008-05-04-how-to-compile-packages-on-debianubuntu-by-hand.md rename to content/post/2008-05-04-how-to-compile-packages-on-debianubuntu-by-hand.md diff --git a/content/blog/2008-05-06-the-migration-that-cannot-be-undone-irreversible-migration.md b/content/post/2008-05-06-the-migration-that-cannot-be-undone-irreversible-migration.md similarity index 100% rename from content/blog/2008-05-06-the-migration-that-cannot-be-undone-irreversible-migration.md rename to content/post/2008-05-06-the-migration-that-cannot-be-undone-irreversible-migration.md diff --git a/content/blog/2008-05-30-the-best-it-books-hand-picked-for-you.md b/content/post/2008-05-30-the-best-it-books-hand-picked-for-you.md similarity index 100% rename from content/blog/2008-05-30-the-best-it-books-hand-picked-for-you.md rename to content/post/2008-05-30-the-best-it-books-hand-picked-for-you.md diff --git a/content/blog/2008-06-06-zoek-jij-n-uitdagende-baan.md b/content/post/2008-06-06-zoek-jij-n-uitdagende-baan.md similarity index 100% rename from content/blog/2008-06-06-zoek-jij-n-uitdagende-baan.md rename to content/post/2008-06-06-zoek-jij-n-uitdagende-baan.md diff --git a/content/blog/2008-07-08-ariejannet-link-party-07082008.md b/content/post/2008-07-08-ariejannet-link-party-07082008.md similarity index 100% rename from content/blog/2008-07-08-ariejannet-link-party-07082008.md rename to content/post/2008-07-08-ariejannet-link-party-07082008.md diff --git a/content/blog/2008-07-09-how-to-digg-proof-your-wordpress-blog.md b/content/post/2008-07-09-how-to-digg-proof-your-wordpress-blog.md similarity index 100% rename from content/blog/2008-07-09-how-to-digg-proof-your-wordpress-blog.md rename to content/post/2008-07-09-how-to-digg-proof-your-wordpress-blog.md diff --git a/content/blog/2008-07-10-ariejannet-link-party-07102008.md b/content/post/2008-07-10-ariejannet-link-party-07102008.md similarity index 100% rename from content/blog/2008-07-10-ariejannet-link-party-07102008.md rename to content/post/2008-07-10-ariejannet-link-party-07102008.md diff --git a/content/blog/2008-07-11-photography-heaven.md b/content/post/2008-07-11-photography-heaven.md similarity index 100% rename from content/blog/2008-07-11-photography-heaven.md rename to content/post/2008-07-11-photography-heaven.md diff --git a/content/blog/2008-07-17-ariejannet-link-party-07172008.md b/content/post/2008-07-17-ariejannet-link-party-07172008.md similarity index 100% rename from content/blog/2008-07-17-ariejannet-link-party-07172008.md rename to content/post/2008-07-17-ariejannet-link-party-07172008.md diff --git a/content/blog/2008-07-21-ariejannet-link-party-07212008.md b/content/post/2008-07-21-ariejannet-link-party-07212008.md similarity index 100% rename from content/blog/2008-07-21-ariejannet-link-party-07212008.md rename to content/post/2008-07-21-ariejannet-link-party-07212008.md diff --git a/content/blog/2008-08-12-ruby-on-rails-uuid-as-your-activerecord-primary-key.md b/content/post/2008-08-12-ruby-on-rails-uuid-as-your-activerecord-primary-key.md similarity index 100% rename from content/blog/2008-08-12-ruby-on-rails-uuid-as-your-activerecord-primary-key.md rename to content/post/2008-08-12-ruby-on-rails-uuid-as-your-activerecord-primary-key.md diff --git a/content/blog/2008-08-14-useless-ruby-gems-for-your-pleasure.md b/content/post/2008-08-14-useless-ruby-gems-for-your-pleasure.md similarity index 100% rename from content/blog/2008-08-14-useless-ruby-gems-for-your-pleasure.md rename to content/post/2008-08-14-useless-ruby-gems-for-your-pleasure.md diff --git a/content/blog/2008-08-17-activerecord-read-only-models.md b/content/post/2008-08-17-activerecord-read-only-models.md similarity index 100% rename from content/blog/2008-08-17-activerecord-read-only-models.md rename to content/post/2008-08-17-activerecord-read-only-models.md diff --git a/content/blog/2008-08-17-skinny-controllers-and-overweight-models.md b/content/post/2008-08-17-skinny-controllers-and-overweight-models.md similarity index 100% rename from content/blog/2008-08-17-skinny-controllers-and-overweight-models.md rename to content/post/2008-08-17-skinny-controllers-and-overweight-models.md diff --git a/content/blog/2008-09-01-leaving-for-railsconf-europe-2008.md b/content/post/2008-09-01-leaving-for-railsconf-europe-2008.md similarity index 100% rename from content/blog/2008-09-01-leaving-for-railsconf-europe-2008.md rename to content/post/2008-09-01-leaving-for-railsconf-europe-2008.md diff --git a/content/blog/2008-09-02-jruby-with-nick-sieger.md b/content/post/2008-09-02-jruby-with-nick-sieger.md similarity index 100% rename from content/blog/2008-09-02-jruby-with-nick-sieger.md rename to content/post/2008-09-02-jruby-with-nick-sieger.md diff --git a/content/blog/2008-09-02-railsconfeurope-the-first-tutorial.md b/content/post/2008-09-02-railsconfeurope-the-first-tutorial.md similarity index 100% rename from content/blog/2008-09-02-railsconfeurope-the-first-tutorial.md rename to content/post/2008-09-02-railsconfeurope-the-first-tutorial.md diff --git a/content/blog/2008-09-03-jruby-with-thomas-enebo.md b/content/post/2008-09-03-jruby-with-thomas-enebo.md similarity index 100% rename from content/blog/2008-09-03-jruby-with-thomas-enebo.md rename to content/post/2008-09-03-jruby-with-thomas-enebo.md diff --git a/content/blog/2008-09-03-panel-discussion-with-dhh-and-rails-core-members.md b/content/post/2008-09-03-panel-discussion-with-dhh-and-rails-core-members.md similarity index 100% rename from content/blog/2008-09-03-panel-discussion-with-dhh-and-rails-core-members.md rename to content/post/2008-09-03-panel-discussion-with-dhh-and-rails-core-members.md diff --git a/content/blog/2008-09-28-baseapp-a-quick-start-for-your-rails-app.md b/content/post/2008-09-28-baseapp-a-quick-start-for-your-rails-app.md similarity index 100% rename from content/blog/2008-09-28-baseapp-a-quick-start-for-your-rails-app.md rename to content/post/2008-09-28-baseapp-a-quick-start-for-your-rails-app.md diff --git a/content/blog/2008-11-05-rspecing-with-timenow.md b/content/post/2008-11-05-rspecing-with-timenow.md similarity index 100% rename from content/blog/2008-11-05-rspecing-with-timenow.md rename to content/post/2008-11-05-rspecing-with-timenow.md diff --git a/content/blog/2008-11-14-sql-ordering-with-null-values.md b/content/post/2008-11-14-sql-ordering-with-null-values.md similarity index 100% rename from content/blog/2008-11-14-sql-ordering-with-null-values.md rename to content/post/2008-11-14-sql-ordering-with-null-values.md diff --git a/content/blog/2008-11-27-export-csv-directly-from-mysql.md b/content/post/2008-11-27-export-csv-directly-from-mysql.md similarity index 100% rename from content/blog/2008-11-27-export-csv-directly-from-mysql.md rename to content/post/2008-11-27-export-csv-directly-from-mysql.md diff --git a/content/blog/2008-12-03-google-friendconnect-now-on-ariejannet.md b/content/post/2008-12-03-google-friendconnect-now-on-ariejannet.md similarity index 100% rename from content/blog/2008-12-03-google-friendconnect-now-on-ariejannet.md rename to content/post/2008-12-03-google-friendconnect-now-on-ariejannet.md diff --git a/content/blog/2008-12-27-twitterlicious.md b/content/post/2008-12-27-twitterlicious.md similarity index 100% rename from content/blog/2008-12-27-twitterlicious.md rename to content/post/2008-12-27-twitterlicious.md diff --git a/content/blog/2009-01-04-how-to-start-a-rails-edge-app-the-easy-way.md b/content/post/2009-01-04-how-to-start-a-rails-edge-app-the-easy-way.md similarity index 100% rename from content/blog/2009-01-04-how-to-start-a-rails-edge-app-the-easy-way.md rename to content/post/2009-01-04-how-to-start-a-rails-edge-app-the-easy-way.md diff --git a/content/blog/2009-01-30-pagerank-3-19k-hitsmonth.md b/content/post/2009-01-30-pagerank-3-19k-hitsmonth.md similarity index 100% rename from content/blog/2009-01-30-pagerank-3-19k-hitsmonth.md rename to content/post/2009-01-30-pagerank-3-19k-hitsmonth.md diff --git a/content/blog/2009-02-07-warcraft-armory-010-released.md b/content/post/2009-02-07-warcraft-armory-010-released.md similarity index 100% rename from content/blog/2009-02-07-warcraft-armory-010-released.md rename to content/post/2009-02-07-warcraft-armory-010-released.md diff --git a/content/blog/2009-03-31-may-14th-rubyfest.md b/content/post/2009-03-31-may-14th-rubyfest.md similarity index 100% rename from content/blog/2009-03-31-may-14th-rubyfest.md rename to content/post/2009-03-31-may-14th-rubyfest.md diff --git a/content/blog/2009-04-05-macbook-pro-black-screen-of-death-or-is-it-just-faking.md b/content/post/2009-04-05-macbook-pro-black-screen-of-death-or-is-it-just-faking.md similarity index 100% rename from content/blog/2009-04-05-macbook-pro-black-screen-of-death-or-is-it-just-faking.md rename to content/post/2009-04-05-macbook-pro-black-screen-of-death-or-is-it-just-faking.md diff --git a/content/blog/2009-04-19-how-to-create-a-dsa-openssl-certificate.md b/content/post/2009-04-19-how-to-create-a-dsa-openssl-certificate.md similarity index 100% rename from content/blog/2009-04-19-how-to-create-a-dsa-openssl-certificate.md rename to content/post/2009-04-19-how-to-create-a-dsa-openssl-certificate.md diff --git a/content/blog/2009-04-23-compacting-a-sqlite3-db-file.md b/content/post/2009-04-23-compacting-a-sqlite3-db-file.md similarity index 100% rename from content/blog/2009-04-23-compacting-a-sqlite3-db-file.md rename to content/post/2009-04-23-compacting-a-sqlite3-db-file.md diff --git a/content/blog/2009-04-28-available-for-iphone-development.md b/content/post/2009-04-28-available-for-iphone-development.md similarity index 100% rename from content/blog/2009-04-28-available-for-iphone-development.md rename to content/post/2009-04-28-available-for-iphone-development.md diff --git a/content/blog/2009-05-06-second-rubyfest-speaker-geoffrey-grosenbach.md b/content/post/2009-05-06-second-rubyfest-speaker-geoffrey-grosenbach.md similarity index 100% rename from content/blog/2009-05-06-second-rubyfest-speaker-geoffrey-grosenbach.md rename to content/post/2009-05-06-second-rubyfest-speaker-geoffrey-grosenbach.md diff --git a/content/blog/2009-05-22-speak-louder-i-cant-hear-you-over-the-sound-of-how-awesome-i-am.md b/content/post/2009-05-22-speak-louder-i-cant-hear-you-over-the-sound-of-how-awesome-i-am.md similarity index 100% rename from content/blog/2009-05-22-speak-louder-i-cant-hear-you-over-the-sound-of-how-awesome-i-am.md rename to content/post/2009-05-22-speak-louder-i-cant-hear-you-over-the-sound-of-how-awesome-i-am.md diff --git a/content/blog/2009-06-03-ruby-gem-imdb.md b/content/post/2009-06-03-ruby-gem-imdb.md similarity index 100% rename from content/blog/2009-06-03-ruby-gem-imdb.md rename to content/post/2009-06-03-ruby-gem-imdb.md diff --git a/content/blog/2009-06-05-install-hpricot-on-ubuntu.md b/content/post/2009-06-05-install-hpricot-on-ubuntu.md similarity index 100% rename from content/blog/2009-06-05-install-hpricot-on-ubuntu.md rename to content/post/2009-06-05-install-hpricot-on-ubuntu.md diff --git a/content/blog/2009-06-07-activerecord-skipping-callbacks-like-after_save-or-after_update.md b/content/post/2009-06-07-activerecord-skipping-callbacks-like-after_save-or-after_update.md similarity index 100% rename from content/blog/2009-06-07-activerecord-skipping-callbacks-like-after_save-or-after_update.md rename to content/post/2009-06-07-activerecord-skipping-callbacks-like-after_save-or-after_update.md diff --git a/content/blog/2009-06-07-has_one-find-all-that-have-no-associated-object.md b/content/post/2009-06-07-has_one-find-all-that-have-no-associated-object.md similarity index 100% rename from content/blog/2009-06-07-has_one-find-all-that-have-no-associated-object.md rename to content/post/2009-06-07-has_one-find-all-that-have-no-associated-object.md diff --git a/content/blog/2009-06-07-imdb-0-3-0-now-including-console-utility-query-imdb-from-your-console.md b/content/post/2009-06-07-imdb-0-3-0-now-including-console-utility-query-imdb-from-your-console.md similarity index 100% rename from content/blog/2009-06-07-imdb-0-3-0-now-including-console-utility-query-imdb-from-your-console.md rename to content/post/2009-06-07-imdb-0-3-0-now-including-console-utility-query-imdb-from-your-console.md diff --git a/content/blog/2009-06-08-best-practice-the-git-development-cycle.md b/content/post/2009-06-08-best-practice-the-git-development-cycle.md similarity index 100% rename from content/blog/2009-06-08-best-practice-the-git-development-cycle.md rename to content/post/2009-06-08-best-practice-the-git-development-cycle.md diff --git a/content/blog/2009-06-14-imdb-ruby-gem-0-4-0-now-available-at-rubyforge.md b/content/post/2009-06-14-imdb-ruby-gem-0-4-0-now-available-at-rubyforge.md similarity index 100% rename from content/blog/2009-06-14-imdb-ruby-gem-0-4-0-now-available-at-rubyforge.md rename to content/post/2009-06-14-imdb-ruby-gem-0-4-0-now-available-at-rubyforge.md diff --git a/content/blog/2009-06-14-speaking-at-rails-underground.md b/content/post/2009-06-14-speaking-at-rails-underground.md similarity index 100% rename from content/blog/2009-06-14-speaking-at-rails-underground.md rename to content/post/2009-06-14-speaking-at-rails-underground.md diff --git a/content/blog/2009-08-20-once-and-for-all-rails-migrations-integer-limit-option.md b/content/post/2009-08-20-once-and-for-all-rails-migrations-integer-limit-option.md similarity index 100% rename from content/blog/2009-08-20-once-and-for-all-rails-migrations-integer-limit-option.md rename to content/post/2009-08-20-once-and-for-all-rails-migrations-integer-limit-option.md diff --git a/content/blog/2009-09-01-jinput-mac-os-x-64-bit-natives.md b/content/post/2009-09-01-jinput-mac-os-x-64-bit-natives.md similarity index 100% rename from content/blog/2009-09-01-jinput-mac-os-x-64-bit-natives.md rename to content/post/2009-09-01-jinput-mac-os-x-64-bit-natives.md diff --git a/content/blog/2009-09-03-rails-mysql-case-sensitive-strings-in-your-database.md b/content/post/2009-09-03-rails-mysql-case-sensitive-strings-in-your-database.md similarity index 100% rename from content/blog/2009-09-03-rails-mysql-case-sensitive-strings-in-your-database.md rename to content/post/2009-09-03-rails-mysql-case-sensitive-strings-in-your-database.md diff --git a/content/blog/2009-09-04-git-tag-mini-cheat-sheet.md b/content/post/2009-09-04-git-tag-mini-cheat-sheet.md similarity index 100% rename from content/blog/2009-09-04-git-tag-mini-cheat-sheet.md rename to content/post/2009-09-04-git-tag-mini-cheat-sheet.md diff --git a/content/blog/2009-09-05-git-tag-mini-cheat-sheet-revisited.md b/content/post/2009-09-05-git-tag-mini-cheat-sheet-revisited.md similarity index 100% rename from content/blog/2009-09-05-git-tag-mini-cheat-sheet-revisited.md rename to content/post/2009-09-05-git-tag-mini-cheat-sheet-revisited.md diff --git a/content/blog/2009-09-08-codaset-com-github-but-better.md b/content/post/2009-09-08-codaset-com-github-but-better.md similarity index 100% rename from content/blog/2009-09-08-codaset-com-github-but-better.md rename to content/post/2009-09-08-codaset-com-github-but-better.md diff --git a/content/blog/2009-10-13-epic-vs-awesome.md b/content/post/2009-10-13-epic-vs-awesome.md similarity index 100% rename from content/blog/2009-10-13-epic-vs-awesome.md rename to content/post/2009-10-13-epic-vs-awesome.md diff --git a/content/blog/2009-10-13-valerii-32-base-string-encoder-and-decoder.md b/content/post/2009-10-13-valerii-32-base-string-encoder-and-decoder.md similarity index 100% rename from content/blog/2009-10-13-valerii-32-base-string-encoder-and-decoder.md rename to content/post/2009-10-13-valerii-32-base-string-encoder-and-decoder.md diff --git a/content/blog/2009-10-15-git-problem-error-unable-to-create-temporary-sha1-filename.md b/content/post/2009-10-15-git-problem-error-unable-to-create-temporary-sha1-filename.md similarity index 100% rename from content/blog/2009-10-15-git-problem-error-unable-to-create-temporary-sha1-filename.md rename to content/post/2009-10-15-git-problem-error-unable-to-create-temporary-sha1-filename.md diff --git a/content/blog/2009-10-25-they-are-just-tools-people.md b/content/post/2009-10-25-they-are-just-tools-people.md similarity index 100% rename from content/blog/2009-10-25-they-are-just-tools-people.md rename to content/post/2009-10-25-they-are-just-tools-people.md diff --git a/content/blog/2009-10-26-how-to-create-and-apply-a-patch-with-git.md b/content/post/2009-10-26-how-to-create-and-apply-a-patch-with-git.md similarity index 100% rename from content/blog/2009-10-26-how-to-create-and-apply-a-patch-with-git.md rename to content/post/2009-10-26-how-to-create-and-apply-a-patch-with-git.md diff --git a/content/blog/2009-11-24-epic-textmate-theme.md b/content/post/2009-11-24-epic-textmate-theme.md similarity index 100% rename from content/blog/2009-11-24-epic-textmate-theme.md rename to content/post/2009-11-24-epic-textmate-theme.md diff --git a/content/blog/2010-01-17-the-epic-e-reading-experience-amazone-kindle.md b/content/post/2010-01-17-the-epic-e-reading-experience-amazone-kindle.md similarity index 100% rename from content/blog/2010-01-17-the-epic-e-reading-experience-amazone-kindle.md rename to content/post/2010-01-17-the-epic-e-reading-experience-amazone-kindle.md diff --git a/content/blog/2010-01-19-sign-the-petition-stop-eu-software-patents.md b/content/post/2010-01-19-sign-the-petition-stop-eu-software-patents.md similarity index 100% rename from content/blog/2010-01-19-sign-the-petition-stop-eu-software-patents.md rename to content/post/2010-01-19-sign-the-petition-stop-eu-software-patents.md diff --git a/content/blog/2010-02-02-how-to-order-your-kindle-from-the-netherlands.md b/content/post/2010-02-02-how-to-order-your-kindle-from-the-netherlands.md similarity index 100% rename from content/blog/2010-02-02-how-to-order-your-kindle-from-the-netherlands.md rename to content/post/2010-02-02-how-to-order-your-kindle-from-the-netherlands.md diff --git a/content/blog/2010-03-22-shields-up-rrrack-alert.md b/content/post/2010-03-22-shields-up-rrrack-alert.md similarity index 100% rename from content/blog/2010-03-22-shields-up-rrrack-alert.md rename to content/post/2010-03-22-shields-up-rrrack-alert.md diff --git a/content/blog/2010-03-24-ariejannet-now-in-valid-html5.md b/content/post/2010-03-24-ariejannet-now-in-valid-html5.md similarity index 100% rename from content/blog/2010-03-24-ariejannet-now-in-valid-html5.md rename to content/post/2010-03-24-ariejannet-now-in-valid-html5.md diff --git a/content/blog/2010-03-24-how-a-little-varnish-changed-my-life.md b/content/post/2010-03-24-how-a-little-varnish-changed-my-life.md similarity index 100% rename from content/blog/2010-03-24-how-a-little-varnish-changed-my-life.md rename to content/post/2010-03-24-how-a-little-varnish-changed-my-life.md diff --git a/content/blog/2010-03-25-installing-the-nokogiri-ruby-gem-on-debian.md b/content/post/2010-03-25-installing-the-nokogiri-ruby-gem-on-debian.md similarity index 100% rename from content/blog/2010-03-25-installing-the-nokogiri-ruby-gem-on-debian.md rename to content/post/2010-03-25-installing-the-nokogiri-ruby-gem-on-debian.md diff --git a/content/blog/2010-03-28-really-another-sinatra-url-shortener-in-ruby.md b/content/post/2010-03-28-really-another-sinatra-url-shortener-in-ruby.md similarity index 100% rename from content/blog/2010-03-28-really-another-sinatra-url-shortener-in-ruby.md rename to content/post/2010-03-28-really-another-sinatra-url-shortener-in-ruby.md diff --git a/content/blog/2010-03-29-announcing-firefly-a-ruby-url-shortener.md b/content/post/2010-03-29-announcing-firefly-a-ruby-url-shortener.md similarity index 100% rename from content/blog/2010-03-29-announcing-firefly-a-ruby-url-shortener.md rename to content/post/2010-03-29-announcing-firefly-a-ruby-url-shortener.md diff --git a/content/blog/2010-04-05-detect-browser-web-sockets-support.md b/content/post/2010-04-05-detect-browser-web-sockets-support.md similarity index 100% rename from content/blog/2010-04-05-detect-browser-web-sockets-support.md rename to content/post/2010-04-05-detect-browser-web-sockets-support.md diff --git a/content/blog/2010-04-13-get-ready-for-firefly-03.md b/content/post/2010-04-13-get-ready-for-firefly-03.md similarity index 100% rename from content/blog/2010-04-13-get-ready-for-firefly-03.md rename to content/post/2010-04-13-get-ready-for-firefly-03.md diff --git a/content/blog/2010-04-14-a-new-day-a-new-firefly.md b/content/post/2010-04-14-a-new-day-a-new-firefly.md similarity index 100% rename from content/blog/2010-04-14-a-new-day-a-new-firefly.md rename to content/post/2010-04-14-a-new-day-a-new-firefly.md diff --git a/content/blog/2010-04-25-ruby-version-and-gemset-in-your-bash-prompt-yes-sir.md b/content/post/2010-04-25-ruby-version-and-gemset-in-your-bash-prompt-yes-sir.md similarity index 100% rename from content/blog/2010-04-25-ruby-version-and-gemset-in-your-bash-prompt-yes-sir.md rename to content/post/2010-04-25-ruby-version-and-gemset-in-your-bash-prompt-yes-sir.md diff --git a/content/blog/2010-04-30-firefly-041-released.md b/content/post/2010-04-30-firefly-041-released.md similarity index 100% rename from content/blog/2010-04-30-firefly-041-released.md rename to content/post/2010-04-30-firefly-041-released.md diff --git a/content/blog/2010-05-17-bundler-passenger-with-rails-235-yes-please.md b/content/post/2010-05-17-bundler-passenger-with-rails-235-yes-please.md similarity index 100% rename from content/blog/2010-05-17-bundler-passenger-with-rails-235-yes-please.md rename to content/post/2010-05-17-bundler-passenger-with-rails-235-yes-please.md diff --git a/content/blog/2010-05-30-upgrading-to-mongoid-beta-6.md b/content/post/2010-05-30-upgrading-to-mongoid-beta-6.md similarity index 100% rename from content/blog/2010-05-30-upgrading-to-mongoid-beta-6.md rename to content/post/2010-05-30-upgrading-to-mongoid-beta-6.md diff --git a/content/blog/2010-06-06-firefly-043-and-firefly-client-040-released.md b/content/post/2010-06-06-firefly-043-and-firefly-client-040-released.md similarity index 100% rename from content/blog/2010-06-06-firefly-043-and-firefly-client-040-released.md rename to content/post/2010-06-06-firefly-043-and-firefly-client-040-released.md diff --git a/content/blog/2010-06-06-setup-your-own-firefly-url-shortener-in-25-minutes.md b/content/post/2010-06-06-setup-your-own-firefly-url-shortener-in-25-minutes.md similarity index 100% rename from content/blog/2010-06-06-setup-your-own-firefly-url-shortener-in-25-minutes.md rename to content/post/2010-06-06-setup-your-own-firefly-url-shortener-in-25-minutes.md diff --git a/content/blog/2010-06-07-uploading-files-with-curl.md b/content/post/2010-06-07-uploading-files-with-curl.md similarity index 100% rename from content/blog/2010-06-07-uploading-files-with-curl.md rename to content/post/2010-06-07-uploading-files-with-curl.md diff --git a/content/blog/2010-06-10-cherry-picking-specific-commits-from-another-branch.md b/content/post/2010-06-10-cherry-picking-specific-commits-from-another-branch.md similarity index 100% rename from content/blog/2010-06-10-cherry-picking-specific-commits-from-another-branch.md rename to content/post/2010-06-10-cherry-picking-specific-commits-from-another-branch.md diff --git a/content/blog/2010-07-12-screencast-firefly-url-shortener-in-less-than-25-minutes.md b/content/post/2010-07-12-screencast-firefly-url-shortener-in-less-than-25-minutes.md similarity index 100% rename from content/blog/2010-07-12-screencast-firefly-url-shortener-in-less-than-25-minutes.md rename to content/post/2010-07-12-screencast-firefly-url-shortener-in-less-than-25-minutes.md diff --git a/content/blog/2010-07-29-how-to-enable-ssh-forwarding-on-mac-os-x-snow-leopard.md b/content/post/2010-07-29-how-to-enable-ssh-forwarding-on-mac-os-x-snow-leopard.md similarity index 100% rename from content/blog/2010-07-29-how-to-enable-ssh-forwarding-on-mac-os-x-snow-leopard.md rename to content/post/2010-07-29-how-to-enable-ssh-forwarding-on-mac-os-x-snow-leopard.md diff --git a/content/blog/2010-08-09-rename-a-git-branch.md b/content/post/2010-08-09-rename-a-git-branch.md similarity index 100% rename from content/blog/2010-08-09-rename-a-git-branch.md rename to content/post/2010-08-09-rename-a-git-branch.md diff --git a/content/blog/2010-08-09-using-multiple-clipboards-in-vim.md b/content/post/2010-08-09-using-multiple-clipboards-in-vim.md similarity index 100% rename from content/blog/2010-08-09-using-multiple-clipboards-in-vim.md rename to content/post/2010-08-09-using-multiple-clipboards-in-vim.md diff --git a/content/blog/2010-08-23-resque-how-to-requeue-failed-jobs.md b/content/post/2010-08-23-resque-how-to-requeue-failed-jobs.md similarity index 100% rename from content/blog/2010-08-23-resque-how-to-requeue-failed-jobs.md rename to content/post/2010-08-23-resque-how-to-requeue-failed-jobs.md diff --git a/content/blog/2010-09-11-mass-convert-wma-to-mp3-using-ffmpeg-and-ruby.md b/content/post/2010-09-11-mass-convert-wma-to-mp3-using-ffmpeg-and-ruby.md similarity index 100% rename from content/blog/2010-09-11-mass-convert-wma-to-mp3-using-ffmpeg-and-ruby.md rename to content/post/2010-09-11-mass-convert-wma-to-mp3-using-ffmpeg-and-ruby.md diff --git a/content/blog/2010-09-28-precompile-sass-to-css-for-deployment-to-heroku.md b/content/post/2010-09-28-precompile-sass-to-css-for-deployment-to-heroku.md similarity index 100% rename from content/blog/2010-09-28-precompile-sass-to-css-for-deployment-to-heroku.md rename to content/post/2010-09-28-precompile-sass-to-css-for-deployment-to-heroku.md diff --git a/content/blog/2010-10-02-firefly-110-adds-qr-codes-for-your-shortened-urls.md b/content/post/2010-10-02-firefly-110-adds-qr-codes-for-your-shortened-urls.md similarity index 100% rename from content/blog/2010-10-02-firefly-110-adds-qr-codes-for-your-shortened-urls.md rename to content/post/2010-10-02-firefly-110-adds-qr-codes-for-your-shortened-urls.md diff --git a/content/blog/2010-10-11-setup-a-ubuntu-vpn-server.md b/content/post/2010-10-11-setup-a-ubuntu-vpn-server.md similarity index 100% rename from content/blog/2010-10-11-setup-a-ubuntu-vpn-server.md rename to content/post/2010-10-11-setup-a-ubuntu-vpn-server.md diff --git a/content/blog/2010-10-12-setup-a-pptp-vpn-connection-on-mac-os-x-snow-leopard.md b/content/post/2010-10-12-setup-a-pptp-vpn-connection-on-mac-os-x-snow-leopard.md similarity index 100% rename from content/blog/2010-10-12-setup-a-pptp-vpn-connection-on-mac-os-x-snow-leopard.md rename to content/post/2010-10-12-setup-a-pptp-vpn-connection-on-mac-os-x-snow-leopard.md diff --git a/content/blog/2010-10-26-clear-your-mysql-password.md b/content/post/2010-10-26-clear-your-mysql-password.md similarity index 100% rename from content/blog/2010-10-26-clear-your-mysql-password.md rename to content/post/2010-10-26-clear-your-mysql-password.md diff --git a/content/blog/2010-11-25-hide-last-login-on-bash-login.md b/content/post/2010-11-25-hide-last-login-on-bash-login.md similarity index 100% rename from content/blog/2010-11-25-hide-last-login-on-bash-login.md rename to content/post/2010-11-25-hide-last-login-on-bash-login.md diff --git a/content/blog/2010-12-15-why-did-errormessagesfor-disappear-from-rails-3.md b/content/post/2010-12-15-why-did-errormessagesfor-disappear-from-rails-3.md similarity index 100% rename from content/blog/2010-12-15-why-did-errormessagesfor-disappear-from-rails-3.md rename to content/post/2010-12-15-why-did-errormessagesfor-disappear-from-rails-3.md diff --git a/content/blog/2010-12-24-public-readable-amazon-s3-bucket-policy.md b/content/post/2010-12-24-public-readable-amazon-s3-bucket-policy.md similarity index 100% rename from content/blog/2010-12-24-public-readable-amazon-s3-bucket-policy.md rename to content/post/2010-12-24-public-readable-amazon-s3-bucket-policy.md diff --git a/content/blog/2010-12-31-now-powered-by-heroku.md b/content/post/2010-12-31-now-powered-by-heroku.md similarity index 100% rename from content/blog/2010-12-31-now-powered-by-heroku.md rename to content/post/2010-12-31-now-powered-by-heroku.md diff --git a/content/blog/2011-01-01-rake-task-to-sync-your-assets-to-amazon-s3cloudfront.md b/content/post/2011-01-01-rake-task-to-sync-your-assets-to-amazon-s3cloudfront.md similarity index 100% rename from content/blog/2011-01-01-rake-task-to-sync-your-assets-to-amazon-s3cloudfront.md rename to content/post/2011-01-01-rake-task-to-sync-your-assets-to-amazon-s3cloudfront.md diff --git a/content/blog/2011-02-01-hot-firefly-130-url-shortener-released.md b/content/post/2011-02-01-hot-firefly-130-url-shortener-released.md similarity index 100% rename from content/blog/2011-02-01-hot-firefly-130-url-shortener-released.md rename to content/post/2011-02-01-hot-firefly-130-url-shortener-released.md diff --git a/content/blog/2011-02-07-using-your-firefly-url-shortener-with-twitter-for-iphone.md b/content/post/2011-02-07-using-your-firefly-url-shortener-with-twitter-for-iphone.md similarity index 100% rename from content/blog/2011-02-07-using-your-firefly-url-shortener-with-twitter-for-iphone.md rename to content/post/2011-02-07-using-your-firefly-url-shortener-with-twitter-for-iphone.md diff --git a/content/blog/2011-02-11-narf-a-ruby-micro-test-framework.md b/content/post/2011-02-11-narf-a-ruby-micro-test-framework.md similarity index 100% rename from content/blog/2011-02-11-narf-a-ruby-micro-test-framework.md rename to content/post/2011-02-11-narf-a-ruby-micro-test-framework.md diff --git a/content/blog/2011-03-27-rails-3-devise-uploadify-no-flash-session-hacks.md b/content/post/2011-03-27-rails-3-devise-uploadify-no-flash-session-hacks.md similarity index 100% rename from content/blog/2011-03-27-rails-3-devise-uploadify-no-flash-session-hacks.md rename to content/post/2011-03-27-rails-3-devise-uploadify-no-flash-session-hacks.md diff --git a/content/blog/2011-04-04-rake-with-namespaces-and-default-tasks.md b/content/post/2011-04-04-rake-with-namespaces-and-default-tasks.md similarity index 100% rename from content/blog/2011-04-04-rake-with-namespaces-and-default-tasks.md rename to content/post/2011-04-04-rake-with-namespaces-and-default-tasks.md diff --git a/content/blog/2011-06-10-vows-and-coffeescript.md b/content/post/2011-06-10-vows-and-coffeescript.md similarity index 100% rename from content/blog/2011-06-10-vows-and-coffeescript.md rename to content/post/2011-06-10-vows-and-coffeescript.md diff --git a/content/blog/2011-06-23-crowd-sourcing-your-bitcoin-mining.md b/content/post/2011-06-23-crowd-sourcing-your-bitcoin-mining.md similarity index 100% rename from content/blog/2011-06-23-crowd-sourcing-your-bitcoin-mining.md rename to content/post/2011-06-23-crowd-sourcing-your-bitcoin-mining.md diff --git a/content/blog/2011-06-24-git-what-files-were-changed-since-the-last-release.md b/content/post/2011-06-24-git-what-files-were-changed-since-the-last-release.md similarity index 100% rename from content/blog/2011-06-24-git-what-files-were-changed-since-the-last-release.md rename to content/post/2011-06-24-git-what-files-were-changed-since-the-last-release.md diff --git a/content/blog/2011-06-27-your-mac-slow-disable-spotlight-in-snow-leopard.md b/content/post/2011-06-27-your-mac-slow-disable-spotlight-in-snow-leopard.md similarity index 100% rename from content/blog/2011-06-27-your-mac-slow-disable-spotlight-in-snow-leopard.md rename to content/post/2011-06-27-your-mac-slow-disable-spotlight-in-snow-leopard.md diff --git a/content/blog/2011-07-05-git-squash-your-latests-commits-into-one.md b/content/post/2011-07-05-git-squash-your-latests-commits-into-one.md similarity index 100% rename from content/blog/2011-07-05-git-squash-your-latests-commits-into-one.md rename to content/post/2011-07-05-git-squash-your-latests-commits-into-one.md diff --git a/content/blog/2011-08-24-git-log-what-did-i-do-yesterday-exactly.md b/content/post/2011-08-24-git-log-what-did-i-do-yesterday-exactly.md similarity index 100% rename from content/blog/2011-08-24-git-log-what-did-i-do-yesterday-exactly.md rename to content/post/2011-08-24-git-log-what-did-i-do-yesterday-exactly.md diff --git a/content/blog/2011-09-08-git-remove-reset-and-rollback-commits.md b/content/post/2011-09-08-git-remove-reset-and-rollback-commits.md similarity index 100% rename from content/blog/2011-09-08-git-remove-reset-and-rollback-commits.md rename to content/post/2011-09-08-git-remove-reset-and-rollback-commits.md diff --git a/content/blog/2011-09-13-git-checkout-a-single-file-from-another-commit-or-branch.md b/content/post/2011-09-13-git-checkout-a-single-file-from-another-commit-or-branch.md similarity index 100% rename from content/blog/2011-09-13-git-checkout-a-single-file-from-another-commit-or-branch.md rename to content/post/2011-09-13-git-checkout-a-single-file-from-another-commit-or-branch.md diff --git a/content/blog/2011-09-14-lighting-fast-zero-downtime-deployments-with-git-capistrano-nginx-and-unicorn.md b/content/post/2011-09-14-lighting-fast-zero-downtime-deployments-with-git-capistrano-nginx-and-unicorn.md similarity index 100% rename from content/blog/2011-09-14-lighting-fast-zero-downtime-deployments-with-git-capistrano-nginx-and-unicorn.md rename to content/post/2011-09-14-lighting-fast-zero-downtime-deployments-with-git-capistrano-nginx-and-unicorn.md diff --git a/content/blog/2011-09-19-capistrano-and-the-custom-maintenance-page.md b/content/post/2011-09-19-capistrano-and-the-custom-maintenance-page.md similarity index 100% rename from content/blog/2011-09-19-capistrano-and-the-custom-maintenance-page.md rename to content/post/2011-09-19-capistrano-and-the-custom-maintenance-page.md diff --git a/content/blog/2011-09-24-rspec-speed-up-by-tweaking-ruby-garbage-collection.md b/content/post/2011-09-24-rspec-speed-up-by-tweaking-ruby-garbage-collection.md similarity index 100% rename from content/blog/2011-09-24-rspec-speed-up-by-tweaking-ruby-garbage-collection.md rename to content/post/2011-09-24-rspec-speed-up-by-tweaking-ruby-garbage-collection.md diff --git a/content/blog/2011-09-25-properly-testing-rails-3-scopes.md b/content/post/2011-09-25-properly-testing-rails-3-scopes.md similarity index 100% rename from content/blog/2011-09-25-properly-testing-rails-3-scopes.md rename to content/post/2011-09-25-properly-testing-rails-3-scopes.md diff --git a/content/blog/2011-10-09-testing-rails-3-scopes-revisited.md b/content/post/2011-10-09-testing-rails-3-scopes-revisited.md similarity index 100% rename from content/blog/2011-10-09-testing-rails-3-scopes-revisited.md rename to content/post/2011-10-09-testing-rails-3-scopes-revisited.md diff --git a/content/blog/2011-10-13-fast-specs-run-your-specs-in-less-than-1-second.md b/content/post/2011-10-13-fast-specs-run-your-specs-in-less-than-1-second.md similarity index 100% rename from content/blog/2011-10-13-fast-specs-run-your-specs-in-less-than-1-second.md rename to content/post/2011-10-13-fast-specs-run-your-specs-in-less-than-1-second.md diff --git a/content/blog/2011-10-14-rails-3-customized-exception-handling.md b/content/post/2011-10-14-rails-3-customized-exception-handling.md similarity index 100% rename from content/blog/2011-10-14-rails-3-customized-exception-handling.md rename to content/post/2011-10-14-rails-3-customized-exception-handling.md diff --git a/content/blog/2011-10-22-automatically-switch-between-ssl-and-non-ssl-with-nginx-unicorn-rails.md b/content/post/2011-10-22-automatically-switch-between-ssl-and-non-ssl-with-nginx-unicorn-rails.md similarity index 100% rename from content/blog/2011-10-22-automatically-switch-between-ssl-and-non-ssl-with-nginx-unicorn-rails.md rename to content/post/2011-10-22-automatically-switch-between-ssl-and-non-ssl-with-nginx-unicorn-rails.md diff --git a/content/blog/2011-10-24-installing-node-js-and-npm-on-ubuntu-debian.md b/content/post/2011-10-24-installing-node-js-and-npm-on-ubuntu-debian.md similarity index 100% rename from content/blog/2011-10-24-installing-node-js-and-npm-on-ubuntu-debian.md rename to content/post/2011-10-24-installing-node-js-and-npm-on-ubuntu-debian.md diff --git a/content/blog/2011-11-08-fixing-a-slow-starting-terminal-or-iterm2-on-mac-os-x.md b/content/post/2011-11-08-fixing-a-slow-starting-terminal-or-iterm2-on-mac-os-x.md similarity index 100% rename from content/blog/2011-11-08-fixing-a-slow-starting-terminal-or-iterm2-on-mac-os-x.md rename to content/post/2011-11-08-fixing-a-slow-starting-terminal-or-iterm2-on-mac-os-x.md diff --git a/content/blog/2011-11-09-contributing-to-open-source-with-github.md b/content/post/2011-11-09-contributing-to-open-source-with-github.md similarity index 100% rename from content/blog/2011-11-09-contributing-to-open-source-with-github.md rename to content/post/2011-11-09-contributing-to-open-source-with-github.md diff --git a/content/blog/2011-11-18-deploying-a-third-party-rails-application-like-gitlab.md b/content/post/2011-11-18-deploying-a-third-party-rails-application-like-gitlab.md similarity index 100% rename from content/blog/2011-11-18-deploying-a-third-party-rails-application-like-gitlab.md rename to content/post/2011-11-18-deploying-a-third-party-rails-application-like-gitlab.md diff --git a/content/blog/2011-11-22-upgrade-postgresql-8-4-to-postgresql-9-1-on-debian.md b/content/post/2011-11-22-upgrade-postgresql-8-4-to-postgresql-9-1-on-debian.md similarity index 100% rename from content/blog/2011-11-22-upgrade-postgresql-8-4-to-postgresql-9-1-on-debian.md rename to content/post/2011-11-22-upgrade-postgresql-8-4-to-postgresql-9-1-on-debian.md diff --git a/content/blog/2011-12-13-recursively-fixing-file-and-directory-permissions.md b/content/post/2011-12-13-recursively-fixing-file-and-directory-permissions.md similarity index 100% rename from content/blog/2011-12-13-recursively-fixing-file-and-directory-permissions.md rename to content/post/2011-12-13-recursively-fixing-file-and-directory-permissions.md diff --git a/content/blog/2012-01-10-removing-untracked-files-and-directories-with-git.md b/content/post/2012-01-10-removing-untracked-files-and-directories-with-git.md similarity index 100% rename from content/blog/2012-01-10-removing-untracked-files-and-directories-with-git.md rename to content/post/2012-01-10-removing-untracked-files-and-directories-with-git.md diff --git a/content/blog/2012-03-20-open-source-is-a-privilege-not-a-right.md b/content/post/2012-03-20-open-source-is-a-privilege-not-a-right.md similarity index 100% rename from content/blog/2012-03-20-open-source-is-a-privilege-not-a-right.md rename to content/post/2012-03-20-open-source-is-a-privilege-not-a-right.md diff --git a/content/blog/2012-03-21-from-11-34s-to-0-625s-for-opening-a-rb-file-in-vim.md b/content/post/2012-03-21-from-11-34s-to-0-625s-for-opening-a-rb-file-in-vim.md similarity index 100% rename from content/blog/2012-03-21-from-11-34s-to-0-625s-for-opening-a-rb-file-in-vim.md rename to content/post/2012-03-21-from-11-34s-to-0-625s-for-opening-a-rb-file-in-vim.md diff --git a/content/blog/2012-03-21-redis-using-2gb-of-memory-on-70mb-data-set-the-fix.md b/content/post/2012-03-21-redis-using-2gb-of-memory-on-70mb-data-set-the-fix.md similarity index 100% rename from content/blog/2012-03-21-redis-using-2gb-of-memory-on-70mb-data-set-the-fix.md rename to content/post/2012-03-21-redis-using-2gb-of-memory-on-70mb-data-set-the-fix.md diff --git a/content/blog/2012-04-02-showing-ruby-rails-and-git-info-in-your-app.md b/content/post/2012-04-02-showing-ruby-rails-and-git-info-in-your-app.md similarity index 100% rename from content/blog/2012-04-02-showing-ruby-rails-and-git-info-in-your-app.md rename to content/post/2012-04-02-showing-ruby-rails-and-git-info-in-your-app.md diff --git a/content/blog/2012-04-06-eindhoven-rb-lightning-talk-gitlab.md b/content/post/2012-04-06-eindhoven-rb-lightning-talk-gitlab.md similarity index 100% rename from content/blog/2012-04-06-eindhoven-rb-lightning-talk-gitlab.md rename to content/post/2012-04-06-eindhoven-rb-lightning-talk-gitlab.md diff --git a/content/blog/2012-04-14-decorating-devise-s-current_user-with-draper.md b/content/post/2012-04-14-decorating-devise-s-current_user-with-draper.md similarity index 100% rename from content/blog/2012-04-14-decorating-devise-s-current_user-with-draper.md rename to content/post/2012-04-14-decorating-devise-s-current_user-with-draper.md diff --git a/content/blog/2012-05-11-running-a-different-ruby-with-passenger-3-2-and-rvm.md b/content/post/2012-05-11-running-a-different-ruby-with-passenger-3-2-and-rvm.md similarity index 100% rename from content/blog/2012-05-11-running-a-different-ruby-with-passenger-3-2-and-rvm.md rename to content/post/2012-05-11-running-a-different-ruby-with-passenger-3-2-and-rvm.md diff --git a/content/blog/2012-05-19-what-happened-to-downloading-games-from-the-pirate-bay.md b/content/post/2012-05-19-what-happened-to-downloading-games-from-the-pirate-bay.md similarity index 100% rename from content/blog/2012-05-19-what-happened-to-downloading-games-from-the-pirate-bay.md rename to content/post/2012-05-19-what-happened-to-downloading-games-from-the-pirate-bay.md diff --git a/content/blog/2012-05-20-why-diablo-3-s-drm-is-the-best-kind-there-is.md b/content/post/2012-05-20-why-diablo-3-s-drm-is-the-best-kind-there-is.md similarity index 100% rename from content/blog/2012-05-20-why-diablo-3-s-drm-is-the-best-kind-there-is.md rename to content/post/2012-05-20-why-diablo-3-s-drm-is-the-best-kind-there-is.md diff --git a/content/blog/2012-05-21-what-s-causing-all-that-disk-i-o-on-my-mac.md b/content/post/2012-05-21-what-s-causing-all-that-disk-i-o-on-my-mac.md similarity index 100% rename from content/blog/2012-05-21-what-s-causing-all-that-disk-i-o-on-my-mac.md rename to content/post/2012-05-21-what-s-causing-all-that-disk-i-o-on-my-mac.md diff --git a/content/blog/2012-05-22-ruby-regex-scanning-in-a-case-statement.md b/content/post/2012-05-22-ruby-regex-scanning-in-a-case-statement.md similarity index 100% rename from content/blog/2012-05-22-ruby-regex-scanning-in-a-case-statement.md rename to content/post/2012-05-22-ruby-regex-scanning-in-a-case-statement.md diff --git a/content/blog/2012-05-23-how-star-trek-has-shaped-our-technology-and-future.md b/content/post/2012-05-23-how-star-trek-has-shaped-our-technology-and-future.md similarity index 100% rename from content/blog/2012-05-23-how-star-trek-has-shaped-our-technology-and-future.md rename to content/post/2012-05-23-how-star-trek-has-shaped-our-technology-and-future.md diff --git a/content/blog/2012-05-24-seo-is-bullshit.md b/content/post/2012-05-24-seo-is-bullshit.md similarity index 100% rename from content/blog/2012-05-24-seo-is-bullshit.md rename to content/post/2012-05-24-seo-is-bullshit.md diff --git a/content/blog/2012-06-18-search-and-replace-in-multiple-files-with-vim.md b/content/post/2012-06-18-search-and-replace-in-multiple-files-with-vim.md similarity index 100% rename from content/blog/2012-06-18-search-and-replace-in-multiple-files-with-vim.md rename to content/post/2012-06-18-search-and-replace-in-multiple-files-with-vim.md diff --git a/content/blog/2012-07-11-vpn-too-complicated-use-a-ip-over-ssh-tunnel-instead.md b/content/post/2012-07-11-vpn-too-complicated-use-a-ip-over-ssh-tunnel-instead.md similarity index 100% rename from content/blog/2012-07-11-vpn-too-complicated-use-a-ip-over-ssh-tunnel-instead.md rename to content/post/2012-07-11-vpn-too-complicated-use-a-ip-over-ssh-tunnel-instead.md diff --git a/content/blog/2012-08-14-move-your-latest-commits-to-a-separate-branch.md b/content/post/2012-08-14-move-your-latest-commits-to-a-separate-branch.md similarity index 100% rename from content/blog/2012-08-14-move-your-latest-commits-to-a-separate-branch.md rename to content/post/2012-08-14-move-your-latest-commits-to-a-separate-branch.md diff --git a/content/blog/2012-08-27-getting-started-with-arduino.md b/content/post/2012-08-27-getting-started-with-arduino.md similarity index 100% rename from content/blog/2012-08-27-getting-started-with-arduino.md rename to content/post/2012-08-27-getting-started-with-arduino.md diff --git a/content/blog/2012-08-28-rails-migrations-decimal-precision-and-scale.md b/content/post/2012-08-28-rails-migrations-decimal-precision-and-scale.md similarity index 100% rename from content/blog/2012-08-28-rails-migrations-decimal-precision-and-scale.md rename to content/post/2012-08-28-rails-migrations-decimal-precision-and-scale.md diff --git a/content/blog/2012-09-04-git-interactive-revert.md b/content/post/2012-09-04-git-interactive-revert.md similarity index 100% rename from content/blog/2012-09-04-git-interactive-revert.md rename to content/post/2012-09-04-git-interactive-revert.md diff --git a/content/blog/2012-10-01-migrate-git-repositories.md b/content/post/2012-10-01-migrate-git-repositories.md similarity index 100% rename from content/blog/2012-10-01-migrate-git-repositories.md rename to content/post/2012-10-01-migrate-git-repositories.md diff --git a/content/blog/2012-10-04-a-static-file-server-in-go.md b/content/post/2012-10-04-a-static-file-server-in-go.md similarity index 100% rename from content/blog/2012-10-04-a-static-file-server-in-go.md rename to content/post/2012-10-04-a-static-file-server-in-go.md diff --git a/content/blog/2012-11-02-decorating_sorcery_current_user_with_draper.md b/content/post/2012-11-02-decorating_sorcery_current_user_with_draper.md similarity index 100% rename from content/blog/2012-11-02-decorating_sorcery_current_user_with_draper.md rename to content/post/2012-11-02-decorating_sorcery_current_user_with_draper.md diff --git a/content/blog/2012-11-05-a-call-to-all-ci-service-providers.md b/content/post/2012-11-05-a-call-to-all-ci-service-providers.md similarity index 100% rename from content/blog/2012-11-05-a-call-to-all-ci-service-providers.md rename to content/post/2012-11-05-a-call-to-all-ci-service-providers.md diff --git a/content/blog/2012-11-22-customac.md b/content/post/2012-11-22-customac.md similarity index 100% rename from content/blog/2012-11-22-customac.md rename to content/post/2012-11-22-customac.md diff --git a/content/blog/2012-11-29-binary-debugging-with-git-bisect.md b/content/post/2012-11-29-binary-debugging-with-git-bisect.md similarity index 100% rename from content/blog/2012-11-29-binary-debugging-with-git-bisect.md rename to content/post/2012-11-29-binary-debugging-with-git-bisect.md diff --git a/content/blog/2012-12-18-instagram-governments-and-cypherpunks.md b/content/post/2012-12-18-instagram-governments-and-cypherpunks.md similarity index 100% rename from content/blog/2012-12-18-instagram-governments-and-cypherpunks.md rename to content/post/2012-12-18-instagram-governments-and-cypherpunks.md diff --git a/content/blog/2013-03-08-review-commits-in-your-feature-branch.md b/content/post/2013-03-08-review-commits-in-your-feature-branch.md similarity index 100% rename from content/blog/2013-03-08-review-commits-in-your-feature-branch.md rename to content/post/2013-03-08-review-commits-in-your-feature-branch.md diff --git a/content/blog/2013-03-25-automated-nanoc-deployments.md b/content/post/2013-03-25-automated-nanoc-deployments.md similarity index 100% rename from content/blog/2013-03-25-automated-nanoc-deployments.md rename to content/post/2013-03-25-automated-nanoc-deployments.md diff --git a/content/blog/2013-03-26-i-am-here-for-an-argument.md b/content/post/2013-03-26-i-am-here-for-an-argument.md similarity index 100% rename from content/blog/2013-03-26-i-am-here-for-an-argument.md rename to content/post/2013-03-26-i-am-here-for-an-argument.md diff --git a/content/blog/2013-05-21-early-birds.md b/content/post/2013-05-21-early-birds.md similarity index 100% rename from content/blog/2013-05-21-early-birds.md rename to content/post/2013-05-21-early-birds.md diff --git a/content/blog/2013-05-23-divide-and-conquer.md b/content/post/2013-05-23-divide-and-conquer.md similarity index 100% rename from content/blog/2013-05-23-divide-and-conquer.md rename to content/post/2013-05-23-divide-and-conquer.md diff --git a/content/blog/2013-10-31-deploying-with-git-deploy.md b/content/post/2013-10-31-deploying-with-git-deploy.md similarity index 100% rename from content/blog/2013-10-31-deploying-with-git-deploy.md rename to content/post/2013-10-31-deploying-with-git-deploy.md diff --git a/content/blog/2014-04-03-pretty-difficult-privacy.md b/content/post/2014-04-03-pretty-difficult-privacy.md similarity index 100% rename from content/blog/2014-04-03-pretty-difficult-privacy.md rename to content/post/2014-04-03-pretty-difficult-privacy.md diff --git a/content/blog/2014-04-03-to-blog-or-not-to-blog.md b/content/post/2014-04-03-to-blog-or-not-to-blog.md similarity index 100% rename from content/blog/2014-04-03-to-blog-or-not-to-blog.md rename to content/post/2014-04-03-to-blog-or-not-to-blog.md diff --git a/content/blog/2014-04-04-dealing-with-technical-debt.md b/content/post/2014-04-04-dealing-with-technical-debt.md similarity index 100% rename from content/blog/2014-04-04-dealing-with-technical-debt.md rename to content/post/2014-04-04-dealing-with-technical-debt.md diff --git a/content/blog/2014-04-15-testing-home-with-cucumber-and-aruba.md b/content/post/2014-04-15-testing-home-with-cucumber-and-aruba.md similarity index 100% rename from content/blog/2014-04-15-testing-home-with-cucumber-and-aruba.md rename to content/post/2014-04-15-testing-home-with-cucumber-and-aruba.md diff --git a/content/blog/2014-06-04-gpg-sign-your-git-commits.md b/content/post/2014-06-04-gpg-sign-your-git-commits.md similarity index 100% rename from content/blog/2014-06-04-gpg-sign-your-git-commits.md rename to content/post/2014-06-04-gpg-sign-your-git-commits.md diff --git a/content/blog/2014-08-29-synchronize-goroutines-in-your-tests.md b/content/post/2014-08-29-synchronize-goroutines-in-your-tests.md similarity index 100% rename from content/blog/2014-08-29-synchronize-goroutines-in-your-tests.md rename to content/post/2014-08-29-synchronize-goroutines-in-your-tests.md diff --git a/content/blog/2014-10-15-rails-prevent-accidental-debugging-commits.md b/content/post/2014-10-15-rails-prevent-accidental-debugging-commits.md similarity index 100% rename from content/blog/2014-10-15-rails-prevent-accidental-debugging-commits.md rename to content/post/2014-10-15-rails-prevent-accidental-debugging-commits.md diff --git a/content/blog/2014-11-20-why-i-dropped-fish-in-favour-of-zsh.md b/content/post/2014-11-20-why-i-dropped-fish-in-favour-of-zsh.md similarity index 100% rename from content/blog/2014-11-20-why-i-dropped-fish-in-favour-of-zsh.md rename to content/post/2014-11-20-why-i-dropped-fish-in-favour-of-zsh.md diff --git a/content/blog/2015-04-07-testing-with-minitest.md b/content/post/2015-04-07-testing-with-minitest.md similarity index 100% rename from content/blog/2015-04-07-testing-with-minitest.md rename to content/post/2015-04-07-testing-with-minitest.md diff --git a/content/blog/2015-08-05-postgresql-error-type-hstore-does-not-exist.md b/content/post/2015-08-05-postgresql-error-type-hstore-does-not-exist.md similarity index 100% rename from content/blog/2015-08-05-postgresql-error-type-hstore-does-not-exist.md rename to content/post/2015-08-05-postgresql-error-type-hstore-does-not-exist.md diff --git a/content/blog/2015-10-03-a-makefile-for-golang-cli-tools.md b/content/post/2015-10-03-a-makefile-for-golang-cli-tools.md similarity index 100% rename from content/blog/2015-10-03-a-makefile-for-golang-cli-tools.md rename to content/post/2015-10-03-a-makefile-for-golang-cli-tools.md diff --git a/content/blog/2015-10-12-building-golang-cli-tools-update.md b/content/post/2015-10-12-building-golang-cli-tools-update.md similarity index 100% rename from content/blog/2015-10-12-building-golang-cli-tools-update.md rename to content/post/2015-10-12-building-golang-cli-tools-update.md diff --git a/content/blog/2015-11-27-rails-generate-model-be-specific.md b/content/post/2015-11-27-rails-generate-model-be-specific.md similarity index 100% rename from content/blog/2015-11-27-rails-generate-model-be-specific.md rename to content/post/2015-11-27-rails-generate-model-be-specific.md diff --git a/content/blog/2015-12-04-el-capitan-safari-new-tab-slow-fix.md b/content/post/2015-12-04-el-capitan-safari-new-tab-slow-fix.md similarity index 100% rename from content/blog/2015-12-04-el-capitan-safari-new-tab-slow-fix.md rename to content/post/2015-12-04-el-capitan-safari-new-tab-slow-fix.md diff --git a/content/blog/2016-01-06-putting-ariejan-net-on-a-diet-a-69-percent-reduction.md b/content/post/2016-01-06-putting-ariejan-net-on-a-diet-a-69-percent-reduction.md similarity index 100% rename from content/blog/2016-01-06-putting-ariejan-net-on-a-diet-a-69-percent-reduction.md rename to content/post/2016-01-06-putting-ariejan-net-on-a-diet-a-69-percent-reduction.md diff --git a/content/blog/2016-04-15-hanami-and-multi-database-testing-with-travis.md b/content/post/2016-04-15-hanami-and-multi-database-testing-with-travis.md similarity index 100% rename from content/blog/2016-04-15-hanami-and-multi-database-testing-with-travis.md rename to content/post/2016-04-15-hanami-and-multi-database-testing-with-travis.md diff --git a/content/blog/2016-04-24-music-streaming-setup.md b/content/post/2016-04-24-music-streaming-setup.md similarity index 100% rename from content/blog/2016-04-24-music-streaming-setup.md rename to content/post/2016-04-24-music-streaming-setup.md diff --git a/content/blog/2016-08-17-squash-git-commits-when-merging.md b/content/post/2016-08-17-squash-git-commits-when-merging.md similarity index 100% rename from content/blog/2016-08-17-squash-git-commits-when-merging.md rename to content/post/2016-08-17-squash-git-commits-when-merging.md diff --git a/content/blog/2017-03-08-bitcoin-mining-anno-2017.md b/content/post/2017-03-08-bitcoin-mining-anno-2017.md similarity index 100% rename from content/blog/2017-03-08-bitcoin-mining-anno-2017.md rename to content/post/2017-03-08-bitcoin-mining-anno-2017.md diff --git a/content/blog/2017-03-20-image-zoom-with-plain-javascript-and-css.md b/content/post/2017-03-20-image-zoom-with-plain-javascript-and-css.md similarity index 100% rename from content/blog/2017-03-20-image-zoom-with-plain-javascript-and-css.md rename to content/post/2017-03-20-image-zoom-with-plain-javascript-and-css.md diff --git a/content/blog/2017-03-22-tmux-vim-copy-paste-on-macos-sierra.md b/content/post/2017-03-22-tmux-vim-copy-paste-on-macos-sierra.md similarity index 100% rename from content/blog/2017-03-22-tmux-vim-copy-paste-on-macos-sierra.md rename to content/post/2017-03-22-tmux-vim-copy-paste-on-macos-sierra.md diff --git a/content/blog/2017-12-08-bug-severity-explained.md b/content/post/2017-12-08-bug-severity-explained.md similarity index 100% rename from content/blog/2017-12-08-bug-severity-explained.md rename to content/post/2017-12-08-bug-severity-explained.md diff --git a/content/projects/design-phono-x/featured.jpg b/content/projects/design-phono-x/featured.jpg new file mode 100644 index 0000000..cb1a3c8 Binary files /dev/null and b/content/projects/design-phono-x/featured.jpg differ diff --git a/content/electronics/design-phono-x.md b/content/projects/design-phono-x/index.md similarity index 92% rename from content/electronics/design-phono-x.md rename to content/projects/design-phono-x/index.md index 3b413a1..593ea7a 100644 --- a/content/electronics/design-phono-x.md +++ b/content/projects/design-phono-x/index.md @@ -1,10 +1,15 @@ +++ date = "2018-09-12" -title = "Phono X - RIAA Phono Preamp" +title = "Design: Phono X, a RIAA Phono Preamplifier" tags = ["design", "audio", "preamp", "phono"] categories = ["Audio Design"] -description = "Building a quality phono preamp is still one of the joys of the audio electronics enthusiast. This is my first take on a RIAA phono premap." -slug = "phono-x-riaa-phono-preamp" +summary = "Building a quality phono preamp is still one of the joys of the audio electronics enthusiast. This is my first take on a RIAA phono premap." +aliases = [ + "/2018/09/12/phono-x-riaa-phono-preamp/" +] +[image] + caption = "Photo by Ingo Ellerbusch on Unsplash" + focal_point = "Center" +++ When I started out designing this preamp I only had a few requirements: diff --git a/content/projects/repair-denon-avr-4520/featured.jpg b/content/projects/repair-denon-avr-4520/featured.jpg new file mode 100644 index 0000000..5bd40a7 Binary files /dev/null and b/content/projects/repair-denon-avr-4520/featured.jpg differ diff --git a/content/electronics/repair-denon-avr-4520.md b/content/projects/repair-denon-avr-4520/index.md similarity index 97% rename from content/electronics/repair-denon-avr-4520.md rename to content/projects/repair-denon-avr-4520/index.md index a9a67f4..66fe5a6 100644 --- a/content/electronics/repair-denon-avr-4520.md +++ b/content/projects/repair-denon-avr-4520/index.md @@ -3,13 +3,15 @@ date = "2017-11-21" title = "Repair: Denon AVR-4520" tags = ["repair", "audiorepair", "denon"] categories = [ "Audio Repair" ] -description = "This unit sold from 2012-2015 as the top-of-the line AV Network Receiver from Denon. I got my hands on a unit with power protection issues. Here's the repair log the Denon AVR-4520." +summary = "This unit sold from 2012-2015 as the top-of-the line AV Network Receiver from Denon. I got my hands on a unit with power protection issues. Here's the repair log the Denon AVR-4520." +aliases = [ + "/2017/11/21/repair-denon-avr-4520/" +] +[image] + focal_point = "Center" + +++ -![Denon AVR-4520 - Front view](/img/denon-avr4520-frontview.jpg) - -## Background - Recently I came across a **Denon AVR-4520** on _Marktplaats_. I was immediately interested because it's a Denon, a high-end model, undamaged, and sold with a defect. The seller was dumping his entire AV stack, including Blu-ray player and Jamo floorstanding speakers because the AVR would _sometimes_ diff --git a/content/projects/repair-denon-pma-560/featured.jpg b/content/projects/repair-denon-pma-560/featured.jpg new file mode 100644 index 0000000..b884349 Binary files /dev/null and b/content/projects/repair-denon-pma-560/featured.jpg differ diff --git a/content/electronics/repair-denon-pma560.md b/content/projects/repair-denon-pma-560/index.md similarity index 59% rename from content/electronics/repair-denon-pma560.md rename to content/projects/repair-denon-pma-560/index.md index 31a6d87..e95b485 100644 --- a/content/electronics/repair-denon-pma560.md +++ b/content/projects/repair-denon-pma-560/index.md @@ -1,10 +1,14 @@ +++ date = "2016-01-07" -title = "Denon PMA-560 Repair Log" -tags = ["ohmexpress", "repair", "audiorepair"] +title = "Repair: Denon PMA-560" +tags = ["denon", "repair", "audiorepair"] categories = [ "Audio Repair" ] -description = "Log of diagnosing and repairing a Denon PMA560 Stereo integrated amplifier." -slug = "denon-pma-560-repair-log" +summary = "Log of diagnosing and repairing a Denon PMA560 Stereo integrated amplifier." +aliases = [ + "/2016/01/07/denon-pma-560-repair-log/", + "/2016/01/12/denon-pma-560-repair-log-update/" +] +[image] +++ I recently found a Denon PMA-560 Stereo integrated amplifier for sale with the remark that the @@ -13,7 +17,7 @@ and this is the log of diagnosing and fixing the issue. ## The Denon PMA-560 -![Denon PMA-560 Front][denon-560-front] +![](/img/denon_pma-560_front_panel.jpg) First, something about the Denon PMA-560. It's a Stereo Integrated Amplifier from 1991 and is an analog design. I can really appreciate this design, using no digital IC's or MCU's. @@ -99,8 +103,66 @@ What I liked most about this repair is that is was very easy to diagnose. I didn even touch my multimeter or scope. Stay tuned for an update when the relay has been replaced. -_The spare parts have arrived, [read the update and replacement log](/2016/01/12/denon-pma-560-repair-log-update/) now._ +# Update 12 Januari 2012 + +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) -[denon-560-front]: /img/denon_pma-560_front_panel.jpg "Image courtesy of hifiengine.com" [denon-schematic]: /img/denon-pma-560-schematic.png "Part of the PMA-560 schematic, taken from the Service Manual." [denon-relays]: /img/denon-pma-560-relays.jpg "Detail of RL601 and RL602" diff --git a/content/projects/repair-denon-pma-720a/featured.jpg b/content/projects/repair-denon-pma-720a/featured.jpg new file mode 100644 index 0000000..9440e57 Binary files /dev/null and b/content/projects/repair-denon-pma-720a/featured.jpg differ diff --git a/content/electronics/repair-denon-pma-720a.md b/content/projects/repair-denon-pma-720a/index.md similarity index 90% rename from content/electronics/repair-denon-pma-720a.md rename to content/projects/repair-denon-pma-720a/index.md index c29c067..2940bb6 100644 --- a/content/electronics/repair-denon-pma-720a.md +++ b/content/projects/repair-denon-pma-720a/index.md @@ -1,14 +1,16 @@ +++ date = "2016-04-10" -title = "Denon PMA 720a Repair Log" -tags = ["ohmexpress", "repair", "audiorepair"] +title = "Repair: Denon PMA 720A" +tags = ["denon", "repair", "audiorepair"] categories = [ "Audio Repair" ] -description = "A classic 1989 Denon PMA 720a Integrated Amp that made a bang and wont't turn on. Let's solve this!" -slug = "denon-pma-720a-repair-log" +summary = "A classic 1989 Denon PMA 720a Integrated Amp that made a bang and wont't turn on. Let's solve this!" +aliases = [ + "/2016/04/10/denon-pma-720a-repair-log/" +] +[image] + focal_point = "Center" +++ -![Denon PMA 720a Front](/img/denon-pma-720a-front.jpg) - I found this Denon PMA 720a on Marktplaats (a popular Dutch alternative to Craigslist) advertised with "made a loud popping noise and won't turn on". Being a huge Denon fan, I picked this one up and got to work. diff --git a/content/projects/repair-hp-34401A-bench-multimeter/featured.jpg b/content/projects/repair-hp-34401A-bench-multimeter/featured.jpg new file mode 100644 index 0000000..93dee39 Binary files /dev/null and b/content/projects/repair-hp-34401A-bench-multimeter/featured.jpg differ diff --git a/content/electronics/repair-hp-34401A-bench-multimeter.md b/content/projects/repair-hp-34401A-bench-multimeter/index.md similarity index 91% rename from content/electronics/repair-hp-34401A-bench-multimeter.md rename to content/projects/repair-hp-34401A-bench-multimeter/index.md index cd91bda..50a029d 100644 --- a/content/electronics/repair-hp-34401A-bench-multimeter.md +++ b/content/projects/repair-hp-34401A-bench-multimeter/index.md @@ -3,11 +3,14 @@ date = "2017-12-01" title = "Repair: Hewlet Packard 34401A Bench Multimeter" tags = ["repair", "electronics", "equipment"] categories = [ "Electronics Repair" ] -description = "After watching The Signal Path for some I decided to treat myself to a classic 34401A 6½ digit multimeter." +summary = "After watching The Signal Path for some I decided to treat myself to a classic 34401A 6½ digit multimeter." +aliases = [ + "/2017/12/01/repair-hewlet-packard-34401a-bench-multimeter/" +] +[image] + focal_point = "Left" +++ -![The HP 34401A Bench multimeter](/img/hp-34401A-front.jpg) - I've been watching [The Signal Path](http://thesignalpath.com/blogs/) for quite a while now and I _really_ like the repair videos. After doing a lot of audio repairs I wanted to give electronics test equipment a try. @@ -23,6 +26,8 @@ After scouring the internets for a few weeks I finally found an auction for a de The description simply stated DC current measurement did not work. No word on the other fuctions whatsoever. +![The HP 34401A Bench multimeter](/img/hp-34401A-front.jpg) + When I got the unit in the mail I prepared to make a Youtube video of this repair. Well, the repair turned out to be _so_ easy it's barely worth this blogpost, let alone a whole Youtube video. diff --git a/content/projects/repair-marantz-pm80-mk2/featured.jpg b/content/projects/repair-marantz-pm80-mk2/featured.jpg new file mode 100644 index 0000000..745a489 Binary files /dev/null and b/content/projects/repair-marantz-pm80-mk2/featured.jpg differ diff --git a/content/electronics/repair-marantz-pm80-mk2.md b/content/projects/repair-marantz-pm80-mk2/index.md similarity index 95% rename from content/electronics/repair-marantz-pm80-mk2.md rename to content/projects/repair-marantz-pm80-mk2/index.md index d8330cd..e61dea3 100644 --- a/content/electronics/repair-marantz-pm80-mk2.md +++ b/content/projects/repair-marantz-pm80-mk2/index.md @@ -1,10 +1,13 @@ +++ date = "2016-10-09" -title = "Marantz PM80 Mk2 Repair Log" +title = "Repair: Marantz PM80 Mk2" tags = ["repair", "audiorepair"] categories = [ "Audio Repair" ] -description = "The venerable Marantz PM80 Mk2. This unit was completely dead, but I was able to bring it back to life!" -slug = "marantz-pm80-mk2-repair-log" +summary = "The venerable Marantz PM80 Mk2. This unit was completely dead, but I was able to bring it back to life!" +aliases = [ + "/2016/10/09/marantz-pm80-mk2-repair-log/" +] +[image] +++ The Marantz PM80 Mk2. The Hi-Fi connaisseur knows what I'm talking about. @@ -97,4 +100,3 @@ PM80 stays. ♥️ ## Notes The service manuals for the Marantz PM80 are available for free at [hifiengine](http://www.hifiengine.com/manual_library/marantz/pm-80.shtml). - diff --git a/content/projects/repair-marantz-sr5200/featured.jpg b/content/projects/repair-marantz-sr5200/featured.jpg new file mode 100644 index 0000000..493c95d Binary files /dev/null and b/content/projects/repair-marantz-sr5200/featured.jpg differ diff --git a/content/electronics/repair-marantz-sr5200.md b/content/projects/repair-marantz-sr5200/index.md similarity index 95% rename from content/electronics/repair-marantz-sr5200.md rename to content/projects/repair-marantz-sr5200/index.md index 3170e8c..ae258d5 100644 --- a/content/electronics/repair-marantz-sr5200.md +++ b/content/projects/repair-marantz-sr5200/index.md @@ -1,10 +1,13 @@ +++ date = "2016-01-21" -title = "Marantz SR5200 Repair Log" -tags = ["ohmexpress", "repair", "audiorepair"] +title = "Repair: Marantz SR5200" +tags = ["marantz", "repair", "audiorepair"] categories = [ "Audio Repair" ] -description = "A Marantz SR5200 receiver with a non-working front-right channel. Let's fix that!" -slug = "marantz-sr5200-repair-log" +summary = "A Marantz SR5200 receiver with a non-working front-right channel. Let's fix that!" +aliases = [ + "/2016/01/21/marantz-sr5200-repair-log/" +] +[image] +++ I've been working on a Marantz SR5200 recently that came in with the front-right channel diff --git a/content/projects/repair-rotel-rb-970bx/featured.jpg b/content/projects/repair-rotel-rb-970bx/featured.jpg new file mode 100644 index 0000000..f375ccb Binary files /dev/null and b/content/projects/repair-rotel-rb-970bx/featured.jpg differ diff --git a/content/electronics/repair-rotel-rb-970bx.md b/content/projects/repair-rotel-rb-970bx/index.md similarity index 94% rename from content/electronics/repair-rotel-rb-970bx.md rename to content/projects/repair-rotel-rb-970bx/index.md index fe83c23..3f90f52 100644 --- a/content/electronics/repair-rotel-rb-970bx.md +++ b/content/projects/repair-rotel-rb-970bx/index.md @@ -3,12 +3,15 @@ date = "2017-11-13" title = "Repair: Rotel RB-970BX" tags = ["rotel", "repair", "audiorepair"] categories = [ "Audio Repair" ] -description = "Another lucky find: Rotel RB-970BX Power Amplifier with one defective channel. Let's fix this!" -slug = "repair-rotel-rb-970bx" +summary = "Another lucky find: Rotel RB-970BX Power Amplifier with one defective channel. Let's fix this!" +aliases = [ + "/2017/11/13/repair-rotel-rb-970bx/" +] +[image] + caption = "" + focal_point = "Center" +++ -![The Rotel RB-970BX](/img/rotel-rb970bx-front.jpg) - I did another great find on _Marktplaats_: a Rotel RB-970BX. This is a power amplifier, meaning it has no volume or tone controls whatsoever. You'd normally pair a RC-970BX pre-amp with one or two of these power amplifiers. diff --git a/content/projects/voltmeister-100-atx-bench-power-supply/featured.jpg b/content/projects/voltmeister-100-atx-bench-power-supply/featured.jpg new file mode 100644 index 0000000..5dd982d Binary files /dev/null and b/content/projects/voltmeister-100-atx-bench-power-supply/featured.jpg differ diff --git a/content/electronics/voltmeister-100-atx-bench-power-supply-part-1.md b/content/projects/voltmeister-100-atx-bench-power-supply/index.md similarity index 62% rename from content/electronics/voltmeister-100-atx-bench-power-supply-part-1.md rename to content/projects/voltmeister-100-atx-bench-power-supply/index.md index ff7b38b..78cbf20 100644 --- a/content/electronics/voltmeister-100-atx-bench-power-supply-part-1.md +++ b/content/projects/voltmeister-100-atx-bench-power-supply/index.md @@ -1,11 +1,16 @@ +++ date = "2014-11-24" -title = "VoltMeister 100: Bench Power Supply - Part 1" +title = "Design: VoltMeister 100, a DIY Bench Power Supply" tags = ["electronics", "voltmeister", "power supply"] categories = [ "Electronics" ] -description = "A bench power supply is one of the essential tools of any electronics hobbyist.Although you can buy a such a unit for less that € 50, it's way more fun to build one yourself." -slug = "voltmeister-100-atx-bench-power-supply-part-1" +summary = "A bench power supply is one of the essential tools of any electronics hobbyist.Although you can buy a such a unit for less that € 50, it's way more fun to build one yourself." +aliases = [ + "/2014/11/24/voltmeister-100-atx-bench-power-supply-part-1/", + "/2014/11/26/voltmeister-100-atx-bench-power-supply-part-2/" +] +[image] +++ + As an electronics hobbyist one of the most essential tools is a bench power supply. I don't have one yet, so I'm currently stuck with using simple wall warts. This is fine for powering an Arduino, but it gets more tacky when dealing with things @@ -17,12 +22,6 @@ and creating an adjustable power supply. Instead, I opted for a more common appr use an existing ATX computer power supply to deliver the four common output voltages of these supplies: 3.3V, 5V, and ±12V. -This is Part 1 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 ATX Power Supply Modern computers all comform to the ATX standard, set by Intel in 1995. Part of this @@ -154,15 +153,82 @@ I've opted for SMD parts because I wanted like to give SMD soldering a try. * I should mark the +/- for the LED and terminals more clearly * Consider the connection points on the PCB, it turned out that it would have been easier if the LED/Button connections were on the same side as the voltage output terminals. -## Round-up +## The enclosure -In this first part you've learned about the ATX power supply I used for my first -bench power supply project: **VoltMeister 100**. With the standard ATX connectors -it's easy to design a simple schematic to let everything behave correctly. +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. -From the schematic it's a short way to designa simple 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. -Next up it's ordering all the necessary parts, soldering everything and putting -it in a nice case. More on that in Part 2 of this series. +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! diff --git a/resources/_gen/assets/js/js/academic-bundle-pre.js_d3f53f09220d597dac26fe7840c31fc9.content b/resources/_gen/assets/js/js/academic-bundle-pre.js_d3f53f09220d597dac26fe7840c31fc9.content new file mode 100644 index 0000000..bc17e4a --- /dev/null +++ b/resources/_gen/assets/js/js/academic-bundle-pre.js_d3f53f09220d597dac26fe7840c31fc9.content @@ -0,0 +1,31 @@ +(function($){let $navbar=$('.navbar');let navbar_offset=$navbar.innerHeight();function scrollToAnchor(target){target=(typeof target==='undefined'||typeof target==='object')?window.location.hash:target;target=target.replace(/:/g,'\\:');if($(target).length){$('body').addClass('scrolling');$('html, body').animate({scrollTop:$(target).offset().top-navbar_offset},600,function(){$('body').removeClass('scrolling');});}} +function fixScrollspy(){let $body=$('body');let data=$body.data('bs.scrollspy');if(data){data._config.offset=navbar_offset;$body.data('bs.scrollspy',data);$body.scrollspy('refresh');}} +window.addEventListener("hashchange",scrollToAnchor);$('#navbar-main li.nav-item a.nav-link').on('click',function(event){let hash=this.hash;if(hash&&$(hash).length&&($("#homepage").length>0)){event.preventDefault();$('html, body').animate({scrollTop:$(hash).offset().top-navbar_offset},800);}});$('#back_to_top').on('click',function(event){event.preventDefault();$('html, body').animate({'scrollTop':0},800,function(){window.location.hash="";});});$(document).on('click','.navbar-collapse.show',function(e){let targetElement=$(e.target).is('a')?$(e.target):$(e.target).parent();if(targetElement.is('a')&&targetElement.attr('class')!='dropdown-toggle'){$(this).collapse('hide');}});let $grid_pubs=$('#container-publications');$grid_pubs.isotope({itemSelector:'.isotope-item',percentPosition:true,masonry:{columnWidth:'.grid-sizer'}});let pubFilters={};function concatValues(obj){let value='';for(let prop in obj){value+=obj[prop];} +return value;} +$('.pub-filters').on('change',function(){let $this=$(this);let filterGroup=$this[0].getAttribute('data-filter-group');pubFilters[filterGroup]=this.value;let filterValues=concatValues(pubFilters);$grid_pubs.isotope({filter:filterValues});if(filterGroup=="pubtype"){let url=$(this).val();if(url.substr(0,9)=='.pubtype-'){window.location.hash=url.substr(9);}else{window.location.hash='';}}});function filter_publications(){let urlHash=window.location.hash.replace('#','');let filterValue='*';if(urlHash!=''&&!isNaN(urlHash)){filterValue='.pubtype-'+urlHash;} +let filterGroup='pubtype';pubFilters[filterGroup]=filterValue;let filterValues=concatValues(pubFilters);$grid_pubs.isotope({filter:filterValues});$('.pubtype-select').val(filterValue);} +function initMap(){if($('#map').length){let map_provider=$('#map-provider').val();let lat=$('#map-lat').val();let lng=$('#map-lng').val();let zoom=parseInt($('#map-zoom').val());let address=$('#map-dir').val();let api_key=$('#map-api-key').val();if(map_provider==1){let map=new GMaps({div:'#map',lat:lat,lng:lng,zoom:zoom,zoomControl:true,zoomControlOpt:{style:'SMALL',position:'TOP_LEFT'},panControl:false,streetViewControl:false,mapTypeControl:false,overviewMapControl:false,scrollwheel:true,draggable:true});map.addMarker({lat:lat,lng:lng,click:function(e){let url='https://www.google.com/maps/place/'+encodeURIComponent(address)+'/@'+lat+','+lng+'/';window.open(url,'_blank')},title:address})}else{let map=new L.map('map').setView([lat,lng],zoom);if(map_provider==3&&api_key.length){L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token={accessToken}',{attribution:'Map data © OpenStreetMap contributors, CC-BY-SA, Imagery © Mapbox',maxZoom:18,id:'mapbox.streets',accessToken:api_key}).addTo(map);}else{L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',{maxZoom:19,attribution:'© OpenStreetMap'}).addTo(map);} +let marker=L.marker([lat,lng]).addTo(map);let url=lat+','+lng+'#map='+zoom+'/'+lat+'/'+lng+'&layers=N';marker.bindPopup(address+'

Routing via OpenStreetMap

');}}} +function printLatestRelease(selector,repo){$.getJSON('https://api.github.com/repos/'+repo+'/tags').done(function(json){let release=json[0];$(selector).append(release.name);}).fail(function(jqxhr,textStatus,error){let err=textStatus+", "+error;console.log("Request Failed: "+err);});} +function toggleSearchDialog(){if($('body').hasClass('searching')){$('[id=search-query]').blur();$('body').removeClass('searching');}else{$('body').addClass('searching');$('.search-results').css({opacity:0,visibility:'visible'}).animate({opacity:1},200);$('#search-query').focus();}} +function toggleDarkMode(){if($('body').hasClass('dark')){$('body').css({opacity:0,visibility:'visible'}).animate({opacity:1},500);$('body').removeClass('dark');$('.js-dark-toggle i').removeClass('fa-sun');$('.js-dark-toggle i').addClass('fa-moon');localStorage.setItem('dark_mode','0');}else{$('body').css({opacity:0,visibility:'visible'}).animate({opacity:1},500);$('body').addClass('dark');$('.js-dark-toggle i').removeClass('fa-moon');$('.js-dark-toggle i').addClass('fa-sun');localStorage.setItem('dark_mode','1');}} +$(document).ready(function(){let default_mode=0;if($('body').hasClass('dark')){default_mode=1;} +let dark_mode=parseInt(localStorage.getItem('dark_mode')||default_mode);if(dark_mode){$('body').addClass('dark');$('.js-dark-toggle i').removeClass('fa-moon');$('.js-dark-toggle i').addClass('fa-sun');}else{$('body').removeClass('dark');$('.js-dark-toggle i').removeClass('fa-sun');$('.js-dark-toggle i').addClass('fa-moon');}});$(window).on('load',function(){if(window.location.hash){if(window.location.hash=="#top"){window.location.hash=""}else if(!$('.projects-container').length){scrollToAnchor();}} +let $body=$('body');$body.scrollspy({offset:navbar_offset});let resizeTimer;$(window).resize(function(){clearTimeout(resizeTimer);resizeTimer=setTimeout(fixScrollspy,200);});$('.projects-container').each(function(index,container){let $container=$(container);let $section=$container.closest('section');let layout='masonry';if($section.find('.isotope').hasClass('js-layout-row')){layout='fitRows';} +$container.imagesLoaded(function(){$container.isotope({itemSelector:'.isotope-item',layoutMode:layout,filter:$section.find('.default-project-filter').text()});$section.find('.project-filters a').click(function(){let selector=$(this).attr('data-filter');$container.isotope({filter:selector});$(this).removeClass('active').addClass('active').siblings().removeClass('active all');return false;});if(window.location.hash){scrollToAnchor();}});});if($('.pub-filters-select')){filter_publications();} +$('.js-cite-modal').click(function(e){e.preventDefault();let filename=$(this).attr('data-filename');let modal=$('#modal');modal.find('.modal-body code').load(filename,function(response,status,xhr){if(status=='error'){let msg="Error: ";$('#modal-error').html(msg+xhr.status+" "+xhr.statusText);}else{$('.js-download-cite').attr('href',filename);}});modal.modal('show');});$('.js-copy-cite').click(function(e){e.preventDefault();let range=document.createRange();let code_node=document.querySelector('#modal .modal-body');range.selectNode(code_node);window.getSelection().addRange(range);try{document.execCommand('copy');}catch(e){console.log('Error: citation copy failed.');} +window.getSelection().removeRange(range);});initMap();$('#TableOfContents > ul > li > ul').unwrap().unwrap();if($('#academic-release').length>0) +printLatestRelease('#academic-release',$('#academic-release').data('repo'));$('.js-search').click(function(e){e.preventDefault();toggleSearchDialog();});$(document).on('keydown',function(e){if(e.which==27){if($('body').hasClass('searching')){toggleSearchDialog();}}else if(e.which==191){e.preventDefault();toggleSearchDialog();}});$('.js-dark-toggle').click(function(e){e.preventDefault();toggleDarkMode();});});})(jQuery);let fuseOptions={shouldSort:true,includeMatches:true,tokenize:true,threshold:0.0,location:0,distance:100,maxPatternLength:32,minMatchCharLength:2,keys:[{name:'title',weight:0.8},{name:'summary',weight:0.6},{name:'content',weight:0.5},{name:'tags',weight:0.3}]};let summaryLength=60;function getSearchQuery(name){return decodeURIComponent((location.search.split(name+'=')[1]||'').split('&')[0]).replace(/\+/g,' ');} +function updateURL(url){if(history.pushState){window.history.pushState({path:url},'',url);}} +function initSearch(force,fuse){let query=$("#search-query").val();if(query.length<1){$('#search-hits').empty();} +if(!force&&query.length0){$('#search-hits').append('

'+results.length+' '+i18n.results+'

');parseResults(query,results);}else{$('#search-hits').append('
'+i18n.no_results+'
');}} +function parseResults(query,results){$.each(results,function(key,value){let content=value.item.content;let snippet="";let snippetHighlights=[];if(fuseOptions.tokenize){snippetHighlights.push(query);}else{$.each(value.matches,function(matchKey,matchValue){if(matchValue.key=="content"){let start=(matchValue.indices[0][0]-summaryLength>0)?matchValue.indices[0][0]-summaryLength:0;let end=(matchValue.indices[0][1]+summaryLength0)){event.preventDefault();$('html, body').animate({scrollTop:$(hash).offset().top-navbar_offset},800);}});$('#back_to_top').on('click',function(event){event.preventDefault();$('html, body').animate({'scrollTop':0},800,function(){window.location.hash="";});});$(document).on('click','.navbar-collapse.show',function(e){let targetElement=$(e.target).is('a')?$(e.target):$(e.target).parent();if(targetElement.is('a')&&targetElement.attr('class')!='dropdown-toggle'){$(this).collapse('hide');}});let $grid_pubs=$('#container-publications');$grid_pubs.isotope({itemSelector:'.isotope-item',percentPosition:true,masonry:{columnWidth:'.grid-sizer'}});let pubFilters={};function concatValues(obj){let value='';for(let prop in obj){value+=obj[prop];} +return value;} +$('.pub-filters').on('change',function(){let $this=$(this);let filterGroup=$this[0].getAttribute('data-filter-group');pubFilters[filterGroup]=this.value;let filterValues=concatValues(pubFilters);$grid_pubs.isotope({filter:filterValues});if(filterGroup=="pubtype"){let url=$(this).val();if(url.substr(0,9)=='.pubtype-'){window.location.hash=url.substr(9);}else{window.location.hash='';}}});function filter_publications(){let urlHash=window.location.hash.replace('#','');let filterValue='*';if(urlHash!=''&&!isNaN(urlHash)){filterValue='.pubtype-'+urlHash;} +let filterGroup='pubtype';pubFilters[filterGroup]=filterValue;let filterValues=concatValues(pubFilters);$grid_pubs.isotope({filter:filterValues});$('.pubtype-select').val(filterValue);} +function initMap(){if($('#map').length){let map_provider=$('#map-provider').val();let lat=$('#map-lat').val();let lng=$('#map-lng').val();let zoom=parseInt($('#map-zoom').val());let address=$('#map-dir').val();let api_key=$('#map-api-key').val();if(map_provider==1){let map=new GMaps({div:'#map',lat:lat,lng:lng,zoom:zoom,zoomControl:true,zoomControlOpt:{style:'SMALL',position:'TOP_LEFT'},panControl:false,streetViewControl:false,mapTypeControl:false,overviewMapControl:false,scrollwheel:true,draggable:true});map.addMarker({lat:lat,lng:lng,click:function(e){let url='https://www.google.com/maps/place/'+encodeURIComponent(address)+'/@'+lat+','+lng+'/';window.open(url,'_blank')},title:address})}else{let map=new L.map('map').setView([lat,lng],zoom);if(map_provider==3&&api_key.length){L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token={accessToken}',{attribution:'Map data © OpenStreetMap contributors, CC-BY-SA, Imagery © Mapbox',maxZoom:18,id:'mapbox.streets',accessToken:api_key}).addTo(map);}else{L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',{maxZoom:19,attribution:'© OpenStreetMap'}).addTo(map);} +let marker=L.marker([lat,lng]).addTo(map);let url=lat+','+lng+'#map='+zoom+'/'+lat+'/'+lng+'&layers=N';marker.bindPopup(address+'

Routing via OpenStreetMap

');}}} +function printLatestRelease(selector,repo){$.getJSON('https://api.github.com/repos/'+repo+'/tags').done(function(json){let release=json[0];$(selector).append(release.name);}).fail(function(jqxhr,textStatus,error){let err=textStatus+", "+error;console.log("Request Failed: "+err);});} +function toggleSearchDialog(){if($('body').hasClass('searching')){$('[id=search-query]').blur();$('body').removeClass('searching');}else{$('body').addClass('searching');$('.search-results').css({opacity:0,visibility:'visible'}).animate({opacity:1},200);$('#search-query').focus();}} +function toggleDarkMode(){if($('body').hasClass('dark')){$('body').css({opacity:0,visibility:'visible'}).animate({opacity:1},500);$('body').removeClass('dark');$('.js-dark-toggle i').removeClass('fa-sun');$('.js-dark-toggle i').addClass('fa-moon');localStorage.setItem('dark_mode','0');}else{$('body').css({opacity:0,visibility:'visible'}).animate({opacity:1},500);$('body').addClass('dark');$('.js-dark-toggle i').removeClass('fa-moon');$('.js-dark-toggle i').addClass('fa-sun');localStorage.setItem('dark_mode','1');}} +$(document).ready(function(){let default_mode=0;if($('body').hasClass('dark')){default_mode=1;} +let dark_mode=parseInt(localStorage.getItem('dark_mode')||default_mode);if(dark_mode){$('body').addClass('dark');$('.js-dark-toggle i').removeClass('fa-moon');$('.js-dark-toggle i').addClass('fa-sun');}else{$('body').removeClass('dark');$('.js-dark-toggle i').removeClass('fa-sun');$('.js-dark-toggle i').addClass('fa-moon');}});$(window).on('load',function(){if(window.location.hash){if(window.location.hash=="#top"){window.location.hash=""}else if(!$('.projects-container').length){scrollToAnchor();}} +let $body=$('body');$body.scrollspy({offset:navbar_offset});let resizeTimer;$(window).resize(function(){clearTimeout(resizeTimer);resizeTimer=setTimeout(fixScrollspy,200);});$('.projects-container').each(function(index,container){let $container=$(container);let $section=$container.closest('section');let layout='masonry';if($section.find('.isotope').hasClass('js-layout-row')){layout='fitRows';} +$container.imagesLoaded(function(){$container.isotope({itemSelector:'.isotope-item',layoutMode:layout,filter:$section.find('.default-project-filter').text()});$section.find('.project-filters a').click(function(){let selector=$(this).attr('data-filter');$container.isotope({filter:selector});$(this).removeClass('active').addClass('active').siblings().removeClass('active all');return false;});if(window.location.hash){scrollToAnchor();}});});if($('.pub-filters-select')){filter_publications();} +$('.js-cite-modal').click(function(e){e.preventDefault();let filename=$(this).attr('data-filename');let modal=$('#modal');modal.find('.modal-body code').load(filename,function(response,status,xhr){if(status=='error'){let msg="Error: ";$('#modal-error').html(msg+xhr.status+" "+xhr.statusText);}else{$('.js-download-cite').attr('href',filename);}});modal.modal('show');});$('.js-copy-cite').click(function(e){e.preventDefault();let range=document.createRange();let code_node=document.querySelector('#modal .modal-body');range.selectNode(code_node);window.getSelection().addRange(range);try{document.execCommand('copy');}catch(e){console.log('Error: citation copy failed.');} +window.getSelection().removeRange(range);});initMap();$('#TableOfContents > ul > li > ul').unwrap().unwrap();if($('#academic-release').length>0) +printLatestRelease('#academic-release',$('#academic-release').data('repo'));$('.js-search').click(function(e){e.preventDefault();toggleSearchDialog();});$(document).on('keydown',function(e){if(e.which==27){if($('body').hasClass('searching')){toggleSearchDialog();}}else if(e.which==191){e.preventDefault();toggleSearchDialog();}});$('.js-dark-toggle').click(function(e){e.preventDefault();toggleDarkMode();});});})(jQuery);let fuseOptions={shouldSort:true,includeMatches:true,tokenize:true,threshold:0.0,location:0,distance:100,maxPatternLength:32,minMatchCharLength:2,keys:[{name:'title',weight:0.8},{name:'summary',weight:0.6},{name:'content',weight:0.5},{name:'tags',weight:0.3}]};let summaryLength=60;function getSearchQuery(name){return decodeURIComponent((location.search.split(name+'=')[1]||'').split('&')[0]).replace(/\+/g,' ');} +function updateURL(url){if(history.pushState){window.history.pushState({path:url},'',url);}} +function initSearch(force,fuse){let query=$("#search-query").val();if(query.length<1){$('#search-hits').empty();} +if(!force&&query.length0){$('#search-hits').append('

'+results.length+' '+i18n.results+'

');parseResults(query,results);}else{$('#search-hits').append('
'+i18n.no_results+'
');}} +function parseResults(query,results){$.each(results,function(key,value){let content=value.item.content;let snippet="";let snippetHighlights=[];if(fuseOptions.tokenize){snippetHighlights.push(query);}else{$.each(value.matches,function(matchKey,matchValue){if(matchValue.key=="content"){let start=(matchValue.indices[0][0]-summaryLength>0)?matchValue.indices[0][0]-summaryLength:0;let end=(matchValue.indices[0][1]+summaryLength code { - color: #f8f8f2; -} - -/*** Sidebar / Header ***/ - -.sidebar, .content { - margin: 1em; - font-family: 'Noto Sans', sans-serif; -} - -.sidebar h1 { - font-size: 24px; - line-height: 32px; - font-family: 'Noto Sans', sans-serif; -} - -.sidebar h1 span { - color: #7BB7FE; -} - -.sidebar #stack { - display: none; -} - -.sidebar nav ul { - list-style: none; - margin-left: 0; -} - -.sidebar nav ul li { - display: inline-block; -} - -.sidebar nav ul li::before { - content: "• "; -} - -.sidebar nav ul li:first-child:before { - content: none; -} - -@media (min-width: 48em) { - .sidebar, .content { - max-width: 48em; - margin: 1em auto; - } - - .sidebar h1 { - font-size: 48px; - line-height: 64px; - } -} - -/*** Content / Post ***/ - -.content h1.title, -h1.list-title { - font-size: 24px; - line-height: 28px; - margin-bottom: 15px; -} - -.content p.post-date { - font-style: italic; -} - -.content h2, .content h3, .content h4, .content h5, .content h6 { - font-size: 18px; - line-height: 21px; - margin-bottom: 15px; -} - -.post p { - text-align: justify; -} - -.posts h2 a { - color: #252827; -} - -/*** HTML Elements ***/ - -p, -ul, -ol, -pre, -blockquote { - margin-bottom: 15px; -} - -ul { - list-style-type: square; - margin-left: 27px; -} - -ol { - list-style: decimal; - margin-left: 27px; -} - -small { - font-size: 12px; -} - -h1 { - font-weight: 700; -} - -h2 { - font-weight: 700; -} - -h3 { - font-weight: 700; -} - -h4 { - font-weight: 700; -} - -h5 { - font-weight: 700; -} - -strong { - font-weight: 900; -} - -em { - font-style: italic; -} - -blockquote { - display: block; - margin-left: 27px; - padding-left: 13px; - border-left: 3px solid #226FCB; -} - -hr { - border: none; - border-bottom: 1px solid #BCBCBC; - margin-bottom: 1em; -} - - -/*** Recommended ***/ - -span.recommended { - font-size: 0.8em; - background-color: #FF9900; - border-radius: 0.5em; - padding: 0 0.5em; -} - -nav li span.recommended { - background-color: rgba(255, 153, 0, 0.62); -} - - -/*** Keyboard keys ***/ - -kbd { - padding: 2px 4px; - font-size: 90%; - color: #fff; - background-color: #424242; - border-radius: 3px; - -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); - box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); -} - -kbd kbd { - padding: 0; - font-size: 100%; - font-weight: 700; - -webkit-box-shadow: none; - box-shadow: none; -} - - -/*** Image zoom ***/ - -article img { - max-width: 100%; - margin: 0 auto; - display: block; - cursor: pointer; - border: none; -} - - -article img.zoomed { - position: fixed; - top: 5vh; - bottom: 5vh; - left: 5vw; - right: 5vw; - max-width: 90vw; - max-height: 90vh; - margin: auto; - border: 8px solid #000 -} - - -img.img-right { - margin: 0 2em; - width: 33%; - float: right; -} - - -/*** About box below post ***/ - -.about { - border-top: 1px solid #B3B3B3; - padding-top: 15px; -} - -/*** Footer ***/ - -.footer { - border-top: 1px solid #B3B3B3; - padding-top: 15px; - font-size: 13px; - text-align: center; -} - -.footer #crypto-donations { - font-size: 11px; -} - -@media (min-width: 48em) { - .footer { - font-size: 15px; - } - - .footer #crypto-donations { - font-size: 13px; - } -} - -/*** Video ***/ - -.video-player { - position: relative; - padding-bottom: 56.25%; - padding-top: 30px; - height: 0; - overflow: hidden; - margin-bottom: 30px; -} - - -/*** Alert ***/ - -.alert { - background-color: #ffc; - padding: 13px; - margin-bottom: 27px; - font-family: "Nota Sans", sans-serif; - box-shadow: 0px 0px 2px 0px rgba(171, 171, 171, 0.55); -} diff --git a/themes/academic b/themes/academic new file mode 160000 index 0000000..37cb622 --- /dev/null +++ b/themes/academic @@ -0,0 +1 @@ +Subproject commit 37cb6220feccb10d27d3bb89cf4d74013f5cfdd5