Howto: Store Contacts and Calender Entries outside Google Account (Sony)

July 31, 2016

With a Sony Xperia smartphone, you can store a calender or phonebook entry, or import phonebook entries to a “local contacts” or “local calender”, instead of your google account, by selecting the account where the calender entry or phone book entry shall be created.

When you don’t see a “local calender” as an option in 3rd party calender apps, like my favorite “aCalendar”, go to the Sony calender app and create a first calender entry in the local calender. Then, the local calender will also show up in “aCalendar”.

Currently, I sync the local calendar and address book via “MyPhoneExplorer” with Thunderbird.

 

Shared Post: Aus Sony Xperia Companion Backup Kontakte extrahieren

July 31, 2016

Ich habe mein neues Xperia Z5 Compact eingerichtet und die erste Sicherung mit Xperia Companion gemacht. Falls das Restore mal schief gehen sollte, hier die Lösung:

Aus Sony PC Companion Backup Kontakte extrahieren in 12 Schritten

Shared post: Using SCons effectively

June 1, 2016

An overall interesting read to understand core concepts of SCons:

http://blog.bfitz.us/?p=1679

 

Zweite SSD Festplatte in Lenvo Yoga 13 einbauen

January 3, 2016

Anleitung auf Deutsch

Das Ideapad Yoga 13 von Lenovo hat einen zweiten mSATA Slot, in welchen eine weitere SSD installiert werden kann. Dies bietet sich an, weil auf der standardmäßig installierten 120 GB SSD bereits mehrere Partitionen für Rescue-Daten etc. reserviert wurden, so dass insgesamt neben Windows 8 oder gar Windows 10 nicht mehr viel Platz für eigene Dateien bleibt. Im folgenden beschreibe ich, was beim Einbau einer zweiten SSD zu beachten ist:

Benötigtes Material

  • Eine mSATA SSD, z.B. die Samsung SSD 850 Evo 500 GB (diese funktioniert mit meinem Yoga 13) oder die Crucial Mx200 512 GB SSD, für welche Crucial selbst die Kompatibilität mit dem Yoga 13 garantiert.
  • Eine Kreuzschlitzschraube (Phillips Head) mit 2 mm Gewindedurchmesser und 3 mm Länge, kurz M2 x 3 mm. Diese sind relativ schwer erhältlich, bei Amazon ist sie von einem Fremdhändler gelistet – ich habe mir eine ähnliche Schraube mit gleichem Gewinde aus einem uralten Thinkpad “ausgeliehen”. Ansonsten kann man auch eine beim Ausbau der Gehäusefront anfallende M2x3mm Schraube nehmen, wenn gar nichts anderes zur Hand ist.
  • Feinmechaniker-Schraubendreher: Ein Torx T5 und ein M2 Kreuzschlitzschraubendreher (“Phillips Head”). Hilfreich ist auch eine Pinzette, um die kleinen Schrauben zu greifen.
  • Eine sehr flache Plastikklinge und Abstandshalter, am Besten aus antistatischem Plastik, helfen beim Ausbau sehr.
  • Wenn man am Ende genau den gleichen Zustand wie am Anfang haben möchte, braucht man ein bisschen dünnes doppelseitiges Klebeband (ich habe darauf verzichtet).
  • Außerdem sollte man darauf achten, dass man auf einer nicht leitfähigen Oberfläche arbeitet (am Besten ESD-Matte) und ein antistatisches Armband (mit Erdung) verwendet.

Informationsquellen (Englisch)

Tips von mir

  1. Im Hardware Maintainance Manual steht, dass für den Austausch der SSD das “Keyboard”, “Keyboard Bezel” (also die Abdeckung der Oberseite des Bodys) und die Batterie auszubauen sind. Die Batterie muss allerdings für den Einbau der 2. SSD nicht ausgebaut oder abgesteckt werden.
  2. Außerdem wird der zweite mSATA Slot im Maintainance Manual nicht erwähnt. Dieser befindet sich, wie in den verlinkten Tutorials gezeigt, oben rechts, also ungefähr unter der “Entf”-Taste. Die erste Festplatte befindet sich unten rechts.
  3. Beim Entfernen des Keyboards mit der Plastikklinge vorsichtig in der Richtung wie im Maintainance Manual beschrieben, also von rechts oben nach links oben, vorgehen. Einen flachen Spatel oder anderes Plastikwerkzeug als Keil zwischen die Tastatur und das Gehäufe legen, wo die Tastatur schon abgehoben wurde. Die Tastatur wird oben, links und rechts von Haltenasen gehalten, die “entrasten”, wenn man mit einer flachen Plastikklinge durch den Spalt zwischen Tastatur und Gehäuse fährt. Unten ist die Tastatur mit Haltenasen in das Gehäuse eingehängt. Sobald also die gesamte Oberseite losgelöst ist, kann man durch leichtes Ziehen der Tastatur in Richtung des Displays (an der “Escape” und “Entfernen” Taste festhalten) die Tastatur aus dem Gehäuse bekommen. Nicht zu weit ziehen, damit das Flachbandkabel der Tastatur nicht reißt. Bei mir war rechts oben, also etwas unterhalb der “Entf”-Taste, die Tastatur mit doppelseitigem Klebeband am Gehäuse festgeklebt. In diesem Fall hilft nur etwas mehr Kraft bzw. gezieltes Lösen dieser Klebeverbindung mit einem Spatel.
  4. Nun ist der RAM Sockel sichtbar, ein RAM Update kann nun einfach durchgeführt werden:IMG_20160102_173451
  5. Die Tastatur umdrehen, so dass das Flachbandkabel nicht spannt. Das Flachbandkabel ist eingeklemmt in einen Connector. Der schwarze Teil des Connectors ist ein Hebel! Dieser kann vorsichtig mit dem Fingernagel hochgeklappt werden (also vom Mainboard weg), das Flachbandkabel kann dann herausgezogen werden und die Tastatur kann abgenommen werden. Beim Einbau das Flachbandkabel vorsichtig so weit es geht in den Connector reinschieben, bevor man den schwarzen Hebel wieder zurückklappt. Die weiße Linie auf dem Flachbandkabel sollte mit dem weißen Sockel des Connectors eine Linie bilden, dann ist das Kabel weit genug reingeschoben.
  6. Alle Torx T5 Schrauben auf der Rückseite und die 5 M2 Schrauben auf der Oberseite wie im Hardware Maintainance Manual beschrieben lösen, danach mit dem Fingernagel oder flacher Plastikklinge den Gehäusedeckel lösen, dabei zwischen der silbernen Gehäuserückseite und der schwarzen Vorderseite ansetzen. Am Einfachsten geht dies, wenn der Laptopbildschirm vollständig umgeklappt ist und auf einer weichen, nicht kratzenden Unterlage liegt. Haltenasen befinden sich an mehreren Stellen auf der Rückseite, den Seiten und der Vorderseite, gehen aber ohne viel Kraftaufwand auf, wenn man dazwischenfährt. Es befindet sich auch eine Haltenase zwischen dem HDMI- und USB-Anschluss auf der linken Seite des Gehäuses. Diese ist am schwersten wegzudrücken. Die Gehäuseoberseite wird vorne von Magneten mit an Ort und Stelle gehalten, ist aber leicht anzuheben.
  7. Vorsicht! Beim Anheben der Oberseite des Gehäuses auf das “Power Button Kabel” (links) und das Touchpad-Flachbandkabel (rechts) achten. Das Hardware Maintainance Manual schreibt vor, dass diese zu lösen sind. Man kommt aber an den zweiten mSATA-Slot, ohne diese zu lösen, insbesondere wenn eine zweite Person hilft und die Oberseite hoch und leicht zur Seite hält, während man die mSATA SSD einbaut. Das linke Kabel ist leicht zu lösen (herkömmlicher Stecker-Adapter), das Touchpad-Kabel habe ich nicht ausprobiert.
  8. Wie “Old Guy Geek” schon geschrieben hat, muss man beim Neustart des Rechners in das BIOS, damit die Festplatte von Windows erkannt wird. Man muss im BIOS keine Einstellungen ändern, die Festplatte sollte dort erkannt werden:

    BIOS main page "Information"

    Lenovo Yoga 13 after adding a 2nd SSD

  9. Damit Windows den Datenträger verwenden kann, muss in der “Datenträgerverwaltung” in der “Computerverwaltung” (Start -> Alle Programme -> Verwaltung -> Rechtsklick auf “Computerverwaltung” und  “Ausführen als Administrator”) die Festplatte partitioniert werden.

 

C: Unit test of static functions (module local)

July 10, 2015

When you want to unit test the functions you do not export, i.e., you have defined them with the “static” keyword, there are three ways to accomplish this:

  1. Add the unit tests at the end of the file containing the static functions.
  2. Expose the function declarations in the header (probably guarded by some #ifdef UNIT_IMPL), and instead of writing static, use a preprocessor definition like VISIBILITY, which you redefine to an empty string if you want to build your unit test suite. Include the header in your separate unit test file.
  3. Include the file under test in the unit test file:

    // content of module_test.c:
    #include "module.c"
    // ...
  4. I find the 3rd way to be the most elegant.

Change the extension of multiple files in Windows with one command

July 6, 2015

With the windows command “ren” (rename), it’s possible to rename multiple files in a specific way, but it’s not possible to remove the extension of multiple files. I wrote myself a script once that modifies text files in-place but first saves a backup copy to “%filename.bak”. If I want to restore the *.bak files, I need to remove the ending .bak only. This is possible with one command by using the “for” batch command like this:

for %x in (*.bak) do ren "%x" "%~nx"

Timed shutdown (Windows 7)

November 22, 2014

This has been posted many times all over the Internet, but I find it so useful I’ll include it in my collection: How to do a timed shutdown of the computer:

Start a command line window (Start Menu -> Search for “cmd” -> hit enter).

In the command line, run the shutdown command with any of the following parameters:

  • shutdown /h (hibernate, NOT help!)
  • shutdown /t 300 (shutdown in 300 s, or 5 minutes)
  • shutdown /s (shuts down immediately)
  • shutdown /f (force closing running applications)
  • shutdown /r (restart)
  • shutdown /a (abort a shutdown)

Repost: Einführung in Makefiles

October 23, 2014

I just found an old article I wrote (in German) to introduce people to make files:

Einfuehrung_in_Makefiles

Create .lib file from .dll

July 10, 2014

This is how to create a .lib file to link against a DLL, nice post:
http://adrianhenke.wordpress.com/2008/12/05/create-lib-file-from-dll/

Treat specific warnings as error in Visual Studio

March 27, 2014

Some warnings are so severe that they should be treated as errors at compilation, others are not.

There’s the option to treat all warnings as errors in the Visual Studio IDE or at the command line (/WX). In Visual studio 2013, and also in Visual Studio 2005, there’s an option to treat only specific warnings as errors, with the command line option /we.

Example: To treat the warning that a function is being used without a previous declaration into an error, add /we4013 to the compiler’s command line.

To read more on compiler warning options, see the Micrsosoft Page.