Wednesday, September 25, 2013

O'Reilly Media book: Unix Power Tools, 3rd Edition (2002)

a couple of nice utilities from their sample code:
  • rcsgrep, rcsegrep, rcsfgrep - check out files and grep/egrep/fgrep them – is there somthing similar for subversion etc.?
Update 2013-10-23:
Derived cvsrevs from rcsrevs, and cvsgrep from rcsgrep. This is really nice!! Imagine this:
$ cvsgrep -a SEARCHME files

do you remember "pipegrep" from a rather old Camel Book?

[Chapter 27] 27.13 More grep-like Programs Written in Perl (an outdated but still useful "Unix Power Tools" edition somewhere on a web-server discusses it)

The pipegrep program greps the output of a series of commands. The difficulty with doing this using the normal grep program is that you lose track of which file was being processed. This program prints out the command it was executing at the time, including the filename. The command, which is a single argument, will be executed once for each file in the list. If you give the string {} anywhere in the command, the filename will be substituted at that point. Otherwise the filename will be added on to the end of the command. This program has one option, -l, which causes it to list the files containing the pattern.

Follow the above link for a nice example!

I remembered the pipegrep utility today, because I came across a task …

Update 2013-10-17:

O'Reilly Media book: Oracle PL/SQL Programming

Oracle PL/SQL Programming:
Considered throughout the Oracle technology community to be the best Oracle PL/SQL programming book available, this guide is the definitive reference on Oracle’s powerful procedural language. Like its predecessors, this sixth edition covers language fundamentals, advanced coding techniques, and best practices for using PL/SQL. Thoroughly updated for Oracle Database 12c.

GNU Coding Standards: Option Table (command line options)

GNU Coding Standards: Option Table

Wednesday, September 18, 2013

how to let GNU Emacs "Untabify Upon Save"?

EmacsWiki: Untabify Upon Save

There are colleagues, that don't want to see tabs in scripts sources, that I edited.

Apparently there isn't a nice switch saying, that there shouldn't be tabs in a certain file.

Tuesday, September 17, 2013

Greg Kroah-Hartman: booting a self-signed Linux kernel

booting a self-signed Linux kernel - Linux Kernel Monkey Log

Procedures for how to boot a self-signed Linux kernel on a platform so that you do not have to rely on any external signing authority.

Sunday, September 15, 2013

my new UPS: APC BE700G-GR

  • Now my Synology DS213+ (NAS) gets its power from the UPS, and the UPS also controls USB-wise, when the NAS goes to "Safe Mode". For the USB-connected NAS, this is "local UPS support". This Synology device is now the "Synology UPS server", that controls, the remaining Synology DiskStations powered by the UPS.
  • My Synology DS112+ (NAS) uses the DS213+ as "Synology UPS server".
It feels well, to have your NAS-s powered by your UPS.

an "Erich Fromm" page on Facebook in English

UPS on the Synology wiki

User Reported Compatible Uninterruptible Power Supplies - SynologyWiki

Tuesday, September 10, 2013

my latest GNU Emacs on OS X: Emacs Daily Build 2013-09-11

Emacs Daily Build 2013-09-11 »:
Universal Binary built on Mac OS X 10.6.8, 45.89 MB.
See the differences from the last build.

yet another Perl power tool: ack - grep-like text finder

ack - grep-like text finder - - Perl programming language

added "Perl Power Tools" to the PPT "disambiguation page" on the English wikipedia

I am curious, how long this entry will survive there. It's actually not referring to an existing article on the Perl Power Tools. It's just meant to tell "the reader", hey, there are these nice Perl Power Tools out there, and they also get abbreviated as PPT.

Well, yes, I could create a wikipedia stub page, but it would only have these 2 links:

And maybe some short text with like 30 words from the first of these 2 links.

But for how long would this stub article survive on wikipedia?

the Unix date command: yesterday, tomorrow, nanoseconds

GNU's date lets you specify yesterday, tomorrow, Sunday, … to be displayed following the format specification you supply. And (if available) you can also get nanoseconds displayed. Please do not complain, that precisions between nanoseconds and seconds are missing!

Maybe on your UNIX flavor computer GNU date is installed as gnudate or gdate (just like: gnutar, gtar, …).

Monday, September 9, 2013

No Starch Press: Perl One-Liners
Perl One-Liners showcases 130 short and compelling lines of code that do all sorts of handy, geeky things.

TidBITS Publishing e-book (only): Take Control of Your Online Privacy
Learn what's private online (not much)--and what to do about it!
Do you have anything to hide? Whether or not you think you do, your online activities are certainly tracked -- and not just by well-meaning sites who want to keep you logged in or by marketing firms who want to show you targeted ads for products that you likely want to buy.
In the full book, Joe helps you gain perspective on what is reasonable to expect about online privacy and develop a sensible online privacy strategy, customized for your needs. He then explains how to enhance the privacy of your Internet connection, Web browsing, email messages, online chatting, social media interactions, and file sharing. To bring home the most important privacy no-nos, Joe also encourages you to take The Pledge (OK, it's tongue-in-cheek, though it would have saved numerous politicians from ridicule and career-ending gaffes). Plus, parents will find important riinders about how your online actions can affect your children, far into the future.
Teach This Book! Once you're satisfied with your own online privacy strategy, you may want to help friends or colleagues improve theirs. To that end, Take Control of Your Online Privacy includes links to a downloadable one-page PDF handout and to a PDF-based slide deck that you can show on any computer or mobile device screen.
Whether you have a Mac or PC, iOS or Android device, set-top box, cell phone, or some other network-enabled gadget, Take Control of Your Online Privacy has the advice that ordinary people need to handle common privacy needs (secret agents should really look elsewhere). You'll receive savvy advice about:
Why worry? Learn about who wants your private data, and, more important, why they want it. Even if you don't believe you have anything to hide, you almost certainly do, in the right context. Would you give just anyone your financial records or medical history? Didn't think so.
Set your privacy meter: Develop your own set of personal privacy rules -- everyone has different privacy buttons, and it's important to figure out which are important to you.
Manage your Internet connection: Understand privacy risks, prevent snoops, and take key precautions to keep your data from leaking out.
Browse and search the Web: Learn what information is revealed about you when you use the Web. Avoid bogus Web sites, connect securely where possible, control your cookies and history, block ads, browse and search anonymously, and find out who is tracking you. Also, learn how to protect your passwords and credit card data.
Send and receive email: Find out how your email could be intercepted, consider when you want email to be extra private (such as when communicating with a doctor or lawyer), find out why Joe doesn't recommend email encryption as a solution to ordinary privacy needs (but find pointers for how to get started if you want to try it -- or just encrypt an attachment, which is easier), get tips for sending email anonymously, and read ideas for alternatives to email.
Talk and chat online: Consider to what extent any phone call, text message, or online chat is private and find tips for enhancing your privacy when using these channels.
Watch your social media sharing: Social media is by definition social, so there's a limit to how private it can be. Understand the risks and benefits of sharing personal information online, tweak your settings, and consider common-sense precautions.
Share files: What if you want to share (or collaborate on) a contract, form, or other document that contains confidential or personal information? Find out about the best ways to share files via file server, email attachment, cloud-based file sharing service, peer-to-peer file sharing, or private cloud.
Help your children: As a parent, you know a lot about your children and you have access to lots of photos of thi. But that doesn't mean you should share everything without a thought to your children's privacy needs, either now or in the future, since data never disappears from the Internet. Find a few key tips to keep in mind before you tell all.
If I don't live in the United States, does this book pertain to me?
Many of the examples in this book are taken from the United States. Although laws and policies vary from country to country, nearly everything in this book is applicable in some fashion to anyone in the world.
I am a journalist and need to protect my sources. Plus, I think a few governments are tracking my movements. Will this ebook help me to ensure my privacy?
This book could be a good start if you are unfamiliar with these matters, but it does not have the depth of technical detail that you require. The intention of this ebook is to help ordinary people address ordinary privacy concerns, within the scope of a short book.

Sunday, September 8, 2013

adium supports "SIP / SIMPLE"

SIMPLE - Wikipedia, the free encyclopedia

Found this out tonight, when I upgraded to adium-1.5.8b1.

Added my SIP account to adium, but I don't know of anybody using "SIP / SIMPLE". Is anybody out there, who can contact me à la "SIP / SIMPLE"?

Wednesday, September 4, 2013

Marrano - Wikipedia, the free encyclopedia

Marrano - Wikipedia, the free encyclopedia

resetting the DNS cache: OS X, Firefox

 This is the manual approach for Firefox:
  • Introduce 2 new variables within about:config:
  • network.dnsCacheExpiration (integer / 0)
  • and network.dnsCacheEntries (integer / 0);
  • my problem with this: if you want to reset these switches, that's fine with Firefox, just that they get their data types changed to "string"; and once, you want to set them again to "integer / 0", you simply can't; for the time being I just assume, Firefox doesn't seriously consider the data type and accepts "string" for these 2 as well.

rsync with --fuzzy

My impression is, that --fuzzy writes the destination file again, making use of chunks from the old, neighbour destination file. That's certainly cheaper than sending files over the wire, but still … .

Root Checker - Android Apps on Google Play

Root Checker - Android Apps on Google Play

Once you are rooted, you want to be sure, you really are.

Scott Berkun: why it’s ok to buy books and not read them

Why it’s ok to buy books and not read them

"I used to feel guilty about books I own but haven’t read. They’d sit in piles making me feel unworthy as a writer, and reader. And no matter how many books I’d read in a year, I’d always find myself buying more. I couldn’t win. It was a destructive cycle and it drove me mad. …"

Tuesday, September 3, 2013

Framaroot: One-Click-Root App For Select Samsung Android Devices - Mobile PC - iTech Post

my Android phone says: "unable to move app. not enough storage space"

This is such a P.I.T.A.

O'Reilly Media book: Linux Server Hacks


how to keep folders in sync over the Internet ("long-distance", not LAN)? I mean *sparingly*

So far I have been using rsync for this purpose, but there is still space for optimizations.

If I locally rename a big file, next time my "rsync -vaz --delete-after" will copy the file using the new name and remove it using its old name. I would actually prefer to see the file getting renamed remotely.

Posted this issue on the rsync user mailing list [link].
In response to that, I received a message pointing me to the "should" tool [link].

ErgoEmacs is a modernized version of emacs …


Came across this hint in a tweet.

the "vi" built into busybox-1.16.1 on my Synology DiskStation DS213+ just fooled me

I was trying to find an occurrence of /lib/cpp in a log file, and I wanted to avoid using '/' in a regexp, so I tried 'lib.' instead. But that didn't match the obvious occurrence. I executed a ":set magic"; the command got accepted, but that still didn't change its behaviour. Installed VIM, tried the same, and everything worked as expected. Still a little frustrating. It looked like I am loosing even my basic VI competence.

Expecting Sven G.'s "like it" on FB…

(cross) development toolchain for the Synology DiskStations (DS213+, DS112+, …) – which CPUs do they use?

The gcc supplied by ipkg (for this model) is an ancient 3.4.6, apparently so outdated, that you cannot configure and compile "current" sources, at least neither a current rsync nor a current gcc.

I guess I should go for Synology's own toolchain for the DS213+. Where do they supply that? At > Support > Developers > "Request GPL Source" they point you to Looks like EnvDeploy inside that tarball is the starting point.

According to the "Synology NAS Server 3rd-Party Apps Integration Guide.pdf"

  • the DS213+ has a "Freescale QorIQ P1022"; /proc/cpuinfo calls the CPU an e500v2, that's a kind of PowerPC; the toolchain set-up scripts calls it "qoriq";
  • and the DS112+ has a "Marvell 6281" or a "Marvell 6282"; /proc/cpuinfo calls the CPU a "Feroceon 88FR131 rev 1 (v5l)", that's an ARM processor; the toolchain set-up script calls it "6281";

To be continued …

O'Reilly Media book: vi and Vim Editors Pocket Reference, 2nd Edition

O'Reilly Media book: Learning the vi and Vim Editors, 7th Edition

The Pragmatic Bookshelf: Practical Vim

Monday, September 2, 2013

modding Synology DiskStations: Ernst Martin Witte on optware/ipkg

Ernst Martin Witte's Homepage - Optware/ipkg (hopefully) right on Synology DS213+ with DSM 4.2

Maybe it has valuable hints for more difficult compilation issues.

the IPKG optware development toolchain for Synology DiskStations,_bootstrap,_ipkg_etc

Recently I found IPKG actually got abandoned, and the IPKG Perl on one of my Synology DiskStations wasn't really functional at all (some broken dependency on a library to be loaded dynamically).
That really frustrated me for a short period. Now I installed the IPKG optware-devel (compilation toolchain) and esp. gcc. Downloaded rsync sources, proceeded "as usually" with GNU sources, and it simply works. That's phantastic. I have really been worried for quite a while with that restricted Synology provided rsync, and the IPKG rsync didn't really comfort me there, so having "my own" rsync is really a nice thing. Next thing will be compiling my own Perl; and I will even be able to install CPAN modules with C sources, as I even have a C compiler.

Actually I should consider bootstrapping gcc, the GNU C compiler, because gcc-4.2.3 is a little outdated. gcc for my other DiskStation is even older, it's a gcc-3.x. But than those gcc-s create code, that runs on these DiskStations, and not really bad.

Looks like my Synology DiskStations even work well as development systems.

how to put Mac OS X Lion in Hibernate (Deep Sleep) mode – and how to disable it again

$ sudo pmset -a hibernatemode 25
$ sudo pmset -a hibernatemode 3
$ sudo pmset -a hibernatemode 0

finally fixed this problem with Google Maps on my Android smartphone: "please enable google apps location access"

[Android] What is "Please enable Google apps location access" error in Google Maps and how to fix it [dotTech Explains] | Reviews, news, tips, and tricks | dotTech

My Android smartphone wouldn't let me simply enable determining my location via GPS within Google Maps. It complained: "please enable google apps location access". The above article pointed me "here": System settings > Accounts > Google > Privacy > Locations settings > "Let Google apps access your location".

I think, with my smartphone "out there" I had run into this problem quite a few times during the last couple of months, never really properly investigating it at my desk. The investigation didn't really cost me a lot of time, but … you know … – now at least the issue is solved.