CCCamp 2019 – 21. – 25. August 2019

The Chaos Communication Camp is an international, five-day open-air event for hackers and associated life-forms. It provides a relaxed atmosphere for free exchange of technical, social, and political ideas. The Camp has everything you need: power, internet, food and fun. Bring your tent and participate!

CCCamp 2019 Wiki

It has been 2005 that I had the time and chance to attend an international open-air meeting of normal people. Of course I am talking about the 2005 What-the-hack I wrote about back then.

This year it’s time again for the Chaos Communication Camp in Germany. Sadly still I won’t be attending. Clearly that needs to change with one of the next iterations. With the CCC events becoming highly valuable also for families maybe it’s a chance in the future to meet up with old and valued friends (wink-wink Andreas Heil).

The Chaos Communication Camp (also known as CCCamp) is an international meeting of hackers that takes place every four years, organized by the Chaos Computer Club (CCC). So far all CCCamps have been held near Berlin, Germany.

The camp is an event for providing information about technical and societal issues, such as privacy, freedom of information and data security. Hosted speeches are held in big tents and conducted in English as well as German. Each participant may pitch a tent and connect to a fast internet connection and power.

CCCamp in Wikipedia

Enjoy the intro-movie that has just been made available to us, alongside the whole design material:

retrofuturism sketches

On twitter and artstation I’ve came across Sheng Lam. An artist with a quite fascinating way of sketching. Take a look and be inspired:

Concept artist with AAA experience. Currently working on Star Citizen at Cloud Imperium Games. Mostly draws and likes to eat delicious food.

Sheng Lam on ArtStation

online archeology: to be young and online in 1987

Archive.org is the place to find out about our common internet past. It’s the another project, besides Wikipedia and …, that started it’s life with a bold claim it so far holds true to:

The Internet Archive, a 501(c)(3) non-profit, is building a digital library of Internet sites and other cultural artifacts in digital form. Like a paper library, we provide free access to researchers, historians, scholars, the print disabled, and the general public. Our mission is to provide Universal Access to All Knowledge.

Internet Archive: About IA

And when you freely roam around the archive you will find many gems, like this one:

Another recommendation / starting point on the archive would be Computer Chronicles:

There’s countless hours of material to dig into and be amazed!

automated downloads

Hmm… I’ve set-up a script to automatically download a TV show about a year ago and just remembered it…

Apparently 1 year of this show is 167 Gbyte…

For completeness the download script – ignore my bad scripting:

#!/bin/bash

# parameter 1: month
# parameter 2: from day
# parameter 3: to day
# parameter 4: year

# data -dmonday +%d

next_monday=$(date -dmonday +%d)
next_monday_month=$(date -dmonday +%m)
next_monday_year=$(date -dmonday +%y)

previous_monday=$(date -d'monday-7 days' +%d)
previous_monday_month=$(date -d'monday-7 days' +%m)
previous_monday_year=$(date -d'monday-7 days' +%y)

next_friday=$(date -dfriday +%d)
next_friday_month=$(date -dfriday +%m)
next_friday_year=$(date -dfriday +%y)

previous_friday=$(date -d'friday-7 days' +%d)
previous_friday_month=$(date -d'friday-7 days' +%m)
previous_friday_year=$(date -d'friday-7 days' +%y)

for i in `seq 1 7`;
do
        day=$(date -d'today+'$i' days' +%d)
        month=$(date -d'today+'$i' days' +%m)
        year=$(date -d'today+'$i' days' +%y)
        wget -c "https://rodlzdf-a.akamaihd.net/none/zdf/"$year"/"$month"/"$year$month$day"_sendung_dku/1/"$year$month$day"_sendung_dku_3328k_p36v14.mp4"
done

グランツリー武蔵小杉 and Park City Forest Towers on canvas

I’ve blogged about those pictures taken day- and night-time before. I’ve also blogged about how they where produced.

With a picture spot freed at one of the walls in our house we decided to print the day and night pictures on canvas and have them side-by-side. And it looks great, I think.

I might want to take the night picture again with the slightly different perspective
close up on the canvas structure

Bitmap & tilemap generation with the help of ideas from quantum mechanics

You can get a grasp at the beautiful side of science with visualizations and algorithms that output visual results.

This is the example of producing lots and lots of complex data (houses!) from a small set of input data. It is widely used in game development but also can be helpful to generate parameterized test and simulation environments for machine learning.

So before sending you over to the more detailed explanation the visual example:

This is a lot of different house images. Those are generated using a program called WaveFunctionCollapse:

WFC initializes output bitmap in a completely unobserved state, where each pixel value is in superposition of colors of the input bitmap (so if the input was black & white then the unobserved states are shown in different shades of grey). The coefficients in these superpositions are real numbers, not complex numbers, so it doesn’t do the actual quantum mechanics, but it was inspired by QM. Then the program goes into the observation-propagation cycle:

On each observation step an NxN region is chosen among the unobserved which has the lowest Shannon entropy. This region’s state then collapses into a definite state according to its coefficients and the distribution of NxN patterns in the input.

On each propagation step new information gained from the collapse on the previous step propagates through the output.

On each step the overall entropy decreases and in the end we have a completely observed state, the wave function has collapsed.

It may happen that during propagation all the coefficients for a certain pixel become zero. That means that the algorithm has run into a contradiction and can not continue. The problem of determining whether a certain bitmap allows other nontrivial bitmaps satisfying condition (C1) is NP-hard, so it’s impossible to create a fast solution that always finishes. In practice, however, the algorithm runs into contradictions surprisingly rarely.

Wave Function Collapse algorithm has been implemented in C++PythonKotlinRustJuliaGoHaxeJavaScript and adapted to Unity. You can download official executables from itch.io or run it in the browser. WFC generates levels in Bad NorthCaves of Qudseveral smaller games and many prototypes. It led to new research. For more related workexplanationsinteractive demosguidestutorials and examples see the ports, forks and spinoffs section.

useful CSS Grid Generator

This project is a way for people to use CSS Grid features quickly to create dynamic layouts.

You can set the numbers, and units of your columns and rows, and I’ll generate a CSS grid for you! Drag within the boxes to create divs placed within the grid.

I noticed a lot of people weren’t using Grid because they felt it was too complicated and they couldn’t understand it. Grid is capable of so much, and this small generator only touches on a fraction of the features. The purpose of this is so people get up and running quickly, and create more interesting layouts.

Once you work with this a bit, I suggest checking out resources by Rachel AndrewJen Simmons, and Dave Geddes to dive deeper. There is also a CSS Grid Guide on CSS-Tricks, and a fun little game called Grid Garden to help you learn more!

Source

online celebrities: Elon Musk

Seemingly short-message services are becoming the standard mode of communication for the powerful and rich. It seems that especially Twitter is capable of bringing the worst in those among us to the outside.

Of course the most controversial statements are being washed away by the sheer throughput. The next one always comes up quicker than you expect.

Helping the masses to keep track is a main task of journalism. That being said traditional journalism (as in newspapers, television) sees great difficulties to keep track as well. Too much, too quick.

So new forms of journalism develop. Often more tendentious then helpful for the cause so they require the cautious mind of the reader to add some more perspective.

This is the example of such a newly developing “tracking journalism” site around the dazzling public character that is Elon Musk. It is called “elonmusk.today“.

Editor’s note: others have done great work exposing Musk’s shameless charlatan carnival barking. If you enjoy this sort of thing, I highly recommend Niya White’s excellent article Musk Misses: The Stories You Don’t Hear About Tesla Anymore …

I/O Is Faster Than the CPU

I/O is getting faster in servers that have fast programmable NICs and non-volatile main memory operating close to the speed of DRAM, but single-threaded CPU speeds have stagnated. Applications cannot take advantage of modern hardware capabilities when using interfaces built around abstractions that assume I/O to be slow. We therefore propose a structure for an OS called parakernel, which eliminates most OS abstractions and provides interfaces for applications to leverage the full potential of the underlying hardware. The parakernel facilitates application-level parallelism by securely partitioning the resources and multiplexing only those resources that are not partitioned.

https://dl.acm.org/citation.cfm?doid=3317550.3321426

3D print a “Settlers of Catan” board

A very nice use of 3D printing technology: Print your own set of “Settlers of Catan” board game!

ThingiVerse

This is my new low-poly settlers of catan-style boardgame. Especially made for multicolor printers like the prusa mk2 multimaterial upgrade ore the palette from mosaic.

https://www.thingiverse.com/thing:2525047

“are you still watching?” – tailfix

drop in replacement for tail -F that asks you if you are still watching

Just like Laura I am also was having a moment when I stumbled across tailflix.

For those not understanding the reference: At the end of an episode you’ve watched on Netflix you will be shown another one, and so on, and so on. Until if you have not touched the remote at all for several episodes Netflix will ask you “Are you still watching?”.

how long until …

I am a happy user of the Apple Watch and iPhones in general. It’s working out great for me so far.

There are a couple of features that I would wish where there. And simple things like an hour-chime or hour/half-hour tap are frequently included into the WatchOS updates.

But some of the more specific features just won’t materialize on Apple Watch.

Think of this: You are doing your thing, you know, being a productive member of the society. And apart from the information “What’s next” the information of “When’s next and how long until then” is equally important.

I already had all information – like upcoming events – in my calendar. Why not have the watch display directly on the watch face how long I’ve got until then?!

This is where I’ve found an app called “Time Till” by Rachel Higley.

You’re downloading it on your iPhone and when opened up first it will show you a list of your calendars.

You can turn on/off any of them in this app and by doing so you are selecting which of the calendars will be included in the calculation “how long until the next meeting”.

I’ve only selected one calendar which holds those appointments that I need to know how long until then. So it’s not the next work meeting. It’s important things.

On the watch, however many calendars you’ve selected, it will show you something like this:

I’ve circled the complications added by “Time Till”

So in this case it’ll show the hours until I have to wake-up. Whatever I put into this calendar will show up there. If I want with the name of the event, but most commonly I am using the bottom right version: just the hours/minutes until.

Unfortunately Rachel is quite busy and so there’s no update for the app to also support the new Modular Infograph complications of WatchOS 5 and up.

If you don’t know how those look like, here is a picture I’ve put together from Apples developer documentation:

So I am thinking to rewrite the app and include the new complications. In fact: I’ve implemented my “Discordian Calendar Apple Watch Complication” app as a test and exercise to learn how I would be able to rewrite “Time Till”.

Now the only thing I need is to be kissed by the muse that fuels the urge to just get it done :-).

when 川崎市 got the 区

Addresses in Japan are fascinating. There’s a system to it, with lots of exceptions and special cases. And just recently there was an announcement about the city I am technically considering home-base when in Japan: Kawasaki (川崎).

As you see in the title of this post there’s a kanji character missing:

川崎 means “Kawasaki” – just the name itself, like used on signs and such.

川崎市 means “Kawasaki-shi” – the name got extended by -shi which in itself will signal that the name before is a city.

And then there is this other kanji in the title: . It is spoken as “ku” and basically means “ward”. It’s a bigger city broken down into separate wards.

Not all cities in Japan are required to differentiate into wards – just the ones considered big enough. Kawasaki was considered big enough by 1972 to name out it’s wards.

And so its the Nakahara-ward (中原区) I am usually staying to be more specific on the Kawasaki-home-base-statement at the beginning of this post.

And the designated cities are somehow ranked according to their population. The news here is that apparently given the 2019 population numbers Kawasaki has improved it’s position among all big designated cities by one rank:

Some more details then to the japanese addressing system:

Japanese addresses begin with the largest division of the country, the prefecture. Most of these are called ken (県), but there are also three other special prefecture designations: to (都) for Tokyo (道) for Hokkaidō and fu (府) for the two urban prefectures of Osaka and Kyoto.

Following the prefecture is the municipality. For a large municipality this is the city (shi, 市). Cities with a large enough population, called designated cities, can be further broken down into wards (ku, ). (In the prefecture of Tokyo, the designation special ward or tokubetsu-ku, 特別区, is also used for municipalities within the former city of Tokyo.) For smaller municipalities, the address includes the district (gun, 郡) followed by the town (chō or machi, 町) or village(mura or son, 村). In Japan, a city is separate from districts, which contain towns and villages.

Japanese addressing system

So let’s make an example, since it’s always great fun for me to figure out the address again when I try to order the SIM card to the hotel address. A good example would be a randomly selected and nice hotel in Nakahara-ku:

Richmond Premier Hotel address as written on it’s website.

The typical english-language online order form / address entry form for shipping SIM cards to hotels gives you this interface:

Ha! Now that’s a challenge, right? At first glance its not obvious but if you take a look at the structure of the address it opens up:

And so, this will reach it’s destination:

Faux Joe Rogan

Our deep learning engineers at Dessa built a model to replicate Joe Rogan’s voice to showcase current AI techniques. To understand how we developed the technology and to discuss the ethical implications of this work, read our announcement article.

fakejoerogan.com

They’ve got 8 example sound snippets and it’s up to you to identify the fake or the real file:

Look me in the eye

As tools get better artists really polish out what technology enables them to do with computers nowadays.

This eye above made me awww. It’s from a user “ChrisJones” in the Blender Forum who posted his progress on modelling a human head in upmost detail.

Go there and be awwd as well. And while you’re there grab a copy of Blender and give it a go.

N8.5 – Tokyu White

It always seems to me so much easier to meet a Hackers in Japan than anywhere else. Maybe social-gravity works different there. Or there are more of them.

Whatever the reason, I keep crossing paths with people that more or less deep-dive into topics and understand systems in ways and in details that you would normally not expect.

And todays example is a detail you would normally not think about:

The footbridge that was newly built in Shibuya was painted in N8.5. This is commonly known as “Tokyu White”…

はらしょ‏ on Twitter

“Tokyu White”, N8.5, … of course…if you would need a bucket of this you can order it online.

how did games get to 82 Gbyte sizes?

Every month there are free games to download and try out with the Playstation Plus subscription. There was a game named “Conan Exiles” included and so my Playstation started the download.

After the download taking unexpectedly long I checked the download queue and found the reason why it would take so long to download. This game is over 82 Gbyte in size. This is quite unexpected.

Conan Exiles is an open-world survival game set in the brutal lands of Conan the Barbarian. Survive in a savage world, build your kingdom, and dominate your enemies in brutal combat and epic warfare.

Start with nothing but your bare hands and forge the legacy of your clan, building anything a small home to gigantic fortresses and entire cities. Wage war using swords, bows, siege weapons, and even take control of giant avatars of the gods and lay waste to enemy cities.

Explore a vast, seamless world full of challenge and opportunity. Hunt animals for resources, slay monsters for treasure, and delve deep underground to discover the secrets of ancient civilizations.

Conan Exiles: The Game

It’s still downloading. But what content could await if it only fits into 82 Gbyte of (assuming) compressed data?!

more small projectors coming

Good news everyone!

There are new micro-projectors coming and they are looking good. After the first availability of really small and low-power but enough-light LED projectors (see here) manufacturers have apparently added a laser to the equation.

It is said that…

Unlike traditional projectors that constantly need to be focussed, the Nebra AnyBeam picture is always perfect. You can project onto curved or irregular surfaces with ease – perfect if you want to use it on the fly, or if you want to try your hand at a bit of projection mapping!

This thing will be available, according to the Kickstarter, as a all-in-one package with power and HDMI inputs. It’s got 720p inputs. Well. Well really?

And it will be available to the maker market as a RaspberryPi Hat…

Meeting with a hologram

I can never wrap my head around how people really only use audio to communicate within teams, across cultures and timezones.

I’ve experienced first hand what a difference it makes to use good video conferencing that actually works. And it makes such a difference on productivity and team collaboration.

Video conferencing never replaces real-life face-2-face meetings. It just does not start relationships.

If you already had your work and personal relationship started video conferencing will make all the difference to your work.

Anyhow: I am also a big believer in augmented-reality glasses. I have to wear glasses anyhow all the time – why not improving them with the ability to display stuff.

Now, think of this. You’ve got one of those AR glasses on and you start the video conference call. And this happens:

Please. Give. It. To. Me. Now.

the future of (speech) podcasts

The Podlove project once again leads the way to improve the experience and the way we interact with knowledge and thoughts. With the most current announcement and introduction of transcription-support for podcasts. Click on it right now and try it yourself.

Fulltext-search. Listening to podcasts by reading them. This-is-amazing!

Transcripts are coming

Transcripts are an incredibly desirable thing to have for podcasts: they allow searching for specific parts, increase searchability by search sites when presented properly and they increase the accessibility of audio content significantly too.

However, transcripts have been considerably difficult to be created and used. Manually created transcripts are costly in terms of time and money and even if you spend the money there has been a lack of technical standards for storing and integrating transcripts into websites in a defined way.

This is now slowly changing: more and more automated speech-to-text systems are becoming available at reasonable costs and they are creating ever better transcripts with more and more languages being supported.
Still, automatic transcripts trail manually created transcripts in terms of accuracy, punctuation and so on but they are increasingly useful when they are primarily used for improving search results or helping you with your internal research when trying to find content in your older episodes.

New services are also coming up to deal with these problems by allowing users to quickly build on automatic transcripts and improve them manually in an assisted fashion. We will soon see a landscape of tools and services that will make creating transcripts easy and cheap enough for more and more podcasters so it’s time to come up with a good integration.

Last but not least, the WebVTT file format has become a de-facto common denominator for passing transcripts along, supporting time codes, speaker identification and a rudimentary set of meta data. While not perfect it’s enough to get a transcript infrastructure up and running and Podlove is leading the way.

from the Podlove Publisher 2.8 announcement

Jimmy is hitting again

I joy! I just found out that James Euringer had produced a new album. You do not know Jimmy Urine?

Let’s start the introduction with the description of his current gig:

EURINGER is a counter-culture, surreal, psychedelic, art house, avant-garde, possibly posthumous concept project from Jimmy Urine of Mindless Self Indulgence fame. Featuring guest vocals from Grimes, Serj Tankian (System Of A Down), Gerard Way   (My Chemical Romance) and Chantal Claret (Morningwood) – and also staring Jimmy’s Mom and Dad for good measure! – the record is one  long song/musical/concerto, as if an underground movie was made for your ears. “I wanted it to sound as if Depeche Mode hired J. Dilla and DJ Premier to drop loops while Frank Zappa produced, and then I came in and shit all over it,“ said Jimmy.

Metropolis Record / Euringer

Here’s the most current album in safe-for-work version:

EURINGER – FUCK EVERYTHING (OFFICIAL SFW VIDEO)

Now there’s a whole album.

And it’s not the first one from this direction. You may have heard of Jimmys other band “Mindless Self Indulgence“.

To round things up: His wife, Chantal, is the singer of “Morningwood”. Like, you know, “n-th degree”-Morningwood.

transparently migrate data from local file storage to key-value-stores like RIAK KV

About 2 years ago I sat down and wrote a filesystem. Well not from scratch but using the great FUSE (Filesystem in Userspace) framework. I’ve released it as open-source later on Github:

This script acts as glue between a local file storage mount point and RIAK. It is targeted at specific use cases when local mount-points need to be migrated to RIAK without changing the applications accessing those mount point. Think of it as a transparent RIAK filesystem layer with multiple options to control it’s behavior regarding local files.

riakfuse

I had a very specific purpose in mind when I wrote this: There was a local filesystem that got filled up and because of technical restrictions we were not able to resize it or even completely copy it without interrupting the service using the data stored there.

Since we were already using the RIAK Key-Value Database for certain binary loads the idea came up to also utilize this key-value concept for a filesystem.

The idea now is: You have a local filesystem that holds a lot of folders and files already and you want to gradually want to move it to new grounds.

This migration needed to happen with minimal service interruptions assuming that there is constant reading and writing happening.

In this riak-fuse project I’ve written an overlay filesystem that steps between the application and the underlying “old”-filesystem. It looks and behaves identical to the application reading and writing.

But, depending on the mode you have chosen while mounting, every file read will at first be read from the “old”-filesystem and after successfull read stored into the key-value store.

On the next read it will be read from the key-value store directly.

The same applies for writing. Riak-fuse will write either to both, local storage and key-value store or just to the key-value store.

So in a nutshell: Data is slowly but surely on each access transferred over to the key-value store and load + storage space is slowly moving over from the local storage to the key-value store.

To facilitate this there are a lot of options for this script:

This all comes with ready-to-use docker and docker-compose files for you to try out.

Also it might interest you as an extremely simplified example of how to write an actual file system module for FUSE in Python.

Disclaimer: This effectively is my first python script as well as fuse module. Don’t be too hard on your judgement.

“Around Tokyo” project

If you are interested in even some older video recordings, pictures and impressions about some areas of Tokyo this is a good time-sink for you.

Lyle Saxon has several old-fashioned looking websites (wonderful) with lots and lots of browsing content as well as a YouTube channel with recordings from earlier times:

Tokyo resident since 1984. Video material from 1990-93, as well as newer material from 2008 onwards.

The “Around Tokyo” project was and is to document life in Tokyo and the surrounding areas, as well as some material from other areas of Japan.

YouTube Channel

QR codes – how do they work?

I came across a very nice explanatory piece for QR codes. If you always wanted to know the basic principles this is a good chance to get a grasp.

QR code (abbreviated from Quick Response Code) is the trademark for a type of matrix barcode (or two-dimensional barcode) first designed in 1994 for the automotive industry in Japan. A barcode is a machine-readable optical label that contains information about the item to which it is attached. In practice, QR codes often contain data for a locator, identifier, or tracker that points to a website or application. A QR code uses four standardized encoding modes (numeric, alphanumeric, byte/binary, and kanji) to store data efficiently; extensions may also be used.[1]

Wikipedia

I am using QR codes in several of my projects – one example: Miataru uses QR codes to encode the device ID and help with the device handshake. You scan the QR code of your friend with your Miataru client app and immediately will be able to see his location in Miataru. Without the need to enter long rows of numbers.

Japanese Highway Junctions

Highways allows us to travel long distances and interchanges, or junctions, connect those highways so that traffic can pass or change direction without interruption. And in Japan, where heavy mountainous terrain and dense cities create unique constraints, interchanges are, simply put, magnificent feats of structural engineering that we sometimes can’t appreciate through the typical vantage point of a car window.

Spoon & Tamago

Of course, go ahead and browse the highway system on Google Maps.

from now on console emulation will look much better

A modder going by the handle DerKoun has released an “HD Mode 7” patch for the accuracy-focused SNES emulator bsnes. In their own words, the patch “performs Mode 7 transformations… at up to 4 times the horizontal and vertical resolution” of the original hardware.

The results, as you can see in the above gallery and the below YouTube video, are practically miraculous. Pieces of Mode 7 maps that used to be boxy smears of color far in the distance are now sharp, straight lines with distinct borders and distinguishable features. It’s like looking at a brand-new game.

ArsTechnica

procedural generated traditional Chinese landscape scrolls

{Shan, Shui}* is inspired by traditional Chinese landscape scrolls (such as this and this) and uses noises and mathematical functions to model the mountains and trees from scratch. It is written entirely in javascript and outputs Scalable Vector Graphics (SVG) format.

https://github.com/LingDong-/shan-shui-inf

This is quite impressive and I am thinking about pushing that into the header of this blog :-) It’s just too nice looking to pass on.

let AI convert videos to comic strips for you

Artificial Intelligence is used more and more to achieve tasks only humans could do before. Especially in the areas that need a certain technique to be mastered AI goes above and beyond what humans would be able to do.

In this case a team has implemented something that takes video inputs and generates a comic strip from this input. Imagine it to look like this:

Input
Output

In this paper, we propose a solution to transform a video into a comics. We approach this task using a
neural style algorithm based on Generative Adversarial Networks (GANs).

Paper
click to read the paper

They even made a nice website you can try it yourself with any YouTube Video you want:

bliss is: waking up to this

This is how my bedroom sounds at 5 am. There’s barely light here in Germany but spring can’t hold it back. There are so many birds right around the house and in the garden around the house that it’s really really really impressive to hear.

Yes. I am not living in a city. And still you can barely hear the hum of cars/trucks in the background. Sadly.

I made this recording by holding my iPhone up in the air and with the Voice Recorder app included in the OS.

Nevertheless this is quite a contrast to the last 2+ weeks in Tokyo.

Panoramic Images free (-hand)

I really like taking panoramic images whenever I can. They convey a much better impression of the situation I’ve experienced then a single image. At least for me. And because of the way they are made – stitched together from multiple images – they are most of the time very big. A lot of pixels to zoom into.

The process to take such a panoramic image is very straight forward:

  1. Take overlapping pictures of the scenery in multiple layers if possible. If necessary freehand.
  2. Make sure the pictures overlap enough but there’s not a lof of questionable movement in them (like a the same person appearing in multiple pictures…)
  3. Copy them to a PC.
  4. Run the free Microsoft Image Composite Editor.
  5. Pre-/Post process for color.

The tools used are all free. So my recommendation is the Microsoft Image Composite Editor. Which in itself was a Microsoft Research project.

Image Composite Editor (ICE) is an advanced panoramic image stitcher created by the Microsoft Research Computational Photography Group. Given a set of overlapping photographs of a scene shot from a single camera location, the app creates high-resolution panoramas that seamlessly combine original images. ICE can also create panoramas from a panning video, including stop-motion action overlaid on the background. Finished panoramas can be saved in a wide variety of image formats,

Image Composite Editor

Here’s how the stitching process of the Musashi-kosugi Park City towers night image looked like:

select images
choose projection method
crop the projection – maybe use “autocomplete”
export the final panoramic image
zoom in :-)