Doing Some Magick with Photos

If you’ve checked out any of the (many) photos I’ve posted, you might have noticed that I watermark my photos. It’s subtle, but in the bottom right hand corner of every photo it says “www.TechyDad.com”.

[thumb id=”1154″]

Why do I do this? Well, as much as I’d like to assume that people are good, there are a lot of unscrupulous people out there that will grab photos off the Internet for their own use. By watermarking the photo, I’m decreasing its value to these people. (Yes, the watermark could be removed, but it’d take time and effort to do so. The photo thieves are more likely to just head elsewhere to grab some photos.)

In addition to the watermarking, I also rotate some photos (depending on which way they were taken) and resize them for the web. Unfortunately, when I have a lot of photos to process, this can be a time-consuming pain. Initially, my process looked like this:

  1. Load one photo in Irfanview
  2. Open up Irfanview’s Thumbnail mode
  3. Select all images to process
  4. Use Irfanview’s lossless-JPEG rotate function to auto-rotate all photos
  5. Open up Irfanview’s Batch Conversion mode
  6. Select all photos to process and conversion settings (e.g. new height/width)
  7. Wait until Batch Conversion is done.
  8. Open up Picture Shark.
  9. Select All Photos
  10. Select Watermark
  11. Wait until watermark is applied to all photos
  12. Post photos

You can see how this would make photo posting a pain, but each step was necessary. I couldn’t post sideways photos and couldn’t post full-res pictures either. There’s the download time issue as well as the aforementioned picture thieves.

That’s when I remembered about ImageMagick. ImageMagick is a freeware photo manipulation program that is often used on servers to, well, manipulate images. My server, for example, uses it to make thumbnails out of the photos I upload. The only problem is that ImageMagick doesn’t have an graphical interface. It is run by a series of command line statements. This is perfectly fine for a script running on a server, but not as good for a human user.

Since all I wanted to do was run the same commands over and over, and since I know how to program, I wrote a Photo Processor script. It would let me specify the directory that the photos were in, whether I wanted them resized/rotated/watermarked and even allowed me to select which watermark. This way, B could use the same script for TheAngelForever.com. My new photo processing process was:

  1. Run Script
  2. Copy/Paste name of directory with photos
  3. Answer dialogs for resizing/rotating/watermarking photos.
  4. Wait until script finishes
  5. Post photos

Much easier, right?

When Monkey was born to Tarzan and Jane over at HisBoysCanSwim, I noticed that their photos of Monkey merely had some text at the bottom of them. This would be easily stripped out by a picture thief so I offered my Photo Processor script. And while I was working on it, I figured I’d post a version for everyone else out there.

The first thing you’ll need to do is install a copy of ImageMagick on your PC. In the configuration screen during setup (the one with all of the checkboxes), make sure that you check the box for “Install ImageMagickObject OLE Control for VBScript, Visual Basic, and WSH.” (See image below.)

[thumb id=”1167″]

Once that is done, download my Photo Processor script. When you run the script, first you’ll need to enter the directory of the photos to be processed (e.g. C:\Photos\My Trip To The Beach\). Don’t worry if they’re your originals, the altered versions will be saved in newly created subdirectories. After you enter the directory, simply answer a few Yes/No questions to set whether the photos are rotated and/or resized and sit back and wait for the script to do its job. To add a watermark, put a PNG image in the same directory as the script and name it “Watermark.png.”

If you have any questions about this script, feel free to post them in the comments below.

Indoor Minigolfing and Outdoor Ice Cream

Last Sunday, during JSL’s nap-time, I decided to spend some time with NHL and give B some time to herself. So I took NHL to his first game of mini-golf. Now the skies were not bright and sunny. In fact, some raindrops came down upon us as we arrived at our destination. Not to worry though because the place we went to had indoor mini-golf.

After paying for our golfing session, we headed to the indoor mini-golf area. As we got our clubs, I told NHL to look at his shoes. Thanks to the black light, they were glowing. NHL was quite amused to discover that his socks, white stripe on his pants and even my shoelaces were glowing as well.

We entered the mini-golfing area and a nice family of ten in front of us allowed us to play through. Thanks go out to them. I’m sure NHL would have gotten very frustrated if he needed to wait for 10 people to finish each hole before he could proceed.

The first set of holes had an under the sea theme. Here, we shot balls past an octopus and into a shark’s mouth. Next, we entered a jungle and attempted to get our balls past a bear, tiger, and a big purple gorilla. After we exited the jungle, a time warp took us to a prehistoric era. Here, we putted past a triceratops and NHL was almost eaten by a velociraptor. Finally, we launched into space were we faced off against robots and aliens before our balls were sucked into a black hole.

NHL loved every minute of indoor mini-golf and it was over all too quickly. After a quick call to B to make sure that everything was alright at home, NHL and I stopped by the soft serve ice cream stand right next to the mini-golf. (Talk about convenient!) Luckily, by this point, the sun had fought off some of the clouds. We both had chocolate and vanilla swirl soft serve ice cream, though we had to put our quickly melting conefuls into cups to eat them less messily.

After a quick peek at the outdoor mini-golf course that they had (and protests by NHL that he wanted to play more mini-golf), we headed home hoping to soon head back for more mini-golf fun. Maybe next time JSL will join us.

[nggallery id=47]

Tiny Copyrights and Defamatory Tweets

Recently, two news stories caught my eye. The first involves a ruling by the European Court of Justice (ECJ). The case involved a newspaper clipping service called Infopaq. People would sign up with Infopaq and specify what keywords they wanted to keep an eye out for. Infopaq would then scan in articles, find the keywords, and print a listing with those keywords, the five words before and after the keywords, where the article appeared and how far down in the article the keywords appeared. The Danish newspaper industry took exception with this business plan and sued. Infopaq claimed that since their scanning was temporary (they didn’t print whole articles out, just the 11 word snippets), they fell under the copyright exemptions. The Court, however, ruled against them.

The worrying part isn’t that they were dinged for scanning the articles. That, I would have almost expected. Instead, they were dinged for 1) using 11 word snippets and 2) clients being able to print out the snippets. The Court found that 11 word snippets were still covered by copyright law. To give you an example of how ridiculous this is, I’ll quote an 11 word snippet from the article about the ruling: “means that there is a risk that the reproduction will remain”. According to the Court, since you, the reader, could print this blog post out and keep it indefinitely, I’ve now committed copyright infringement.

Of course, I live in the US, so I doubt the ECJ could do anything against me. Still, given the propensity for nations to follow one another over the copyright madness cliff, something like this worries me. Were the “11 word snippet” ruling to be used widely, services like Google News would go dark. Simple quoting from a source (a necessary part of research and protected by Fair Use) would land one in a big, boiling pot of copyright lawsuit soup. I’m not sure what appeals options Infopaq has, but if they have any, let’s hope that this ruling is overturned.

The other story that caught my eye was the tale of Amanda Bonnen from Chicago. Frustrated with her apartment situation, she did what many of us would do: She tweeted about it. Specifically, she wrote: “Who said sleeping in a mouldy apartment was bad for you? Horizon realty thinks it’s OK.”

Now, many fine companies monitor Twitter and would have taken her complaint as an opportunity to turn bad PR into good by working with her to formulate an appropriate resolution to her. Not Horizon, though. They sued her for $50,000 in defamation damages claiming that because her Twitter profile was public, her 53 character tweet was published “throughout the world.” That’s almost $1,000 in defamation per character! Horizon probably didn’t win any PR points for their “We’re a sue first, ask questions later kind of an organization” quote either.

Of course, a classic Streisand Effect has occurred. Had Horizon just ignored her, her tweet would have vanished amoung the millions posted around that time. At most, a few of her friends might have retweeted it before it faded into obscurity. (A Google Cache check shows that she had a mere 17 followers.) Instead, major news organizations, blogs and other websites have picked up the story. People are tweeting and retweeting about it much more than Amanda Bonnen would ever have been able to do by herself. Horizon should ask themselves whether suing her for $50,000 over this 53 character tweet was the appropriate action since it caused much more “defamation” than the original tweet did.

The lesson here for companies: Don’t be a sue first, ask questions later kind of institution. Work with your customers for a positive outcome. Then, even if you need to resort to ignoring the person’s problem or (as a last resort) sue them, you can point to your good faith efforts to work with them. That will soften any “big bad company suing a poor defenseless person” PR blow and you might even come out on top PR-wise.

The lesson for users: Don’t assume that what you post on Twitter (or on your blog, Facebook, etc) is just between you and a close-knit group of friends. Don’t say anything online that you wouldn’t say into a microphone in front of a full football stadium of people. This doesn’t mean you should live in fear over being sued for every little tweet/post/update, but keep in mind that you are putting this stuff out on a public network. Don’t say “Housing Co Landlords stink” when “my landlord stinks” would suffice or when “Tried to work with Housing Co Landlords to resolve my problem, but getting frustrated” would be more descriptive.

Bang! Zoom! To the Moon!

As so many others have mentioned, it is the 40th anniversary of the Apollo 11 program and the first human to walk on the Moon. Unfortunately, the original, high-quality tapes of the Moon landing seem to have been lost. Overwritten with new data during lean times when magnetic storage tapes were hard to come by. It’s a small consolation that NASA is working hard on finding the best available footage of the Moon landing and have hired experts on video restoration to clean it up as much as possible. Already, they’ve released a partially cleaned up copy of the video. A more complete copy is expected in September.

In addition, the Lunar Reconnaissance Orbiter just sent back photos of some of the Apollo landing sites. The resolution isn’t perfect, so the details are grainy, but they are there. The LRO should be able to send back some higher resolution shots when it gets into its ideal orbit.

Of course, all of this isn’t going to be enough for the Moon hoaxers out there. Sadly, there are all too many people who think that the Moon landings were a hoax. Ignoring all science and evidence to the contrary, they insist that the Moon landing was actually filmed Hollywood-style on a soundstage. A thorough debunking of their claims is too in-depth for this posting (I’d recommend reading the Bad Astronomy website and seeing the Mythbuster’s Emmy nominated Moon Hoax episode), but suffice it to say that their claims do not survive scrutiny. 40 years ago, man actually walked on the Moon. Neil Armstrong pushed his boots down onto the Moon’s surface and left footprints that will (thanks to the Moon’s nearly-nonexistant atmosphere) last for hundreds of years.

The space program used to inspire our children to become scientists and engineers. Nowadays, kids yawn when presented with people going into space. Is it a coincidence that we’re dropping behind in science scores in school? Here’s hoping that NASA gets the funding (and the management organization) to do some truly dazzling things in space. We’re scheduled to head back to the Moon in 2020 and I’ve been told that it will take that long to do it right, but I’d love to see it happen sooner. Since the last Apollo mission was Apollo 17 in December of 1972, we haven’t gone to the Moon in my lifetime. We haven’t even gone beyond Low Earth Orbit with anything other than robots. Don’t get me wrong, robots are cool and all, but you still can’t beat the thrill of knowing that there’s an actual human walking around up there. My only consolation is that, by the time the next Moon mission rolls around, NHL will be 17 and JSL will be 13. That will be prime “influencing their future careers” time.

So here’s thanking those who bravely went where no man went before, those who followed them, and those who are working hard to ensure that we return there. We may have gotten side tracked along the way, but I hope that we will soon be watching images broadcast from almost 239,600 miles away as men (and women!) walk on the moon again.

This week in Tweets

  • Swedish Performing Rights Society Demands Cash From Companies That Let Employees Listen To Music http://is.gd/1x7ym <= This is insane. #
  • RT @mike_elgan: Profanity helps you relieve pain. F*ck! http://bit.ly/klGBs <= I must be quite pain filled as I don’t curse at all. #
  • So exhausted. Couldn’t fall asleep last night. Was almost asleep & JSL fussed. Then he came into our bed a few hrs later. Can I nap now? #
  • Trying to figure out how long before the employee potluck meal I should head to the cafeteria to get them to reheat my Quinoa pilaf. #
  • Hate places that don’t update their website. Looking for Pick Your Own orchards. 1 talking about Summer of 2008. Update, people, update!!! #
  • Employee Potluck lunch at work was amazing. So many people brought in so many diff foods. Bringing my leftover Quinoa & 5 corn on cobs home. #
  • Eyes killing me. That bright shiny thing in the sky hurt my eyes. (Been cloudy/rainy here recently.) Turning office lights off may help. #
  • Condo goes into foreclosure. Wells Fargo (1st mortgage), sues other lien holders incl 2nd mortgage holder Wells Fargo http://is.gd/1xp87 #
  • Wells Fargo has even hired a lawyer to defend themselves against Wells Fargo’s charges. What the…..?!!!! #
  • Sitting in the dark with the brightness on my monitors turned way down hoping it’ll help my eyes stop hurting. #
  • It is times like this that I wish I could pop my eyeballs out to relieve some pressure. Though I guess putting them back in would be tricky. #
  • My Disney World tie is barely 2 months old and it’s already starting to fray! Where’s the Disney Quality?! #
  • Lugged Portable AC unit upstairs & assembled it. Can’t run it because window is too large. Need to cut piece of wood first. #
  • I can run it on fan mode, though to circulate air while I dump tons of photos off of filled memory cards to sort later. #
  • Was going to work out, but I think lugging the AC unit upstairs is going to count as my workout tonight. #
  • Last memory card almost done. Then I can head downstairs & get something to eat. (Was feeling sick earlier & didn’t eat dinner.) #
  • Memory card photos all offloaded. All 1,721 of them occupying 4.59 GB. Have I mentioned that I’ll be sorting photos for the next year? #
  • Trying to get JQuery UI Sortables to work. Once this is done, the rest of my newest web app should be a breeze. #
  • It’s late and I’m tired. I’ll sort out this jQuery UI Sortables code tomorrow. #
  • RT @TheAngelForever Character photo crusade at Six Flags http://is.gd/1yvmt <= On way home, NHL called Pepe Le Pew “Stinky Le PU” 😉 #
  • Told to reduce my 22GB of network drive files. Removed old/outdated/unneeded files & now it’s under 6.8GB. #
  • If only house cleaning was that easy. I’ll drag this pile here. Click Delete there. House all cleaned up! #
  • Wow. I just realized that I haven’t made a blog post in almost 3 weeks! Been so busy lately. #
  • Why oh why must my laptop freeze as I try to do important work?!! Come on laptop. Work with me here!!! #
  • Wow, my one year blog-o-versary is in less than 2 months. What to do to mark the special occasion? #
  • RT @LanceUlanoff: Billy Mays Final Spot. http://bit.ly/P2AUI And of course, I totally want this product . I’m a sucker for this stuff. #
  • Just checked local farm’s Pick-Your-Own schedule. Was in PDF format. Fine. Open PDF & it’s unreadable. #FAIL #
  • Any #jQuery or #jQueryUI gurus out there? Is there a way to dynamically add items to a Sortable series of DIVs? Couldn’t get it to work. #
  • RT @HighTechDad Unruly Teen Charges $23 Quadrillion At Drugstore http://bit.ly/AXz1l <= Visa’s response: Add a $20 negative balance fee! #
  • To put $23 Quandrillion CVS charge in perspective, the World’s GDP is $65.61 trillion. So teen charged over 350 times the World GDP. #
  • Come Home Perry stuck in my head. “Gonna move to the prairie. Change my name to Larry!” “Larry?” “I ran out of rhymes, ok?!” #PhineasAndFerb #
  • Snacking on baby carrots & celery sticks dipped in buffalo wing sauce. Delish, but I think I need more water. Mouth’s on fire! #
  • Bad: I just realized I made a big typo in my wedding anniversary blog post 3 weeks ago. Possibly worse: My wife didn’t notice it at all! #
  • Think I might have found why #jQueryUI’s Sortable wasn’t working for me. My #JQuery script file was v1.2.6, not v1.3. Will try v1.3 later. #
  • Just hooked up our upstairs portable AC unit. Hanging around to make sure its working. So far room went from 91 to 84 pretty quickly. #
  • Tried #JQuery v1.3 but that didn’t fix my #JQueryUI Sortable bug. Can Sortable items be added dynamically? If so, how? #
  • Yay! Just got #jQueryUI Sortable working! One more small feature and my new web application will be ready. #
  • So tired this morning. When oh when will JSL sleep through the night & let us get a good night’s sleep?! #
  • I’ve noticed that when I’m tired during the day I snack more & crave worse-for-me foods. Wonder if any studies have researched this link. #
  • RT @elijahmanor 50+ Really Cool Twitter Mashups http://bit.ly/msT2v <=Twubble’s like a Twitter app I’m writing, but mine won’t need your pwd #
  • Told to drop everything & work on super-important project. I completed it within a half hour. Web Dev Win! #
  • Ok, so technically the project wasn’t hard. The code was already written. Just was adding DB entries. Still, I’ll take my wins where I can. #
  • NYT: Twitter Hack Raises Flags on Security http://is.gd/1Bafq Me: Title makes it sound like Twitter’s prob but story’s about pwd management. #
  • RT @zazzle: 10 random people who RT this in the next hour will receive a coupon for a free pack of @zazzle business cards! #
  • RT @BadAstronomer Already a goofball Apollo denier in the comments. They’re like a virus. http://tr.im/sEfO <= But more fun to play with 😉 #
  • Recipe for Tie Dye Cheesecake calls for 1 box of Red Velvet Cake Mix. Pour 1/2 into springform pan, discard rest. WTF? Why not make 2 cakes? #
  • Going to need some #EASActive folks to beta test a web application I made. Anyone interested? #
  • Shared #EASActive workout: A Quick Run http://bit.ly/yOYYd #
  • Shared #EASActive workout: Tennis Anyone? http://bit.ly/yOYYd #
  • Oops. Wrong link. Shared #EASActive workout: Tennis Anyone? http://bit.ly/13uDtB #
  • Shared #EASActive workout: Run Dance Box Skate http://bit.ly/LnNdm #
  • Do you like #EASActive and want to share some custom workouts you’ve made? Then try out my EASActive Workout site: http://is.gd/1CeVH #
  • Wow. Lights just went off and on. Power outage? (We have battery backup here.) #
  • RT @BadAstronomer Apollo landing sites imaged by LRO!!! Incredible images! http://tr.im/sOCn <= How long until the Moon hoaxers arrive? #
  • Do you have a favorite #EASActive custom workout? Share it with the world at http://is.gd/1CeVH (Please retweet) #
  • Do you workout with #EASActive? Do you want to find some custom workouts to try or have some to share? Stop by http://is.gd/1DOuY #
  • Anyone know how to do OpenID with classic ASP? Thinking of beefing up my Custom #EASActive Workout with #OpenID. #
  • Time to get some rest in before the inevitable JSL wakeup call at about 2-3am. #

Powered by Twitter Tools.

1 271 272 273 274 275 300