Compiler Block Reordering and Memory Layout Optimization

GCC as enabled with -freorder-blocks and a optimization level larger 1 will reorder instructions at a block level. This optimization is mainly to compress correlated code to provide a optimized cache aware memory layout. Because of some Linux kernel hacking I forced to get the details when and where GCC’s optimizations kicks in. The most effective way for userland programs without branch-taken-knowledge is through profile guided optimization nowadays. But this is not possible in every setup (lack of realistic input data, …)....

July 22, 2012 · 2 min · Hagen Paul Pfeifer

Epson WP 4535 - Multi-Function Inkjet and Linux

Today I buyed a new printer: Epson WP 4535. The printer can scan up to 600 DPI to a USB device (as JPEG or PDF). A nice feature because I dont want to install sane or any other scaner software. Printing works out of the box via CUPS. No additional driver installation required. My room mate tried to test the printer with Windows which failed. Under Windows you must download the actual driver from Epson Homepage....

July 19, 2012 · 1 min · Hagen Paul Pfeifer

IETF I-D and RFC News

Vancouver is near so there was a lot of I-D submission progress. I-D cutoff is over so ID submission settles. Subsequent a list of some interesting I-D’s (this list is sorted): A Roadmap for Transmission Control Protocol (TCP) Specification Documents An IPv4 Flowlabel Option Operational Issues with Tunnel Maximum Transmission Unit (MTU) Accurate ECN Feedback Option in TCP Implications of running Internet over ports 80 and 443 OSPFv3 Auto-Configuration Cache DNS Server Selection on the Dual-stack Home Network An Acceptable Use Policy for New ICMP Types and Codes How to Write an RTP Payload Format Definitions of Managed Objects for Packet Sampling IPv6 Guidance for Internet Content and Application Service Providers Formally Deprecating some IPv4 Options Client Identifier Option in DHCP Server Replies TCP Extensions for High Performance IPv6 Path MTU Updates Host Identity Protocol Architecture Domain Names in Application-Layer Protocols From TCP perspective not that much....

July 19, 2012 · 4 min · Hagen Paul Pfeifer

Cscope and Code Navigation

Cscope is a crucial part in my development tool zoo. Not for small projects but for larger projects like Linux Kernel development I use cscope really often. But as usually: I only use a small subset of all cscope features. This normally boils down to Ctrl-] to jump to the declaration of the function and later Ctrl-t to jump back. With Cscope the acts like gD (goto declaration) with don’t stop at file boundaries....

July 12, 2012 · 1 min · Hagen Paul Pfeifer

CAPTCP News - TCP Throughput Module

The development of captcp flatten out: no more features where implemented in the last months. Today I merges a branch from Gábor Molnár to print TCP stream throughputs separately. New option is can be enables via -x. Many thanks Gábor! This time I used the github merge feature the first time. I rarely use github features. For me it was (and still is) a public git hoster. But Github features like included issue tracking and the whole collaboration thing is great!...

July 10, 2012 · 1 min · Hagen Paul Pfeifer

Quit User Tracking

This blog used two third party extensions: Google Analytics Disqus Both set cookies and have a user coverage which is horrible. Nowadays Google Analytics together with Google Search, Android activity and Google Ads have a database of … in the end they know too much about you. I decided today that web analysis data is not crucial for me compared to the privacy of my readers. So I removed all third party content from my blog....

July 7, 2012 · 1 min · Hagen Paul Pfeifer

Git Merge Tips

I use git nearly since the beginning as BitKeeper was replaced by Linus. This was in 2005. In the early days git was hard and cumberstone to use. The low-plumbing-level made it really hard and unintuitive. Wrapper tools like cogito provide the essential usability. E.g. back in the days instead of git pull you have to type git fetch and git merge and the like. It was hard to remember all the commands to get versioning done....

July 7, 2012 · 1 min · Hagen Paul Pfeifer

IETF I-D and RFC News - I

I just decided to summary IETF relevant news as new I-D’s or RFC’s in a weekly blog posting. The summary will not cover all areas, nor will it list the most prominent development. I focus on topics I am most interested. This mainly includes the following areas: Applications, Internet, Operations and Management, Routing and of course Transport. But occasional I will post I-D’s or new RFC’s from other areas as well....

July 7, 2012 · 1 min · Hagen Paul Pfeifer

Linux Photo Editing Environment

I shoot all my photos in RAW, so my post-processing chain is a little bit more complicated as shooting in JPEG. Raw photo editing tools under Linux are nowadays more functional and usable as several years ago. But handling RAW images is more time consuming as stripped JPEG images. These are the costs of an increased flexibility. To simplify processing I tried nearly all professional tools under Linux (this includes scripts based automations)....

July 5, 2012 · 1 min · Hagen Paul Pfeifer

A, AAAA and MX Records Changed

Due to a server move some IP addresses as well as certificates changed. In the next week I will publish the server certificates too. If you detect some broken links please drop me an email. This includes links to git repositories too. $ dig +retry=0 +qr jauu.net A | egrep '.*jauu\.net.*[[:digit:]]' - jauu.net. 1242 IN A 80.244.247.6 $ dig +retry=0 +qr jauu.net AAAA | egrep '.*jauu\.net.*[[:digit:]]' - jauu.net. 1233 IN AAAA 2001:4d88:1ffa:82:880:aa0:9009:f00d $ dig +retry=0 +qr jauu....

July 4, 2012 · 1 min · Hagen Paul Pfeifer