Amazing new Photoshop feature: Content-Aware Fill

As you can probably tell from the quality of the pictures on this site, I’m not really into photography. I have a 100 Euro camera and only rarely take pictures with it and rely on Adobe Photoshop Elements 7 for all my picture editing needs. As I lack the experience and/or talent necessary for more advanced photo editing, I don’t do much with it, just some simple touching up, color correction, cropping, maybe removing some unwanted items from the picture. In short, I let Photoshop and its magic do most of the work.

Enter Content-Aware Fill which is a new feature Adobe is developing for Photoshop that would be perfect for me. It’s basically like the existing tools for cleaning up pictures, only it’s a lot smarter about how it removes items from a picture and fills the area formerly occupied by those items. Best to see for yourself over on CrunchGear:

http://www.crunchgear.com/2010/03/29/fun-with-photoshop-cs5s-content-aware-fill/

Advertisements

In Israel for a week

If all goes well I’ll be in Israel for a week to visit a certain someone there. If she let’s me use her computer, I’ll try to post pictures while I’m there. Look for posts tagged Israel.

It’s kind of sad I can’t bring my own computer, but my current 15-inch laptop is just not the right size to bring along on a trip like that. Even though I’ve repeatedly said that they occupy a weird stuck-in-the-middle position, I was actually thinking about buying a netbook for such travel. However, since I don’t get to travel that much, that is a bit too expensive.

If only the Microsoft Courier was already available. That thing would be perfect for what I had in mind: light and with a small form factor to take it everywhere I go, yet big enough to check my mail occasionally, do some web browsing, look at pictures and watch video on the plane. Ok, the booklet form factor might not be that well-suited for video, but it would be so much better than having to go without a computer for a week.

Reading material for the trip: From Beirut to Jerusalem by Thomas L. Friedman; seems fitting.

More great Windows Phone 7 Series stuff

WindowsPhone7YouAreAmazing

The above is from a Windows Phone 7 series newsletter. “Wow. You’re amazing.” is a pretty nice sentence to open an email with. Why can’t more of you people that email me be like that :) Anyhow…

Microsoft put up an interesting hands-on demo on Channel 9, showing off some of the new Windows Phone 7 goodness. I really like the attention to detail that Microsoft is demonstrating with Windows Phone 7 Series. It has always been the hallmark of Apple to really put great thought into the tiniest detail of the product (cf. Inside Steve’s Brain by Leander Kahney), but as I said before, Microsoft is really showing Apple with this one.

A lot of that design stuff was shown off at MIX10, Microsoft’s conference for designers and web developers. For anyone who couldn’t be there in person (like myself), the videos of the sessions are available online at http://live.visitmix.com/videos. Among the things announced at MIX was the availability of an SDK and other tools for developers wishing to write software for Windows Phones. A version of Visual Studio and XNA is available for download from http://developer.windowsphone.com/. It comes complete with an emulator to test run your Windows Phone 7 applications.

I downloaded and installed the bits the other day and was kind of hoping one could get a sneak peek at the new OS or some of the bundled applications using the emulator. Unfortunately, the only thing that is on the emulator image is Internet Explorer and of course one’s own applications. These turn out to be pretty easy to develop, actually. Silverlight has developed into quite a nice development platform over the past few years and Microsoft has a long history of providing excellent developer tools. Anyone remember Steve Ballmer’sDevelopers, Developers, Developers…” act? He was not kidding about the company’s commitment to developers. Anyway, I don’t have a lot of experience with Visual Studio, C# or .NET per se, but still I was able to put together a little app, compile, deploy to the emulator and live debug it there within no time.

I’ve always said that one of the advantages of Windows Mobile over a closed environment like say the iPhone is that I as a developer get to write and use my own software on my device without having to ask anybody for permission. I haven’t used this opportunity with my current Windows Mobile device, but with Windows Phone 7, I actually might. However, Microsoft has announced that their Windows Marketplace for Mobile will be the only way to get apps for a Windows Phone. Paul Thurrott discusses why this is the right decision, along with some good points regarding copy&paste and multitasking. I just hope that Microsoft allows developers to put their apps on their own devices; that is without any registration or the 99 $/year fees that Apple charges iPhone developers who want to do that. I’m keeping my fingers crossed that Microsoft will be more reasonable than that and not forget that third-party developers are the lifeblood of their platforms.

A little disappointed by Windows Home Server

I love like my Windows Home Server. It has a ton of wonderful features, gives me a chance to be a sysadmin and most importantly, it makes backup so easy, even my mom can do it. In case you are reading this, Mom, this is just an expression :-) But as Joel Spolsky puts it “Let’s stop asking people if they’re doing backups, and start asking if they’re doing restores.” And this, unfortunately, is an area where my home server has fallen short lately. On two separate occasions, where I needed to restore data from the server, it has failed me.

The first one was a couple of weeks ago when I got a new, larger hard drive for my laptop. Since I keep a complete backup of my hard drive on the server, I figured I would just switch out the disks, boot from the PC restore disk that came with Windows Home Server and let the software do its magic. Alas, this is not how it went. First, I couldn’t get the software to create two partitions on the disk. It always created one spanning the entire disk. So I ended up using Acronis Disk Director to partition the disk first and then have the restore software use those partitions. This seemed to work at first, and after less than an hour all my data had been copied from the server to the new hard drive. Unfortunately, the laptop could not boot from the new disk. I don’t know whether Windows Home Server did not set up the Master Boot Record properly or what ever. What ever it was, even the Windows 7 startup repair couldn’t fix it, so I was back to square one. Eventually, I just hooked up the old disk using an IDE-to-USB-adapter to the laptop and used Acronis True Image to clone the old disk onto the new one. Took three times as long, but worked liked a charm. Strike one for Windows Home Server.

The second incident was yesterday. The anti virus on my father’s PC was running amok: all of a sudden it started seeing viruses in pretty much every executable on the computer. (Update: apparently this was a false positive on Windows 7 64 bit systems) Eventually, it had moved a whole bunch of critical operating system files, several applications and ironically several of its own files into quarantine. The latter was extremely unfortunate, because I couldn’t even stop the madness, as the anti virus management program had been quarantined as well and thus could not be started. My only option seemed to be to restart the computer and restore the partition with the operating system and applications either from one of the system restore points that Windows creates automatically or from the previous days’ backup on the server. However, after rebooting, system restore failed, because it appears the system restore folder had been corrupted by the anti virus’ quarantining spree as well. And again Windows startup repair was unable to fix the issue and a chkdsk run didn’t find any problems either. Even booting Windows into safe mode failed with an ugly blue screen after it had already loaded a bunch of drivers. The start-up log turned out to be empty as well so I couldn’t even identify the file that was causing the issue. This would have been a classic “Windows Home Server to the rescue” scenario, but again, it failed me. This time, after booting from the PC restore disk, it didn’t have a driver for the network adapter and thus could not find the server on the network. Even though I had copied the drivers from the server (using a second computer on the network) onto a flash drive, it didn’t see them. Strike two for Windows Home Server.

Anyway, I ended up renaming one of the drivers that I saw Windows load while trying to boot into safe mode (classpnp.sys in my case). This way, startup repair saw that something was wrong with the operating system and replaced this file and as it appears all other missing files as well, so the PC could finally boot again. I still had to backup the anti virus’ quarantine folder, re-install it and then have it restore the non-operating system files, but after about four hours the computer was up and running again. What a fun Saturday evening!

So what’s the lesson here? First, I should have listened to Joel Spolsky when I first read his post last year and actually make sure restore was working instead of just trusting Windows Home Server. Second, in spite of all the computer restore options provided by Windows 7, it’s still a big hassle to fix a PC that refuses to boot. And finally, Acronis’ tools such as Disk Director and True Image rock! They have saved my life (or at least my data) on several occasions and I am glad I have them. I’m so grateful, I might even upgrade the latest version, just because.

The Story Of Stuff

This is something I saw the other day on The Colbert Report: Annie Leonard says our quest for more stuff is taking the place of things that provide deeper happiness.

The video raises a couple of interesting points regarding the consequences of the kind of consumerism practiced in the US and elsewhere in the West. While I talk a lot about the gadgets and other stuff I like on this blog, I do think that it is very important to consider what effect our consumption has on the planet. One important concept in the video is externalities, i.e. “spillover of an economic transaction [with] an impact on a party that is not directly involved in the transaction” (see also Externality on Wikipedia). Coincidentally, this is also one of the topics discussed in The Undercover Economist a book by Tim Hartford I’m currently reading. He talks about how from an economists point of view, one could structure a system where these external costs are internalized such that everyone faces the true cost of their actions. Here are a couple of other concepts I find very interesting and relevant and that while not specifically addressed in the video, certainly belong into this category: Ethical Consumerism, Carrying Capacity and Simple Living, to name just a few.

While I don’t have what it takes to fully commit myself to something like simple living, I try to be very conscious about my own footprint and look for ways to actively reduce it. For instance, I have replaced all regular light bulbs in my apartment with more energy efficient compact fluorescent lamps, I never leave the lights on when I’m not in the room, I only heat the one room I am in and only while I’m home, I get my electricity from Naturstrom AG, which sells energy only from renewable sources (wind and water mostly), I recycle as much of my trash as possible, I use a laptop computer that uses considerably less energy than a desktop PC and I turn all my devices off when I leave the house. All except my fridge of course, which reminds me that I should probably be looking for a new one. My current fridge is about 12 years old, way too big (in my defense: it was already in the apartment when I bought it) and I could probably save a lot of energy by getting a newer, smaller one.

Also, I try to accumulate as little physical stuff as possible. I think there is great potential in moving to a system where many of the possessions we value are digital: music, photos, videos, games et cetera. Sure, computers and data centers consume a lot of energy, doubling between 2000 and 2005, but I think that once we find a way to get energy from renewable sources on a large scale, this would be a great way to at least reduce our consumption of natural resources and other physical stuff.

There are a couple of inaccuracies in Annie Leonard’s presentation, however. Like saying that there is no need to buy a new computer every couple of years, because there is only a tiny piece, the processor or CPU, that’s and is the only thing that would need to be replaced if only manufacturers wouldn’t make that impossible by randomly changing the connectors. Of course there is more to a computer than just the CPU. With more powerful and thus demanding software, one needs more RAM and bigger hard drives; for instance to store an every growing number of family photos and video. And let’s not forget that with every generation of PCs things like the power pack get more efficient and modern LCD flat screen monitors need considerably less power than older CRT models. Also, it is said (around 07:50) that industry emits about 4 billion pounds of chemicals a year. Sure that sounds like a lot, but without frame of reference it’s impossible to judge how much pollution that really is.

Nonetheless, I agree with the video’s overall message. Thoughtless consumerism must not be our purpose in life and we must find a way to deal with it as more and more people in China and other places reach a certain level of prosperity where they want to enjoy the same kind of lifestyle we have for the past decades. Obviously it cannot be the same, consumption-driven and energy and resource intensive kind of lifestyle, but we must come up with a way to provide 6+ billion people on this planet with a comfortable living while allowing coming generations to do the same.

Windows Phone 7: Looking Good, Very Good

At today’s Mobile World Congress in Barcelona, Spain, Microsoft announced the next version of their smartphone operating system, Windows Phone 7. Based on the demo at that site, I must say, nice job, Microsoft. While Microsoft has recently taken some heat for no longer being innovative, this release is certainly a big step forward for the company, making us forget about the somewhat lackluster 6.5 release. That release was clearly grounded in the pre-smartphone, Pocket PC era where Microsoft was actually a big player. However, it didn’t even come close to competing with the iPhone or even Android based phones in the consumer market.

All this is going to change with the new release, though, I hope. The new 7 series user interface is based on the Zune’s, which means it is much better suited for touch and it looks just gorgeous. I have been playing around with an iPod touch for the past week (more on that in a later article) and the Zune is just orders of magnitude more stylish. It feels weird saying that, but in this case it’s true: Apple should actually look to Microsoft for better looking GUIs. The iPhone and iPod GUIs are so 2007.

Anyway, that’s just my first impression based on the demos and videos Microsoft released. I can’t wait to get my hands on an actual device. Apparently, they are aiming for a late 2010 release. Until then, you can get more info by registering for backstage access at the Windows Phone 7 site. Apparently this means, you can watch “exclusive behind the scenes videos” and also get a chance to win some prizes. Maybe a Windows Phone? Probably not.

Happy 15th Birthday, Delphi!

Today marks the 15th anniversary of the launch of Borland Delphi, which took place on 14 February 1995 at the Software Development Conference. Back in my high school years, Borland’s Turbo Pascal was the first programming language I learned, so it was no big leap to use Delphi for my personal projects in later years. Coming from a Pascal background, the learning curve was not very steep, so I could leverage my existing skills very well to eventually make a career out of it. To this day, I do most of my-to-day development in this language and while I am not religious about the programming languages I use, given the fact that some 90% of my programming experience has been with Delphi, this language has a special place in my heart.

Let me therefore take this opportunity to congratulate the Delphi team on continuing to evolve and improve this fine programming language. Thanks for 15 great years – of which I have actively used Delphi for about eight – and let’s hope for many more to come.

If you are interested in the history of Delphi (or Turbo Pascal), check out the Museum section on Embarcadero’s developer site. Over the past weeks, Chris Hesik of the Delphi team has also been posting design documents from the early days of Delphi to his blog. For Delphi’s 10th birthday, Marco Cantu had compiled pictures from the Delphi launch event in 1995.

Upcoming Series of Delphi Techniques and Tips

Even though Delphi has traditionally been used for database and GUI programming, most of my projects now are server applications that process data of some kind, often highly optimized for maximum data throughput. I have collected some material on techniques to use Delphi for such high performance data applications. Originally, I had meant to submit this as an article to the Embarcadero Developer Network. However, since I haven’t found the time to write it up in one coherent, insightful piece, I might use this blog to post it in parts, maybe one article now and then about some techniques or other tips that I have found useful in my development work. So stay tuned.