Saturday, June 19, 2010

duplicating a tab in Firefox

Came across this recently whilst browsing one of those magazines.
What would you need this for?
Well, if I have my Google Mail Contacts open and I want to write a message to one of my contacts, but I also still want to keep … Contacts open – you never know, how long it takes to complete a message, but you still want to be able to look up contact details – then at least I need it.
On OS X you drag the tab to another place with the mouse or whatever and the Alt key pressed. On Linux and Windows it's the Control key instead.

Friday, June 18, 2010

keyboard shortcuts on all the major operating systems

For the last couple of months I have been struggling with the keyboard of my beloved MacBook Pro. How often did I click on "Show Keyboard Viewer"? And it still didn't really help on the long run. Today I did some respective "research", and here are the links:
Some of those shortcuts, that I really love now on my Snow Leopard MacBook:
  • "cycle through open … windows of the current desktop" resp. "switch focus to the next/previous window (without dialog)": Ctrl+F4 or Cmd+` (that's the Grave accent key).
  •  "show / hide desktop": F11
Today I also screen dumped my the Keyboard Viewer window, printed it a couple of times, and scribbled all the other uses of a key (together with fn, Control, Alt, Command) on it. This will seriously help me learning how to find brackets, curly braces (that I need for perl and ruby), the tilde (that I need for Portuguese and in a shell command line) far sooner.

Update / 2010-06-22:
Yes, on OS X at System Preferences / Keyboard / Keyboard Shortcuts, this is where a lot of nice shortcuts get listed.

Wednesday, June 16, 2010

using curl for "streaming" Flash movies into a file on your hard disk

Flash movies are usually thought of as being safe against being stored by the viewer. Well, that changed, when rtmpdump and other tools appeared on the scene. Actually the rtmpdump development resp. repository got hidden in a safe harbour. I wonder, how long curl's feature will survive, as the movie industry will not like that feature to be easily available, and with one of the world's best downloaders (I actually think the best), the only bits you need, are the values in  your HTML, that corespond to the host, "the app", and the playpath, and all three go into single command line argument, which is a little special. I assume, the assignment to the shell variable playpath flows into a second line. It surely shouldn't do that within your shell script.

You need a version of curl  ≥ 7.21.0 for having that feature on board.

These are sample command lines for this job:

$ playpath='mp4:videoportal/mediathek/Polizeiruf+110/c_120000/126955/format130594.f4v'
$ curl "rtmp://VOD.DasErste.de app=ardfs/ playpath=${playpath}" \
    -o "Polizeiruf_110--Aquarius.mp4.flv"


Update / 2010-07-10:
My commentator apparently experienced problems with that. I have to assume, he didn't download 7.21.0 from its usual place.

activating the Meta key for the Terminal app under Mac OS X Snow Leopard

I just came across a description on how to do this, which seems far outdated and just not working. So I thought, I would let you know, how it really works with Snow Leopard.
Here you see the window, that pops up for Terminal's Preferences menue entry:
You can see the Use option as meta key switch – use it, if you want!

"rake", the ruby DSL, improved

Well, I started using rake instead of make in 2007, when I got ruby infected. I noticed then, that rake's output is a little "dis-arranged" (the entire "command" came printed in  one single line). That changed in the meantime, at least now with 0.8.7 it is just the way I like it. Thank you to the developers!

Google Mail Contacts is my personal killer app

Serious!!!
Once again: it syncs with the iPhone address book.
I use it for reverse look up (phone number to address book entry) together with my telephone system in my home office, and that's build around an AVM "FRITZ!Box". The glue software got implemented by myself in ruby (w/o Rails).
Why ruby? I thought, I could make it run with Cocoa Ruby on the iPhone. But you know yourself: Apple fights those kinds of things. And just for running it with a GUI on a usual Mac OS X? No, that's not worth my effort.

Update / 2010-06-16 11:45:
I forgot mentioning xing.com here. Downloading vCards from xing and adding them here – that's just awesome!

my own "tiny" Facebook security leak

I started using a Facebook "Profile Badge" here on this blog quite a while ago. Today I noticed, that all my Facebook status updates got shown here on that Profile Badge in the right column of this blog. Believe me: I seriously hurried removing that field "Status updates" from my Facebook Profile Badge.

To be very honest with you: no, this security leak was a giant one, not a tiny one.

I really love using vCards and profiles pictures from Xing

I "always" also "copy" them for my Google Mail address book, which gets synced with my iPhone's address book. This really makes my life so much easier  – recognising resp. remembering people by their faces is so much easier.
Update / 2010-06-16:
I forgot to mention, that I always use Xing's vCards for new contacts to create resp. complete their entries in my Google Mail resp. iPhone address book.

perl events on a public and shared calendar

Gábor Szabó is my hero!

I came across the TPF's Perl 5 Wiki entry on events, suggested to him and Renée Bäcker to also maintain that calendar on a public and shared calendar, and Gabór just pointed me to that Google calendar (Google Calendar ID: ctbpksh6sva6r1kt1vqvh1l6qs@group.calendar.google.com) that had already gotten set up. Hey guys, your are doing a really great job.

Of course I added that calendar immediately to my list.

option and configuration processing

Once again I came across this very nice and certainly very helpful article on O'Reilly's perl.com.

I personally really have been loving the Art of Command Line Processing for a very, very long time. During one of my last projects (it was actually mainly using p*th*n as programming language because of some rather weird and esoteric guy, who made it his personal mission to reinvent all the software spread over the bank from perl to p*th*n, especially the one he had written himself in quite unreadable perl a couple of years ago) I faced the task of prepping up a Java program from JasperForge.org, and the major value I added to that utility was to add command line processing using libraries from Apache. I actually offered Teodor Danciu of JasperSoft, JasperReports' inventor and main developer, to contribute my version of that utility to JasperForge, but he wasn't interested. I was rather sad. Maybe he will rethink that decision.

Update / 2010-09-19:

I think, I sort of "lied" :-) here. I didn't "offer" Teodor that extension of his own OSS software, that he had developed himself and then published under LGPL, I rather asked him this:
Is there any interest in a "'-D' command line / getProperty" version of TextApp?
I would really love to even write and contribute a new and better version of my old approach, which was 100% based on OSS.

Can you imagine, that I get legally threatened for the above question, because an organisation thinks to possess rights on these minimal modifications I applied? We are talking literally about a couple of lines.

comparison of web application frameworks on en.wikipedia.org

I was cleaning up my Google bookmarks, came across Maypole, tried to look it up, and came across a comparison of web application frameworks on en.wikipedia.org, that includes the perl approaches.

My humble suggestion:
members of the respective perl communities add resp. maintain their entries to / within that table. mojolicious came to my mind at first. I personally wouldn't be too shy changing anything on wikipedias, but I can't promise to keep the entries updated – but I might be of help setting up the row in that table, if that's of any use.

Tuesday, June 15, 2010

me at LinuxTag.org/2010

This is me and Ignacio Correas Usón (the "men in red"), "Mr. ebox", at the Perl Booth. He is seriously seeking business partners in Germany for the ebox.

my first scrubyt extractor

Followed this wiki article.
Had to install XPather and DOM Inspector in Firefox (quite common plugins), and also FireWatir, as described on this blog.
Back-quotes and forward-quotes within that article are just simple-quotes instead.
To be continue …

installing FireWatir for Firefox

Followed this wiki article.
The list of "files attached" is truely broken, but the official installation guide helps.

Monday, June 14, 2010

installing scrubyt from Github on openSUSE-11.2

 Followed this blog article.
Had to install rpm libxml2-devel, not just libxml2.
Had to install rpm libxslt-devel, not just libxslt.

Sunday, June 13, 2010

set an ACL on /var/run and locked myself out a little

I wanted to run a script of mine with output in /var/log and its PID captured in a file in /var/run. I must have gotten something wrong with the ACL I set on them, as GDM did not succeed starting my next session afterwords. Took me a little to find out, how that came, but .xsession-errors was my friend there.

prepped up my 1st contribution to CPAN

Now I am waiting for my PAUSE ID on CPAN. My first script to contribute is named xls-tar.pl, a utility, that tries to handle XLS files a little like TAR treats its archives.

Update / 2010-06-13 14:00:
Got my account on PAUSE resp. CPAN acknowledged ("johayek"), so my home directory there is http://search.cpan.org/~johayek/.
Uploaded xls-tar.tar, now waiting for it to show up.
Do scripts (as opposed to modules) get listed within a user's directory?

Update / 2010-06-13 14:25:
xls-tar_1_32 first showed up on ftp.funet.fi (actually ftp://ftp.funet.fi/pub/languages/perl/CPAN) as $CPAN/authors/id/J/JO/JOHAYEK/xls-tar_1_32.pl . Sooooo … – now I am quite proud.
More scripts to appear occasionally …
Yes, now I expect getting tarred and fathered  – pls have mercy!!!

contributing on CPAN

This week with the perl community around LinuxTag.org/2010 made me rethink my status of "involvedness" with the perl community a little. Yes, I am going to really share things from now on, e.g. on CPAN. So this morning after Gábor Szabó's departure, I not only applied for getting this blog merged into ironman.enlightenedperl.org, but I also applied for an account on pause.perl.org, and right now I virtually stand in the middle of that article "The [Perl programming] Authors Upload Server", where I got to from "How do I contribute modules to CPAN?" in the CPAN FAQ. Currently I rather have a few scripts in mind, that I want to share, so I am also in the middle of "How to submit a script to CPAN", another entry in the CPAN FAQ. I am really excited about this right now. More soon here!

applied for "Planet Perl Iron Man"

Gábor Szabó encouraged me to a couple of things during this week with him around LinuxTag.org/2010. One of them was to "join the program" at ironman.enlightenedperl.org, which seems to be a Grand Unified Perl Blog. I am rather excited about this right now.

Wednesday, June 9, 2010

Parrot, the virtual machine

I am rather astonished:  Parrot has a rather lengthy list of existing client languages in its Wikipedia article, and there is an even longer one on Parrot.org. I wonder, how lively they really are.

Ragel State Machine Compiler

Ragel compiles executable finite state machines from regular languages. Ragel targets C, C++, Objective-C, D, Java and Ruby. […]

Screen Capture in Snow Leopard

Helpful article!!
To take a screen capture press Cmd+Shift+4 on your Snow Leopard. […]

ELPA = Emacs Lisp Package Archive

This article describes how to install the installer.
[...] Once you have installed the package manager, type M-x package-list-packages. Type r in the package menu buffer to update the list of packages available from the server. If you want a particular package, type i next to its name to mark it for installation, and then x to download and install it.[...]

"A weblog client for emacs"

weblogger.el implements Blogger, MetaWeblog and (hopefully soon) the Atom API weblogging APIs.

TextMate style "snippets" for Emacs

An article talking about YASnippet. So maybe after having learnt, how powerful TextMate is, I will reconvert back to Emacs, using YASnippet "of course". A few words on snippets ...

Monday, June 7, 2010

copying from from OS X to a Samba server fails, using Cyberduck instead

The operation can't be completed, because you don't have permission to access some of the items.
Did you come across that error message before? I did, more than once.
Today I started using Cyberduck to copy over to the other side, but now as SFTP server. That's almost as nice, at least it looks like it's not going to fail that silly.

Saturday, June 5, 2010

more on web harvesting


Update 2010-06-05/06:
One night later I am still very impressed by scrubyt, and I rather want to try it on a real life example quite soon.
Actually in a way scrubyt does, what I also do with my JHwis toolkit, but of course, it looks, as if goes far (?!?) beyond that. JHwis navigates in a programmed way through web-sites, and it downloads certain HTML files to the disk for further processing. Those HTML files contain HTML tables, and there is already a nice PERL library, that I wrap into a command line utility, that extracts HTML tables into CSV files. These CSV files are actually not really of a kind, that you can directly load into a spreadsheet GUI utility like OpenOffice Calc or whatever. They need further mechanical processing and refinement, before they can get loaded into database tables.
With scrubyt's help (apparently) you extract an XML file from the quite nested HTML table structures of a web page.
Years ago, when I started my project I created CSV files. A couple of years later, I also created XML files. But I never adapted the entire tool chain to make use of these XML files.
My XML files only reflect exactly the data, that I want to make use of.
scrubyt's XML files reflect (I think) the entire table structure.
Nowadays with XSLT processors you "easily" develop an XSL script (aka "stylesheet"), that extracts the portion, that you are really interested in.
To be continued ...

Friday, June 4, 2010

jsvi = VI in Javascript

I will have to look how to make use of it.
Here is the link.

web harvesting and my toolkit JHwis

I implemented a toolkit years ago, that I call JHwis. Now and then I think, I should have do more advertising for it. I have been using software created by that toolkit for downloading bank account statements and other stuff for years now. I would like to prove you, it's also very well suited for web harvesting, according to the English wikipedia "a focused form of a web crawler search". Who is going to give me the opportunity of proving that?

phonebook on Facebook

Did you know, you have a phonebook on Facebook? Now you do. But nowadays more and more Facebook friends remove their phone numbers from their Facebook profile.

a rather impressive "sand drawing movie" showing Germany's invasion and occupation of Ukraine during WWII

Thursday, June 3, 2010

fictiticious world cup letter to the wife

Dear Sweetheart,

  1. Between 11 June and 11 July 2010, you should read the sports section of the newspaper so that you are aware of what is going on regarding the South African World Cup, and that way you will be able to join in the conversations. If you fail to do this, then you will be looked at in a bad way, or you will be totally ignored. DO NOT complain about not receiving any attention.
  2. During the World Cup, the television is mine, at all times,  without any exceptions. If you  even take a glimpse of the remote control, you will lose it (your eye).
  3. If you have to pass by in front of the TV during a game, I don't mind, as long as you do it crawling on the floor and without distracting me.
  4. During the games I will be blind, deaf and mute, unless I require a refill of my drink or something to eat. You are out of your mind if you expect me to listen to you, open the door, answer the telephone, or pick up the baby that just fell on the floor. It won't happen.
  5. It would be a good idea for you to keep at least 2 six packs in the fridge at all times, as well as plenty of things to nibble on (excluding your body parts), and please do not make any funny faces to my friends when they come over to watch the games. In return, you will be allowed to use the TV between 12am and 6am, unless they replay a good game that I missed during the day.
  6. Please, please, please!! If you see me upset because one of my teams is losing, DO NOT say "get over it, it's only a game", or "don't worry, they'll win next time ". If you say these things, you will only make me angrier and I will love you less. Remember, you will never ever know more about football than me and your so called "words of encouragement" will only lead to a break up or divorce.
  7. You are welcome to sit with me to watch one game and you can talk to me during halftime but only when the commercials are on, and only if the half time score is pleasing me. In addition, please note I am saying "one" game; hence do not use the World Cup as a nice cheesy excuse to "spend time together".
  8. The replays of the goals are very important. I don't care if I have seen them or I haven't seen them, I want to see them again, Many times.
  9. Tell your friends NOT to have any babies, or any other child related parties or gatherings that requires my attendance because:
    a ) I will not go,
    b ) I will not go, and
    c) I will not go.
  10. But, if a friend of mine invites us to his house on a Sunday to watch a game, we will be there in a flash.
  11. The daily World Cup highlights show on TV every night is just as important as the games themselves. Do not even think about saying "but you have already seen this, why don't you change the channel to something we can all watch?" because, the reply will be, "Refer to Rule #2 of this list".
  12. And finally, please save your expressions such as "Thank God the World Cup is only every 4 years". I am immune to these words, because before and after this comes the Champions League, Premier League, Italian League, Spanish League, KPL, FA Cup, Euro Cup, etc.
P/S
By the way if you get stuck on the road call the Police or AA.
Thank you for your co-operation.