image page 28 - Dave's Blog

Search
My timeline on Mastodon

epic bunneh - Lolcats 'n' Funny Pictures of Cats - I Can Has Cheezburger?

2010 Dec 1, 4:59
PermalinkCommentshumor bunny image photo

Geek Optimism

2010 Nov 3, 7:07
PermalinkCommentshumor geek image glass water

Flowchart: Understanding the Web, for Fans of Charles Dickens | Fast Company

2010 Oct 28, 8:26Time travel, flow charts, and humor.PermalinkCommentsflowchart time-travel humor image

Flickr Is Now Offering Photo Licensing Through Getty Images

2010 Jun 19, 5:03"Flickr is now offering the option for photographers to license their photos through Getty Images."PermalinkCommentsflickr economics photo legal getty-images

Animated GIF From Wedding

2010 Jun 13, 3:47From Angie's photos of my wedding there's a sequence of four photos where everyone's holding still except me. Of course I turned this into an animated GIF using GIF Make, to produce my animated wedding GIF. I don't embed the image in the HTML because it is really irritating.PermalinkCommentswedding animated photo personal gif

Shepard Fairey - Interview Magazine

2010 May 10, 8:59Iggy Pop interviews Shepard Fairey, including his Obama HOPE poster and AP lawsuit:

"... but the American public is generally pretty superficial, so an image like that just allows them to project whatever limited idea they have onto it. Obviously, not everyone is like that—I actually think there were a lot of people who were bummed by the image because they felt it was shallow propaganda."

"If I spend time conceiving and making a piece of art and somebody else sees that it has market value and replicates it in order to steal part of my market, then that’s not cool. But the way I make art—the way a lot of people make art—is as an extension of language and communication, where references are incredibly important. It’s about making a work that is inspired by something preexisting but changes it to have a new value and meaning that doesn’t in any way take away from the original—and, in fact, might provide the original with a second life or a new audience."
PermalinkCommentsart legal law ip shepard-fairey obey interview

Portal 2 is official, first image inside

2010 Mar 5, 6:07PermalinkCommentsportal game videogame

Code: Flickr Developer Blog » A Chinese puzzle: Unicode and EXIF metadata parsing

2010 Jan 8, 2:08Flickr dev talks image metadata the various forms which to prefer and how to guess at their character encodings.PermalinkCommentsunicode charset flickr photo image exif programming reference xmp technical

BLDGBLOG: Remnants of the Biosphere

2010 Jan 8, 2:05"Photographer Noah Sheldon got in touch the other week with a beautiful series of photos documenting the decrepit state of Biosphere 2, a semi-derelict bio-architectural experiment in the Arizona desert."
PermalinkCommentsphoto science images ecology biology arizona environment

Spite Houses, built to piss off the neighbors Boing Boing

2009 Dec 18, 2:36"I somehow ended up reading about spite houses (homes built specifically to piss off a neighbor) this evening, which I had never heard of before. Flickr has several when you search the tags, including the sad story behind this house in Connecticut."PermalinkCommentshumor spite hose flickr image

Eye On Springfield

2009 Dec 16, 9:48Its sometimes captioned frames from hilarious moments you may recall from The Simpsons!
PermalinkCommentshumor history tv simpsons image

Get cached images from your visitors | Diovo

2009 Dec 15, 2:01"Jeff Atwood (Coding Horror fame) was in for a horror when he realized that his server crashed and his data was gone and due to some reason, the backup mechanism was not working. ... So what should Jeff do now? Since Coding horror is a high traffic blog, I think there is a way to get back at least some of the images." Reconstruct the HTML from Google's cache, change the HTTP server to tell the client it has the correct cached image for all the images, add script to the HTML to grab the images and send them back. Awesome idea. Of course now I want to setup Fiddler to swap in random images...PermalinkCommentsvia:ericlaw jeff-atwood backup web http cache image javascript technical

Geekologie - Evolution of Storage Infographic

2009 Nov 29, 2:01PermalinkCommentsvia:boingboing storage information infographics visualization poster system:filetype:jpg system:media:image

YouTube - Automatic Mario~Don't Stop Me Now~【自動マリオシーケンサ×Queen】

2009 Nov 29, 1:43Queen's "Don't Stop Me Now" accompanied by 4 games of a hacked Super Mario World level. The matching of the background images between the four plays is what gets me.PermalinkCommentshumor videogame video youtube mario queen music dont-stop-me-now via:waxy

Making browsers faster: Resource Packages · Alexander Limi

2009 Nov 17, 6:52"What if there was a backwards compatible way to transfer all of the resources that are used on every single page in your site — CSS, JS, images, anything else — in a single HTTP request at the start of the first visit to the page? This is what Resource Package support in browsers will let you do." Another resource packaging implementation but this suggests they'll actually implement this in FireFox. One issue with all of these is you can't use the resources from the package in any context that didn't ask to use the package for fear of security issues which means you can't stick the packaged resources in your HTTP cache. The package itself could go in the cache which would mean multiple packages per page or all your page's resources in one package. Of course the same security issues are a concern for all of the packaging proposals if a site has any way to inject into the source the request for the package. It'd be a similar vector to the UTF7 XSS issues but much worse attack.PermalinkCommentssecurity web browser http zip firefox resource technical via:kris.kowal

Fun With the Minneapolis Mayoral Race - Boing Boing

2009 Nov 3, 5:02The sample ballot for Minneapolis elections is awesome (see second to last entry)PermalinkCommentshumor politics image

Why do we have an IMG element? [dive into mark]

2009 Nov 3, 1:33'A few hours after that, Tim Berners-Lee responded: I had imagined that figues would be reprented as <a name=fig1 href="fghjkdfghj" REL="EMBED, PRESENT">Figure </a>'. Ohhhh, that would have been better.PermalinkCommentshtml history mark-pilgrim browser web images technical

In Which She's Every Woman - Today - This Recording

2009 Aug 21, 3:31"A woman approaches me and tells me that she's with Getty Images. They're shooting stock photos in the park today, would I be willing to pose?" Then finds her photo on tea, camera ads, Quicken's website, etc.PermalinkCommentshumor photo advertising getty via:waxy

PowerShell Scanning Script

2009 Jun 27, 3:42

I've hooked up the printer/scanner to the Media Center PC since I leave that on all the time anyway so we can have a networked printer. I wanted to hook up the scanner in a somewhat similar fashion but I didn't want to install HP's software (other than the drivers of course). So I've written my own script for scanning in PowerShell that does the following:

  1. Scans using the Windows Image Acquisition APIs via COM
  2. Runs OCR on the image using Microsoft Office Document Imaging via COM (which may already be on your PC if you have Office installed)
  3. Converts the image to JPEG using .NET Image APIs
  4. Stores the OCR text into the EXIF comment field using .NET Image APIs (which means Windows Search can index the image by the text in the image)
  5. Moves the image to the public share

Here's the actual code from my scan.ps1 file:

param([Switch] $ShowProgress, [switch] $OpenCompletedResult)

$filePathTemplate = "C:\users\public\pictures\scanned\scan {0} {1}.{2}";
$time = get-date -uformat "%Y-%m-%d";

[void]([reflection.assembly]::loadfile( "C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Drawing.dll"))

$deviceManager = new-object -ComObject WIA.DeviceManager
$device = $deviceManager.DeviceInfos.Item(1).Connect();

foreach ($item in $device.Items) {
        $fileIdx = 0;
        while (test-path ($filePathTemplate -f $time,$fileIdx,"*")) {
                [void](++$fileIdx);
        }

        if ($ShowProgress) { "Scanning..." }

        $image = $item.Transfer();
        $fileName = ($filePathTemplate -f $time,$fileIdx,$image.FileExtension);
        $image.SaveFile($fileName);
        clear-variable image

        if ($ShowProgress) { "Running OCR..." }

        $modiDocument = new-object -comobject modi.document;
        $modiDocument.Create($fileName);
        $modiDocument.OCR();
        if ($modiDocument.Images.Count -gt 0) {
                $ocrText = $modiDocument.Images.Item(0).Layout.Text.ToString().Trim();
                $modiDocument.Close();
                clear-variable modiDocument

                if (!($ocrText.Equals(""))) {
                        $fileAsImage = New-Object -TypeName system.drawing.bitmap -ArgumentList $fileName
                        if (!($fileName.EndsWith(".jpg") -or $fileName.EndsWith(".jpeg"))) {
                                if ($ShowProgress) { "Converting to JPEG..." }

                                $newFileName = ($filePathTemplate -f $time,$fileIdx,"jpg");
                                $fileAsImage.Save($newFileName, [System.Drawing.Imaging.ImageFormat]::Jpeg);
                                $fileAsImage.Dispose();
                                del $fileName;

                                $fileAsImage = New-Object -TypeName system.drawing.bitmap -ArgumentList $newFileName 
                                $fileName = $newFileName
                        }

                        if ($ShowProgress) { "Saving OCR Text..." }

                        $property = $fileAsImage.PropertyItems[0];
                        $property.Id = 40092;
                        $property.Type = 1;
                        $property.Value = [system.text.encoding]::Unicode.GetBytes($ocrText);
                        $property.Len = $property.Value.Count;
                        $fileAsImage.SetPropertyItem($property);
                        $fileAsImage.Save(($fileName + ".new"));
                        $fileAsImage.Dispose();
                        del $fileName;
                        ren ($fileName + ".new") $fileName
                }
        }
        else {
                $modiDocument.Close();
                clear-variable modiDocument
        }

        if ($ShowProgress) { "Done." }

        if ($OpenCompletedResult) {
                . $fileName;
        }
        else {
                $result = dir $fileName;
                $result | add-member -membertype noteproperty -name OCRText -value $ocrText
                $result
        }
}

I ran into a few issues:

PermalinkCommentstechnical scanner ocr .net modi powershell office wia

Bits Up!: DNS Prefetching for Firefox

2009 Jun 22, 3:28Details on Firefox's DNS prefetching: "The Firefox implementation takes this approach one step further than just pre-resolving anchor href hostnames. It uses the prefetch logic on URLs that are being included in the current document. By this I mean that it uses the prefetch logic on things like images, css, and jscript that are being loaded right away, in addition to anchor links which might be clicked on at a slightly later time."PermalinkCommentsdns dns-prefetching html performance networking firefox mozilla technical
Older EntriesNewer Entries Creative Commons License Some rights reserved.