Category: Paretje's blog

Switch to nanoc

Yesterday, after my exam, I finally finished the transition of my blog to nanoc. I'm very happy to have a statically generated blog, instead of WordPress, in which I need to invest more time to keep it secure then I actually write posts.

And, as you see, this blog is transitioning to English now. I'm not quite sure how I'll kind of separate the old Dutch part from the English, but we'll see. It's not that important now.

With wp2nanoc, I imported my old WordPress posts. I needed to do some changes however, as the options with an argument don't work. I didn't want the conversion however, so I deleted it manually. The id's didn't work either, but I fixed it.

Those post don't suffice, however, as most of then are bbcode. I'm using pandoc for Markdown, but pandoc doesn't support bbcode. I found however this post which does the trick:

require 'rubygems'
require 'bb-ruby'

class BbcodeFilter < Nanoc3::Filter
  identifier :bbcode

  def run(content, args)
    content.bbcode_to_html
  end

end

This however, doesn't suffice, as some other tags have been used in the past. I'm not sure however what I'm going to do about code blocks, as pandoc does clearly a much better job.

Another thing I definitely wanted was pagination. I found the code of this blog, which has helped me tremendously. I did however some optimisations. For example, I do use pagination on categories,too.

module PaginationHelper
  def generate_pages(articles, title, base_url='')
    articles_to_paginate = articles
    pages = (articles.size - 1) / @config[:page_size] + 1
    article_groups = []
    until articles_to_paginate.empty?
      article_groups << articles_to_paginate.slice!(0..@config[:page_size]-1)
    end
    article_groups.each_with_index do |subarticles, i|
      items << Nanoc::Item.new("<%= render 'page', :pages => #{pages}, :page => #{i + 1}, :base_url => \"#{base_url}\" %>", {
        :title => title,
        :created_at => DateTime.now,
        :articles => subarticles
      }, link_for_page(i + 1, base_url))
    end
  end

  def link_for_page(page, base_url='')
    page == 1 ? base_url + '/' : "#{base_url}/page/#{page}"
  end
end

VPS

Afgelopen week is er heel wat gebeurt ... Al een tijdje was de boot-partitie van mijn Raspberry Pi read-only, wat eigenlijk geen problemen gaf, tot de nieuwe versie van de firmware een extra pakket nodig had, en zo de updates van andere pakketten tegenhield. Daarom heb ik de partitie geremount met rw. En dit leek te werken ... tot de root partitie tijdens het installeren van de updates ro werd.

Uiteindelijk bleek de SD kaart bad sector(en) te hebben. Nieuwe SD kaart met verse installatie zou me 25 euro excl. btw kosten. Aangezien ik al een tijdje af wou van mijn veel te ruime hosting abonnement, leek dit wel een heel goede gelegenheid om een VPS te gaan gebruiken op het cloud systeem van PCextreme. Ik gebruik hierbij een Agile instantie, die eigenlijk gewoon een vrij traditionele VPS is, zonder replication en dergelijke.

Uiteindelijk heb ik de VPS geïnstalleerd en de backups teruggeplaatst, intussen werd ook het certificaat van de blog vernieuwd. Intussen is het blog volledig gehost op de VPS, wat de website een pak sneller maakte. Ik dacht immers dat het vooral de rpi was die het zo traag maakte, maar na de overstap op de VPS zag ik dat de blog gewoon zo lang nodig had om te renderen. Intussen heb ik ook de community fora van de Game Section gemigreerd naar de VPS, meet https, uiteraard.

Het is dus de bedoeling alles over te zetten voor het einde van het jaar, wanneer mijn abonnement ten einde loopt. Ik heb voor dit alles trouwens geen gebruik gemaakt van de Apache en MySQL, maar van nginx en MariaDB. nginx om de simpele reden dat ik hier zeer tevreden over was bij mijn rpi, en ik met name de config sneller is. Over snelheid zal ik me niet uitspreken. MariaDB tov MySQL lijkt me logisch, aangezien MariaDB de GPL-only fork is uit de community, en actieve ontwikkeling kent, terwijl MySQL relatief dood lijkt. Blijkbaar zijn ook de meeste grote tech-bedrijven die MySQL gebruikten overgestapt naar MariaDB, dus ...

Daarnaast heb ik ook een aantal wijzigingen doorgevoerd aan dit blog, en zo is dit de eerste post die geformatteerd werd met markdown, ipv bbcode. De oude posts blijven echter zonder problemen werken met bbcode, dankzij een kleine wijziging aan de Markdown-plugin.

Ik denk er ook sterk over na om de Urbanus-website niet meer als afzonderlijke entiteit te hebben, maar in pagina's op het blog te stoppen, die dan ook onder een nieuw domein zou komen. Dit zou handiger zijn dan het huidige systeem dat afhangt van MyBB, en dat ik natuurlijk zelf up-to-date moet houden. Daarnaast kan ik dan ook wel eens beginnen nadenken over het nut van het forum. Mogelijk zou, zeker vanuit veiligheidsperspectief, het forum verdwijnen, met wel een HTML-versie van het forum. De wiki van de Game Section zou wel eens een gecompileerde wiki kunnen worden. Dit blog wordt mogelijk dan toch Engelstalig.


technical

In het verleden deed ik steeds het volgende met technische termen, meer bepaald commando's, packages en paden:
[font=Courier][/font]

Nu, dat vereist wel dat Courier geïnstalleerd is, of dat er een alias voor bestaat. Verder is het nogal lang om steeds te typen, en schreef ik soms Courrier. Ik had dan ook al een tijdje de wens om dit te vereenvoudigen, en dat heb ik het typen van het vorige bericht beslist om te gaan doen. Ik heb de t-tag toegevoegd:
[t][/t]


Fonts

Eergisteren ben ik begonnen met het aanpassen van mijn stylesheets, en Verdana, die meestal geen alternatief had, te vervangen door sans-serif. Nu, toen ik vandaag dit ook wou doen op het forum en de site (blog en uploads waren reeds gebeurd) vroeg ik me af hoe men aan het Sans font komt onder Debian. Dit is een soort voorstelling van het standaard sans-serif font. Dit wordt geconfigureerd in /etc/fonts/conf.avail/60-latin.conf, waar in principe Bitstream Vera Sans als eerste staat, maar tegenwoordig wordt dit niet meer geïnstalleerd, en wordt dus de 2de in de rij gebruikt, DejaVu Sans, welke eigenlijk een doorontwikkeling is van de Bitstream font. Nu, dit is volledig conform mijn vermoedens.

Nu, de reden dat ik Verdana overal wou veranderen is gedeeltelijk uit principe, om de gebruiker de vrije keus te laten wat voor font te gebruiken, maar ook ingegeven door het feit dat ik al een tijdje, op Citrix voor Athena na (en het BIOS), alle non-free software verwijderd heb van mijn Eee PC, al was het niet veel, enkel unrar, flash en de MS fonts. Nu, de fontconfig op mijn Eee PC blijkt niet geüpdatet te zijn bij de upgrade naar Wheezy, want op mijn desktop wordt er automatisch een andere sans-serif gebruikt.

Nu, er zijn ook een aantal aliassen gemaakt in 30-metric-aliases.conf, maar niet voor Verdana. Nochtans, DejaVu Sans kan zeker als vervanger voor Verdana dienen, al gebeurt dit dus op zich automatisch, aangezien dat het standaard sans-serif font is. Echter, MyBB definieert bijvoorbeeld als alternatief voor Verdana Arial, die heeft wel een alias. Hierdoor bestaat Arial dus plots, en wordt "Arial" gebruikt. Nu, ik zou liever hebben dat dit netjes Verdana is, en dus moet ik de code, of toch zeker die van het MS font naar het vrije alternatief (het omgekeerde staat er ook in, maar is dus hier zeker niet nodig), kopiëren naar .fonts.conf in mijn home directory. Als ik die code dan aanpas voor het gewenste effect bekom ik het volgende:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
	<alias binding="same">
	  <family>Verdana</family>
	  <accept>
	  <family>DejaVu Sans</family>
	  </accept>
	</alias>
</fontconfig>

Nieuwe URL's

Omdat de nummers te veel verspringen, en dus weinig of niet op elkaar volgen (wanneer dat wel zou zijn, zou ik het waarschijnlijk zo gelaten hebben) en dus eigenlijk helemaal geen betekenis hebben, heb ik besloten voortaan de volgende structuur voor de URLS van de blogposts te gebruiken:
/%category%/%postname%/

21/04/2013, 02:16:
Zonet zag ik dat de oude URL's niet meer werken door deze wijziging, en dus wordt deze wijziging ongedaan gemaakt. Ik zal later eens kijken om beide URL's te gebruiken. Uiteindelijk, zolang er geen archive-categorie is, zou dat geen probleem mogen zijn.


Terug?

Het is al een hele tijd geleden dat ik hier nog eens een nieuw artikel heb toegevoegd, en dat is nochtans niet omdat ik geen stof had voor schrijven, maar heb deze zomer nooit geen tijd gehad om de artikels die voortvloeiden uit de examenperiode in juni effectief uit te werken en te "redden" voor het nageslacht, en vooral voor mezelf :P

Ik zal vandaag een aantal posts toevoegen, waarvan enkele dus gaan over zaken uit een ver verleden en een vorig jaar. Maar, de info is wel nog up-to-date, of wordt gewoon meteen gecombineerd met de nodige extra informatie, met hoe dit geëvolueerd is tot de huidige situatie. Ik vind het belangrijk dit hier te posten, omdat je na een tijdje sms terug tegen hetzelfde probleem aanloopt, en het anders soms moeilijk is om de oplossing voor de geest te halen, en soms voor een stuk opnieuw de oplossing gezocht moet worden, weliswaar met een sneller resultaat vanwege het feit dat je nog wel een globaal beeld hebt, laar het is nog handiger gewoon alle details te hebben, en die eenvoudig te kunnen doorzoeken. En wie weet is er iemand anders nog mee gebaat?


Eclipse

30/03/2012
Ik heb denk ik vorige week eclipse van de repo verwijderd, aangezien eclipse terug in de standaard wheezy repo aanwezig is. Er was echter een pakketje achter gebleven, wat ik nu verwijderd heb. Verder heb ik eclipse-pydev willen toevoegen aan de repo, aangezien dit als een mogelijkheid werd aangegeven voor het scripten in Python tijdens de les Scriptingtalen. Dit heeft echter wat voeten in de aarde gehad, aangezien pydev al een tijdje enkel in sid aanwezig is, maar blijkbaar bijna geen enkele mirror het pakket effectief ook had. Per toeval klikte ik op een Aziatische repo, die als voorbeeldigste leerling van de klas naar voren kwam, en het pakket dus wel bevatte. Ik zal me er later wel in verdiepen in pydev.

Tijdens taak 2 voor Algoritmen en Datastructuren heb ik voor het eerst gebruik gemaakt van eclipse, en ik moet zeggen dat ik langzaam maar zeker hier de voorkeur aan geef boven Netbeans. Het heeft de interface natuurlijk als voordeel, wat gewoon GTK is, terwijl Netbeans de typische Java interface heeft. Verder had ik een iets comfortabeler gevoel bij het debuggen, en ben ik grote fan van het feit dat ze standaard tabs gebruiken (dat heeft in Netbeans heel wat moeite gekost om de oplossing te vinden, zie screenshot). Maar, ik was niet zo'n fan van de workspace aanvankelijk, maar heb nu door dat deze niet zo opdringerig als ik aanvankelijk dacht, al heb ik misschien toch nog een kleine voorkeur aan het systeem van losse projecten zoals in NetBeans, maar dat is zeker geen obstakel. Voor de laats puntjes zal ik nog wel eens in de opties verdiepen, zoals bijvoorbeeld een beperkte aanvulling van functies bij het indrukken van de tab zou handig zijn. Ik vraag me wel af waarom ze geen tango icoontjes gebruiken, maat soit.

Toch zal ik zeker niet altijd gebruik maken nu van eclipse, want op de computers in de computerzaal niet zo goed wekt, het blijft constant als je iets intypt hangen, wat het eigenlijk onmogelijk maakt om er mee te werken. Misschien is er wel ergens een plugin om netbeans projecten te gebruiken in eclipse, zodat ik thuis eventueel wel met eclipse kan werken. Hoef ik netbeans niet in de repo te stoppen voor mijn EeePC, want die zit niet standaard in de stable repo. Voordeel van Netbeans op mijn EeePC zou wel zijn dat het kleiner is in installatiegrootte. We zullen nog wel zien ;)

02/04/2012
Voila, ik ga deze tekst nu toch maar eens toevoegen. Is van voor de examens geleden. Ik was eventjes vergeten dat ik het zomeruur niet meer zelf moet aanpassen :P De categorie Computergebruik wordt bij deze wel "Unief", zodat ik niet steeds een andere categorie moet beginnen aanmaken ;)

05/04/2012, 15:31
Ik dacht er net aan dat ik de screenshot vergeten toevoegen was


WordPress 3.2.1

Ik heb zonet dit blog geupgradet naar WordPress 3.2.1. Nadat ik alles nog eens snel veilig gesteld heb, heb ik versie 3.0 en 3.2.1 gedownload, een lijst met gewijzigde bestanden en een patch file gemaakt:

diff -ruq "/home/kevin/Downloads/wordpress" "/home/kevin/Downloads/wordpress (2)" > wordpress3.0-3.2.1
diff -ru "/home/kevin/Downloads/wordpress" "/home/kevin/Downloads/wordpress (2)" > wordpress3.0-3.2.1.patch

Zo heb ik eerst alle wijzigingen doorgevoerd:
patch -p 5 < ../../wordpress3.0-3.2.1.patch > ../error

Daarna heb ik met behulp van ed een lijst met nieuwe bestanden gemaakt, nieuwe mappen en verwijderde bestanden/mappen gemaakt, en uitgevoerd. Nu hoef ik enkel nog 2 kleine zaken met de hand aan te passen. Ik zal de instellingen zometeen terug naar wens zetten, zodat ik kan zien of niet ingelogde gebruikers nog steeds kunnen posten, ondanks de instellingen.

25/11/2011, 20:57:
Waar ik niet op gelet had, de SPAM gebeurt per trackback (dus het zou dus toch werken?), en wordt dus met mijn gewenste instellingen ook gewoon doorgelaten, ik zal dus elke reactie goedkeuren.


Upgraden?

Ik heb na mijn lagere activiteit hier op dit blog nog steeds niet geüpdatet naar de laatste versie. En, ondanks het feit dat ik heb ingesteld op alleen geregistreerde gebruikers blijven ze toestromen. Ik zal eens moeten kijken om te upgraden, en anders een nieuw blog instellen, en de berichten migreren, aangezien ik ook al problemen heb met de pingbacks en dergelijke.


Wintertijd

Ik heb zonet de tijdzone aangepast, zoals ik iedere keer doe, en nu lette ik er op dat je ook gewoon Brussel kan selecteren. Waarschijnlijk dat dat indertijd nog niet het geval was, en anders heb ik toen gewoon scheel gekeken.

Verder zal ik ook een categorie Computergebruik starten waar ik zaken die ik ontdek met betrekking tot zaken direct gerelateerd aan het vak Computergebruik zal posten.