marcelpetrick

360° panorama: quick and easy

Written by  on December 14, 2015

The ‘magic’ behind 360° panoramas is nothing new. I remember stitching together manually the pictures from the Canon Ixus 800, later switching to AutoStitch and other solutions. But after I used Google Kamera as replacement for the pre-installed camera-app on the smartphone and also acquired a cheap 10€-cardboard I had a jaw-dropping moment of enlightment: wow! This is amazing. And to whomever I showed this (techies, friends, parents, ..) they were also impressed. A freely explorable panorama with head-mounted gear is soo much much descriptive of the scene than the regular 2D-photos. Yes, I still stick to analogue photography, but If you want to show somehow how the sights looked and how the surrrounding environment looked like, then stick to a panorama. Creating them is quite is, but this is a different story.

Too cut it short: I was always looking for a way to present those views also to people far away. Which don’t have a smartphone. Jeremy Heleine created with his Photo Sphere Viewer a truly amazing in browser-javascript-library. I just added some of my own examples (in a pretty bad boilerplate-way *cough*). But this is still great! I love it.

Want to visit Brüssel, Leipzig, Kiel, Wismar or Göteborg?

 

Install an operating system-rage

Written by  on December 14, 2015

I hesitated for a longer time to add rant-posts to this blog. Reason is: most of the time not the criticized fact is noted by the reader but the fact that someone complains.

From time to time you encounter some flaws or bugs or “design-choices” whre you start to think: this can’t be an accident. Or there are reasons I don’t understand. But this is nothing which could not be fixed.

Therefore todays rant: create/recover a working and sound operating system. I just refer to the major three ones: Windows, OSX and GNU/Linux.

  • OSX: Boot, press CMD+R, select recover and add you favorite Wifi and wait: no problem. But since its a really enclosed environment in terms of hard- and software I did not expect something cumbersome/special. Since it is not wanted that you can change something inbetween, the needed user-interaction is quite limited. Works, ok.
  • Linux: I always have a USB-stick with one of the latest Linux Minut (former times Ubuntu, DSL, Kubuntu or just some other distro) in my pocket. Reasons: I don’t trust foreign computers for sensible data (plug it in and use a live-system) AND safety (main system fails to boot? Oh, you still have some backup solution :D). So this is inserted, then select for booting this stick either via UEFI or BIOS. Boot, select in GRUB the real version, “Install Linux”, maybe addd Wifi/ethernet before, add additional user-data, maybe change partition so that your old home-partition is mounted correctly, reboot, unplug the stick, run maybe “sudo apt-get update && sudo apt-get upgrade” ONCE and be happy. Although this text is quite big this takes roundabout 60 to 90 minutes! Et voila: working system with all your previous data. Almost all devices have correct drivers and are usable. Continue with your work …
  • Windows: buy a Win7 Ultimate-key (2 min), burn a 3 GiByte-image for the corresponding version on DVD, insert and reboot. Select to install, add all the needed credentials. 1 hour later it looks like you can reboot. Oh, 800×600 display resolution, no fucking device is recognized, therefore neither ethernet nor Wifi are usable to get additional drivers and updates, I can use the mouse and that is all. No usable tools for image viewing and editing, nothing. A bare system. Is this a joke? Microsoft, come on … when this happended to me in former times for older versions of Windows I thought this is how it should be. But why don’t you force the manufacturers to create small driver-libraries for their stuff so that at least basic, minimal support for all the hardware is given? Why is this possible for FOSS-projects but not for you with your big market-reach?!?
    Back to topic: so I downloaded and installed the basic drivers and then armaggeddon happend: 179 important and 49 optional updates are offered. OK? why not, better safe than sorry. ONE fucking DAY later the whole cycle of installing, rebooting and re-doing the search for newer updates was still not finished. And I started with SP1, not the original Win 7-release. This is 2015, hello!

Ok, to cut it short: having to install Windows is still the worst what can happen. Sometimes it is needed, because some Wine and virtual machines are not covering everything.

0xDEADBEEF

Written by  on December 12, 2015

After a longer discussion we came to the following conclusion. In the end it breaks down to only four reasons why someone writes software:
0. you get paid for it: simple as that
1. you need a tool or the existing stuff doesn’t exactly do what you need for your solution
2. you want to learn something
and
3. you want to impress someone
Wait, what? Impress someone?
Let me tell you something: sometimes you try to solve an issue just because you want to prove for yourself or others that you are able to do so. You don’t get paid, it is not your problem, you also won’t learn anything besides the practising effect, but you want to earn some reputation. Or solidify your credibility. Because you see it as a challenge. Like the early explorers of the world!

Sometimes Windows is fundamental ..

Written by  on November 26, 2015

Long time, no see updates. But I applied some changes to my life and also traveled a lot 😉
I also built a new PC. Yes. A desktop-PC. In 2015! I didn’t do this for years, but now the black cube is running (so fast and still cheap ..) and powered by Linux Mint 17.2 MATE.
It took just one day to find out, that there is still software which is neither available for Linux nor runnable via wine. Yes, you can install and start it, but then it will immediately crash. Nice.
So my first thought was the good old fashioned dual boot-idea with several partitions on the harddrive. But since the SSD-space is limited and I didn’t want to attach an additional (slow) HDD, I tried the following. And it worked! Almost out of the box. Therefore the post … it is nothing really complicated, but I am really surprised that everything went so smooth.

  1. install virtualbox via apt-get (used 5.0 version from Oracle – base was 4.3)
  2. torrent meanwhile a legal copy of Windows 7/64 Ultimate via WindRiver-Microsoft-distribution: used Transmission
  3. create a virtual machine (at least 20 GiByte … not 10 like I did ;)) as VDI; assign processors, memory and disable the network (‘The only safe computer is a computer turned off’ .. computer science-prof); assign the ISO as CD-drive
  4. boot Windows, select the 30 day-trial period; install Windows; shutdown
  5. assign a shared directory to the virtual machine; put the installer of the software there
  6. reboot VM; install the guest-tools there; install your needed software …

Additional hints:

  • if the VM needs to be resized, then
    • vboxmanage modifyhd ‘/home/tanteedith/VirtualBox VMs/win7ultimate/win7ultimate.vdi’ –resize 20480
    • grab a gparted-ISO; assign as optical drive; reboot; resize the partition
  • if you activated the fullscreen-mode and wonder how to return to the host: press “right CTRL + F”

 

Still: amazing. I spent 70 minutes or something. And it works!

Bye bye Stagefright 2.0 (and other issues)

Written by  on October 22, 2015

Since the discovery of the big vulnerability called Stagefright (summer 2015) some additional were disclosed. Time for an update of the already cyanogenmodded Galaxy S4.
Found a good description of what the names for the different gapps-packages mean: page (includes downloads). I choose pico!

  1. 5 min real work: get the ROMs, put them to the SD-card, boot into TWRP; select the nightly, then add also gapps-pico, wipe DALVIK, reboot
  2. 20 min waiting: after flashing for first boot-up (self-configuration) .. works like a charm

QtScrobbler (final cut)

Written by  on October 22, 2015

Just to close the topic: I finished what I planned for the forked QtScrobbler-project. I changed the workflow, so that if you did not provide correct credentials for your favourite submission-site (last.fm, libre.fm ..), then the progress-dialog will be closed and you will see immediately the error in the ui (not just log). Because before the user could wait until the cows come home – and I found this really annoying, especially when I set up QtScrobbler on a new system, mistyped or forgot to set the credentials at all.
Besides: also cleaned the code a little bit with the help of cppcheck 😉

The repository: https://github.com/marcelpetrick/QTScrobbler

All in all it was a nice experience: set up GitHub, clone the repository, work into a medium large project, try to fix an error without breaking the remaining functionality ..
I do not fully agree to the original code of conduct for style and includes. But as long as it is comprehensive ..

cppcheck pt. II

Written by  on October 4, 2015

It’s quite funny if you want to use the current version of your favorite static code analysis-tool, then realize that no OS-binary is availabe, then think “why not create it yourself like you did it with older versions?” (qmake && make ..), then realize your current clang-version does not support the missing c++11-features (cbegin/cend), then you realize you are not allowed upgrade your local compiler ..

To put it in a nutshell:

Yes, this leaves you without the gui, but still better than nothing.

side note: I also found the cppcheck-plugin for QtCreator-project on sourceforge (new since august 2015?), but since the contributor provides just Win and Linux binaries, but neither source nor OSX-binaries, I have to wait. But looks promising.

edit 20151005:
Only fifteen hours after my request the russian mastermind behind the project built an OSX-dylib for the cppcheck-plugin and offered it to me for testing. After update from QtCreator 3.42 to 3.5, copying the plugin, activating it and setting the path to the homebrew-1.70-cppcheck, everything works! No more switching between the cppcheck-output and QtCreator, just fix the issues! *feels good*

QtC_cppcheck

edit 20151006:
Now it is officially available. Enjoy!

My first (?) offical fork?

Written by  on October 2, 2015

I want to fix several smaller, but annoying issues with QtScrobbler. Originally hosted on sourceforge, but development was discontinued in 2013. I mean: it worked. I used it for years with my upgraded SANSA clips.
So I forked the project to github, upgraded the whole project to the current Qt-version (5.5) and fixed immediately some ‘klein-klein’. But now I am too tired …

Simple grid-layouter

Written by  on September 22, 2015

How to layout a given number of thumbnails N of picW x picH into m columns and n rows in a given page (pageW x pageH) so that the “to be applied” scale is maximal? All thumbnails yield the same dimensions, reordering is not allowed, rotation neither. If the chosen scale is maximized, then the result will have the biggest possible thumbnails. I need this for the contactSheet-script, because currently it uses fixed column-sizes and I don’t want to figure this out manually each time the wanted page- or thumbnail-size or the amount of thumbnails changes.

layout

I am aware, that this is some kind of well known bin-packing problem, but just after implementing the very first naive approach I figured out that there is maybe(?) no closed equation possible: just iterating over all possible cases. Maybe I missed something, but the current approach would look like the following. I will move this from C++/Qt to sh soon, because this will become part of contactSheet-script which I apply to every set of scanned film 😉

By the way: the sketch has been done with draw.io, because I stopped using Dia

Well-equipped and already upgraded.

Written by  on September 22, 2015

Due to the fact that I shoot a lot of expired 135 film, developd and digitalize it, I decided it’s time to acquire my own film scanner.
After some brief thinking I aimed for a Nikon LS 4000 or 5000. Facts which mattered were the unreached resolution of 4.000 dpi (for real – not some marketing speech), high dynamic range and the automatic transport of filmstrips (pure convenience).
With some luck I grabbed a fairly cheap LS 4000 in nearly mint condition with MA21- and SA21-holders. Needless to say I spent some more money on new firewire-cables, a pc-express-card and other crap. After upgrading the firmware from 1.05 to 1.10 SilverFast 8 also recognized the holder correctly. Nikon Scan and vueScan did right out of the box.

But at least the best improvement was quite cheap: why stay with a “just 6 frames per filmstrip allowed”-holder if you can have a SA30?
I bought the combination with the following upgrade in mind. For now the revertable version is applied and working 🙂

Step 0: connect pin 4 and 5 with a thin wire; Step 1: put cover it with some tape and poke holes inside for the male connectors; Step 2: gently push it inside

steps

Upgrade complete!