Latest entries
I haven't blogged for a long time, but I've decided that I'm going to try to write again, at least about technical stuff.
My plan was to blog about the projects I've been working on lately, the main one being the setup of the latest version of Kolab with the systems we already have at work, but I'll do that on the next days.
Today I'm just going to make a list of the tools I use on a daily basis and my plans to start using additional ones in the near future.
Shells, Terminals and Text Editors
I do almost all my work on Z Shell sessions running inside tmux; for terminal emulation I use gnome-terminal on X, VX ConnectBot on Android systems and iTerm2 on Mac OS X.
For text editing I've been using Vim for a long time (even on Mobile devices) and while I'm aware I don't know half of the things it can do, what I know is good enough for my day to day needs.
In the past I also used Emacs as a programming editor and my main tool to write HTML, SGML and XML, but since I haven't really needed an IDE for a long time and I mainly use Lightweight Markup Languages I haven't used it for a long time (I briefly tried to use Org mode, but for some reason I ended up leaving it).
Documentation formats and tools
Since a long time ago I've been an advocate of Lightweight Markup Languages; I started to use LaTeX and Lout, then moved to SGML/XML formats (LinuxDoc and DocBook) and finally moved to plain text based formats.
I started using Wiki formats (parsewiki) and soon moved to reStructuredText; I also use other markup languages like Markdown (for this blog, aka ikiwiki) and tried MultiMarkdown to replace reStructuredText for general use, but as I never liked Markdown syntax I didn't liked an extended version of it.
While I've been using ReStructuredText for a long time, I recently found
Asciidoctor and the Asciidoc format and I guess
I'll be using it instead of rst
whenever I can (I still need to try the
slide backends and conversions to ODT, but if that works I guess I'll write
all my new documents using Asciidoc).
Programming languages
I'm not a developer, but I read and patch a lot of free software code written on a lot of different programming languages (I wouldn't be able to write whole programs on most of them, but thanks to Stack Overflow I'm usually able to fix what I need).
Anyway, I'm able to program in some languages; I write a lot of shell scripts and I go for Python and C when I need something more complicated.
On the near future I plan to read about javascript programming and nodejs (I'll probably need it at work) and I already started looking at Haskell (I guess it was time to learn about functional programming and after reading about it, it looks like haskell is the way to go for me).
Version Control
For a long time I've been a Subversion user, at least for my own
projects, but seems that everything has moved to git now and I finally
started to use it (I even opened a github account) and plan to move
all my personal subversion
repositories at home and at work to git
,
including the move of all my debian packages from svn-buildpackage
to git-buildpackage.
Further Reading
With the previous plans in mind, I've started reading a couple of interesting books:
- Learn You a Haskell by Miran Lipovača (http://learnyouahaskell.com/)
- Pro Git written by Scott Chacon and Ben Straub (http://git-scm.com/book/en/v2)
Now I just need to get enough time to finish reading them ... ;)
Posted Sun 15 Feb 2015 10:24:41 CETThe last month I was supposed to work on a OpenStack related project, but for administrative reasons it has been delayed and I've tried to do small tasks to be able to finish them quickly and start the work on the main project when the issues get solved.
As the delay has been longer than expected last Wednesday I've realized than on the last weeks I did a lot of small system administration tasks:
- With a co-worker I started to work on a GNU/Linux version of our firewall based on Shorewall to handle the rules and conntrackd and keepalived to make it highly available (I had to stop my work on the Debian GNU/kFreeBSD based firewall a long time ago, and this summer the old firewalls' hardware started to fail, so a migration from Linux to Linux makes sense now, as it will be faster and a future migration will be simpler, as we will have a cleaner set of rules and better documentation),
- I installed and configured an instance of a web based File Exchange server (F*EX),
- I installed and configured an instance of a pastebin clone,
- I installed and configured an instance of ProFTPD that works only as a SFTP server using virtual users (without shell access),
- I also installed an instance of a web based event management system called indico that is being used to manage a conference and probably will be used for other events in the future,
- I installed and patched some plugins in our Trac servers,
- I tried a groupware system called SOGo that we will probable deploy in a week or two,
- And updated and fixed configurations of some other services,
With all the changes I did I noticed that I had to do something with our Intranet server; it is just a reverse proxy for a lot of different web services and its main page was one static HTML page with links to them, nothing else.
In the long term maybe we will replace it with something based on Drupal or Lifeay, but for now I just wanted something to be able to organize the links and provide some information about the services for the new users without having to write HTML (I really like Agile Documentation Tools that let me focus on the content and forget about the markup), and started to look at some of them.
My first idea was to use ikiwiki, as it has all the features I was looking for: I can use Markdown or reStructuredText to write the contents, the source pages are easily handled on a Version Control System, it supports the use of templates for the HTML, etc., but it seemed to me that using ikiwiki was like killing flies with a cannon (that's a Spanish say, I guess it's easy to understand it in English, ¿no?) and I decided to review other tools to build static web sites.
To make a long story short, I selected some tools that met my requirements and looked nice on their demo sites; after my first review I thought that Hyde was going to be my bet, as it uses technologies I'm already familiar with, but after trying it I saw that I was going to have a problem with documentation (the current Hyde version lacks it) and it was going to be more complicated that using ikiwiki.
Before giving up I decided to review simpler tools, just in case, and after looking some of them I ended up using poole, a simple python script (the source is just one file and it only requires python-markdown to work).
Before moving to the content I tried to adapt a couple of free themes to be used by the tool, but I didn't liked the result, so I went back to the plain style provided by the tool and added a logo and a background.
With that simple look and feel I started to work with the content, splitting it into eight markdown files and a python macro to include a file that has all the links used on the site.
While trying to make the main page look good I noticed how little I know about CSS, but using search engines I was able to build a two column block into the main page and publish the contents and with the help of some CSS enabled co-workers I changed the look and feel of the site in about 30 minutes.
In summary, if you want a really simple website, you know a little bit of python and don't want to spend much time learning how to use a website generator then Poole is a good option. If you want something more complex I still think that ikiwiki is a good option, but YMMV.
Posted Sat 01 Oct 2011 23:49:39 CESTIn this post I'll describe the changes made to the kernel and some of the Squeeze packages for the Freaky Wall.
The plan is to submit whishlist bugs to the BTS on the hope of having all what is needed for this project available on Debian after the Squeeze release, as my feeling is that a freeze is not the right time to push this changes... ;)
I'm giving access here to all the changes made to the source packages, but if anyone wants the binary packages (amd64 only) send me an email and I'll give you the URL of an apt repository that contains all the modified packages (it's the one at work, that contains other modified packages) or, if there is interest, I can put them on people.debian.org.
Kernel
To be able to build the firewall we need a kFreeBSD kernel with some options not compiled on the version distributed with Debian.
To compile the kernel I've followed the procedure described on the following debian-bsd mailing list post:
http://lists.debian.org/debian-bsd/2010/09/msg00023.html
Basically I've done the following:
apt-get build-dep kfreebsd-8
apt-get source kfreebsd-8
cd kfreebsd-8-8.1
cat >> debian/arch/amd64/amd64.config << EOF
# Add pflog, pfsync, ALTQ and CARP support
# ----------------------------------------
# http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/firewalls-pf.html
device pf
device pflog
device pfsync
options ALTQ
options ALTQ_CBQ # Class Bases Queuing (CBQ)
options ALTQ_RED # Random Early Detection (RED)
options ALTQ_RIO # RED In/Out
options ALTQ_HFSC # Hierarchical Packet Scheduler (HFSC)
options ALTQ_PRIQ # Priority Queuing (PRIQ)
options ALTQ_NOPCC # Required for SMP build
# http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/carp.html
device carp
EOF
vi debian/changelog
dpkg-buildpackage -B -uc
Once the package was built I installed the new kernel package and rebooted the machine.
Utilities
To be able to use some utilities related to pf
I have built patched
versions of three packages:
freebsd-utils
: I have includedpflogd
andftp-proxy
on the package and have added some options to allow the use of additional interface types withifconfig
(carp
,pfsync
,lagg
,bridges
, ...).There were a lot of changes needed:
The
pflogd
andftp-proxy
Makefiles are missing from the original tarball, I modified theget-orig-source
of thedebian/rules
, but I build my packages against the original tarball, with the extra files included directly on the package .diff.gz.The
pflogd
daemon needs a_pflogd
user and group and a/var/run/_pflogd
directory, so I've added the directory and the creation of the user and group to the package post-install.The
ftp-proxy
daemon uses theproxy
user when dropping privileges and I've modified the code to make it use the/var/run/ftp-proxy
directory for the chroot.Some C header files that are not available on
-dev
packages were missing and I put them on the packages' debian directory. I've created adebian/include
directory and moved there the originaldebian/net
directory and added the headersdebian/include/net/if_bridgevar.h
anddebian/include/net/if_lagg.h
to add bridging support toifconfig
and thedebian/include/pcap-config.h
anddebian/include/pcap-int.h
libpcap private headers to be able to compile thepflogd
binary.
As I'm not familiar with the way people changes code for kFreeBSD some of the patches are a little bit dirty, but at least things work; besides, probably I should also have had to include init.d scripts for
pf
,pflogd
andftp-proxy
, but I have not done it at the package level yet, as what I got was enough to work with the tools.The debdiff against the
freebsd-utils-8.1-2
source package is available here or here.libpcap
: A test had to be removed in order to be able to supportpflog
on the library; the debdiff against thelibpcap-1.1.1-2
package is available here or here.tcpdump
: The package also had to be modified to include the code to print thepflogd
entries on thepcap
file; the debdiff againsttcpdump_4.1.1-1
is available here or here.
On the next post I'll describe how I've configured the system, the network interfaces and the different utilities patched and compiled on this post.
Posted Tue 30 Nov 2010 22:48:47 CETList of all entries
Retooling
Posted Sun 15 Feb 2015 10:24:41 CET
Static website generators
Posted Sat 01 Oct 2011 23:49:39 CEST
The FreakyWall (Part 3: Packages)
Posted Tue 30 Nov 2010 22:48:47 CET
libpcap-1.1.1-2 to 2.1.patch
Posted Tue 30 Nov 2010 22:33:45 CET
tcpdump 4.1.1-1 to 1.1.patch
Posted Tue 30 Nov 2010 22:33:45 CET
freebsd-utils-8.1-2 to 2.4.patch
Posted Tue 30 Nov 2010 22:33:45 CET
The Freaky Wall (Part 2: Initial Installation)
Posted Wed 24 Nov 2010 21:47:39 CET
The Freaky Wall (Part 1: Why?)
Posted Mon 22 Nov 2010 22:21:34 CET
Debian Squeeze, PowerPC and the Linux Containers
Posted Tue 26 Oct 2010 13:17:59 CEST
Debian Signs @ DebConf 9
Posted Tue 28 Jul 2009 11:44:29 CEST
Free Software Summer
Posted Wed 17 Jun 2009 07:59:19 CEST
Encrypting a Debian GNU/Linux installation (take 3)
Posted Thu 26 Feb 2009 08:30:16 CET
Encrypting a Debian GNU/Linux installation (followup)
Posted Wed 25 Feb 2009 00:42:30 CET
Encrypting a Debian GNU/Linux installation on a MacBook
Posted Sun 22 Feb 2009 00:11:52 CET
My first nginx module
Posted Thu 18 Sep 2008 10:58:11 CEST
Hugo meets Marc
Posted Sat 23 Aug 2008 09:21:28 CEST
Marc
Posted Fri 22 Aug 2008 12:17:32 CEST
Summertime, change times
Posted Thu 14 Aug 2008 09:49:16 CEST
Redmine
Posted Sat 01 Mar 2008 09:59:45 CET
Tips & Tricks: plone, nginx and path rewriting
Posted Thu 28 Feb 2008 03:11:38 CET
Still Alive
Posted Mon 25 Feb 2008 21:38:42 CET
Lifestyle, Resignations and the Peter Principle
Posted Tue 07 Aug 2007 22:04:39 CEST
Pending sysadmin posts
Posted Fri 15 Jun 2007 00:55:32 CEST
DebConf 7 - sto 0
Posted Thu 14 Jun 2007 23:44:35 CEST
Four More Years of Bread and Circus
Posted Mon 28 May 2007 10:12:45 CEST
2nd gvSIG Conference
Posted Fri 24 Nov 2006 00:54:03 CET
Spammers
Posted Fri 11 Aug 2006 08:42:40 CEST
Moved to ikiwiki
Posted Wed 09 Aug 2006 22:51:54 CEST
Debian Tutorial @ the V Jornades de Programari Lliure
Posted Fri 30 Jun 2006 13:02:08 CEST
ikiwiki
Posted Mon 15 May 2006 11:25:00 CEST
Ridiculous
Posted Tue 09 May 2006 14:45:26 CEST
SoC and CDDT
Posted Thu 04 May 2006 20:10:36 CEST
Life goes on
Posted Thu 23 Mar 2006 23:28:06 CET
Life after the Public Administration
Posted Tue 28 Feb 2006 12:04:48 CET
Three days left at LliureX
Posted Fri 24 Feb 2006 00:40:22 CET
Shell Scripts Frontend Tool 0.9.2
Posted Sun 19 Feb 2006 21:15:21 CET
Shell Scripts Frontend Tool
Posted Tue 14 Feb 2006 21:50:54 CET
IICISL Slides
Posted Fri 10 Feb 2006 20:59:21 CET
II Open Source World Conference and the CDDT
Posted Sat 04 Feb 2006 00:07:45 CET
Tired and Burn Out
Posted Fri 03 Feb 2006 21:21:44 CET
La MaratOO'o 2.0.1
Posted Mon 28 Nov 2005 10:39:16 CET
Desktop Environments and Window Managers
Posted Tue 25 Oct 2005 15:02:15 CEST
The Power of Kabbalah
Posted Thu 13 Oct 2005 14:09:25 CEST
I Hate Hardware
Posted Wed 28 Sep 2005 19:52:19 CEST
LliureX Installer (Part 2)
Posted Sat 24 Sep 2005 01:25:56 CEST
LliureX Installer (Part 1)
Posted Tue 20 Sep 2005 12:19:53 CEST
zsh and baz
Posted Fri 19 Aug 2005 12:25:55 CEST
debian-installer and l10n
Posted Fri 05 Aug 2005 02:28:12 CEST
IV Jornades de Programari Lliure
Posted Sun 10 Jul 2005 00:22:09 CEST
Etch
Posted Tue 07 Jun 2005 10:04:47 CEST
Debian GNU/Linux 3.1 released
Posted Mon 06 Jun 2005 23:57:30 CEST
Comments re-enabled
Posted Sat 28 May 2005 21:09:31 CEST
Uff
Posted Wed 18 May 2005 14:38:18 CEST
CDD Dev Camp
Posted Tue 10 May 2005 20:40:33 CEST
Malas lenguas tour 2005
Posted Tue 10 May 2005 14:31:53 CEST
LliureX and the II Free Software Congress, Valencian Community
Posted Tue 10 May 2005 00:46:49 CEST
Sarge frozen!
Posted Wed 04 May 2005 00:54:30 CEST
Who's the man?
Posted Tue 03 May 2005 00:07:09 CEST
CDD Development Camp
Posted Wed 20 Apr 2005 23:21:07 CEST
No Banana Union, No Software Patents - Suppory Denmark!
Posted Mon 07 Mar 2005 17:43:22 CET
Guadalinex, Ubuntu and the Debian future
Posted Mon 07 Feb 2005 09:41:17 CET
shfs and hardware detection
Posted Fri 07 Jan 2005 00:44:00 CET
New year, new server
Posted Wed 05 Jan 2005 01:20:03 CET
Hugo
Posted Mon 20 Dec 2004 16:38:23 CET
Two customization models
Posted Mon 13 Dec 2004 08:09:17 CET
CDD Tool Proposal
Posted Tue 07 Dec 2004 12:10:03 CET
A good summary of the Debian release proposals
Posted Wed 01 Dec 2004 21:15:47 CET
Second Ubuntu Conference @ Mataró
Posted Tue 30 Nov 2004 10:49:44 CET
Computer Science Engineers
Posted Sun 07 Nov 2004 23:45:00 CET
More Custom Debian Distribution Players
Posted Sun 03 Oct 2004 14:07:15 CEST
Back from Florence
Posted Tue 28 Sep 2004 01:49:00 CEST
Going to Firenze World Vision 2004 workshop on CDD
Posted Fri 24 Sep 2004 09:38:01 CEST
Ubuntu release model and Debian
Posted Mon 20 Sep 2004 01:39:21 CEST
Summer's over, let's roll again
Posted Thu 02 Sep 2004 01:18:13 CEST
The LliureX classroom model
Posted Tue 27 Jul 2004 12:55:32 CEST
Canonical Software and Mark Shuttleworth
Posted Sun 25 Jul 2004 19:14:32 CEST
My Master Thesis and the 2nd OCS Online Congress
Posted Fri 23 Jul 2004 20:16:58 CEST
Going Wireless
Posted Wed 14 Jul 2004 14:30:31 CEST
Second day at Manresa
Posted Thu 08 Jul 2004 20:17:00 CEST
First Day At Manresa
Posted Wed 07 Jul 2004 21:54:00 CEST
High School Teacher Competitive Examination (Update 2)
Posted Mon 05 Jul 2004 22:37:29 CEST
High School Teacher Competitive Examination (Update 1)
Posted Fri 02 Jul 2004 20:20:23 CEST
My Sarge GR Vote
Posted Fri 02 Jul 2004 20:06:41 CEST
High School Teacher Competitive Examination
Posted Tue 29 Jun 2004 19:20:35 CEST
Communication channels
Posted Tue 22 Jun 2004 00:13:23 CEST
CIA Open Source Notification System
Posted Fri 18 Jun 2004 00:48:32 CEST
First Post
Posted Wed 16 Jun 2004 22:16:02 CEST