A Reader!

posted in: Corruption Archives | 0

Academic publishing can sometimes be pretty much of a one way radio: You’re broadcasting but you never know whether or not someone is receiving – and if someone is receiving, what they make of it.

So I am happy that Dr Dominik Zink of the University of Trier took the time to read and kindly review my PhD Thesis in The Year’s Work in Modern Language Studies 79 (2019) 1, p 555 (published online on 28 March 2019 at https://brill.com/view/journals/ywml/79/1/article-p555_41.xml)....   READ MORE

NextGen vanishes on front page

posted in: www Archives | 0

My NextGen gallery kept vanishing on my WordPress frontpage. It did not show as long as the page was set to front page, as soon as I picked a different front page, the images reappeared. Even when I changed the theme, the gallery disappeared.

...   READ MORE

I checked and rechecked the source code, but what I apparently missed was the gallery being wrapped in auto excerpt tags:...   READ MORE

How to Stream Music from Linux PC to iPhone over Wifi

posted in: Linux Archives | 1

There are endless possiblities to stream music from your computer to your phone over wifi, but few dedicated howtos that walk you through the process step by step.

Option 1: UPnP

Universal Plug and Play (UpnP) is developed by the Digital Living Network Alliance (DLNA) and has interoperateability in mind. See Make Use Of for a list of possibilities.

  • Server: Subsonic

    Client: pick one from http://www.subsonic.org/pages/apps.jsp. VLC also works as a client, see https://askubuntu.com/a/109083/80611
    I use play:Sub, another $5
    I also tried Gerbera

    • Add Gerbera-ppa. If you ar not using ubuntu (but, say, Debian or Bunsenlabs) see astarix for help.
    • Install Gerbera. apt-get said “Unable to correct problems, you have held broken packages. Used aptitude instead (see here)
    • Failed.

    Option 2: DAAP

    Easy, cheap, but flawed.

    • Server: Install Rhythmbox → open plugins → enable “DAAP Music Sharing” (obviously install if it is not there) → right click → properties → enter name and tick “Share my music”. Done.
    • Client: Install “Simple DAAP” from app store. Open, find your server, done. I keep getting error -1004 and even though the phone can see the server it does not connect. Since DAAP is a proprietary protocol invented by…Apple, you would expect that there are options. But as there’s no native app that can do it and Simple DAAP is the only lonely player in the field, there aren’t. Except of course you find a broken android phone, install Music Pump (costs) or DAAP media player (free) and in under the minute you’re dancing around the house streaming.

    Hat tip: Lifewire

    Video

    Interestingly it was easier to setup video streaming than audio (use vlcstreamer, see upubuntu).

It finally happened

posted in: Corruption Archives | 4

Seven years ago I worked as head of CorpCom in a software company and as it goes, the job did instill in me the strong urge to go back to academia. My idea was to write a PhD in my field of expertise on something that had a wider social relevance.
woman on sofa reads phd
I started by going to the library one or two nights a week and, once a window of opportunity presented itself, went part time. When I saw that »corruption in German literature« should work well, in 2011/2012 I took a sabbatical in order to write a proposal that would get me funded.

After several applications and interviews in Vienna, Walferdange, Berlin and Munich I settled on Munich. So in June 2012 I began writing properly while commuting from Vienna to Munich every other week. My »office« was in the Arbeiterkammer library and the Ludwig-Wittgenstein-Lesesaal in the Austrian National library.

In October 2015 I was ready and submitted the thesis.

You should think there is a sensation of great relief when you finally hand the work of three plus years over to the officer, but somehow there wasn’t. My defense was going to be in February 2016, so I started preparing the three talks I had to give straight away.

Now, with the defense out of the way, there still was no sense of accomplishment, because you have to publish in order to close the process. So off we go to finding a publisher, setting up the text according to the publisher’s style guides, resetting tables and trees because they don’t fit on the smaller pages any more, brainstorming a cover image with Marianne Vlaschits, test printing and changing the cover three dozen times because the digital printer does not approve of the background color. Then seeing the table of contents in a friend’s brand new book and going back to my own because I absolutely wanted one like it. And on and on.

In the end, thanks to the knowledge, understanding and patience of the good people at UniPrint Siegen, there is a finished product that does make me happy – but still fails to deliver the wash of relief. Because now five books have to get to Munich university library, where the people are not happy. My books lack the title page the faculty requires. When that is adressed, I get told to contact the officer who received the first version in 2015 again in four to eight weeks for the certificate. Which I recieved two weeks ago. The End.
front cover of PhD

Here it is:

Jan Söhlke: »verderben, verführen, verwüsten, bestechen«. Literatur und Korruption um 1800. Siegen 2017, 284 pages.

ISBN: 978-3-936533-81-1

URN: urn:nbn:de:hbz:467-11127

For EUR 12.80 you can order the book at universi (Siegen University Press), you can download it from OPUS (Siegen university’s open access) for free or get it from the source while you’re here.

The back cover reads

Der von Max Weber für die Zeit um 1800 diagnostizierte Übergang von einem patrimonialen zu einem bürokratischen Herrschaftssystem ist mit Roger Callois zugleich faßbar als Wechsel vom aleatorischen zum agônalen Prinzip. Unter dem Vorzeichen der Korruption wird jener Übergang beschreibbar als Wandel von einem Paradigma der Kriecherei hin zu einem der Bestechung.

Diese bisher kaum eingenommene Perspektive ermöglicht es, die sich wechselseitig bedingenden und durchdringenden moralischen, politischen, juristischen und ökonomischen Implikationen der Modernisierung freizulegen. Eine umfassende begriffsgeschichtliche Analyse der semantischen, historischen und sozialen Verfasstheit von »Korruption« bildet die Grundlage für Lektüren von Lessings Minna von Barnhelm, Kleists Der zerbrochne Krug und Schillers Der Geisterseher. Drei kanonische Texte werden so in einer überraschenden Konstellation neu lesbar – und lassen ihrerseits unser Verständnis von Korruption in einem neuen Zwielicht erscheinen.

 

Mendeley Migration

posted in: Linux Archives | 0

Alreet.Sometimes Mendeley content has to move. There’s no easy way to tell Mendeley that. So.

  1. sudo apt-get install sqlitebrowser
  2. cd ~/.local/share/data/Mendeley\ Ltd./Mendeley\ Desktop/
  3. sqlitebrowser <you@whatever>@www.mendeley.com.sqlite
  4. Go to »Execute sql«-tab
  5. update Files set
    localUrl = replace(localUrl, 'file:///old/path/‘, 'file:///media/new/path/‘);
  6. click »Execute« (or F5 or ctrl+return)
  7. click »Write changes«
  8. Done. Easy, right?

Thanks to 3.14a and jordi’s comment there. For related Mendeley grievances see khufkens, who can tell you how to sync Mendeley to your own server (instead of feeding Elsevier’s questionable pricing model).

Connect Crunchbang Linux to Bluetooth Speaker

posted in: Linux Archives | 0


I got myself one of these and after setting it up properly I must say that while I am a bit disappointed by the reach, I am very impressed with the sound quality for this kind of money (a white label apparently as »C26« sells under various brands and for different prices).

Anyway, the whole setup was a true Linux afternoon, reminding me of my NDISwrapper-days, just like it was 2006 again.

First, It took me a while to get crunchbang to discover the device and connect [1] (Blueman works much better as a bluetooth manager). Then apparently I manually needed to let pulseaudio know where to send the audio [2]. Atfer fiddling with some files, pulseaudio was broken, so I needed to reinstall [3]. Finally, the sound was much poorer than via my phone. I don’t know if I overlooked it or if loading rtirq changed something [4], but in the volume control center of pulseaudio there is a tab called »configuration« where I had to choose »High Fidelity Playback (A2DP)« to get decent sound (instead of »Telephony Duplex (HSP/HFP)« or »off«). Now most of the times it changes to the Bluetooth-device automatically once I switch it on and back when I switch it off. Sometimes not. But hey.

The sources I used were these:

  1. How to make pulseaudio bluetooth-ready: http://askubuntu.com/a/223203/80611
  2. How to switch the sink in pulse audio: http://askubuntu.com/a/108882/80611
  3. How to clean up after you screw up (which I did), i.e. reinstall pulseaudio: http://askubuntu.com/a/435221/80611
  4. How to improve the sound once it works but reminds you of a telephone: http://askubuntu.com/a/520384/80611 and https://wiki.ubuntu.com/UbuntuStudio/rtirq

 

German UNCAC Ratification is Lipstick on a Pig

posted in: Corruption Archives | 0

Abgeordnetenwatch.de has a good (if devastating) analysis of the German UNCAC ratification. It already is pretty sad that it took ze germans 11 years to cough up a law against bribing Members of Parliament so they would at last meet UN requirements. But now that they do, it is mostly lipstick on a pig:

Das im Februar beschlossene Gesetz gegen Abgeordnetenbestechung ist weitgehend wirkungslos. Ein Staatsanwalt muss nämlich nachweisen, dass ein korrupter Volksvertreter »im Auftrag oder auf Weisung« gehandelt hat. Wer sich nicht allzu dumm anstellt, hat strafrechtlich nichts zu befürchten.

The law against bribing of MPs is mostly useless as prosecution has to prove that a corrupt representative has been »either instructed or ordered« to act in a certain way. For the slightest chance of criminal liability under the new law, a parliamentarian would need to act in a pretty stupid way.

abgeordnetenwatch.de: Bundestag ratifiziert UNCAC – nach 11 Jahren (29. September 2014)

Some background can be found in my earlier post »Bribing MPs soon illegal in Germany«.

Automatically batch rename photo files

posted in: Linux Archives, Photography | 0

Following Robert Seale’s advice, I was looking for a solution to batch rename photo files. After my last shoot I used digikam and while the results were as desired, it took a second or more per image, which I thought a bit long. After not finding a different suitable solution I asked the question on unix.stackexchange and was overwhelmed by two people’s in-depth answers. I learned a lot from both mikserv and Gilles and in the end settled with Gilles’ suggestion. I take zero credit for the solution, I don’t even understand parts of what is going on, but I amended it a little bit nonetheless and thought the extended version might help someone.*

Preliminaries

What I get when I come home is file names looking like this: _DSC1234.NEF. What I wanted instead was

  1. date-shot in YYYYMMDD-format plus
  2. a descriptive shoot-name plus
  3. image-number

looking like this: 20140708_WeddingAdamAndEve_0001.NEF

There are a few issues with this:

ad 1. Date Shot: sometimes I can only copy and rename the files a few days after shooting, so the date should reflect the date the picture was taken, not the date it was copied. Getting date-shot from the file itself is difficult as there is no birth time recorded. The closest is mtime which is the time the file’s content has last been modified. However, creation date is stored in image file’s EXIF data.

ad 2: Name of Shoot: Ideally I wanted this to be a variable I could set as a parameter when calling the script.

ad 3. Number of Image: This should reflect the age of the image with the oldest one having the lowest number. The problem is that cameras usually restart numbering at  0000 once they hit  9999. So images n-9999 can potentially be older than 0000-n. I needed a solution that would cater for this special case.

 

The code

# original solution by @Gilles (http://unix.stackexchange.com/questions/141138/)

# set base path and navigate to &quot;basepath + parameter 1&quot;
BASEPATH='/media/data/photo/';
cd $BASEPATH$1

# add &quot;EXIF creation time&quot; as prefix to original file names
exiv2 mv -r %Y%m%d-%H%M%S:basename: *.NEF
# Now we have files with names like 20140630-235958_DSC1234.NEF.

# final rename
i=10000
for x in *.NEF; do
   i=$((i+1))
   mv &quot;$x&quot; &quot;${x%-*}_$2-${i#1}_Copyright-Jan-Soehlke.NEF&quot;
done

 

Walkthrough

Line 4: Here we set our base path. We choose the highest directory ever useed to store pictures.

Line 5: Navigate to base path + parameter 1. If our script is called rename and the pictures are in /media/data/photo/weddings/adam+eve, then we call the script through

./rename weddings/adam+eve

Line 8: In a first iteration we add EXIF-creation time as a prefix to the original file names. We use exiv2 for this operation. -r is for rename and we use YYYYMMDD-hhmmss, which is %Y%m%d-%H%M%S in strftime(3), plus :basename: to keep the original filename after the time stamp.

Through creation time as a prefix we now sort files by age, even if the files would sort differently by name. This could happen if during a shoot we reach 9999 and the camera’s counter continues at 0000 or if we shot with two different cameras.

By also retaining the original file name for now, we make sure that in case there are multiple files with the same time stamp, they still have individual names. EXIF time’s finest unit is a second, so if we fire bursts of images (Nikon’s D4s for example shoots at 11 frames/second), we have multiple files with the same creation date and thus potentially 11 files with the same name.

Line 12: The counter variable i counts from 10000 and is used with the leading 1 digit stripped; this is a trick to get the leading zeros so that all counter values have the same number. If you want more (or less) than four digits, set i accordingly.

Line 15: ${x%-*} removes everything that follows the - character, in our case it is hours, minutes and seconds as well as the original filename. ${i#1} writes the new four digit file number.

$2 provides a second variable, which we use for the shoot name. In this case we want it to be WeddingAdamAndEve, so we call the script through

./rename weddings/adam+eve WeddingAdamAndEve

Finally, I added _Copyright-Jan-Soehlke. It not only reminds someone who downloads the file that it is indeed copyrighted, it also helps with SEO as my name is automatically associated with each image I upload.

 

Possible Problems

a) The original file names already have a - in place. In this case change the  - in line 8 to something different (like _) and use the same character in the ${x%-*}-part in line 15 (in this case ${x%_*}, otherwise the script will not work as intended.

b) A burst of images reaches across the 9999/0000-mark. These specific files will not be in order after renaming – but they weren’t in order in the first place, so I have no idea how to tackle this rare scenario other than by setting your camera’s counter to reset to 0000 after each formatting.

c) Your files do not contain EXIF data. In this case see mikeserv’s solution which uses a different angle of attack and is thoroughly and well explained.

 

___________________________

* Stackexchange uses the CC-BY-SA license, so all the code in this example is naturally also CC-BY-SA.

Crunchbang on x200s

posted in: Linux Archives | 0

Through a few very lucky coincidences I received a Thinkpad x200s a few days ago and set it up with Crunchbang which must have been the most straightforward os-installation ever. Two Three Four things though:

Rawtherapee

A slightly outdated version is in debian’s repositories, but if you want a newer one, go to »Kbyte’s Hideout«. Download .deb package and dpkg -i rawtherapee_<xxx>.deb

If there are unsolved dependencies: apt-get install -f and then  dpkg -i rawtherapee_<xxx>.deb

Picasa

Well.

It still is the most straightforward programme I know for editing, simple retouches and exporting smaller sizes. I’m not happy with wine, I’m not happy with a google tool, but I cannot and cannot find an alternative (see here). Hence:

before following the webupd8 tutorial I needed
apt-get install libwine-cms:i386
After installation, use
cd ~/.wine/drive_c/Program\ Files/Google/Picasa3 && wine Picasa3.exe
to launch it.

If you would then create a script called »picasa« somewhere, say in ~/scripts containing the following:

#!/bin/bash

cd ~/.wine/drive_c/Program\ Files/Google/Picasa3 &amp;amp;amp;&amp;amp;amp; wine Picasa3.exe

exit 0

Picasa can then be launched from command-line with a simple »picasa« after a final
sudo ln -s ~/scripts/picasa /usr/bin/picasa

Clock

To change the format from Hour:Minute open ~/.config/tint2/tint2rc and consult strftime-man to change to your liking.

Change Key Bindings

Keyboard shortcuts can be changed in ~/.config/openbox/rc.xml

After saving, go to Openbox menu > Preferences > Openbox Config > Reconfigure. (Thanks, MysteryMember)

Redecorating the place II

posted in: www Archives | 0

After almost eight years using (and helping develop) Polypager, a very versatile and friendly content management system, and after three years of having Zenphoto manage my pictures, I finally decided I had to retire both and move to a different system altogether: a single one for text and images that would also treat my mobile visitors better (a third of my total traffic).

Polypager’s strength clearly was in handling the database – it has foreign key capability and without the faintest complaint, Polly will display any mysql-database it is being fed. However, it was never built with serving images as a central part in mind. There is a gallery plugin in place, but my desires soon surpassed the capabilities.

Zenphoto in turn is fantastic in handling text and images (and video by the way, which surprisingly posed the biggest hurdle in wordpress – the other was 301, but in the end Tony McCreath’s redirect generator helped). The problem with zenphoto is more an aesthetic one as the available skins are limited and don’t really meet my expectations. The one I hacked together unfortunately »grew organically« over the years until recently it gracefully started falling apart.

Thus, today I make the move to WordPress and while I am at ease parting from Zenphoto, leaving Polly behind really hurts. So, thanks Nic for developing it and having me aboard, because in the process, I learned many a thing about distinguishing sensible feature requests from the other ones, about version management using svn and git, and also, in 2008, about how it feels to be at the receiving end of a proper hack.

 

Bribing MPs soon illegal in Germany

posted in: Corruption Archives | 0

Finally the German Bundestag made a move and eleven years and three governments after the United Nation Convention Against Corruption (UNCAC) was signed by Germany, it can now finally be ratified. Until now it had only been illegal to buy the vote of a member of parliament, other forms of corrupting them were fair game, which made it impossible for Germany to ratify the UNCAC – and put the country in very shady company:

 

World map with United Nations Convention against Corruption ratifiers in green and signatories in orange (as of Feb 2014)
World map with United Nations Convention against Corruption ratifiers in green and signatories in orange (as of Feb 2014). Source: en.wikipedia.orgCC BY-SA 3.0

As the vote was paired with that one the considerable raise the MPs allowed themselves, I have the impression it somehow did not receive that much media coverage:

Human Nascars

posted in: Corruption Archives | 0

Terence Eden has an article on the »Nascar Proposal«. The proposal that politicians should wear logos of who paid them in order to make lobbyism more transparent is not new, but Terence has gathered a couple of links to interesting resources and also makes an interesting suggestion: Sure, the probability that we turn politicians into real human Nascars is very low, but we have the potential of open data that could easily be coupled with some programming and a little graphic design skills. The resulting visualidation could at least make it very easy to understand the at times very complex linkages of politics and private sector.

MTPFS FAIL

posted in: Linux Archives | 2

My ubuntu 12.04 computer cannot see my Android 4.1.2 phone, instead I must install go-mtpfs and control it via command line. Thankfully, Andrew over at webupd8 provides all the necessary tools (all credit goes to him, for long version see there):

sudo add-apt-repository ppa:webupd8team/unstable
sudo apt-get update
sudo apt-get install go-mtpfs

Optional:

sudo apt-get install go-mtpfs-unity

Mount:

go-mtpfs /media/MyAndroid

Unmount:

fusermount -u /media/MyAndroid

Ironic that I should now need a special programme to mount my one Linux device on my other Linux device while windows works out of the box…

Fabulous Fab and Obama’s Promise

posted in: Corruption Archives | 0

Gregg Fields from Harvard’s Lab writes on the prosecution of Goldman Sachs’ Fabrice Tourre. When the housing bubble burst, many lost a lot and few earned obscenely much through a security called ABACUS 2007-AC1 which Tourre helped engineer. At the time, he was a mere foot soldier and senior management had to and did approve everything. Fields asks, why the Securities and Exchange Commission (SEC) keeps going after the little fish and lets their fishmasters get of the hook rather easily.

An unrelated article over at Techdirt asks what happened to Obamas election campaign promise to protect whistlblowers. The interesting bit from Obama’s ethics agenda read
=&0=&: Often the best source of information about waste, fraud, and abuse in government is an existing government employee committed to public integrity and willing to speak out. Such acts of courage and patriotism, which can sometimes save lives and often save taxpayer dollars, should be encouraged rather than stifled. We need to empower federal employees as watchdogs of wrongdoing and partners in performance. Barack Obama will strengthen whistleblower laws to protect federal workers who expose waste, fraud, and abuse of authority in government. Obama will ensure that federal agencies expedite the process for reviewing whistleblower claims and whistleblowers have full access to courts and due process.
change.gov: Ethics Agenda
Funny, innit?

Prescription Drugs and Corruption

posted in: Corruption Archives | 0

Harvard’s Edmond J. Safra Center for Ethics has an interesting, yet disturbing post on a forthcoming article on institutional Corruption, Pharma and prescription drugs (Light, Lexchin, Darrow (2013): Institutional Corruption of Pharmaceuticals and the Myth of Safe and Effective Drugs. Journal of Law, Medicine and Ethics, Vol. 14, No. 3).

The highlights:

  • There is evidence that about 90 percent of all new drugs approved by the FDA over the past 30 years are little or no more effective for patients than existing drugs.
  • Every week, about 2.400 excess deaths occur in the United States among people taking properly prescribed drugs to be healthier.
  • Prescription drugs are the 4th leading cause of death.
  • There is systematic, quantitative evidence that, since the industry started making large contributions to the FDA for reviewing its drugs, the FDA has sped up the review process with the result that drugs approved are significantly more likely to cause serious harm, hospitalizations, and deaths.

Network Sync

posted in: Linux Archives | 0

I recently got my hands on a shiny eee-PC for surprisingly little money. As I am travelling a fair bit at the moment, the opportunity was more than welcome. Now, mobility comes at a price and the price is called »multiple instances of files«. When the files in question are your PhD, it has the potential for a fantastic nightmare. Most people use dropbox to tackle this, but for one reason and another, I neither want to use that, nor ubuntu one. I have owncloud [see here], and after resolving some issues, the sync client works, but I still would like to keep more data in tune then I could possibly channel through my shared hosting plan. Unison (via ssh) seems the way to go.

Setting it up was a lot easier then I though. All it took was rbgeek’s exccellent article »File Synchronization Between Two Ubuntu Servers using Unison«.

Falko Timme’s article »Setting Up Unison File Synchronization Between Two Servers On Debian Squeeze« at howtoforge was also helpful. Another insightful article is Chris Lale’s »Synchronising laptop and desktop files using Unison« at Sourceforge.

One issue: normally your device gets an IP address automatically from your router. Unison settings depend on the IP address (for ssh connection), so if the IP address changes, Unison gets confused. Thus, we want a static IP address on the remote machine. Johnathan Hobson’s »Networking Tips and Tricks« are a good start. The settings that finally worked for me I got via chili555’s post on ubuntuforums. Using Netman’s GUI, I set:

Method: Manual

Address: 192.168.0.9

Netmask: 255.255.255.0

Gateway: 192.168.0.1

DNS Servers: 8.8.8.8, 192.168.0.1

Search domains:

I understand little, but what I do understand is this:

  • »address« needs to be outside the router’s scope. Mine is configured to start at 10, so I picked 9.
  • »gateway« simply seems to be the router’s ip-address
  • »DNS-Servers«: no clue why 8.8.8.8, the other again seems to be router’s ip address

You can easily determine the router’s ip-address and the scope for auto DHCP from the router’s admin interface.

Other useful information and resources

SSH

Unison

Alternatives

 

[article started in January 2013; final, rewritten version from January 2014]

Medical Practitioners cannot be Corrupt

posted in: Corruption Archives | 0

At the moment, medical practitioners in Germany can only be corrupt when employed by someone else. As long as they practice on their own, German law to date knows no way of finding them corrupt – even if pharmaceutical companies give something in exchange for the practioniners prescribing certain medication.

The good news is that German health minister Daniel Bahr is about to change that.

Update Nov 2014: The bad news is, that the bill did not pass the Bundesrat. And coverage is pretty much non-existent since then.

Custom Shortcuts in Kile

posted in: LaTeX Archives | 0

If you use Kile as LaTeX editor and if you find yourself typing the same code all over again – like a specific table environment, or a slide environment in beamer or whatever, why not create your own user tag and assign a custom shortcut? You can even decide where the cursor should be placed and what should happen in case text is selected while pressing your shortcut.

It’s very easy and very fantastic: User defined Tags.

Mining Data

posted in: www Archives | 0

Overview – through Hollerith punch cards
»Overview –
through Hollerith Punch Cards«

Motherboard has an insightful article on the history and future of Diaspora (an open source, distributed alternative to Facebook). The article is very long and alongside the Diaspora-narrative there are several other issues it focuses on. One of them deals with data mining, which – with Facebook as a regular dinner table subject – is touched upon frequently around here.

The argument I hear most often when it comes to privacy issues is »I can’t see how this bit of information could possibly be vital or interesting to a third party«. The thing with data mining is of course the three-letter-word above »argument« lacks: now.

Sooner or later someone might (or might not) come along who can see a relevance, even long after the information is in the open. And often it is not the data in itself that turns out to be explosive, but a new way in which it is connected to other harmless data. Or a new place it’s brought to.

Here’s one fun example from the Diaspora-article:

Last week, the Financial Times reported that a newly uncovered deal between Facebook and the data firm Datalogix allows the site to track whether ads seen on Facebook lead users to buy those products in stores, which is highly attractive intelligence for advertisers. (Datalogix does this by buying consumer loyalty data from retailers, and tracks in-store purchases by matching email addresses in its database to email accounts used to set up Facebook profiles, along with other account registration information.)

The future implications of the email address mix-and-match is not fully clear yet (although for a start I think it’s of nobody’s business what I buy where). But there are other examples where the consequences are very clear. For instance someone disclosed his credit card number to both Apple and Amazon. Ultimately this led to the destruction of his digital life – email account takeover, twitter account takeover, phone wiped clean, computers wiped clean: proudly brought to you by small-scale data mining with a pinch of social engineering thrown in:

Amazon tech support gave them the ability to see a piece of information — a partial credit card number — that Apple used to release information. In short, the very four digits that Amazon considers unimportant enough to display in the clear on the web are precisely the same ones that Apple considers secure enough to perform identity verification.

And finally, my historian-friend’s favourite – and at the same time the most ghastly – data mining example of them all is how the 1933 census in Germany was later used to organise the deportation of Jews:

But Jews could not hide from millions of punch cards thudding through Hollerith machines, comparing names across generations, address changes across regions, family trees and personal data across unending registries. It did not matter that the required forms or questionnaires were filled in by leaking pens and barely sharpened pencils, only that they were later tabulated and sorted by IBM’s precision technology.

Edwin Black (2009): IBM and the Holocaust. Washington DC, p. 107.

 

Update 4 Aug 2013: I recently learned about the Rosa Liste (pink list). This list was kept by the German empire and subsequently the Republic of Weimar to monitor male homosexuals. In 1933 the list fell into the hands of the new government which used it to go straight from monitor to murder. Case in Point: you never know what the meaning of any given datum is going to be in the future.

Overheating Thinkpad T60

posted in: Linux Archives | 2

Since 12.04 my thinkpad (T60) regularly shuts down due to heat. I don’t like it and I am afraid of damage – to hard drives or to the system.

The problem is described in many places and many different fixes, remedies and work arounds exist. Most of them lack proper documentation, so I am reluctant to try them. Even thinkfan, which is quite popular, scares me more than it helps.

Here is a collection of relevant information I found:

  1. Bug report at launchpad
    https://bugs.launchpad.net/ubuntu/+source/linux/+bug/751689
  2. Show temperatures of all sensors
    cat /proc/acpi/ibm/thermal
  3. Show Speed of fan
    cat /proc/acpi/ibm/fan
  4. Thermal Sensors
    http://www.thinkwiki.org/wiki/Thermal_sensors
  5. List of ways to control fan speeds at Thinkwiki.org
    http://www.thinkwiki.org/wiki/How_to_control_fan_speed
  6. Thread at askubuntu
    http://askubuntu.com/questions/178467/thinkpad-fan-control-error
  7. Howto at NeoLocus
    http://blog.neolocus.com/2012/07/lenovo-thinkpad-x61-temperature-and-fan.html
  8. Howto at thinkwiki.de [in German]:
    http://thinkwiki.de/Thinkfan

For now I went with #7 (thinkfan howto by Neolocus), and I do hear a substantial difference in fan activity – but I am still scared.

Top 10 Corruption Sentences

posted in: Corruption Archives | 0

Wall Street’s Corruption Currents turns two on Wednesday. As a way of celebration, they nominated the top 10 corruption related jail sentences. The winners are:

  1. Joel Esquenazi
  2. Rod Blagojevich
  3. Viktor Bout
  4. James Ibori
  5. R. Allen Stanford
  6. Jimmy Dimora
  7. Matthew Ng
  8. Albert “Jack” Stanley and Jeffrey Tesler
  9. Jean Rene Duperval
  10. Gerhard Gribkowsky

More on the background on each of the cases in Samuel Rubenfeld’s article.

Bibtex going openout_any = p

posted in: LaTeX Archives | 4

Working with multibib, Bibtex started failing me after a recent reinstallation of texlive on xubuntu. On
bibtex <project-path>/src.aux
I got:

bibtex: Not writing to &amp;amp;lt;project-path&amp;amp;gt;/src.blg (openout_any = p).

I couldn't open file name `&amp;amp;lt;project-path&amp;amp;gt;/src.blg'

To get rid of the error, open texmf.cnf, which resides in /usr/share/texlive/texmf/web2c through
sudo gedit /usr/share/texlive/texmf/web2c/texmf.cnf
Then find the entry

openout_any = p

p is the paranoid setting. I changed it to r and it now works again (chapeau to dmj).

[update 31 Jan 2013] If sudo is not an option and thus texmf.cnf can’t be changed, see Sini’s helpful comment below. [/update]

 

If you want to learn about multiple bibliographies using multibib, there is a very good tutorial by peisistratos. Unfortunately it is in German, but I’m sure there are English ones out there, too.

Can We Buy Your Loyalty?

posted in: Corruption Archives | 0

The Dodd-Frank-Act was signed into federal United States law in 2010 and, according to wikipedia, it

brought the most significant changes to financial regulation in the United States since the regulatory reform that followed the Great Depression.

The Dodd-Frank-Act also introduced a »whistleblower bounty programme« (under Title IX, subtitle B). It means whistleblowers can get paid for releasing information, and today FCPA-Blog reports that the first one just took home a prize of US $ 50.000

It is startling that in a sense we are now trying to bribe people so they blow the whistle on corruption. The moral implications are interesting: not only will people get paid to abide by the law, but, after all, an employee (or agent) owes a certain amount of loyalty to the employer (or principal). There are corruption theories that define corruption exactly as not honouring that loyalty in order to achieve personal gain. But the economical implications are at least as intriguing: loyalty suddenly becomes a scarce commodity and it would not at all surprise me to see prices going up and going up fast. Apparently, a reward substantially helps people discover their loyalty to law (and their community):

since the SEC’s whistleblower program started in August 2011, the agency said it has received about eight tips a day. Using a conservative count, that means at least 1,600 whistleblower complaints have been filed.

Richard L. Cassin (5.9.2012): Six Lessons from the SEC’s First Whistleblower Reward. FCPA-Blog.

I don’t see why an even higher reward would not let them discover that in the end, their loyalty lies elsewhere altogether. Thus, it will be perfectly rational behaviour for companies to try to buy their agent’s loyalty back and have them shut up.

Now we have created a loyalty market, but acting on markets is what companies do all the time and should do best. When I look at the Wal-Mart bribery case, I doubt the community can keep up with the price development for long, at least when it comes to the important cases. Publicly available figures for Wal Mart de Mexico speak for themselves:

Bribes paid in Mexico: US $ 24.000.000
Potential damage if fined under FCPA: US $ 6.500.000.000
Profit in Q2/2012 US $ 650.000.000
Profits made since paying bribes in 2005: US $ 12.000.000.000

Sources: 1, 2, 3
The interesting players in the corruption game obviously have a lot to gain, much more to lose, and a vault filled with spare cash. I doubt that the reward programme was a smart move in the long run – both ethically and economically, but we’ll see.

[update 5. September 2012, 19.30 h]:
Wall Street Journal reports on a study on retaliation against whistleblowers:

More than one in five employees who reported misconduct they observed to their employers perceived retaliation for doing so, according to a new study.

The study found 22% of American workers who reported misconduct to their employers in 2011 said they experienced retaliation, up from 15% in 2009.

C. M. Matthews (5.9.2012): Whistleblower Retaliation on the Rise, Study Finds. WSJ Corruption Currents.

With the (growing) stick well established, I’m excited about who is going to be the first carrot-company.

[update 2, 18 September 2012, 9.30 h]
Bradley Birkenfeld, an ex-UBS-banker, saw the 50.000 and raised to US $ 104 million:...   READ MORE

The Dark Side of the Moon

posted in: Corruption Archives | 0

Transparency International calls it »the biggest bribery story of 2012«:

In September 2005, a senior Wal-Mart lawyer received an alarming e-mail from a former executive at the company’s largest foreign subsidiary, Wal-Mart de Mexico. In the e-mail and follow-up conversations, the former executive described how Wal-Mart de Mexico had orchestrated a campaign of bribery to win market dominance. In its rush to build stores, he said, the company had paid bribes to obtain permits in virtually every corner of the country.

[…]

In the interviews, Mr. Cicero recounted how he had helped organize years of payoffs. He described personally dispatching two trusted outside lawyers to deliver envelopes of cash to government officials. They targeted mayors and city council members, obscure urban planners, low-level bureaucrats who issued permits — anyone with the power to thwart Wal-Mart’s growth. The bribes, he said, bought zoning approvals, reductions in environmental impact fees and the allegiance of neighborhood leaders.

He called it working “the dark side of the moon.”

David Barstow (21.4.2012): Vast Mexico Bribery Case Hushed Up by Wal-Mart After Top-Level Struggle. The New York Times.

Germany Fails GRECO Deadline

posted in: Corruption Archives | 0

When it comes to UNCAC (United Nations Convention Against Corruption), Germany is in the good to shady company of Bhutan, Côte d’Ivoire, Japan, New Zealand, Saudi Arabia, Sudan, and the Syrian Arab Republic (many of which buy German tanks, too). These states all signed UNCAC, but have not yet ratified it.

Since it is still legal (or rather: not illegal) to bribe a German member of parliament as long as you are not buying her vote (§ 108e, StGB), Germany can’t even ratify the convention, which has been subject of much deliberation.

To monitor member states’ stance on corruption issues, the Council of Europe has formed the Group of States against Corruption (GRECO). It has the

objective […] to improve the capacity of its members to fight corruption by monitoring their compliance with Council of Europe anti-corruption standards through a dynamic process of mutual evaluation and peer pressure.

The council of Europe: What is GRECO? (ret. 3.9.2012)
In 2011 GRECO has concluded in its third evaluation

that Germany has implemented or satisfactorily dealt with only four of the twenty recommendations contained in the Third Round Evaluation Report. With respect to Theme I – Incriminations, recommendation ii has been implemented satisfactorily and recommendations i and iii to x have not been implemented. With respect to Theme II – Transparency of Party Funding, recommendation i and vi have been implemented satisfactorily and recommendation ix has been dealt with in a satisfactory manner. Recommendations ii, iii, iv, v, viii and x have been partly implemented and recommendation vii has not been implemented.

GRECO (9.12.2011): Third Evaluation Round. Compliance Report on Germany p. 15, section 72 (Emphasis original. German and French versions here – look in column »Compliance Reports«, sub-column »Version«).

In the same report GRECO had also set a deadline:

In view of the above, GRECO therefore concludes that as regards the implementation of the recommendations addressed to Germany in this Evaluation Round the current very low level of compliance with the recommendations is “globally unsatisfactory” […]. GRECO therefore […] asks the Head of the German delegation to provide a report on progress in implementing the outstanding recommendations by 30 June 2012 at the latest […].

GRECO (9.12.2011): Third Evaluation Round. Compliance Report on Germany p. 16, section 75.

And what do you know, the Head of the German Delegation did not answer by 30 June and he did not answer until this day. The Pirate Party has issued a press release on the issue, but that’s about it – no media coverage, no public outcry, no nothing. Germany’s dealing with the whole corruption issue continues to be a major travesty.

Cloud a la ownCloud

posted in: www Archives | 0

After an earlier failed attempt at owncloud 4 I’m prety happy with OC 5 now and succesfully sync contacts, calendars and some files in between a crunchbang netbook, a xubuntu notebook and my Android phone:

Sync Contacts

Sync Calendar

Desktop Client

  • Setting it up:
    Somehow it only worked as root, chown did the trick (see here):
    sudo chown -Rc USER:USER /home/USER/.local/share/data  
  • Syncing
    Syncing works pretty well – but unfortunately not well enough. I do like that one can connect random folders to sync (for example a local folder »Documents« may be called »docs« on OC). What I like not so much is that you can only run two-way-sync. There is no option »sync only from server to machine« or »sync only from machine to server«. It would be very helpful as I use Unison to sync very large parts of my hard drives among several machines – much more then I want or need in OC. Yesterday I lost some data and I think it was due to owncloud got confused with two machines syncing to it in addition to syncing directly in between each other.
  • Android
    The oc-app allows syncing to the phone on a file-by-file basis, which is neat. It also adds an owncloud-option to the share-menu. What I find really convenient though is that owncloud allows es-file-explorer to connect.

Sharing Files

Further tutorials and resources I used

[article started in August 2012; final, rewritten version from January 2014]

.htaccess redirect with GET variable

posted in: www Archives | 0

I wanted to rename a part of this website and I knew, I needed a 301 in order to redirect people from the old to the new address. It was easy to find out that this can be achieved through .htaccess and the basic needs were also pretty easy to gather. Create a text-file called .htaccess on your apache-web-server in the root directory of your website. It needs to contain the following two lines to switch the module on:

RewriteEngine on
RewriteBase /

Then, for the actual rule there’s a lot of generally helpful stuff out there – only it didn’t help me:

  1. the string in question was a GET-variable as part of a dynamic URL
  2. the string could be in the middle of the URL or at the end

My task was to replace a chunk from a dynamic URL and leave unchanged whatever was before or after this chunk.

The example was the page you’re reading at the moment. It used to be called »Recettes« and I wanted to rename it to »Recipes«.

The overview was reached through http://www.brasserie-seul.com/?Recettes, but this article had the URL http://www.brasserie-seul.com/?Recettes&nr=60. In addition this page has groups, so there is also http://www.brasserie-seul.com/?Recettes&group=web, […]group=ubuntu etc.

It took me literally hours of research, until I finally found Carolyn Shelby’s very helpful article. Her code took me almost there:

RewriteCond %{QUERY_STRING} ^(.*)Recettes(.*)$
RewriteRule ^$ Recipes? [R=301,L]...   READ MORE

Redecorating the Place

posted in: www Archives | 0

I thought I’d adapt my place to the large screens we tend to have now. Also, my eyes are getting weaker and now and again I find myself increasing one website font sizes here and there.

So after six years of tiny letters and narrow columns, I made a new skin. This is how the Brasserie looked until today:

Old Blog Skin (2007-2012)

After quiet times on this website I have felt the motivation to use it more again for a while now, especially because I never was too happy with the social networking sites big and small. I made an earlier attempt when I felt the Google already knew enough and more intolerableA FB-Stories hit the news , outweighing the major advantage: low maintenance effort with high connectivity. I finally decided to get rid of both it and some major dust at the trusty old Brasserie when I read Scott Hanselman’s »Your Words Are Wasted«:

You are pouring your words into increasingly closed and often walled gardens. You are giving control – and sometimes ownership – of your content to social media companies that will SURELY fail.

After considerable restructuring and restyling work, I hope the motivation sticks for a while!

New Xampp Security Concept

posted in: www Archives | 2

After quite some time I installed xampp again. Everything worked smoothly, only when trying to access phpmyadmin, I was greeted with

New XAMPP security concept:
Access to the requested object is only available from the local network.
This setting can be configured in the file “httpd-xampp.conf”.
If you think this is a server error, please contact the webmaster.
Error 403

It is always very helpful to a) tell people to contact somone they don’t have and b) tell them to edit a file without telling them where it is and what to edit. After some poking around and several strange black magic suggestions, I found a few sources pointing towards what also worked for me. cpighin summed it up the nicest:

Open httpd-xampp.conf in a text editor – for instance by typing

sudo gedit /opt/lampp/etc/extra/httpd-xampp.conf

Then go and find the section »since XAMPP 1.4.3«. There it should say
<Directory “/opt/lampp/phpmyadmin”>
AllowOverride AuthConfig Limit
Order allow,deny
Allow from all
</Directory>
Replace it with
<Directory “/opt/lampp/phpmyadmin”>
AllowOverride AuthConfig Limit
Require all granted
</Directory>
Then restart xampp through

sudo /opt/lampp/lampp restart...   READ MORE

The Right Password Manager

posted in: www Archives | 0

A guy got hacked recently. He calls the incident »epic« which may well be true from his personal point of view. Also, the apple/amazon shortcomings in handling his sensible information are downright preposterous, but there were a couple of mistakes at his end that made the scope wider than it had to be and the effect far more devestating than necessary.

For instance he did show an epic laxness concerning his personal data by not obeying Schofield’s 2nd law of computing. It states »data doesn’t really exist unless you have at least two copies of it.« I do obey this law by using backintime and I recommend you use something similar.

The guy also daisy-chained password-resets and email-accounts, offering a single point of entry to his digital everything. This got me thinking about my own passwords. They are generally very strong and I have a lot of different passwords. Sometimes too many different ones, so I keep forgetting which ones I used where. But sometimes not enough different ones, as some applications share some passwords. This needs to change, so it is time for a password manager.

[update 30.8.2012] I installed KeePassX a while ago and am quite happy. I thought I had found the perfect combination when Nic mentioned the open source self hosted oneCloud, but I failed. Looking for another solution, I went for ubuntu one.

Ubuntu one does not support android 1.6 any more, but ES File manager does. And it also does support ubuntu one.

[update 26.9.2019] Bill of Pixel Privacy sent me an article on passwords which has a lot of interesting facts and figures. So if you think all this doesn’t concern you, you might want to check it out: https://pixelprivacy.com/resources/reusing-passwords/

[/update]

What are the options?

  • Passwordmaker
  • KeepassX
    for *nix-based systems
    + independent from KeePass but they share a db-format, so you can port stuff
    + GNU & Open Source
  • KeePass
    ? Any connection to KeepassX?
    + Has a portable version
    + independent from KeePassX, but uses same db-format, so you can port your stuff
    needs wine or windows
  • WebKeePass
    Java-port of KeePass
  • Revelation
  • Mitto
    + apparently self-hosted
  • Pasaffe
    + DB is Passwordsafe 3.0 compatible
  • Passwordgorilla
  • Passwordsafe
    + DB compatible with pasaffe
     

At askubuntu the majority recommends KeePassX. On stackexchange WebApps there is a thread on self hosted variants.

What are my requirements?

* sufficient cryptographic algorithm – SHA1 or MD5 won’t do.

* accessible from on the road

* Open Source

 

[update 21.8.2012]

I am trying KeePassX at the moment. I like the interface and have already forgotten most passwords – so what I don’t like is I started relying heavily on a piece of software. Anyway, there are at least two Android clients that can read KeePassX’ data base:

  • KeePassDroid
    + requires Android 1.5 und up
    + syncs to drop box
    + good reviews
    + free
    + large user base
  • Walletx Password Manager
    + syncs to dropbox
    requires Android 2.2 and up
    not so good reviews
    small user base

xubuntu 12.04

posted in: Linux Archives | 0

Way too many issues with a first attempt drove me to the decission to reinstall. I had a look around and made eye contact with fedora, arch and debian but in the end thought I’d give a clean xubuntu installation a second chance – and I did not regret it. Here goes:

1. Installation from LiveUSB

First surprise:No issues. Only: apparently all of a sudden my computer needs a /boot partition, so my partition map looks like this:

1. primary   ext2    254MB   /boot
2. logical   swap   4000MB
3. logical   ext4   <rest>   /

2. Dual Screen under xubuntu

sudo apt-get install arandr...   READ MORE

The Shocking Truth

posted in: Corruption Archives | 0

The Guardian has a very interesting and insightful article on »The shocking truth about the crackdown on Occupy« by Naomi Wolf.

In her article she sheds much light on the many (dim to dark) issues related to the Occupy-movement, and explains how the Department of Homeland Security, local mayors, congress, Wall Street, and businesses are linked to each other and ultimately to OWS.

Feeds a la Tiny Tiny RSS

posted in: www Archives | 3

[update 2012-10-04] In the meantime, I helped Nic with what he calls scratching some itches for ex-Google-Reader users: we now have gritttt, and gritttt has a) a means to import shared/stared items from g-reader into tt-rss; b) drive-by sharing, meaning you can share any page in tt-rss on the fly; and c) a widget that can display the latest shared items from tt-rss on your website. More here. [/update]

[update 2011-11-10] Both this and Nic’s article have been featured on tt-rss’ project site. There are a bunch of other interesting and useful articles, too, so check it if you’re interested in tt-rss. [/update]

A while ago, Google updated their reader, killing one of the best features: sharing. I looked around a bit for a suitable alternative and in the end settled with tiny, tiny rss.

Advantages:

  1. It runs on my server, so nothing can be done to it unless I approve
  2. Sharing is easy
  3. It’s simple

Nic, who thankfully came up with this great alternative, has a more techno-philosophical article on the switch.

Some minor issues I had while installing:

1. open_basedir not supported

Problem: during installation I got the fatal error

php.ini: open_basedir is not supported

Solution: Open <tt-rss-root>/sanity_check.php and find the entry Update: in recent versions it’s in <root/include>

if (ini_get(“open_basedir”)) { $err_msg = “php.ini: open_basedir is not supported.”; }...   READ MORE

Cross-Distro Live-USB

posted in: Linux Archives | 0

Want to create a Fedora live USB from ubuntu or make a pen drive with ubuntu in Fedora? Sick of instaling liveusb-creator under ubuntu or usb-creator in Fedora?

Here is your way out: UNetbootin

  1. Download
  2. sudo chmod +x <downloaded file>
  3. Optional: install p7zip and p7zip-plugins
  4. ./<downloaded file>
  5. Happy

Strikethrough in LaTeX

posted in: LaTeX Archives | 13

Today I found a second way to achieve a strikethrough in LaTeX (what is done by »line-through« in css: strike out text). If you want to put a line across text, your choices are »ulem« and »cancel«:

Strikethough in LaTeX using »ulem«

\usepackage{ulem} in the preamble gives you two ways to strike out text (and a couple more for underlining):

  1. \sout{text to be striked out} for a horizontal line through text to be striked out (exactly like »line through«).
  2. \xout{text to be crossed out} for many short diagonal lines crossing out the letters of the text to be crossed out

The problem that ulem affects some bibliography styles where otherwise italicised text is then underlined can be remedied through the »normalem«-option in the preamble: \usepackage[normalem]{ulem} (Thanks Fredrik!).

Ulem is part of MiKTeX and TeX Live but also available at ctan.

Strikethrough in LaTeX using »cancel«

\usepackage{cancel} in the preamble gives you four different modes of striking through

  1. \cancel{text to cancel} draws a diagonal line (slash) through its argument
  2. \bcancel{text to cancel} uses the negative slope (a backslash)
  3. \xcancel{text to cancel} draws an X (actually \cancel plus \bcancel)
  4. \cancelto{〈value〉}{〈expression〉} draws a diagonal arrow through the 〈expression〉pointing to the 〈value〉 (math-mode only)

You can get cancel at ctan.

Results

LaTeX strikethrough examples (ulem + cancel)

Click on the image for pdf or download the source file – which looks like this:

\documentclass[a4paper,11pt]{article}

\usepackage[utf8]{inputenc}

\usepackage{setspace}

\usepackage{ulem}

\usepackage{cancel}

\begin{document}

\sffamily

\doublespace

\textbf{Ulem:}

\verb+\sout{striked out text}+ renders \sout{striked out text}

\verb+\xout{crossed out text}+ renders \xout{crossed out text}

\textbf{Cancel:}

\verb+\cancel{canceled text}+ renders \cancel{canceled text}

\verb+\bcancel{b-canceled text}+ renders \bcancel{b-canceled text}

\verb+\xcancel{x-canceled text}+ renders \xcancel{x-canceled text}

\verb+\cancelto{<value>}{<expression>}+ renders $\cancelto{value}{expression} $

Cancelto also works with more complicated expressions:

\verb+\cancelto{\frac{num2}{den2}}{\frac{num1}{den1}}+ renders $\cancelto{\frac{num2}{den2}}{\frac{num1}{den1}} $

\end{document}

Deny Internet in Ubuntu

posted in: Linux Archives | 0

I have phases in my work cycle, where I want to limit internet access to myself. Thus, I created a »work-user« and in the user’s properties I unticked the boxes 

  • Connect to internet using a modem
  • Connect to wireless and ethernet networks
  • Use modems

I thought that should do the trick, yet it didn’t restrict internet access to this user. I tried various other things to deny access to network and web and finally found something useful at ubuntuusers.org (German):

create a file in /etc/init.d (filename doesn’t matter)

sudo touch /etc/init.d/iptab-filter.sh

Open the file you created:

sudo gedit /etc/init.d/iptab-filter.sh...   READ MORE

ffmpeg-GUI

posted in: Linux Archives | 0

I was somewhat flabberghasted when I found out my mobile phone (Sony Ericsson Cyber-shot) was unable to play .mp4, .flv, .avi and what else I tried. It refuses to play all video formats save .3gp.

I was unable to convert to this with avidemux. Google quickly told me that ffmpeg could do the trick. But being unfamiliar with bitrates and stuff I was happy indeed when I found Mobile Media Converter, which is a neat and lean GUI for ffmpeg (Mac, Linux and Win). It even sports convenient batch process via drag & drop. Have fun.

Fonts in LaTeX

posted in: LaTeX Archives | 0

In short: To avoid the standard pixel bitmap fonts and go for smooth, scalable post script ones, use one of the following:

\usepackage{palatino}
\usepackage{times}
\usepackage{bookman}
\usepackage{newcent}

or, for standard post script fonts

\usepackage{pslatex} or
\usepackage{ae,aecompl}...   READ MORE

Position:Absolute in LaTeX

posted in: LaTeX Archives | 0

In css there is the handy absolute positioning. Today I found out how to do it in LaTeX:

In the preamble

\usepackage{textpos}

In the document
\begin{textblock}{2}[0,0](8,1.5)
    Lorem ipsum dolor sit amet
\end{textblock}
The arguments are as follows:

\begin{textpos}
{<width>}
[
<left handle>,<top handle>]
(<leftmargin>,<topmargin>)...   READ MORE

World Wide Food Chain

posted in: www Archives | 0

This last weekend I understood a lot about the internet food chain: There are the smart guys and there are the monkeys. The smart guys find out how to crack a system. They publish their stuff and move on. The smart guys are too busy to play around.

As soon as the smart guys make the security hole public, the swarm of pimple stricken milksops with teenage angst who read what the smart guys publish come marauding. They upload a bit of this, toy around a bit in that and then claim they »hacked« something while they really only hacked their pants once more.

This way the smart guys don’t have to bother telling the people about their security holes (probably assuming backup copies and a restore script anyway; if this doesn’t exist – more valuable lessons learned): they have their monkey baggage to do so for them.

Section Footnote in LaTeX

posted in: LaTeX Archives | 1

I left biting marks in the table on this one. I don’t know if it’s a general issue or just my document. Anyway:

I wanted to have footnotes from inside sections, subsections, and subsubsections. They work similar to footnotes in tables, you need to address them similar to this:

\section{Some Section in my Document\footnotemark}

\footnotetext{My boring footnotetext.}

Only, when I did it like this, it worked on some occasions, but not on others (reason for me biting the wood).

I finally found out that it did not work on all occasions where I did it exactly like in above example, but always rendered

TeX capacity exceeded, sorry [input stack size=5000]
However, it did work on all the occasions where I specified the (optional) short title for section/subsection/&c:

\section[Section in Document]{Some Section in my Document\footnotemark}

\footnotetext{My boring footnotetext.}

The optional shorter title appears — as far as I know — in the table of contents and in left-/rightmark. Also, Kile uses it to display the document structure, too. So if you have rather long titles (like I do) it is a good idea specifying a short one anyway. If not, I guess you can just as well repeat the full title in the optional argument if you need a footnote.

When using the starred variant (\section*{My merry section}), don’t provide a short title.

Continuous Footnote Numbering in LaTeX

posted in: LaTeX Archives | 0

By default LaTeX starts the footnote counter at zero for each chapter when you use the class {book} or {scrbook}. If you want to avoid that and have a continuous enumeration, here is how it works:

Create a folder <remreset> in your local package repository. Save the file remreset.sty into this folder.

Open your preamble and add
\usepackage{remreset}
\@removefromreset{footnote}{chapter}
Should you get an error message like this
You can’t use ‘\spacefactor’ in vertical mode. \@
or like this
Command \@ already defined.
embrace the stuff with \makeatletter and \makeatother:
\usepackage{remreset}
\makeatletter
\@removefromreset{footnote}{chapter}
\makeatother
Voilà.

ΛαΤεΧ in Greek

posted in: LaTeX Archives | 0

There are various possibilities to include Greek text in your LaTeX document. The three ones I found are these:

  1. $\Gamma\rho\varepsilon\varepsilon\kappa$ gets you Γρεεκ allright, but it looks clumsy and lacks all the accents etc.
  2. betababel. It does not work with my customised control sequences, and I am too lazy to change them and learn them all anew.
  3. polutonikogreek. Neat, slim, worked straight away.

Nos. 2 & 3 use ngerman, so make sure they don’t start a fight with german.

 

update

I had a slight problem with polutonikogreek and titletoc. Whenever I used something like
\greek{p’olemos}
which referred to this entry in the preamble:
\newcommand*{\greek}[1]%
   {\selectlanguage{polutonikogreek}{#1}%
   \selectlanguage{german}}
the .toc-file looked like this at the corresponding place:
[…]
\contentsline {section}{\numberline {1.1}KAPITEL-1.1}{14}
\contentsline {subsection}{\numberline {1.1.1}UNTERKAPITEL-1.1.1}{14}
\select@language {polutonikogreek}
\select@language {german}
\select@language {polutonikogreek}
\select@language {german}
\contentsline {subsection}{\numberline {1.1.2}UNTERKAPITEL-1.1.2}{20} […]
Wherever \select@language appeared in the toc, the styling of my toc entries of the subsection level was being messed up. I style subsection entries in the toc in a way that they all get written in a single line. It looks like this:

\titlecontents*{subsection}[3.5em]
   {\vspace{-0.5mm}\itshape\footnotesize}{}%
   {}{\dots\normalfont\footnotesize%
   \thecontentspage.\enspace}%
   [\itshape][\vspace{1mm}]

There are two solutions.

  1. Ignore the problem, compile your document, open the .toc-file, delete all \select@language entries and compile again (but only once).
  2. Use the following specifications in your preamble:
    \usepackage{ucs}
    \usepackage[utf8x]{inputenc}
    \usepackage[polutonikogreek,german]{babel}
    \newcommand{\gdir}%
       {\foreignlanguage{polutonikogreek}}

    and then put the greek text directly into your document like this:

    \gdir{Πόλεμος}

Custom Counter in LaTeX

posted in: LaTeX Archives | 0

How it does work:

Here is what we do: We define the counter
\newcounter{MyCounter}
then we add
\renewcommand\theMyCounter{\roman{MyCounter}}
after it, and it works. Thanks to Axel for his help on this.

 

How it does not work:

When you define a new counter like this
\newcounter{MyCounter}
And later use it like this
\refstepcounter{MyCounter}\label{example}
\roman{MyCounter}. Beispiel eins
And then reference it like this:
And now I reference an example \ref{example}. \end{document}
Then LaTeX still interprets it as something like
\newcommand\theMyCounter{\arabic{MyCounter}}
So it results in an arabic number. This is not what we want. We want to reference the counter in lower roman (or upper roman or alph or what have you), too.

Timestamp your LaTeX Documents

posted in: LaTeX Archives | 2

While working on a somewhat larger scale document I always end up with numerous prints, .dvis, .pdfs and so on and so forth. Once, I lost all my original .tex documents and thus had to copy everything from a pdf and reformat it. In a case like that, it sure is handy to know exactly with which version you are dealing and which one is the latest. So for my thesis I wanted to add a little automatic timestamp to each print. Sure enough I found timestamp.sty. Just go to your local package repository, create a folder called <timestamp> and save timestamp.sty into it. With
\usepackage{timestamp}
in the preambel and
\timestamp
anywhere in your document, you can then add the – you’re guessing it – timestamp. The output will look like this:
2007-03-23 14:34

Now, I never liked this date format, so if you, too, prefer DD-MM-YYYY, open timestamp.sty and scroll to the very bottom. Replace

\newcommand{\timestamp}{\the\year-%
\ifnum\month<10 0\fi\the\month-%
\ifnum\day<10 0\fi\the\day\ \xxivtime}
(the last three lines above \endinput) with
\newcommand{\timestamp}{\ifnum\day<10 0\fi\the\day.\,%
\ifnum\month<10 0\fi\the\month.\,%
\the\year\ — \xxivtime\,h}
\timestamp then produces
23. 03. 2007 – 14:34 h
However, the version I use looks like this:
\newcommand{\timestamp}{compiled on \ifnum\day<10 0\fi\the\day.\,%
\ifnum\month<10 0\fi\the\month.\,%
\the\year\ at \xxivtime\,h}
So the output reads
compiled on 23. 03. 2007 at 14:34 h

WordPress Cookie Plugin by Real Cookie Banner