Friday, December 28, 2012

emacs, CEDET, eieio – version conflicts

GNU emacs 24.1 comes with eieio-1.3.
If I have my own CEDET-1.1, which comes with eieio-1.4, and I try to load it "as early as possible", emacs's loading process still says: "Outdated eieio 1.3 just installed".
I think I started with CEDET because of Gnus. But does Gnus need the modern eieio-1.4 at all?

my Eee Box running openSUSE-12.2 again on a rather low graphics card resolution [SOLVED]

That's rather a pity, but I have far too many other things to sort, and I can't fix this.

Update:
I removed /etc/X11/xorg.conf (of course I backed it up before that) and did an "rcxdm restart"; that's presumably using /etc/X11/xorg.conf.d/, and that resulted in the old rather fair resolution values, that I had gotten used to – taking it for granted, that the simple old VGA connection would make a better resolution impossible.

when did I mention last, how much I love editing an XML file using emacs and its nxml-mode?

It is so much techie fun!!!

three computers running openSUSE with broken GRUB configurations

I.e. they don't start beyond the GRUB boot loader.

So far I had only known of 2 computers, my non-portable ones at home, and because of that, I actually had no computer for weeks to reach through my DynDNS host name. That was already rather bad. So far I actually thought, I had described this problem already properly under the grub label on this blog.

I actually had not known until this morning, that my ASUS portable PC also suffers from a GRUB configuration problem. This is terrible. I had planned to boot it, so I could work on some 1st block of book keeping. I am a little desperate. Instead of book keeping I have to work on fixing operating system problems.

My only running openSUSE Linux is the respective VM on my MacBook Pro. I must be brave now, and try to fix one GRUB problem after the other. Maybe one or two recipes will work for all three. My ASUS portable PC GRUB problem reads like this:
kernel …
Error 15: File not found
Press any key to continue…
Well, there are not that many items, GRUB may regard as file. It's either the file holding the bootable kernel, or it's the root partition.  Well, yes, the root partition isn't really a file, but then the term may just be used a little unprecise.

I first tried to fix the GRUB configuration. I found, that the GRUB menu now shows GRUB (let's call them "GRUB1") and GRUB2 entries. I didn't manage to fix either of them.

Then I tried to "update-install" the operating system. At worst I would uninstall the GRUB1 and also the GRUB2 packages, maybe even remove the /boot directory, and start with an "old-fashioned" GRUB1 configuration.

 I booted from the resp. DVD, and updated the OS over the Internet. As usual you are getting far more packages updated, than you need in such a situation, and the announcement said, it would take like 75 minutes. Terrible. Looks though, as it's going to be faster. Yes, it went faster.

When I rebooted (through the DVD) from the hard disk, the GRUB2 entry had gotten removed, but still "Error 15: File not found". Both the kernel file and the initrd file names had not gotten updated to the right names of the most-up-to-date and installed files (the openSUSE GRUB updater scripts were quite able to deal with that in the past). Fixing that manually only took a finger snapping. I was in shock: yes, the OS would boot.

For the time being I will seriously avoid using GRUB2. I assume that saves me trouble.

Looks like running grub-install as root is quite helpful.

Would there be yet another obstacle? Looks like there is none (for the time being). So "in the background" I will try fixing the other 2 stuck computers like this as well.

1of2 had a /boot/grub/menu.lst, that was broken, but I could easily fix it "on the fly" within GRUB, after GRUB stopped because of one of these errrors. Then I started "yast2 bootloader", and did the lasting fix.

2of2 had no useful /boot/grub/menu.lst at all. I booted from the DVD into the rescue system. I copied a somehow reasonable menu.lst from another computer via a USB memory stick to this system, rebooted, and fixed it "on the fly" as well, so that I could properly boot into a running system. There again I started "yast2 bootloader", and did the lasting fix.

Everything is fixed now.

Wednesday, December 26, 2012

watching "Downton Abbey" "on the Internet"


"Downton Abbey" (2010)
season 3
  • episode 1 – 2012-12-26
  • episode 2 – 2012-12-27 
  • episode 3 – 2012-12-27
  • episode 4 – 2012-12-28
  • episode 5 – 2012-12-28
  • episode 6 – 2013-01-01
  • episode 7 – 2013-01-01
  • episode 8 – 2013-01-01
  • episode 9 – 2013-01-...
season 1
  • all episodes – 2013-02-02..03
season 2
  • episode 1 – 2013-02-03
  • episode 2 – 2013-02-03
  • episode 3 – 2013-02-03
  • episode 4 – 2013-02-__
  • episode 5 – 2013-02-03
  • episode 6 – 2013-02-12
  • episode 7 – 2013-02-__ (not yet)
  • episode 8 – 2013-02-__ (not yet)
  • Christmas Special – 2013-03-__ (not yet)

son#1 left, his cat stayed

Son#2 is rather sad, that his elder brother left. He said he would return for New Year's Eve. But we learned, we cannot rely on such statements.

Suw Charman-Anderson: Amazon Is Ripe For Disruption - Forbes

Amazon Is Ripe For Disruption - Forbes

I came across this article through a tweet by Kathrin Passig.

TV series: "Downton Abbey" (2010...)

"Downton Abbey" (2010)

Rather interesting and entertaining.

film: Shutter Island (2010)

Shutter Island (2010)

I find it bad, that "we" did not have any chance knowing what really was going on until rather close to the end.

Brazilian music: Criolo - "Não Existe Amor em SP"

I came across this song listening to dradio.de/dkultur : "Meine Musik 2012:
Criolo & Mokoomba". It's from the album "Nó Na Orelha".
Criolo's home page: www.criolo.net.
Listen to more songs here!
Watch a few videos here!

During saturn.de's next discount period, I will get his album there!

Tuesday, December 25, 2012

emphases in the English language

  • adjectives get pronounced on their first syllable; e.g. …; counterexample: …
  • verbs get pronounced on their second syllable; e.g. to refer, to access; counterexample: …
  • nouns get pronounced on their first syllable; e.g. the access, …; counterexample: …

film: Astérix et Obélix: Au service de Sa Majesté (2012)

Astérix et Obélix: Au service de Sa Majesté (2012) (French title)

film: Wreck-It Ralph (2012) aka "Ralph reicht's"

Wreck-It Ralph (2012)

film: The Hobbit: An Unexpected Journey (2012)

The Hobbit: An Unexpected Journey (2012)

flm: Rise of the Guardians (2012) aka "Die Hüter des Lichts"

Rise of the Guardians (2012)

Characters:

  • (an evil spirit known as) Pitch – I am not able to find a description of this character
  • Jack Frost
  • North, Santa Claus
  • Tooth Fairy
  • Easter Bunny
  • Sandman
We quite liked the film. We didn't really know beforehand, that Jack Frost and Pitch are characters, that U.S. children are familiar with.

"Google Web Albums" AKA Picasa through "Google Drive"

Occasionally I am using the Google Drive application on OS X. Of course I like the way it integrates into the OS X Finder.
Why is this application not able to also deal with my picture files on "Google Web Albums" AKA Picasa? (I mean, it's all Google, so …)

IT jargon: ping (quoting "The Jargon File")

catb.org/jargon/html/P/ping.html

Through the label(s) you can find my main entry for "The Jargon File" resp. "The New Hacker's Dictionary" [link].

Baruch's cat Rysza – my only company for this afternoon



Rysza (sp?) is a word in Polish, and it means "red-grey" IIRC.

Baruch is my son#1; he is now off for the afternoon with João Gabriel (his brother resp. my son#1) and Cristina (J.G.'s mother) to meet "Brother Simion" and family in Berlin-Steglitz – friends of my Brazilian "sub-family". (I would rather point you to www.brothersimion.com.br, but apparently he abandoned that domain name.)

So I am having a few hours alone (apart from Rysza) at home on this 1st Christmas holiday (Dec. 25th), and I am rather enjoying it.

E-mailing, Facebooking, phone, listening to music on JazzRadio.net (and maybe other stations later this afternoon), …

I am sorry for being lazy doing something we that reflection in Rysza's eyes, the cats' version of red eyes.

I just removed the Google Picasa application from my Mac's hard drive.
Can you imagine, how easy it is to accidentally upload your whole private life in pictures to your Google Photo / Picasa page?!?? That rather frightens me.

The Prohibtion in the U.S.: the government poisoned alcohol then

The little-told story of how the U.S. government poisoned alcohol during Prohibition. - Slate Magazine

Of course I never heard of that before, and of course I am rather surprised.

Thursday, December 20, 2012

Tuesday, December 18, 2012

Perl Best Practices: Code Layout: Vertical Alignment

Perl Best Practices - O'Reilly Media

I came across this chapter a while ago, and I enjoyed the argumentation quite a lot. I think the Vertical Alignment idea applies to all sorts of code, not just Perl code.

I am personally a follower of the Vertical Alignment sect, although I think, that should be the main stream.

"The other day" I came across code not following the Vertical Aligment idea, and I was rather sad ("in a professional sense"). But I am rather aware of the different streams resp. sects, and of course, this is not meant as an insult but rather just a note.

Tuesday, November 27, 2012

English grammar: commas and relative clauses

Rule:
Relative that follows its antecedent:
When a relative (clause) immediately follows its antecedent, and is taken in a restrictive sense ("restrictive clause"), the comma should not be introduced before it.
The relative clause gets completed with a comma though. Of course it gets omitted, if there is a period anyway.

wikibooks on the grammar of the English language

Looks like the major entry in that list is this one:

Monday, November 26, 2012

O'Reilly Media book: Monitoring with Ganglia

Monitoring with Ganglia:
Written by Ganglia designers and maintainers, this book shows you how to collect and visualize metrics from clusters, grids, and cloud infrastructures at any scale. This hands-on book helps experienced system administrators take advantage of Ganglia 3.x.

O'Reilly Media book: Practical mod_perl

Wednesday, November 21, 2012

Monday, November 19, 2012

O'Reilly Media book: Testing in Scala

Testing in Scala:
Testing in Scala starts with an introduction of the Scala programming language, explains why project infrastructure is critical, and provides compelling reasons to use Scala testing frameworks to not only test Scala code, but Java code too. This book introduces and explains the Simple Build Tool, the Scala answer to Ant, Maven, Gradle, and Buildr. It then explains in detail all the best tools for testing Scala and Java code today--ScalaTest, Specs2, ScalaCheck, and Borachio. Testing in Scala also gives insight on how to integrate coverage tools, continuous integration, web acceptance frameworks, and Java testing frameworks that you already know and love.

Thursday, November 8, 2012

how to relocate to Israel – if you have an Israeli partner

step by step process for citizenship in israel | Relocation to Israel

A Ukrainian, non-jewish RoR devloper asked on israel.rb (the Israeli Ruby on Rails user group), how he could get a job in Israel (thread).
Somebody pointed him there to the above web page. Actually it sounded there, like there is no such restriction as "you do have an Israeli partner and …" – but there is. Maybe I would have to re-activate my Ex-GF in such a case ;-)

When I applied for an SAP R&D job in Israel a couple of years ago, I rather ran into a wall then. Well, yes, I have to admit: I don't have an Israeli or jewish partner, and I am a little hopeless proving the relevance of my grand-grandfather by the surname of Wassermann.

My comment on israel.rb on 2012-11-08 got removed the same day.

Postbank (Germany) goes XML: camt.052 (a part of ISO 20022)

Postbank (a subsidiary of Deutsche Bank) recently started offering the download of a BankToCustomerAccountReport AKA camt.052, which is a part of ISO 20022, the "universal financial industry message scheme".

According to their "full catalogue of ISO 20022 messages" [Link]:

  • camt = Cash Management, camt.052 = BankToCustomerAccountReport ()
I would actually like to have that facility available as a web service: I authenticate, I give it a start and an end date, and it returns me the XML.
But right now I have to log into www.postbank.de and to navigate to the right place.
And of course, they keep changing that navigation. I have got some experience with that problem.

Another camt-Link.

PPT = Perl Power Tools: "Unix Reconstruction Project"


Welcome to the Unix Reconstruction Project.
Our goal is quite simply to reimplement the classic Unix command set in pure Perl, and to have as much fun as we can doing so.

I would really love to have a few more utilities in that collection:
Yes, the GNU coreutils do certain things much, much better, but still … – yet: you can install PPT privately and with a rather small footprint, which makes them rather suitable in certain corporate environments. 

Just a few goodies:
  • tcgrep lets you traverse directory trees – more or less like ack (see below!)
  • tail lets you follow multiple files simultaneously
Parts of the collection with a separate life outside the collection:
A few utilities, that are not formally a part of this collection:

Wednesday, November 7, 2012

TestAnything.org :TAP::Parser Cookbook

the cookbook

2013-02-05: The website is up again, but I can't get hold on the cookbook.

2012-11-19: When I tried to look a little around on TestAnything.org in November 2012, the web-site was rather broken. I looked the domain name up on whois.net, found Andy Armstrong and his e-mail address, and dropped him a note. This is how the error message looked like:

Test Anything Protocol has a problem
Sorry! This site is experiencing technical difficulties.
Try waiting a few minutes and reloading.
(Can't contact the database server: Unknown database 'testanything' (localhost))

TAP = Test Anything Protocol - Wikipedia, the free encyclopedia

Test Anything Protocol - Wikipedia, the free encyclopedia

Monday, November 5, 2012

CPAN: Test::Tutorial - A tutorial about writing really basic tests

Test::Tutorial - A tutorial about writing really basic tests - metacpan.org

I wrote some code to test a customer's perl code, not having (had) a look at Test::More or whatever beforehand.
After completing my task, I tweaked my code to make use of Test::More. Now it's optionally creating TAP.
My next step: reading and exercising.

Wednesday, October 17, 2012

shell: basename and dirname through Parameter Expansion


If you want to have basename and dirname a little faster through shell builtins, you may want to try these in bash or Korn Shell:
  • basename: ${file##*/}
  • dirname: ${file%/*}
I don't really recommend to use these substitutes, I still find basename and dirname quite readable and I am not using them in a loop anyway.

Wednesday, October 10, 2012

Emacs + putty + TRAMP = you can edit your UNIX files remotely on Windows

TRAMP User Manual

TRAMP extends the capabilities of the emacs "directory editor" (dired) to allow you to also deal with remote files. "Remote" as in:

  • you can reach the file or directory through ssh
  • or sftp
  • or ftp
  • or …
SSH on Windows – PuTTY:
On Windows platforms it can make use of the PuTTY family of utilities in order to achieve ssh and sftp tasks.

The TRAMP user manual recommends using scpc resp. pscpc instead of ssh resp. (just) plink for dealing with large files [Link]. I suggest you go for this recommendation anyway. Really! I mean it! According to my experience (having tried various ways resp. methods) plink resp. plinkx occasionally corrupt files, and you avoid that using the TRAMP method pscp, which is actually a nice combination of plinkx and PuTTY pscp, i.e. you are passing a named saved session rather than a host name to it. ("THE manual" does not mention this bit, but you should be aware of it.)

On the Windows PC at my customer's site I am not able to modify my system environment.
The putty directory is not put on PATH by the system, I am doing it within my .emacs.

Still: For some reason tramp does not search its tramp-copy-program on PATH, and at least pscp does not get found that way. The error message goes like this:
Cannot find copy program: pscp.
I found the variable tramp-methods and changed the resp. tramp-copy-program assoc to have pscp with its absolute path as its value instead of just pscptramp-methods cannot be "customized". add-to-list always only ends to the end of the list, so just adding a new try with a full-path-pscp would not have helped, so I rather changed .../emacs/lisp/net/tramp-loaddefs.el. Quick and dirty, I know. I will find a more appropriate way occasionally, I promise.

Update 2013-01-15: tramp paths with ports:
Occasionally "sitting" on a VM (VirtualBox) host I copy / access files living in a VM Linux guest, whose SSH port is forwarded to the VM host's port 2222.
VM-host $ env RSYNC_RSH='ssh -p 2222' rsync -vaz diary localhost:diary_
This is a useful emacs/tramp access path for those files:
/scpx:localhost#2222:diary

scpx and sshx as opposed to scp and ssh (without the 'x' in the end) seem to accept a port number within these emacs/tramp access paths.

Update 2013-04-30: problem with preserving emacs tramp file permissions:
Somebody else experiences this problem as well [link].

Update 2013-04-30 evening:
http://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/pscp-filemodes.html : I think, this doesn't concern TRAMP, as TRAMP has its own means to enquire and set file modes.

Update 2013-10-__:
Found "vc-handled-backends" and reduced it on my Windows emacs / tramp / putty platform.

Sunday, October 7, 2012

brewing perls on my platforms

[2012-10-07 12:45:26] johayek@HayekY $ cpanm --force WWW::Curl

[2012-10-07 03:17:01] johayek@HayekY $ perlbrew --force --notest install perl-5.16.1

[2012-10-07 12:47:56] johayek@HayekU $ perlbrew --force --notest install perl-5.16.1

Saturday, October 6, 2012

O'Reilly Media book: Learning the Korn Shell, 2nd Edition

Q: The ksh on "your" AIX – is it ksh88 or ksh93?
A: Well … the ksh on "my" AIX knows the "whence" builtin without "-a", so I think it's a ksh88, because ksh93 would know "whence -a".
(This paragraph will go to another article on ksh. (TBD))

Tuesday, October 2, 2012

O'Reilly Media book: Essential System Administration, 3rd Edition

Essential System Administration, 3rd Edition - O'Reilly Media

O'Reilly Media book: sed and awk Pocket Reference, 2nd Edition

sed and awk Pocket Reference, 2nd Edition - O'Reilly Media

O'Reilly Media book: Effective awk Programming, 3rd Edition

Effective awk Programming, 3rd Edition - O'Reilly Media

O'Reilly Media book: sed & awk, 2nd Edition

sed & awk, 2nd Edition - O'Reilly Media

O'Reilly Media book: The Twitter Book

The Twitter Book - O'Reilly Media

PuTTY – Fixing Right Click Paste — EtherealMind

PuTTY – Fixing Right Click Paste — EtherealMind

No more past on clicking your right mouse button, get a menu instead!

Running PuTTY from the Windows Command Line

You want to load a particular putty session on the command line (and "hide" this in a putty shortcut)? Find the description above!

Short version:
PuTTY allows you to connect to a remote host in 2 different ways :

  • ...\putty.exe [USER@]HOST // naming the remote HOST directly
  • ...\putty.exe -load SESSION_NAME // naming the remote HOST within a named "saved session"
I prefer the latter, as you also enjoy all the other settings being part of the "named saved session".

GNU Emacs for Microsoft Windows resp. Mac OS X


O'Reilly's web page for "Learning GNU Emacs, 3rd Edition" [Link] points for Mac OS X and Windows implementations exclusively to these web pages, but pls regard both as outdated:
  • http://sourceforge.net/projects/nqmacs/
  • http://www.apple.com/downloads/macosx/unix_open_source/carbonemacspackage.html

Saturday, September 29, 2012

red-bean: the Open Source Development with CVS, 3rd Edition


An excerpt of the TOC of the HTML version of the book:
An Overview of CVS
** Branches

The PDF has a nice, printable 4-pages quick reference card ("CVS Commands") at the end.

Friday, September 28, 2012

Thursday, September 27, 2012

how to reach the usual "alt-..." keyboard bindings with an emacs from emacsformacosx

GNU Emacs For Mac OS X – this is the emacs, I am referring to here.

OS X and emacs use the "alt" key differently, so how do I achieve on OS X within emacs what I usually achieve with "alt", like entering "[" through alt-5?

I sacrificed the right "alt" key to work the Mac OS X way (by setting ns-right-alternate-modifier to none), and the left "alt" key to work the emacs way.

Enter this within your emacs (from emacsformacosx.com) on OS X:

M-x customize-group ns


bdecaf
 suggested that in a thread on stackoverflow.com [Link].


Now I can enter "[" on my Austrian/German Mac keyboard through (right) alt-5.

I had waited far to long, before thoroughly investigating this.

Wednesday, September 26, 2012

SIGSTP: Understanding Unicode and UTF8 in Perl

SIGSTP: Understanding Unicode and UTF8 in Perl

chromatic's book "Modern Perl"

Q: Where to download from? A: [Link]

Table of Contents

  • Unicode and Strings [Link]
  • Moose [Link]
  • Testing [Link]
  • POD [Link]
  • transforming a main program into a module, so that we can test also it local subroutines separately [handling main], [controlled execution] –– I call this "main à la Python"

O'Reilly Media book: Advanced Perl Programming, 2nd Edition

Advanced Perl Programming, 2nd Edition - O'Reilly Media


Just put the 1st paperback edition on top of the batch going to the charitable book collection.

From the TOC:

  • Chapter 8: Testing; with a subchapter on "Keeping Tests and Code Together" within POD sections of the source code

O'Reilly Media book: TCP/IP Network Administration, 3rd Edition

TCP/IP Network Administration, 3rd Edition - O'Reilly Media

"Of course" it's not covering IPv6.

Just put the 2nd paperback edition on top of the batch going to the charitable book collection.

O'Reilly Media book: IPv6 Network Administration

IPv6 Network Administration - O'Reilly Media

Monday, September 24, 2012

O'Reilly Media book: Perl Testing: A Developer's Notebook


Perl Testing: A Developer's Notebook - O'Reilly Media

Is there any sexier topic in software development than software testing? That is, besides game programming, 3D graphics, audio, high-performance clustering, cool websites, et cetera? Okay, so software testing is low on the list. And that's unfortunate, because good software testing can increase your productivity, improve your designs, raise your quality, ease your maintenance burdens, and help to satisfy your customers, coworkers, and managers. […]

In chapter 7 ("Testing Web Sites") the book has a rather nice example on recording a web-surfing session, that creates a perl script to replay that session: "Record and Play Back Browsing Sessions". But  they say, there is trouble with HTTP::Recorder as of the time of writing of that book – and it still does not really work for me. How bad. Nice but unusable.

chromatic in "Modern Perl" on Moose

Objects (Modern Perl 2011-2012)

dpunkt.verlag : Basiswissen Softwaretest

dpunkt.verlag :: Basiswissen Softwaretest - Aus- und Weiterbildung zum Certified Tester – Foundation Level nach ISTQB-Standard

chromatic in "Modern Perl" on Testing

Managing Real Programs (Modern Perl 2011-2012)

Sunday, September 23, 2012

O'Reilly Media book: MapReduce Design Patterns

MapReduce Design Patterns:

This handy guide brings together a unique collection of valuable MapReduce patterns that will save you time and effort regardless of the domain, language, or development framework you’re using. Each pattern is explained in context, with pitfalls and caveats clearly identified—so you can avoid some of the common design mistakes when modeling your Big Data architecture.

Friday, September 21, 2012

using foolabs' pdfinfo for extracting the creation date from PDF files

Xpdf: Ports & Tools

They don't list pdfinfo there, but it is a part of their open source tool set. It's a companion tool to xpdf and pdftohtml.

I like to use the creation date (or last modification date) of (external) documents as the leading part of their file names on my computers.

I use pdfinfo for extracting CreationDate and ModDate from PDF files:

$ pdfinfo …
$ pdfinfo -rawdates …

Of course I like the raw dates better for this purpose than the "human readable" ones.
BTW: The raw date look a little like they are UCT or GMT, but they apparently aren't.

So far I have not created a wrapper script around it, as I am not really using this utility often enough – but sooner or later …

Thursday, September 20, 2012

ssh-ing from OS X into a Linux on a local VM (VirtualBox)


  • for the specific virtual machine: Network Adapters / Port Forwarding / add a rule like "Protocol=>TCP, Host Port=>2222, Guest Port=>22, leave the IP addresses blank!"; the VirtualBox help system opens a nice and very instructive PDF manual, that really made me feel comfortable with this
  • this way you should actually be able to "ssh -p 2222 localhost" on the host machine
  • in my case this failed, complaining like this: "port 2222: Connection refused"
  • it took me a while to reason, whether the guest OS really has an ethernet / LAN interface configured – and there wasn't any such active interface – TBD
To be continued …

Update 2013-02-26:
"Bridged networking" looks superior to NAT, as things work far more easily – you don't need to forwards ports (e.g. SSH), you can simply talk to the VM guests. I couldn't get Samba working with NAT's port forwarding, but with bridged networking "it's just there" (what a joy!!!), and you can also have "natural" communication amongst the guests. Imagine: an Oracle DB within some VM …

Wednesday, September 19, 2012

problems talking to a web-site through https, actually an SSL / TLS issue

May I point you to my updated article [Link]?

my Lego Ninjago links

son#2's current favorite toys …
to be continued resp. updated.

is there such a thing as a silent subscription" to a "majordomo" driven mailing list?




I would love to stay subscribed and be able to post to a particular mailing list (I can read them elsewhere), but I don't want to receive the messages – alright, apart from the administrative ones.

from "docs" to "drive", docs.google.com to drive.google.com

I guess like many people on planet Earth, these days I received a message saying something like this:
Your 99 files stored in Google Docs are now in Google Drive
I wonder. whether they did a good job, letting all applications have access to the old paths for long enough.

Tuesday, September 18, 2012

curl hangs talking to a web-site through https – actually a TSL version issue

Solved.

Known problems (possibly) related to this:
This SSL / TLS problem seems to appear in March 2012; all the "before 2012" problems, that sound similar, are not related to this issue resp. they do not have the exact same reason.

The solution is described almost at the end down here ("Update 2012-09-19 / 1"). Skip to there, if you are in a hurry!



With my recent openSUSE upgrade / migration (from 12.1 to 12.2) came a new curl (and of course libcurl).

My bank statement scraper in Perl makes use of libcurl, and now it does no longer read the HTML for the bank's web-site.

curl and libcurl always come together, and I tried the rough equivalent of the libcurl access in question with curl on the command line:

$ curl --verbose 'https://banking.postbank.de/rai/login'
* About to connect() to banking.postbank.de port 443 (#0)
*   Trying 62.153.105.15...
* connected
* Connected to banking.postbank.de (62.153.105.15) port 443 (#0)
* successfully set certificate verify locations:
*   CAfile: none
  CApath: /etc/ssl/certs/
* SSLv3, TLS handshake, Client hello (1):
* Unknown SSL protocol error in connection to banking.postbank.de:443 
* Closing connection #0
curl: (35) Unknown SSL protocol error in connection to banking.postbank.de:443 

That new curl (7.25.0) was compiled against OpenSSL/1.0.1c.

So how did I proceed in order to find the reasons for my problem?

A web page on curl.haxx.se (http://curl.haxx.se/docs/sslcerts.html) teaches me, that I should try this, in order to find out, whether the problem is with openssl resp. where it is:

$ openssl s_client -connect banking.postbank.de:443

I am quite sure, it must have worked once, so when ("with which release?") did the problem start?

Alright, I am doing a binary search on the "recent" releases of openssl:

0.9.8x, 1.0.0, 1.0.0j, 1.0.1, 1.0.1c

The latest one, that does not break my request is 1.0.0j,
the first one, that breaks my request is 1.0.1 (I skipped the betas),
and it looks like this ("SSL handshake has read 0 bytes and written ..."):


$ openssl s_client -connect banking.postbank.de:443
CONNECTED(00000003)
write:errno=104
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 321 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
---


I am posting my problem with a few more details to the "openssl-users" mailing list (see the thread on Google Groups [Link]), now I am waiting for responses.

In the meantime I am going to "brew" my own curl.
Compiling against openssl-1.0.0j, the last release, that successfully talks to that bank's web-site, fails.
Compiling against openssl-1.0.0, another release, that successfully talks to that bank's web-site, does not yet build a curl, that uses openssl-1.0.0, but instead it uses openssl-1.0.1c nevertheless.
I will keep you updated.

Update 2012-09-19 / 0:
My attempts to brew my own openssl were sort of successful. I wasn't actually quite use, which way my curl brewing would prefer:

  • $ ./config --prefix=/usr/local --openssldir=/usr/local/openssl
  • $ ./config --openssldir=/usr/local/openssl

My attempts to brew my own curl, that in turn uses my own openssl were a terrible mess.
I gave up – but only after receiving the successful hint, reported below.

I actually started with brewing openssl into /usr/local/openssl-u.v.w and curl into /usr/local/curl-x.y.z, but that did not lead to the success, that I had expected.

But then, I also did not the expect the rather quick reply from the openssl-users mailing list, that directly led to my problem fix.

Update 2012-09-19 / 1:
Dr Stephen N. Henson ("OpenSSL project core developer") gave me a rather precious hint on the openssl-users mailing list [Link]:
This is a problem with the server. OpenSSL 1.0.1 is the first release to support TLS version 1.2 and some servers "hang" when connecting. The option -no_tls1_2 or -tls1 should allow you to connect again.
I did as advised –– success:

$ openssl s_client -no_tls1_2 -connect banking.postbank.de:443
$ openssl s_client -tls1      -connect banking.postbank.de:443

curl and libcurl do have their related options in order to makes use of this:

shell $ curl --verbose --tlsv1 'https://banking.postbank.de/rai/login'

perl: $h->setopt(CURLOPT_SSLVERSION,CURL_SSLVERSION_TLSv1);

I am very relieved.

Update 2012-09-19 / 2:
Now that my problem is solved, I wonder, why curl+openssl don't negotiate the right TLS version with the https server, just as we might assume web browsers do. I guess, that's because curl and openssl are developers' tools, so people using curl and openssl are expected to be able to handle this sort of thing. Maybe you are experiencing this problem as well, now you are reading my article, and maybe this saves you a lot of time.

Sunday, September 16, 2012

O'Reilly Media book: Linux in a Nutshell

Linux in a Nutshell: Everything you need to know about Linux is right in this book. The latest edition of this popular reference offers a tighter focus on Linux system essentials, as well as more coverage of new capabilities such as wireless network management, DVD recording, and revision control with git. Linux in a Nutshell, Sixth Edition thoroughly covers programming and administration tools, editors, and the shell, and highlights the most important options for using the vast number of Linux commands.

I had bought it quite a while ago, just "on stock", never used it, but yesterday I looked up a few topics.

As a committed openSUSE user I have been using YaST for most tasks for quite a while. But now there is an ubuntu system in a VM w/o GUI, and things need to be done the command line way. Alright, there are also a few curses-based GUIs like aptitude … .

So this is what I looked up in this nice book:
  • user management; I had to add a user account for myself
  • keyboard configuration; the system was set up for a U.S. keyboard, and my keyboard has the German layout
  • package management (apt-*)
It also has a nice introduction to Git.

No Starch Press: Ubuntu Made Easy

Ubuntu Made Easy:
Ubuntu Made Easy
Full of tips, tricks, and helpful pointers, Ubuntu Made Easy is perfect for those interested in—but nervous about—switching to the Linux operating system.
read more

Monday, September 10, 2012

Saturday, September 8, 2012

plupload: completed my experiments for now

plupload: experimenting with the sample application

  • the plupload ZIP archive (available on http://plupload.com/) comes with a sample application
  • copied the contents of the ZIP file to /srv/www/htdocs/plupload/ on an openSUSE-12.1 Linux box ("HOST") – this is where my Apache2 httpd serves HOST/plupload/ resp.  HOST/plupload/examples/custom.html from
  • where does the application want to get the files uploaded to? silly me didn't have a close enough look at that for too long
  • plupload/examples/upload.php has a $targetDir for that; apparently the proper way would be to set upload_tmp_dir in the system php.ini (which is de-commented there, so that we don't get files dropped, where we don't expect them, and for as long as we don't expect them); but for our local experiments we choose the other branch and set it to our local plupload/examples/uploads/ directory (i.e. /srv/www/htdocs/plupload/uploads/) – success: it works!!!
  • we have a working application
  • the Apache log-files don't actually mention the file uploaded – that's sad, but why should I care?
which browsers and front-ends resp. front-end plugins talking to the Apache httpd work?
  • Mac OS X: Chromium 22.0.1204.0 / Firefox/16.0 / Safari (6.0 (7536.25)) together with "html5" / "flash" / "silverlight"
  • openSUSE-12.1/12.2 : Chromium 22.0.1126.0 / Firefox/15.0 together with "html5" / "flash"
  • Android 4.0.3 (on a Samsung Galaxy SII): the built-in browser (AppleWebKit/534.30) / Chrome 18.0.1025.166 (AppleWebKit/535.19) together with "html5"
  • Android 3.1 (on a Samsung Galaxy Tab 10.1): the built-in browser browser (AppleWebKit/534.13) together with "html5" / "flash"
  • WinXP (5.1.2600 Service Pack 3 Build 2600): IE8 together with "html4" / "flash" / "silverlight" ("html5" does not exist) / Chrome 22.0.1229.39 with "html5" / "html4" / "flash"
  • [now] …
  • [To Be Done] what about trying a couple of browsers on other Windows platforms?

openSUSE-12.2 : upgrading again …

  • downloading the 4.7GB DVD ISO image from a mirror – funny to watch a download rate of 1.92M/s with wget; my last installation was with the network CD, but this time I am giving the DVD installation another try, as I want to implement this upgrade on 3 boxes within a rather short time after the release of 12.2, so there should only be a few upgrades necessary and most packages will get installed from the DVD anyway
  • checking the download: sha1sum openSUSE-12.2-DVD-i586.iso
  • cutting the DVD – doing this on my Mac using Disk Utility – OS X refused to mount the DVD afterwards; but the PC booted from it (etc.) w/o complaints
  • installing 12.2 on the Eee Box
  • rcxdm failed; I removed /etc/X11/xorg.conf, after that I am able to start up rcxdm successfully; apparently /etc/X11/xorg.conf.install is also quite suitable /etc/X11/xorg.conf – it uses the screen with 1024x768 at least
  • logging into the system with ssh works as usual for root but not for my personal account – solved! they changed something in sshd_config, from now on only .ssh/authorized_keys counts
  • installing 12.2 on the NEO
  • installing 12.2 on the ASUS notebook
  • installing 12.2 on a "x86_64-suse-linux" VirtualBox VM with Mac OS X as host
  • [now] …
Of course I need these, and of course I have notes on them here on the blog:
  • $ zypper install gcc
  • $ zypper install patch
  • $ zypper install libcurl-devel
  • perl: $ perlbrew available # perl-5.16.1 (needed "--force --notest"), perl-5.14.3-RC1 (???), perl-5.14.2 (broken on my x86_64-suse-linux), … – it does not list all available ones, only the most recent ones on all major releases – here are all of them: www.cpan.org/src/5.0/ – you may want to pre-download a few of them ("$ perlbrew download perl-5.14.1"), and they go here: $PERLBREW_ROOT/dists/
  • perl: $ perlbrew install-cpanm; perlbrew install-patchperl
  • perl: migrate CPAN modules using perlbrew and cpanm (https://metacpan.org/module/perlbrew)
  • ruby: rvm

Friday, August 31, 2012

adium: skype dialogues initiated by sb else don't make their way to adium

I posted this problem to the Adium Beta forum on forums.cocoaforge.com .

cocoaforge • View topic - skype dialogues initiated by sb else …

the Apache web server on openSUSE

browsers and their developer tools

(from Head First jQuery)

upgrading my ASUS portable PC to openSUSE-12.1

During the installation (on system "a") itself the only problem I faced was, that fetchmsttfonts had to get skipped.

My grub bootloader problem:

The first relevant problem then: grub does not boot the system, complaining like this:
kernel …
Error 22: No such partition
Press any key to continue…
How to recover?

I searched the web for "Error 22: No such partition", and I recognised, that grub enumerates the internal disks somehow inconsistently not quite, as you expect it. 

You can change bootloader details ad hoc within the bootloader – but if you want to get details changed in an enduring way, you have to change the config file /boot/grub/menu.lst.

The grub bootloader has a notation of (HARD_DISK,PARTITION)FILE_WITH_PATH, and it supports file name completion. So change the HARD_DISK, shorten the FILE_WITH_PATH a little, and get it completed. If it does get completed, than obviously it exists, otherwise change your HARD_DISK number, try again!

If you want to change the config file: boot into the Rescue System, mount the boot disk on /mnt (e.g.), and edit /mnt/boot/grub/menu.lst on the boot disk.

Update 2012-09-14:
Actually the hard disk numbering is determined by the order within .../boot/grub/device.map ; I suggest you change the order there and you use a meaningful numbering within .../boot/grub/menu.lst .

My X11 problem:
/var/log/xorg... mentioned, it loaded /etc/X11/xorg.conf and also config files from /etc/X11/xorg.conf.d/ . I removed /etc/X11/xorg.conf and everything was fine.

Power management:
Letting the system sleep and esp. awake again still does not work.
Hibernation …

how to transfer all modules from one perlbrew environment to another?

I mean something like rvm's migrate resp. upgrade.
Looks like list-modules helps me there.

I had to upgrade somehow, but the published path didn't work for me. After I removed $HOME/.perlbrew and I did a fresh installation, I was successfully upgraded.
Now this runs smoothly:
$ perlbrew list-modules
Right now I am running a
$ perlbrew upgrade-perl # upgrading to 5.16.1
And I hope, even this will run smoothly afterwards:
$ perlbrew list-modules | perlbrew exec --with perl-5.16.1 cpanm 
It said:

Upgrading perl-5.16.0 to 5.16.1
Fetching perl-5.16.1 as /usr/local/perlbrew/dists/perl-5.16.1.tar.bz2
Installing /usr/local/perlbrew/build/perl-5.16.1 into /usr/local/perlbrew/perls/perl-5.16.0

Installing 5.16.1 broke today. Alright, I will try something else:
$ perlbrew list-modules | perlbrew exec --with perl-5.14.2 cpanm

I had a few messages like this one:
! Finding HTML-TableExtract on cpanmetadb failed.
Installing manually with cpanm replacing "-" by "::" worked anyway, eg. HTML::TableExtract instead of HTML-TableExtract.

==========


I will try installing ("upgrade-perl") 5.16.1 again sooner or later …

I wonder, what this will say afterwards:
$ perlbrew list
Will it list 5.16.0 and also 5.16.1?

I like my "stable" alias:
$ perlbrew alias create perl-5.16.1 stable 

Thursday, August 30, 2012

EC2 DNS - SSH into EC2 instances via their public hostnames

fruux/ec2dns

[scraping related] how does a browser tell a web-server, that it doesn't want JavaScript?

Rephrasing …
If I tell a browser to not "accept" JavaScript, what does the browser do with that directive?

  • is that related to the User-Agent or Accept HTTP header fields?
  • does that "just" mean, that the browser doesn't execute the JavaScript bits?

(where to disable JavaScript in browsers? [link])

Does Michael Schrenk talk about this in his book or on the related website?

Webbots, Spiders, and Screen Scrapers:







He mentions JavaScript a couple of times.
  • "JavaScript can change a form just before submission", page 70 – nope
  • "bizarre JavaScript and cookie behavior", page 229 – nope
  • "web design techniques that hinder search engine spiders", esp. JavaScript, page 300 – nope
  • "killing spiders", "use cookies, encryption, JavaScript, and redirection", page 313 – nope

X11 with nvidia proprietary drivers on openSUSE-12.1 in conflict kernel module

Yesterday I installed nvidia's proprietary drivers from within yast from the respective community repository, and restarted rcxdm thereafter. No, I didn't reboot the machine then. Everything seemed fine then.

This morning I booted the machine after its nightly sleep, and I launched this:
root# rcxdm start
And that failed, saying this:
[   317.548] (EE) NV: The PCI device 0x10de06e9 (GeForce 9300M GS) at 01@00:00:0 has a kernel module claiming it.
[   317.548] (EE) NV: This driver cannot operate until it has been unloaded.
[   317.548] (EE) No devices detected.
Alright:
root# rmmod nvidia
root# rcxdm restart
Success. Not really fixed the problem, but at least I know my way around.

how to reach the screensaver on openSUSE's KDE?

Looks like I can start it through "run command…", but I looked around a lot, and I cannot find it in the menu tree. Isn't that odd?

Wednesday, August 29, 2012

DRBD (Distributed Replicated Block Device) is a distributed storage system for the GNU/Linux platform

I am having a look into this interesting technology.
  • en.wikipedia.org/wiki/DRBD
  • the official website: DRBD.org
  • distributed storage system
  • "DRBD layers logical block devices (…) over existing local block devices on participating cluster nodes. … and may be used both below and on top of the Linux LVM stack. …"
  • failover, failbackswitchoversplit brain

Gearman: distributing appropriate computer tasks to multiple computers, so large tasks can be done more quickly

I am having a look into this interesting technology.
  • en.wikipedia.org/wiki/Gearman
  • the official website: Gearman.org
  • it is Open Source
  • The name "Gearman" was chosen as an anagram for "Manager", "since it dispatches jobs to be done, but does not do anything useful itself."
  • have a look at the documentation at Gearman.org [Link]
  • "Getting Started with Gearman" [Link]
"Through Gearman, the job server, client, and worker can all be running on separate machines."

bazaar (software, "bzr") is a distributed revision control system sponsored by Canonical

Bazaar (software) - Wikipedia, the free encyclopedia

plupload - a tool for uploading files using Flash, Silverlight, Google Gears, HTML5 or Browserplus

Plupload - A tool for uploading files using Flash, Silverlight, Google Gears, HTML5 or Browserplus

I am having a look into this awesome technology for uploading files.

  • implemented in JavaScript plus … – your interface is in JavaScript
  • it is Open Source
  • find it listed and compared at en.wikipedia.org/wiki/Upload_components
  • the official website: plupload.com
  • have a look at the examples at plupload.com [Link]
  • have a look at the documentation at plupload.com [Link]
  • they also have forums at plupload.com [Link], one of them is called Tutorials

where to disable JavaScript in browsers

This list will not be complete, I just gave it such a general name, so that it's short enough.
  • Chromium, Google Chrome: Settings > Privacy > Content settings > JavaScript > Manage exceptions > JavaScript exceptions > Hostname pattern
  • Mozilla Firefox: Firefox itself only has the general JavaScript Yes/No switch; through NoScript you can declare a site untrusted; there is a NoScript multi-function button on your navigation toolbar, that helps you with that

Ruby: can I name the class of a particular variable? is there something like "is_a?"?

What is a simple / elegant way in Ruby to tell if a particular variable is a Hash or an Array? - Stack Overflow

The answer is of course: yes, you can.
And: yes, exactly.

XmlSimple treats elements with attributes as Hash, w/o attributes they are simply String.

"googlecl-0.9.12 -> googlecl-0.9.13" brought a change, where a specific element now does not have attributes any longer, and this broke my code, that reads "google contacts list … --fields=xml".

Solved one of my two urgent home software problems.

if the X.Org X11 drivers cannot read my display's EDID …

... – how can I supply the display capabilities to X11 anyway?

Tuesday, August 28, 2012

my X11 sessions keep aborting all of a sudden

That's a new phenomenon with openSUSE-12.1 on my ASUS notebook
NOUVEAU(0): Chipset: "NVIDIA NV98"

My /var/log/Xorg.0.log shows a Backtrace, then "Fatal server error":
Caught signal 3 (Quit). Server aborting
I found similar reports dating back to 2011, suggesting to try a new kernel. Well, I should have newer kernels.

Maybe I should give the proprietary nvidia X11 binaries a try.
I have to add the nvidia repository for that: "nVidia Graphics Drivers" – you find them within the "Community Repositories". If you search the "Software Management" for nvidia, simply choose the ones with the largest revision numbers, although they sound like they match only newer GPUs.

Update 2012-08-29:
The nvidia X11 driver seems to support the chipset:

[   693.912] (--) NV: Found NVIDIA GeForce 9300M GS at 01@00:00:0
[   693.912] (II) Loading /usr/lib/xorg/modules/drivers/nv_drv.so
Update 2012-08-30:

[  1374.741]
Backtrace:
[  1374.741] 0: /usr/bin/Xorg (xorg_backtrace+0x37) [0x80a86b7]
[  1374.741] 1: /usr/bin/Xorg (0x8048000+0x64a0a) [0x80aca0a]
[  1374.741] 2: (vdso) (__kernel_rt_sigreturn+0x0) [0xffffe40c]
[  1374.741] 3: /lib/libc.so.6 (__select+0x28) [0xb733c8d8]
[  1374.741] 4: /usr/bin/Xorg (WaitForSomething+0x18c) [0x80a5f3c]
[  1374.741] 5: /usr/bin/Xorg (0x8048000+0x2d792) [0x8075792]
[  1374.741] 6: /usr/bin/Xorg (0x8048000+0x207cc) [0x80687cc]
[  1374.741] 7: /lib/libc.so.6 (__libc_start_main+0xf3) [0xb7287003]
[  1374.741] 8: /usr/bin/Xorg (0x8048000+0x20ae1) [0x8068ae1]
[  1374.742]
Fatal server error:
[  1374.742] Caught signal 3 (Quit). Server aborting
[  1374.742]
[  1374.742]
Please consult the The X.Org Foundation support
         at http://wiki.x.org
 for help.
[  1374.742] Please also check the log file at "/var/log/Xorg.0.log" for additional information.
Seems to happen once only after cold booting the machine. With NOUVEAU and also with the nvidia proprietary drivers. "Alright".

Monday, August 27, 2012

O'Reilly Media book: Version Control with Git, 2nd Edition

Version Control with Git:
Get up to speed on Git for tracking, branching, merging, and managing code revisions. Through a series of step-by-step tutorials, this practical guide takes you quickly from Git fundamentals to advanced techniques, and provides friendly yet rigorous advice for navigating the many functions of this open source version control system.

O'Reilly Media book: Learning JavaScript Design Patterns

Learning JavaScript Design Patterns:
With Learning JavaScript Design Patterns, you’ll learn how to write beautiful, structured, and maintainable JavaScript by applying classical and modern design patterns to the language. If you want to keep your code efficient, more manageable, and up-to-date with the latest best practices, this book is for you.

O'Reilly Media book: jQuery Pocket Reference

jQuery Pocket Reference:
jQuery is the "write less, do more" JavaScript library. Its powerful features and ease of use have made it the most popular client-side JavaScript framework for the Web. This book is jQuery's trusty companion: the definitive "read less, learn more" guide to the library. jQuery Pocket Reference explains everything you need to know about jQuery, completely and comprehensively.

O'Reilly Media: Regular Expressions Cookbook, 2nd Edition

Regular Expressions Cookbook, 2nd Edition:
Take the guesswork out using regular expressions to search and manipulate text. With this updated cookbook, you’ll learn powerful new tricks, steer clear of flavor-specific gotchas, and save valuable time with this huge library of solutions to difficult, real-world problems.

O'Reilly Media: JavaScript & jQuery: The Missing Manual

JavaScript & jQuery: The Missing Manual:
You don't need programming experience to add interactive and visual effects to your web pages with JavaScript. This Missing Manual shows you how the jQuery library makes JavaScript programming fun, easy, and accessible to web designers at every level of experience. You'll quickly learn how to use jQuery to help your site run smoothly and look great across multiple web browsers -- without typing a lot of code.

Wednesday, August 22, 2012

nice tools to deal with an nvidia GPU: nvidia-settings, nvdock

This article helps you in finding the right package, that contains them.

locate RPM packages which contain a certain file | Racker Hacker

Locate RPM packages which contain a certain file | Racker Hacker

my Eee Box running openSUSE-12.1: the NVIDIA GPU "ION" can't read the EDID of the TFT display attached through VGA

That's sad, because that results in rather basic assumptions wrt the display resolution.

X11 log files with timestamps: ignore the timestamps and compare there anyway

/var/log/Xorg.0.log and /var/log/Xorg.0.log.old have timestamps on (most of) their lines, so you are not able to compare them directly.

This is the perl one-liner, that I just used for replacing the timestamp by white space:
perl -pe 's/^\[..........\]/[          ]/' /var/log/Xorg.0.log >  /var/log/Xorg.0.log.NODATE
If you apply this to Xorg.0.log and also to Xorg.0.log.old, you are able to compare the respective results.

Monday, August 20, 2012

I hate this X11 message: "kdm[999]: X server for display :0 terminated unexpectedly"

Happens all of a sudden, cannot recognise any reason yet.

my openSUSE Linux notebook (ASUS) finds it too hot and halted itself

I never experienced that problem before. Maybe the OS just got a little smarter now:

kernel: [ 6072.179381] Critical temperature reached (91 C), shutting down.
I opened the notebook (if I only had known, how easy it is to open this one), cleaned the CPU fan (wow, what a lot of dust!), …, finally I left the bottom cover off, and put the notebook and 2 dishes instead, in order to help with air circulation and heat transmission.
The CPU fan does no longer run smoothly, ordered a new one. Costs me like 90 Euro. Does not look that expensive, but then – what are the alternatives?
Managed to configure gkrellm, so that it shows temperatures. So I know at least, when it gets critical resp. how far away from critical it is.

Saturday, August 18, 2012

Musical Piano FREE/Pro - Android Apps on Google Play

Piano keyboards on my Android tablet – I really like this.
For now this is good enough to help my son exercising the music for his choir.
Also works as a metronome …

Wednesday, August 15, 2012

RSpec - Wikipedia, the free encyclopedia

RSpec - Wikipedia, the free encyclopedia

the "German Testing Board" (ISTQB) provides free glossaries for English and German/English

German Testing Board - Downloads

the "German Testing Board" (ISTQB) provides free curriculums in English and German

German Testing Board - Downloads

Apparently you should have yours at hand whilst studying and reading your respective book. The curriculum shows definitely, what you have to expect to get certified on. In case of conflict between curriculum and book, go for the curriculum!

why does my FRITZ!Box keep logging "(date) chronyd[(pid)]: Source (IP-address) online" resp. "... offline"?

Is that necessary? helpful? ...?

O'Reilly Media book: Switching to the Mac: The Missing Manual, Mountain Lion Edition

Switching to the Mac: The Missing Manual, Mountain Lion Edition:
Ready to move to the Mac? This incomparable guide helps you make a smooth transition. New York Times columnist and Missing Manuals creator David Pogue gets you past three challenges: transferring your stuff, assembling Mac programs so you can do what you did with Windows, and learning your way around OS X. Whether you’re using Windows XP or Windows 7, we’ve got you covered.

BDD = Behavior-Driven Development - Wikipedia, the free encyclopedia

The Pragmatic Bookshelf: Cucumber Recipes – Automate Anything with BDD Tools and Techniques

pragprog.com/book/dhwcr/cucumber-recipes


Cucumber Recipes: Automate Anything with BDD Tools and Techniques now in beta

English as written around the World – to be regarded as "funny"

Wonderful 'English' from Around the World  

In a Bangkok Temple:        

IT IS FORBIDDEN TO ENTER A WOMAN, EVEN A FOREIGNER, IF DRESSED AS A MAN.  

Cocktail lounge, Norway:  

LADIES ARE REQUESTED NOT TO HAVE CHILDREN IN THE BAR.          

Doctor's office, Rome:        

SPECIALIST IN WOMEN AND OTHER DISEASES.           

Dry cleaners, Bangkok:      

DROP YOUR TROUSERS HERE FOR THE BEST RESULTS.          

In a Nairobi restaurant:      

CUSTOMERS WHO FIND OUR WAITRESSES RUDE, OUGHT TO SEE THE MANAGER.      

On the main road to Mombasa, leaving Nairobi:

TAKE NOTICE:  WHEN THIS SIGN IS UNDER WATER, THIS ROAD IS IMPASSABLE.        

On a poster at Kencom:      

ARE YOU AN ADULT THAT CANNOT READ?  IF SO WE CAN HELP.          

In a City restaurant:

OPEN SEVEN DAYS A WEEK AND WEEKENDS.   

In a Cemetery:        

PERSONS ARE PROHIBITED FROM PICKING FLOWERS, FROM ANY BUT THEIR OWN GRAVES.   

Tokyo hotel's rules and regulations:        

GUESTS ARE REQUESTED NOT TO SMOKE, OR DO OTHER DISGUSTING BEHAVIOURS IN BED.            
           
On the menu of a Swiss Restaurant:        

OUR WINES LEAVE YOU NOTHING TO HOPE FOR.         

In a Tokyo Bar:        

SPECIAL COCKTAILS FOR THE LADIES WITH NUTS.      

Hotel, Yugoslavia:  

THE FLATTENING OF UNDERWEAR WITH PLEASURE, IS THE JOB OF THE CHAMBERMAID.       

Hotel, Japan:

YOU ARE INVITED TO TAKE ADVANTAGE OF THE CHAMBERMAID.        

In the lobby of a Moscow Hotel, across from a Russian Orthodox Monastery:

YOU ARE WELCOME TO VISIT THE CEMETERY, WHERE FAMOUS RUSSIAN AND SOVIET COMPOSERS, ARTISTS AND WRITERS ARE BURIED DAILY, EXCEPT THURSDAY.           

A sign posted in Germany's Black Forest:

IT IS STRICTLY FORBIDDEN ON OUR BLACK FOREST CAMPING SITE, THAT PEOPLE OF DIFFERENT SEX, FOR INSTANCE, MEN AND WOMEN, LIVE TOGETHER IN ONE TENT, UNLESS THEY ARE MARRIED WITH EACH OTHER FOR THIS PURPOSE. 

Hotel, Zurich:

BECAUSE OF THE IMPROPRIETY OF ENTERTAINING GUESTS OF THE OPPOSITE SEX IN THE BEDROOM, IT IS SUGGESTED THAT THE LOBBY BE USED FOR THIS PURPOSE.            

Advertisement for donkey rides, Thailand:          

WOULD YOU LIKE TO RIDE ON YOUR OWN ASS?          

Airline ticket office, Copenhagen:

WE TAKE YOUR BAGS AND SEND THEM IN ALL DIRECTIONS.  (Just Like British Airways!!!)       

A Laundry in Rome:

LADIES, LEAVE YOUR CLOTHES HERE AND THEN SPEND THE AFTERNOON HAVING A GOOD TIME.


And finally the all time classic:

Seen in an Abu Dhabi Souk shop window:

IF THE FRONT IS CLOSED, PLEASE ENTER THROUGH MY BACKSIDE…


Monday, August 13, 2012

CPAN modules for checking credit card numbers (LUHN check)

CPAN modules for checking credit card numbers (LUHN check):

This is a review and comparison of 9 CPAN modules that can be used to do a LUHN check on a number. … 
 

do I need a Raspberry Pi? or a NAS? …

Requirements:
  • low power
  • fanless / self-cooling
  • SSH shell access (?!?)
  • file access through SMB, rsync, SFTP
  • user accounts
  • sudo is not for everybody
Requirements regarding big external disks:
  • (I want them)
  • RAID-1 (mirroring) (highly desired, going to be a must)
  • automatic powering down those disks after a timeout period is a must, and of course powering up on demand as well
  • encryption
FRITZ!Box disadvantages:
  • the external disk is not encrypted.

(To be continued.)

Linux+LUKS: mounting encrypted fs error: "remove ioctl failed: Device or resource busy"

Mounting encrypted fs error: remove ioctl failed: Device or resource busy

Sounds like I shouldn't worry. But in fact I almost always stop+start again and again, until it mounts w/o this message.

The Pragmatic Bookshelf: Raspberry Pi

The Pragmatic Bookshelf | Raspberry Pi

Sunday, August 12, 2012

O'Reilly Media book: Classic Shell Scripting




nice scripts shown there and available in the sample code:
  • pathfind.sh – rather similar to my own find_file_on_PATH.sh
  • show-identical-files.sh – rather similar to my own group_by_content.sh – but has a problem with "md5sum"
  • puser.sh



O'Reilly Media book: 21st Century C

21st Century C:
If you know how to program with a general purpose language such as Ruby or Python, you can also learn how to use the C language in a practical and modern style. However, you need many techniques that are entirely absent from every C textbook on the market—except this one. 21st Century C assembles all the tools you need to write efficient, state-of-the-art programs with C.

Update 2012-08-13
No print book yet.

O'Reilly Media book: jQuery Cookbook

jQuery Cookbook: Getting started with the jQuery library is easy, but it can take years to fully realize its breadth and depth; jQuery Cookbook shortens the learning curve considerably. You'll learn patterns and practices from 19 leading developers who use jQuery for everything from integrating simple components into websites and applications to developing complex, high-performance user interfaces. The recipes start with the basics and then move into practical use cases with tested solutions to common web development hurdles.

Saturday, August 11, 2012

giving my Linux notebook a rest through the weekend

It has been running 24*7 for quite a while. Just sometimes I shut it down for a night or a weekend. That's because the fan frightens me …

Thursday, August 9, 2012

O'Reilly Media book: Learning Unix for OS X Mountain Lion

Learning Unix for OS X Mountain Lion:
Beneath OS X easy-to-use GUI interface lies a powerful Unix engine. Mac users have Unix, as well as a host of tools ported over from Linux, at their fingertips; the just need to know how to access it. Learning Unix for OS X provides Mac users with a user-friendly tour of the Unix world concealed beneath OS X's hood and shows how to make the most use of the command-line tools.

Thoroughly revised and updated for Mac OS X Lion and Mountain Lion, this new edition introduces Mac users to the Terminal application and shows you how to navigate the command interface an explore hundreds of Unix applications that come with the Mac.

a book published through Lulu: Moose – authors: Dave Rolsky, Stevan Little

Moose by Dave Rolsky, Stevan Little; e-book and paperback

Update 2012-08-13
purchased the e-book, and uploaded it to my tablet.

Friday, August 3, 2012

Perl Best Practices: Command-Line Processing

Perl Best Practices - O'Reilly Media

Again: rather worth reading and making use of it.

Personally I have been using Getopt::Long and Pod::Usage together for quite a while. I can seriously recommend them.

Perl Best Practices: Regular Expressions: Always use /xms



Almost always at least.

DC explains quite well in the beginning of the section on Regular Expressions  [Link], why each of /x, /m, and /s is rather, rather reasonable to use.

  • /x : extended formatting / legibility
  • /m : let ^ and $ also match next to embedded \n; "multiline mode"
  • /s : let . also match newline; "single …"