Recent blog entries for mones

Another target reached

Just sent v0.95 of my project for review. Was nothing previously set, I simply continued writing, expanding and fixing things, with the hope of completing something… it's not fully completed, but sending it for review reduces some pressure at least.

And after tagging it then noticed:

$ git rev-list --all --count
600

So, yeah, that's 600 commits since the beginning in all branches.

If I had planned it I would have failed miserably to get such exact count ;-)

Syndicated 2016-05-09 23:32:18 from Ricardo Mones

Maximum number of clients reached Error: Can't open display: :0

Today it happened again: you try to open some program and nothing happens. Go to an open terminal, try again and it answers with the above message. Other days I used to reboot the session, but that's something I don't really think should be necessary.

First thought about X gone mad, but this one seems pretty well behaved:

$ lsof -p `pidof Xorg` | wc -l
5

Then noticed I had a long running chromium process (a jQuery page monitoring a remote service) so tried this one as well:

$ for a in `pidof chromium`; do echo "$a "`lsof -p $a | wc -l`; done
27914 5
26462 5
25350 5
24693 5
23378 5
22723 5
22165 5
21476 222
21474 1176
21443 5
21441 204
21435 546
11644 5
11626 5
11587 5
11461 5
11361 5
9833 5
9726 5

Wow, I'd bet you can guess next command ;-)

$ kill -9 21435 21441 21474 21476

This of course wiped out all chromium processes, but also fixed the problem. Suggestions for selective chromium killing welcome! But I'd better like to know why those files are not properly closed. Just relaunching chromium to write this post yields:

$ for a in `pidof chromium`; do echo "$a "`lsof -p $a | wc -l`; done
11919 5
11848 222
11841 432
11815 5
11813 204
11807 398

Which looks a bit exaggerated to me :-(

Syndicated 2016-04-25 08:20:38 from Ricardo Mones

Oneliner for today

Unfortunately I'm still busy trying to finish the documentation of my M.Sc. project. This one was built after several attempts to convert the tables for the use case descriptions spread through several AsciiDoc files into a list of 3rd level titles joining both the use case Id and title (and some dummy content to keep the processor happy):

grep --after-context=1 '^|Identificador' "$a" *_cu_*.txt 
| cut -f3 -d\| 
| sed 's,^--$,,;s,^\+,,' 
| sed ':a;N;$!ba;s,\n\n,\n,g' 
| sed ':a;N;$!ba;s,\+\n,~,g' 
| awk -F~ '{print $1 " ``"$2"\47\47"}' 
| perl -n -e '
use open qw(:std :utf8);
chomp; $n = length;
print "$_\n" . "^" x $n . "\n\nLorem ipsum...\n\n";
'


Imagine it all in one single line, of course. It's an awful beast, but it worked!

It required several visits to google to know how to properly replace newlines with sed, how to print single quotes with awk and how to make perl's lenght function behave as desired with UTF-8 input, though I was already aware of this one ;-)

Syndicated 2016-01-10 20:28:45 from Ricardo Mones

New router, worse router

Our internet overlord TeleCable has decided to upgrade the hardware they had installed at home (the old Motorola SURFboard SB5101E) to something new, supporting DOCSIS 3.0, so they can happily say all their customers enjoy 100 MBps download rates. Not checked this fact yet, though.

The hardware of choice (I wonder who choose it) is a Cisco EPC3925, which comes also with Wi-Fi, so I decided to shut down my Linksys WRT54GL, for saving some electricity and enjoy the faster Wi-Fi (N in the Cisco vs G in the Linksys).

Unfortunately the EPC3925 doesn't like machines with static IP addresses on the network and was unable to route between two of them using the wired ports. Strangely both machines were reachable when accessed from a third machine connected to the wireless network with static address too (!).

After struggling for a whole afternoon with it (even reformatted the SD card of one of the machines thinking it could be the problem) I gave up using static addresses and just solved it the other way around:


  • Reconfigure the whole set of machines with static addresses to use DHCP instead

  • Watch the machines to pop up in the router's client list as they connected to the network and write down their MAC address

  • Configure the router DHCP server to give a determined address to each machine MAC


This way they still have a fixed address but now the router is capable to route traffic among them. While I was at it I decided to collect the MACs of the devices which had no fixed address (TV, Wii, Smartphone) and give them an address, so now with a simple ping I can now check if they're on or off :-) (before I had to nmap the whole /24 segment to be able to identify the machines).

Anyway, despite it works mostly OK now I'm still not liking it much. Clearly it's a substandard device (each time you expand the DHCP address range every other DHCP configuration is lost!), and who knows what other surprises it hides. For now it has entered the while it works, don't touch it category, but I don't expect it to last as longer as the Linksys.

Syndicated 2015-08-07 16:28:01 from Ricardo Mones

Are we there yet?

Not really, but next release is very near ;-)

Syndicated 2015-07-11 14:20:16 from Ricardo Mones

MTFAQ

MTFAQ: /ˈɛmtiːfak/, n.

  1. More Than FAQ

  2. When a developer has become so tired of a FAQ that decides to doc it or even change the code to remove the FAQ from the list, it's said that FAQ has become an MTFAQ.

Syndicated 2015-06-04 08:09:26 from Ricardo Mones

Downgrading to stable

This weekend I had to downgrade my home desktop to stable thanks to a strange Xorg bug which I've been unable to identify among the current ones. Both testing and sid versions seem affected and all you can see after booting is this:


The system works fine otherwise and can be accessed via ssh, but restarting kdm doesn't help to fix it, it just changes the pattern. Anyway, as explaining a toddler he cannot watch his favourite youtube cartoons because suddenly the computer screen has become an abstract art work is not easy I quickly decided to downgrade.

Downgrading went fine, using APT pinning to fix stable and apt-get update/upgrade/dist-upgrade after that, but today I noticed libreoffice stopped working with this message:

Warning: failed to launch javaldx - java may not function correctly
/usr/lib/libreoffice/program/soffice.bin: error while loading shared libraries: libreglo.so: cannot open shared object file: No such file or directory


All I found related to that is a post on forums, which didn't help much (neither the original poster nor me). But just found the library was not missing, it was installed:

# locate libreglo.so
/usr/lib/ure/lib/libreglo.so


But that was not part of any ldconfig conf file, hence the fix was easy:

# echo '/usr/lib/ure/lib' > /etc/ld.so.conf.d/libreoffice-ure.conf
# ldconfig


And presto! libreoffice is working again :-)

Syndicated 2015-05-26 10:11:33 from Ricardo Mones

Bye bye DebConf15

Yep, I had planned to go, but given the last mail from registration seems there's a overwhelming number of sponsorship requests, so I've dediced to withdraw my request. There's lots of people doing much more important things for Debian than me which deserve that help. Having to complete my MSc project does also help to take this decision, of course.

I guess the Debian MIA meeting will have to wait for next planetary alignment ;-) well, not really, any other member of the team can set up it, hint! hint!

See you in DebConf17 or a nearby local event!

Syndicated 2015-05-04 08:37:12 from Ricardo Mones

An useful new feature of git

Just read in LWN that git 2.2.0 is coming with the support for signed pushes. What's that? Well, name says it all: you can sign with your public PGP key the 'git push' operation, which of course can be checked on the corresponding server side hook.

This opens a new way of contributing to public repositories without the need to have an actual account on the machine, which is always good for sysadmins :-) and security, of course. In the case of Claws Mails, translators could be pushing their translations, for example, which cold be also good for our release manager too ;-).

Syndicated 2014-12-02 23:46:22 from Ricardo Mones

FOSS or not FOSS, that's the question

Today in #claws IRC channel some user wanted to move away from Claws Mail to another MUA. That probably happens every day or two, so nobody really cares (I don't, at least).

Claws' storage format is MH, nothing exotic or unknown, hence there's no explicit exporting utilities, as requested by that user. Anyway one of the developers suggested mh2mbox, which seems a pretty straightforward option. Claws has also a mailmbox plugin, which can be populated with messages from MH folders, but when you have lots of them the task becomes boring :-)

Anyway, the point of this post was not the technicalities of conversion but more the ideas people has about FOSS. At some point, after some arguing about how developers doesn't listen to users and how wrong donating to the project had been, the user said:

12:54 < somebody> If I develop a system, and I want people to use it, then I 
                  have a duty to listen to people and consider to make it 
                  useable for them ... or else, they won't use it.

That's a huge misconception, probably because nobody reads the license nowadays. Yeah, it's free, just download it! Reading licen-what? It's free!

I'd put it clear: I'm not a company, I don't want people to use my software, I let people use it if it's useful to them, and of course I'd like it to be useful.
But if not, you already have the source and can (learn to) modify it at will, or pay some other to do so. Nothing else is given to you, remember:

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Syndicated 2014-10-15 12:33:18 from Ricardo Mones

90 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!