If you normally edit files on remote server and you like Emacs, check Tramp. I don’t have special attachment to any editor yet and I really can’t make full use of any of Vim or Emacs (the two editors I use most). I think I should sit down for a couple of weeks and learn Emacs.
If I was using C it would have been simply a couple of calls to librsvg, but on C# things got a bit more ugly because Rsvg, the wrapper around librsvg is not finished. And other bindings are also missing. Just getting a Cairo context out of a Gtk.DrawingArea was not as simple as I would have liked it to be (I describe how to do it in a previous post, but I’ll do it again here).
Last Monday I took my first lesson in archery, that is, shooting arrows with a bow. Some years ago I would have tried to do it myself: go buy a bow and some arrows, find a place to shoot and shoot. But I am really glad I haven’t done that and instead, went to Otendor’s Parlemo branch. There’s so much to learn first. On one side there’s a lot of technique. A lot. I wouldn’t have guessed a 10% of what I’ve been taught in one lesson.
In my quest to re-learn Haskell I eventually thought: “OK, let’s see how an exception looks like”. Starting my favorite interactive Haskell implementation:
___ ___ _ / _ \ /\ /\/ __(_) / /_\// /_/ / / | | GHC Interactive, version 6.4.1, for Haskell 98. / /_\\/ __ / /___| | http://www.haskell.org/ghc/ \____/\/ /_/\____/|_| Type :? for help. Loading package base-1.0 ... linking ... done. Prelude>
OK. Let’s generate an exception now, a division by zero for example (something basic): Continue reading “Trying to find exceptions in Haskell”
I have an idea for a web application that might enjoy moderate success. And from time to time I try to develop it and it would be already done if it wasn’t that web developing is so painful (reading PLAI and trying to make my own Lisp to conquer the word is far more fun and entretaining… oh damn, I shouldn’t told you my plan… oh well).
My favourite framework so far is (and continues to be, more on that latter): UnCommon Web (UCW). But after reading an article titled Framework Performance (or Django vs. Rails vs. Symfony: Django is fastest on digg) I said: “Hey, let’s give this Django thing a try”.
There’s an excellent article by Don “dons” Stewart called The lambda revolution which explains how to build a Haskell library in way that it is easy to download, compile, install, test, distribute, etc. I believe all those qualities are essential for successfully software. The next logicall step is to make OS-specific packages of it and since today I’ve had a short talk with Ian “Iglo” Lynagh, maintainer of many Haskell packages on Debian, who dissipated all my doubts about how to build a deb package of a Haskell library. Armed with that knowledge I am going to turn Don’s dlist into a beautiful deb package for Debian, Kubuntu or any other deb based operating system and tell you how.
Continue reading “The lambda revolution, Episode V, the deb strikes back”
My little article Cleaning up a Debian GNU/Linux was published at Debian Administration where lot’s of people replied with other ways to achieve the same goals. It was very nice to see all the different approaches with all the different pros and cons.
In the end I ended up changing my own approach for one that is faster and cleaner so I wanted to share it with you. Still, go to the Debian Administration version of the article and read the comments, they are very cool (thanks to all those who posted!).
You arrive at a Linux server which has some history of neglect. Let’s suppose someone else neglected it but if your new-year resolution is to stop neglecting your beloved server, this applies as well.
One form of neglect is to install, install, install and never un-install any package. The common utility to perform installation and un-installation of packages is apt-get which adds to the problem because it doesn’t have automatic removal of non-needed dependences.
PHP and ton of other packages. phpMyAdmin was removed when it was no longer needed but Apache, PHP and the ton of packages remain there.
Aptitude to the rescue. Aptitude is another package manager front-end like apt-get but it can keep track of automatically and non-automatically installed packages. That means that when you installed phpMyAdmin it was marked as non-auto while Apache and company was marked as auto. When you remove phpMyAdmin all the non-needed automatically installed packages like Apache would be removed.