Grey screen starting Lightroom problem

If you see above grey screen after starting Lightroom Classic, there might be some pointers what to do.

Try to re-install

The first attempt to solve the problem should be to re-install the software.

Log file

Have a look at the following log file

~/Library/Application Support/Adobe/Lightroom CC/lrcc_console.log

In my case the following error showed up:

ERROR: Failed to create directory (/Users/foobar/Library/Application Support/Adobe/CameraRaw/), errno 2, parent directory (/Users/foobar/Library/Application Support/Adobe/) has permissions 40755
*** GPU Error: Cannot get GPU Host App directory ***
2023-07-05 09:17:39.902 Adobe Lightroom[5676:61231] initializing Camera Raw: dng_error_unknown
0: global error - C
1: [unnamed] - 1250880549:121+7
2: [unnamed] - C
3: global pcall - C

Solution was to remove the Adobe folder in „~/Library/Application Support/“ and re-install. The problem was gone.

Happy editing.

fatal error: ‚fuzzy.h‘ file not found

Trying to install pydeep on OSX and getting the error below:

pydeep.c:2:10: fatal error: 'fuzzy.h' file not found
1 error generated.
error: command '/usr/bin/clang' failed with exit status 1

So far I have not found a solution for it.

Some people recommended to use:

xcode-select --install

Which did not help my issues.

Also the following:

$ export LDFLAGS="-L/usr/local/lib"
$ export C_INCLUDE_PATH=/usr/local/include

Did not help

Still searching for a solution and will update that blogpost once I found anything


I have written about ddrescue in an article before, but just mentioned it without explaining how to use it.

As I had to use it again this weekend, here is how things go:

Install ports

1. Go to: and download your ports version of choice.
2. reboot
3. sudo port -v selfupdate

Install ddrescue

sudo port install ddrescue

This can even go without xcode:

Warning: xcodebuild exists but failed to execute
Warning: Xcode does not appear to be installed; most ports will likely fail to build.

Test installation:

ddrescue --help
GNU ddrescue - Data recovery tool.
Copies data from one file or block device to another,
trying to rescue the good parts first in case of read errors.

Usage: ddrescue [options] infile outfile [mapfile]

Always use a mapfile unless you know you won't need it. Without a
mapfile, ddrescue can't resume a rescue, only reinitiate it.
NOTE: In versions of ddrescue prior to 1.20 the mapfile was called
'logfile'. The format is the same; only the name has changed.

If you reboot, check the device names before restarting ddrescue.
Do not use options '-F' or '-G' without reading the manual first.

  -h, --help                     display this help and exit
  -V, --version                  output version information and exit
  -a, --min-read-rate=    minimum read rate of good areas in bytes/s
  -A, --try-again                mark non-trimmed, non-scraped as non-tried
  -b, --sector-size=      sector size of input device [default 512]
  -B, --binary-prefixes          show binary multipliers in numbers [SI]
  -c, --cluster-size=   sectors to copy at a time [128]
  -C, --complete-only            do not read new data beyond mapfile limits
  -d, --idirect                  use direct disc access for input file
  -D, --odirect                  use direct disc access for output file
  -e, --max-errors=[+]        maximum number of [new] error areas allowed
  -E, --max-error-rate=   maximum allowed rate of read errors per second
  -f, --force                    overwrite output device or partition
  -F, --fill-mode=        fill blocks of given types with data (?*/-+l)
  -G, --generate-mode            generate approximate mapfile from partial copy
  -H, --test-mode=         set map of good/bad blocks from given mapfile
  -i, --input-position=   starting position of domain in input file [0]
  -I, --verify-input-size        verify input file size with size in mapfile
  -J, --verify-on-error          reread latest good sector after every error
  -K, --skip-size=[,]  initial size to skip on read error [64 KiB]
  -L, --loose-domain             accept an incomplete domain mapfile
  -m, --domain-mapfile=    restrict domain to finished blocks in file
  -M, --retrim                   mark all failed blocks as non-trimmed
  -n, --no-scrape                skip the scraping phase
  -N, --no-trim                  skip the trimming phase
  -o, --output-position=  starting position in output file [ipos]
  -O, --reopen-on-error          reopen input file after every read error
  -p, --preallocate              preallocate space on disc for output file
  -P, --data-preview[=]   show some lines of the latest data read [3]
  -q, --quiet                    suppress all messages
  -r, --retry-passes=         exit after  retry passes (-1=infinity) [0]
  -R, --reverse                  reverse the direction of all passes
  -s, --size=             maximum size of input data to be copied
  -S, --sparse                   use sparse writes for output file
  -t, --truncate                 truncate output file to zero size
  -T, --timeout=       maximum time since last successful read
  -u, --unidirectional           run all passes in the same direction
  -v, --verbose                  be verbose (a 2nd -v gives more)
  -w, --ignore-write-errors      make fill mode ignore write errors
  -x, --extend-outfile=   extend outfile size to be at least this long
  -X, --exit-on-error            exit after the first read error
  -y, --synchronous              use synchronous writes for output file
  -1, --log-rates=         log rates and error sizes in file
  -2, --log-reads=         log all read operations in file
      --ask                      ask for confirmation before starting the copy
      --cpass=[,]          select what copying pass(es) to run
      --max-read-rate=    maximum read rate in bytes/s
      --pause=         time to wait between passes [0]
Numbers may be in decimal, hexadecimal or octal, and may be followed by a
multiplier: s = sectors, k = 1000, Ki = 1024, M = 10^6, Mi = 2^20, etc...
Time intervals have the format 1[.5][smhd] or 1/2[smhd].

Exit status: 0 for a normal exit, 1 for environmental problems (file
not found, invalid flags, I/O errors, etc), 2 to indicate a corrupt or
invalid input file, 3 for an internal consistency error (eg, bug) which
caused ddrescue to panic.

Report bugs to
Ddrescue home page:
General help using GNU software:

Find the right disk

diskutil list

Start ddrescue

sudo ddrescue -v /dev/disk3s2 /Volumes/backup/failing_drive_backup.dmg failing_drive_backup.log
GNU ddrescue 1.20
About to copy an unknown number of Bytes from /dev/disk3s2 to /Volumes/backup/failing_drive_backup.dmg.
    Starting positions: infile = 0 B,  outfile = 0 B
    Copy block size: 128 sectors       Initial skip size: 128 sectors
Sector size: 512 Bytes

Press Ctrl-C to interrupt
rescued:     7621 MB,   errsize:         0 B,    current rate:  10878 kB/s
   ipos:     7621 MB,    errors:         0,      average rate:  10484 kB/s
   opos:     7621 MB,  run time:      12m 7s,  remaining time:         n/a
time since last successful read:          0s


Found an good recommendation from Christian Schwang:

– instead of /dev/disk{x} you may use /dev/rdisk{x} – This will give a massive performance boost (in my testing transfer rate went from 30 MB to 130 MB). For detailed reason you may want to look at:

Result with the same drive as above:

sudo ddrescue -v /dev/rdisk3s2 /Volumes/backup/failing_drive_backup2.dmg failing_drive_backup2.log
GNU ddrescue 1.20
About to copy an unknown number of Bytes from /dev/rdisk3s2 to /Volumes/backup/failing_drive_backup2.dmg.
    Starting positions: infile = 0 B,  outfile = 0 B
    Copy block size: 128 sectors       Initial skip size: 128 sectors
Sector size: 512 Bytes

Press Ctrl-C to interrupt
rescued:     5215 MB,   errsize:         0 B,    current rate:  34209 kB/s
   ipos:     5215 MB,    errors:         0,      average rate:  33649 kB/s
   opos:     5215 MB,  run time:      2m 35s,  remaining time:         n/a
time since last successful read:          0s

Known issues

drescue: Can't open input file: Resource busy

Solution: Open the, and on your to-be-recued-drive, unmount any of it’s partitions.
Warning: Do not eject the USB hard drive.

more infos

Amazon Music app ignore Mp3 folder

If you are using the Amazon Music App to access your Amazon prime music library from your Android device, it will display all mp3s found on the device. That might be odd if you have audiobooks or ringtones that you do not want ot be in your playlist.

The solution to ignore folder is to create an empty file with the name:


And place it into the folder you want to be ignored, refresh your media library in the App and all the folders will be ignored.

Some ad:

Simsme a secure messenger

(c) Deutsche Post AG

(c) Deutsche Post AG

There have been some ongoing discussions about Facebook Messanger / Whattsapp – security, encryption, privacy etc.
Just a few days ago Facebook made a big move pushing more users to the Facebook Messenger.
And now a new big player enters the field of messengers: Deutsche Post.

They announced a product called „Sims Me“ being a „free and secure messenger on iOS and Android“.

Of course Deutsche Post has some expirience with delivering messages for hundrets of years. But this is not the first App Deutsche Post is providing, officially the apps are developed by „DP IT Brief GmbH“.

Key Features of SimsMe

– End to end encryption
– everything stored on servers
– self destructive messages *
– Ability to connect to your existing contacts (but only by granting SimsMe access to your contacts)
– Confirm users by QR code (same like Threema)
– App is password protects -> if your possword got lost, your app data is gone, you have to reinstall it.

* only for th first million users for free

There is a good FAQ on the page.


The starting phase was a bit to much for Deutsche Post as to much users tried the service, but for now it is okay, some bugs have to been fixed, there is some space for improvement regarding UI, but overall a nice product.

Of course stating „it is end-to-end encrypted“ does not mean anything. I haven’t seen a Audit of the App, even if it would be open source, there is no evidence that the open source code is the code DP IT Brief GmbH is sending to Apple / Google. And there is no way to check wether the app uploaded from DP IT Brief GmbH to Apple / Google is the App that you are downloading to your device (they are in a position to madify apps). That said, having a big company providing an app with end to end encryption is better than using a plain-text or not properly encrypted app. But still, if you want to exchange sensitive stuff, face to face is the way to go.


iOS Itunes download
Andoid Google Playstore

Kidsbox – iPhone App für Kinder

Kidsbox Logo

Kidsbox ist eine neue iPhone App im deutschen App Store.

Zielgruppe sind Eltern mit Kindern im Alter von 2-6 Jahren. Diese können mit der Kidsbox Töne aus ihrer Umwelt spielerisch lernen. Zum Start stehen kostenfrei Töne rund um den Bauernhof und Instrumente bereit. Gegen einen kleinen Obolus können Töne rund um den Ozean freigeschaltet werden.

Die App ist von der AYCS UG entwickelt worden und basiert auf dem three20 Framework. Das kindgerechte Design stammt von Markus Weber und die schönen Bilder wurden von ihm mit viel Liebe zum Detail von Hand gezeichnet.

(iphone Anwendung kostenlos im Deutschen App-Store erhältlich)


1Password Windows Version

1password windows

1password kommt auf windows

Wie heute berichtet, ist das Password-Management-Tool 1Password nun auch in einer Beta Version für Windows erhältlich. Bis dato waren Windows Nutzer leer ausgegangen, in der Mac Umgebung hat sich das Programm aber eine große Fangemeinde aufgebaut. Auch für das iPhone und das iPad sind bereits Ableger erhältlich. Eine Synchronisation der Passwörter über verschiedene Rechner ist beispielsweise über getdropbox realisierbar.