#!/usr/bin/perl @UPDATES=map [split(/ +/,$_,3)], split /\n/, <<_; 2019-02-04 /ncdu ncdu 1.14 released 2018-02-23 /nginx-confgen nginx-confgen 1.2 released 2018-02-18 /tuwf TUWF 1.2 released 2018-01-29 /ncdu ncdu 1.13 released 2018-01-24 /nginx-confgen nginx-confgen 1.1 released 2018-01-19 /nginx-confgen New project: nginx-confgen 2017-05-28 /doc/funcweb New article: An Opinionated Survey of Functional Web Development 2016-12-30 /ncdc ncdc 1.20 released 2016-08-24 /ncdu ncdu 1.12 released 2016-08-16 /dump/btrfssize Uploaded btrfs-size.pl 2015-09-27 /tuwf TUWF 1.0 released 2015-04-05 /ncdu ncdu 1.11 released 2014-07-29 /doc/easyipc New article: The Sorry State of Convenient IPC 2014-06-25 /doc Uploaded my masters thesis 2014-04-23 /ncdc ncdc 1.19.1 released 2014-02-11 /ncdc ncdc 1.19 released 2014-01-09 /doc/dcstats Uploaded an article on DC file list stats 2013-11-14 /yxml/man yxml now has a manual 2013-10-05 /ncdc ncdc 1.18.1 released 2013-09-25 /ncdc ncdc 1.18 released 2013-09-03 /yxml Announcing yxml: A small, fast and correct XML parser 2013-07-05 /dump/insbench Documented a little data structure benchmark 2013-06-15 /ncdc ncdc 1.17 released 2013-05-09 /ncdu ncdu 1.10 released 2013-04-04 /ylib Created a page for Ylib 2013-04-03 /ncdc Created a mailing list for ncdc 2013-03-23 /ncdc ncdc 1.16.1 released. 2013-03-02 /ncdc ncdc 1.15 released. 2012-12-15 /globster Announcing yet another awesome project: Globster! 2012-12-02 /ncdu/jsonfmt Documented the ncdu export file format 2012-11-04 /ncdc ncdc 1.14 released 2012-10-17 /dump Added reference to my repo of small C libs to the code dump 2012-10-07 /dump#maildir.pl Added maildir.pl to the code dump 2012-09-27 /ncdu ncdu 1.9 released. 2012-09-25 /dump#dbusev.c Added dbusev.c to the code dump 2012-08-16 /ncdc ncdc 1.13 released. 2012-07-10 /ncdc ncdc 1.12 released. 2012-05-15 /ncdc ncdc 1.11 released. 2012-05-03 /ncdc/install Added installation instructions for ncdc. 2012-05-03 /ncdc ncdc 1.10 released. 2012-04-10 / Minor site re-style: ncdu/ncdc/tuwf now have their own menu. 2012-03-30 /dump Updated ncdc-share-report for Go 1 2012-03-24 /ncdu/bug Moved ncdu bug tracker from sourceforge to this site 2012-03-17 /ncdc/bug Wrote a small bug tracker for ncdc 2012-03-14 /ncdc ncdc 1.9 released. 2012-02-15 /doc/commvis Added an article on my new communication system. 2012-02-13 /ncdc ncdc 1.8 released. 2012-01-19 /tuwf TUWF 0.2 released. 2012-01-17 / Complete site redesign. 2011-12-30 /ncdc ncdc 1.7 released! 2011-12-07 /ncdc ncdc 1.6 released! 2011-11-26 /doc Added article section and the article on SQLite. 2011-11-03 /ncdu ncdu 1.8 released! 2011-11-03 /ncdc ncdc 1.5 released! 2011-10-26 /ncdc ncdc 1.4 released! 2011-10-19 / PGP-signed all releases of ncdu, ncdc and TUWF. 2011-10-14 /ncdc ncdc 1.3 released! 2011-09-25 /ncdc ncdc 1.1 released - follwed by a 1.2 quickfix. 2011-09-16 /ncdc ncdc 1.0 released! 2011-09-15 /ncdc/scr Added some screenshots for ncdu. 2011-09-03 /ncdc ncdc 0.9 released! 2011-08-26 /ncdc ncdc 0.8 released! 2011-08-17 /ncdc ncdc 0.7 released! 2011-08-08 /ncdc ncdc 0.6 released & user guide updated 2011-08-02 /ncdc ncdc 0.5 released! 2011-07-23 /ncdc ncdc 0.4 released! 2011-07-15 /ncdc ncdc 0.3 released! 2011-06-27 /ncdc ncdc 0.2 released! 2011-06-20 /ncdc ncdc 0.1 released! And wrote a user guide for it. 2011-06-11 /dump/nccolour Added NCurses colour experiment 2011-06-03 /ncdc Added my latest project: ncdc 2011-02-07 /tuwf TUWF 0.1 released and now also available on CPAN 2011-01-27 /tuwf Documented and uploaded one of my older projects: TUWF 2011-01-09 /dump Added my json.mll OCaml library to code dump 2010-08-13 /ncdu ncdu 1.7 released! 2009-12-22 /dump Added vinfo.c script to code dump 2009-10-23 /ncdu ncdu 1.6 released! 2009-09-21 / Tiny CSS fix to make this site look good in certain configurations. 2009-05-02 /ncdu ncdu 1.5 released! 2009-04-30 / Site redesign and reorganisation. _ sub home { print "% Yorhel's Projects\n\n"; print "This site is an attempt to publish and organise my various open source programs and libraries on one central location.\n\n"; print qq{## Changes Atom feed\n\n}; for (@UPDATES) { printf "- `%s` - [%s](%s)\n", @{$_}[0,2,1]; } } use TUWF::XML ':xml'; use POSIX 'strftime'; sub atom { $sub = shift; $self = 'https://dev.yorhel.nl/' . ($sub ? "$sub/" : ''). 'feed.atom'; TUWF::XML->new(default => 1, pretty => 2); xml; tag feed => xmlns => 'http://www.w3.org/2005/Atom', 'xml:lang' => 'en', 'xml:base' => 'https://dev.yorhel.nl/', sub { tag title => $sub ? "\u$sub Project Announcements" : "Yorhel's Projects"; tag updated => strftime('%Y-%m-%dT%H:%M:%SZ', gmtime time); tag id => $self; tag link => rel => 'self', type => 'application/atom+xml', href => $self, undef; tag link => rel => 'alternate', type => 'text/html', href => 'https://dev.yorhel.nl/'.$sub, undef; for(@UPDATES) { next if $sub && (!$_->[1] || $_->[1] !~ /^\/\Q$sub/); last if $n++ >= 10; tag 'entry', sub { tag id => "https://dev.yorhel.nl$_->[1]#$_->[0]"; tag title => $_->[2]; tag updated => $_->[0].'T12:00:00Z'; tag published => $_->[0].'T12:00:00Z'; tag 'author', sub { tag name => 'Yoran Heling'; tag uri => 'https://dev.yorhel.nl/'; tag email => 'projects@yorhel.nl'; }; tag link => rel => 'alternate', type => 'text/html', href => "https://dev.yorhel.nl$_->[1]", undef; }; } } } $_ = shift; home if $_ eq 'dat/index.md'; atom $1 if m{pub/(?:([^/]+)/)?feed.atom};