Archive for April, 2009

Backed up on reading

Tuesday, April 28th, 2009

Without me noticing, a piling stack of books has risen on my desk, waiting to be read.

Beginning with “Plato and a Platypus Walk into a Bar” – a comical review of philosophy though jokes.
Read it 2/3 through and suddenly stopped. It’s quite humorous – it opens with:

“These are my Principles … If you don’t like them, I have others” 
Graucho Marx.

Next up is “In Praise Of Slow” (The Hebrew title sounds better - “בשבח האיטיות”), by Carl Honore - a book about doing things slowly and enjoying them.

Followed by “Naked Soul” by Ada Lampert - a scientific personal story about Ada Lampert’s exploration of the human soul.

Then “Subtle Knife” by Philip Pullman - a sequel to the excellent “Golden Compass”.

And finally, two books I got today from my sister - “The selfish Gene” and “The Blind Watchmaker” by Richard Dawkins. Both greatly praised books about evolution.

Daunting.

And as a side dish, I have “The Complete Photography Course” which I bought in London and have barely looked into,  and Orson Scott Card’s “The Memory Of Earth” (in English) and “Worthing Cronicle” (in Russian) which I gave up on midway since it takes me forever to read in Russian.
And I almost forgot - “The Gospel of the Flying Spaghetti Monster” is somewhere out there waiting to be read. Should HE hear about it I’ll be in trouble, but HE probably doesn’t have Internet, nor is HE following this blog, so I should be fine.

It’s best that I get offline and resume the reading ….

www. What ?

Friday, April 17th, 2009

Have you ever pondered about the “www.” prefix you type when you go to most websites ?

For some time I was sure that it’s actually the root of The Internet, the address of all addresses, the “Earth” of snail-mail addresses.

Later on I just stopped caring and assumed it was a mandatory part of the address like “http://” (I’m not going to recurse on the meaning of that, yet) which most browsers append if you forget, or like me, just plain too lazy to type.

That idea changed a little when I saw sites starting with www2.something.com, and I thought to myself – “Ha ? A second internet ? Is that where all the cool stuff go ? Or is that the Web 2.0 hype everyone is talking about ?”. But as with most random thoughts that blur through my head, a whole 20 picoseconds later I forgot all about it and moved on.

Today I was confronted head on with the true meaning of WWW, and I don’t mean the “It stands for World Wide Web” thing, but the reason it’s there.
While setting up a sub domain in gpgemini.com to redirect gpgemini.tumblr.com to zero.gpgemini.com for the Division By Zero blog, I was asked by the tumblr help page to set my domain’s A Record to their IP address.
Without a glimpse of an idea what that’s all about, I carried on.
Then I noticed at the very bottom of the page the following note:

We also fully support custom domains with a sub-domain other than "www". So you can use a domain like "blog.mywebsite.com" if you’d like.

My first reaction to this was - “WHAT ?”
”www.” is just another sub domain ? That is ALL ? What about the World Wide Web stuff, the Entire Internet ?
With hands shaking and cold sweat pouring I search “www” in Google…
After realizing that’s stupid, I search “wiki www” in Google,  get here a
nd read the following:

The letters "www" are commonly found at the beginning of Web addresses because of the long-standing practice of naming Internet hosts (servers) … This use of such prefixes is not required by any technical standard; … The "www" prefix has no meaning in the way the main Web site is shown"

World shattered and all I continue reading and find this little note:

However, some website addresses require the www. prefix, and if typed without one, won’t work; there are also some which must be typed without the prefix. Sites that do not have Host Headers properly setup are the cause of this. Some hosting companies do not set up a www or @ A record in the web server configuration and/or at the DNS server level.

And I think – Did I set my A Record right ? I take a look and I notice that my main domain is setup – “*.gpgemini.com” and “gpgemini.com” pointing to some address, but my new sub domain has only “zero.gpgemini.com” pointing to the tumblr address. So should you try to enter www.zero.gpgemini.com it wouldn’t work since I don’t have the “www” sub domain defined for it.
Now I do anyway, and my site is www-friendly.

Here is one more thing wiki had to say about www:

World Wide Web is the only thing I know of whose shortened form takes three times longer to say than what it’s short for.

Douglas Adams, The Independent on Sunday, 1999

A Snapshot Of Time

Tuesday, April 14th, 2009

About a year and a half ago I discovered a photography technique published in dpchallenge.com which involves taking a 360 degrees panoramic image and converting it to polar coordinates, which if conducted properly results in a globe like image of the original scenery.

The technique is thoroughly explained in the dpchallenge article, so I won’t go into explaining how it works, but I would like to point out some of the pitfalls I discovered during my attempts and talk about my own experimentation with it.

Almost immediately after reading about it I went out and tested it in a city square near my home, it was a good place for the test since it is slightly elevated, surrounded by tall buildings and has mostly a uniform floor texture (important for a smooth looking center).

The result was really amazing and I was both impressed by the (relative) simplicity of this concept and simultaneously staggered by the complexity of executing it in real life.
You have to deal with location selection, timing the shoot, executing the shoot in steady intervals - producing hundreds of shots, filtering them later on against duplicates, resizing them for post processing, stitching them – which is probably the most time and nerve consuming part of them all, fixing stitching errors, converting to polar coordinates and performing the correct amount of warping and finally retouching levels, colors and the usual image refinements.

Click for full resolution
(City Square final. Click to enlarge or download full resolution)

The above image took an hour to shoot, is composed of about 200 images (after filtering duplicates), around 6 hours of stitching CPU time (including the failures) and a day or two of post processing.

And below is the panoramic un-polarized image.

Click for full resolution
(City Square panorama. Click to enlarge or download full resolution)

It seems as tough the buildings are far away, as if it’s a wide panoramic photo of some building in a row, but in fact they are about 20 meters away in every direction and completely surrounding me in 360 degrees, the image contains vast portions of the ground beneath my feet and sky above my head, so the proportions are way off.

But it doesn’t stop there. About a year ago I was thinking of doing another photo project, with similar interest, but with a different twist. The idea I came up with was to do the the same 360-polar-panoramic view, but with time intervals. That is – each time I take a vertical strip of the panorama, it would be at a different time of the day, more precisely in 1-hour intervals !

At first I was a bit deterred by the idea, which seemed impractical to execute, but when I was on vocation for a few days I decided to give it a ‘shot’. The location chosen was right beside my home so that I could easily access it at any hour of the day – it is a public park area with a round fountain in it’s center which has an accessible dry section on top. After checking it out I also notices that the design of the entire park is radial from the center of this fountain, which is perfect for such a shot. I also knew that taking each shot in exactly the right angle is crucial in order for the sequence to blend naturally, so I bought a simple compass (shame on me for not having one already) and calculated that every hour is a 15 degrees pie from the circle. Then I chose the starting point and the time at which to start shooting – this choice is also crucial since it defines the distribution of light in the photo. I decided to go with the buildings half in day and half in night for the contrast.

The 6:00am strip

After all these preparations it was time to shoot. I Set the clock to 10 minutes to 6 and took the first strip at 6:00am. Then I went back home, set the clock to 10 to 7, had a cup of tea, and took the next strip at 7:00am. This went on for the entire day. Of course this setup requires me to go a full 24 hours of none or little sleep, so I decided that the shot will still be valid even if taken on separate days, and completed the next day the missing strips for the hours I was dead asleep.
After I had all strips, I went through them, played a little with mock stitching (small number of photos, small size) and realized some of the strips had an off timing, or had inconsistent lighting. So the third day already, I go out, exactly at the right hours, reshot the bad strips.

Next was the daunting task of putting it all together. The thought of it alone was enough to scare me away, and in a sense it actually did, since from the date of shooting the photos till completing all the processing today, 10 months have passed.

There is another thing I forgot to mention regarding the concept/setup – Unlike my first attempt, I decided to make a photo with people in it, doing whatever they do in that particular hour. I believed it would better portray the time shift along the image. But since people move (naturally) and panoramic photography prefers the scenery to stay still, this presented an added challenge, but one I was aware of during the shoot. So in fact, I had to take almost double the amount the photos at each strip – without people, to compose a correct panoramic shot, and with the people, to later on be appended on top of the panorama precisely in their original locations, and precisely in the correct distortion (created by the stitching). Since stitching with the people wasn’t an option, all this had to be done manually, excruciatingly slowly, in Photoshop.

But long before that pleasure, the photos had to be screened, selected, divided into groups of strips, with and without people and most important of all – Stitched.
At this point I’m talking of about 300 photos, each strip with different lighting, and apparently (as I discovered only in retrospective) with too much overlap between the photos. A 50mm lens in my camera gives about a 75 degree Field-Of-View, considering the fact that I moved the camera 15 degrees at each strip it results in about 80% overlap between the photos, while the recommended overlap for a good stitch is 20% ! This miscalculation didn’t give me an easy time at all. The software of my choice for stitching was AutoStitch. It has proven it’s worth before, and truthfully – I tried every program I could find online for this mega stitch, and none of them came close to succeeding in the task. Even AutoStitch has it rough - so many photos, with such variations in lighting and way too much overlap was really pushing the boundaries when it comes to stitching.
First problem – Size, using the photos in their original resolution was not an options, AutoStitch would constantly halt with out of memory errors during the stitch. Against my will I had to reduce the resolution, knowing that it would hurt the final result, but it was a choice between that and a deal breaker.
Second problem – Time, a stitch of 300 photos takes a lot of time, on a Pentium 4 2.4 GHz computer, it takes between 40 minutes to 2,3 hours to make a full stitch. That’s a few hours for each stitch attempt, and there were plenty I assure you. I used my own and my parents’ computers to achieve this, and it still took days.
Third problem – Success, for the project to actually succeed, I had to have a successful stitch of all the photos together, but AutoStitch, despite many attempts just couldn’t handle all the images together and would fail to stitch too many of them, resulting in distorted outcomes or partial stitches. I thought for a while to try doing it all manually in Photoshop. After a short 1 hour attempt I laughed in my own face and went on with plan C - begging AutoStitch to work. At last, I convinced it, or one might say – it convinced me, to do the stitching in sections, and then stitch those sections together. The best result I could come up with was two sections, each consisting of about a dozen stripes fully stitched from ground to sky with almost no deformities. Satisfied with this result, I went on to stitching them together in Photoshop, using every distortion tool I know of to perform this task, on top of that, I forced myself to work with the full resolution outputs from AutoStitch, a whopping 16,000×7,000 and 11,000×3,500 images. My 1GB of RAM computer really didn’t think well of it. I had to kill every non system crucial process, increase the virtual memory to several times that of my RAM and set the history depth of Photoshop to 1 (!) so that it wont take unnecessary memory, this virtually took any undo capabilities away. Many (MANY) hours later, I finally had a fully stitched photo of all the strips, looking somewhat naturally, but at a closer look there were dozens if not hundreds of defects in the stitch, and a few spatial distortions in the manual stitch I did with the sections. I had to play around with the photo for many more hours fixing all these imperfections until I was sufficiently satisfied with the result:

Click for full resolution
(Full panorama void of people. Click to enlarge or download full resolution)

Next stage was to bring life to the image by adding back the people on top of the panorama. This was as much a composition challenge as it was a technical layering and adjusting challenge. I tried to pick the shots that best portrayed the scene as I experienced it while shooting, so that a quick glance at every part of the photo would feel the same as if you were there during that hour.

Click for full resolution
(Full panorama with people. In this image the timeline is shifted, though it doesn’t really matter in a full 360 panorama. You can also see the difference in length between daylight and night. Click to enlarge or download full resolution)

After completing this stage I had a complete image, good enough by itself but not yet the final product of the project. To complete the polarization of the image I had to once again push the limits of my computer with the overwhelming task of converting the 9991×4300 resolution image from Cartesian to polar coordinates. After much struggle I was able to create the 9991×9991 polarized image. During the process I also discovered that Photoshop has an inherit fault in memory consumption, where it allocated memory both for the processing and previewing of the processing when using a filter. If you simply apply the filter on a smaller image and then re-apply the last filter on the larger image, it will use much less memory.
The final stages of the processing were to create proper looking proportions of the various objects in the scene using a combination of positive and negative pinching, some cloning and healing of missing portions of the sky, cropping and last but not least – a final levels adjustment.

Click for full resolution
(A Snapshot Of Time – final result. Click to enlarge or download full resolution)

In a not so short story – that’s pretty much it. I had loads of fun doing this project, and learned plenty more.
Feel free to use the full resolution images for what ever needs, just make sure to give credit.

SMS

Monday, April 13th, 2009

כנר בוער, נושא עצמו מעלה
שורק ומשאיר שובל של חזיונות
בשיא הגובה מתפוצץ, מפזר תקוות
כרסיסים, צונחים הם ומתפזרים
חלקם נסחפים עם הרוח
חלקם, נופלים בחזרה על הפנים

Self Hosting gpgemini.com

Sunday, April 12th, 2009

http://www.cre8tivecontrol.com/cre8tive3/images/stories/wordpress/wordpress-logo.pngA while ago I’ve purchased a hosting plan on IX Webhosting. It allows me to host contents and traffic in the Gigabytes, map domains to separate folders on the server, create a ftp server, run php, sql and all other sorts of stuff I don’t really know much about.

Originally I decided to go for web-hosting for my musinatic website (which should go online in a few days). Later on it turned out to be a great chance to move this wordpress.com blog to a self hosted wordpress.org blog, which basically means I put the open source WordPress code on my site and let it rip. Since I now have full control of the website it allows for much greater customization.
Event though I’m totally clueless with php, setting up the WordPress blog turned out to be quite easy. I then used up the opportunity to change to look of the site a little and updated some of the contents. Dividing the posts to categories also helped to better understand the nature of what I write about here, which persistently alludes me.

http://blogs.microsoft.co.il/blogs/yosit/WindowsLiveWriter/WindowsLiveWriterandDownloadAcceleratorP_95D5/Windows_Live_Writer_logo_3.pngOne more thing I’ve discovered is Windows Live Writer - a desktop application that allows writing and editing blog posts within a solid, fast and easy to use desktop application instead of using a browser, which is usually much slower in user interactions and less powerful in text editing features. I’m really impressed by this piece of software, it has a sleek design, it’s easy to use, it’s fast and it’s free.
My hope is that by removing the technical burden of posting via a web interface, I will now be able to more freely express myself in this blog.

One of the challenges in performing this move was to make it as smooth as possible. I Began with setting up a new site with a static IP address and uploaded the WordPress files to it. After configuring it to work I copied all the old posts from gpgemini(.wordpress).com to this new blog using WordPress’s Export/Import tools. Then I checked what would happen to the RSS feeds, since the new site will also be mapped to gpgemini.com the blog feed “gpgemini.com/feed” should stay the same, and the feeds.feedburner.com/gpgemini feed should also stay the same as long as I update the feed source in feedburner. The only problem could occur if someone is subscribed directly to gpgemini.wordpress.com/feed, which will mean the feed will break.
Finally, making the switch – I’m about to (not yet as to the moment of writing this) remap the gpgemini.com domain at GoDaddy to the IX WebHosting servers, something which should take at most a day to fully apply, after which the transition should be complete.

I never thought that making such changes is a logistical operation, my puny blog is nothing compared to making a move of major websites with millions of users, yet the transition usually goes unnoticed.
I hope this one will go well. Should you see re-occurring posts appear in RSS feeds know that it’s probably due the this move.

Edit: After remapping the domain from the wordpress.com nameservers to the ixwebhosting nameservers everything seemed to work fine, until I reconfigured the blog to use “gpgemini.com” as the blog address instead of it’s static IP – at that moment all hell broke loose and my site turned to black text over a white background. Something was definitly broken in the WordPress files. Luckely I’ve read beforehand a way to bypass the configuration I screwed up and the Blog came back up. So at the moment everything seems to be running ok !


Copyright © 2010 קוצים של פחד. All Rights Reserved.
No computers were harmed in the 0.251 seconds it took to produce this page.

Designed/Developed by Lloyd Armbrust & hot, fresh, coffee.