vs page 5 - Dave's Blog

Search
My timeline on Mastodon

PingMag - The Tokyo-based magazine about "Design and Making Things" - Archive - ZEVS: Visual Kidnapping

2008 Aug 14, 4:52"French street artist ZEVS ... now also has a home in the art world and had his first exhibition in Asia: Postcapitalism Kidnapping at Hong Kong-based gallery Art Statements, documenting how ZEVS cleverly distorts the logos of big brands. For PingMag, he explains their visual power."PermalinkCommentsgraffiti culture art cultural-disobediance interview streetart guerilla

RPS Interview: Valve's Erik Wolpaw | Rock, Paper, Shotgun

2008 Jun 30, 5:45Erik on writing for games vs books: "Even worse for game writers, the 98% garbage part of a game isn't even usually garbage because instead of reading something boring about the history of Belgium, the "reader" probably gets to jump a Camaro over a dinoPermalinkCommentsgame humor interview valve portal article erik-wolpaw

Teach the Controversy - Intelligently designed t-shirts urging you to show both sides of every story

2008 Jun 17, 12:32Some of my favs: UFOs creating pyramids, a periodic table of elements consisting of 'Air', 'Water', 'Fire', etc., and satin in overalls burying fossils. I'm surprised by the lack of FSM.PermalinkCommentshumor via:boingboing satire religion science clothing shopping tshirts evolution intelligent-design

Zeno's Progress Bar - Stolen Thoughts

2008 Apr 7, 10:09

Text-less progress bar dialog. Licensed under Creative Commons by Ian HamptonMore of my thoughts have been stolen: In my previous job the customer wanted a progress bar displayed while information was copied off of proprietary hardware, during which the software didn't get any indication of progress until the copy was finished. I joked (mostly) that we could display a progress bar that continuously slows down and never quite reaches the end until we know we're done getting info from the hardware. The amount of progress would be a function of time where as time approaches infinity, progress approaches a value of at most 100 percent.

This is similar to Zeno's Paradox which says you can't cross a room because to do so first you must cross half the room, then you must cross half the remaining distance, then half the remaining again, and so on which means you must take an infinite number of steps. There's also an old joke inspired by Zeno's Paradox. The joke is the prototypical engineering vs sciences joke and is moderately humorous, but I think the fact that Wolfram has an interactive applet demonstrating the joke is funnier than the joke itself.

I recently found Lou Franco's blog post "Using Zeno's Paradox For Progress Bars" which covers the same concept as Zeno's Progress Bar but with real code. Apparently Lou wasn't making a joke and actually used this progress bar in an application. A progress bar that doesn't accurately represent progress seems dishonest. In cases like the Vista Defrag where the software can't make a reasonable guess about how long a process will take the software shouldn't display a progress bar.

Similarly a paper by Chris Harrison "Rethinking the Progress Bar" suggests that if a progress bar speeds up towards the end the user will perceive the operation as taking less time. The paper is interesting, but as in the previous case, I'd rather have progress accurately represented even if it means the user doesn't perceive the operation as being as fast.

Update: I should be clearer about Lou's post. He was actually making a practical and implementable suggestion as to how to handle the case of displaying progress when you have some idea of how long it will take but no indications of progress, whereas my suggestion is impractical and more of a joke concerning displaying progress with no indication of progress nor a general idea of how long it will take.

PermalinkCommentszenos paradox technical stolen-thoughts boring progress zeno software math

vidTO: Pedal Power VS Toronto Police

2008 Apr 7, 3:45Video of an art piece, a pedal powered Buick, taken for a test spin and getting pulled over by the cops.PermalinkCommentsvideo art via:boingboing car bike humor youtube

Protest Culture -- Ad Hoc vs Institutional, and What it Means (Event Video/Audio) | Berkman Center

2008 Mar 31, 3:43Clay Shirky talks to a very small audience. Starts with more examples like prev. video. @20:30 describes interesting problems he hasn't resolved. @31:04 interesting exchange between listeners and Clay.PermalinkCommentsvideo cooperation social web politics law internet culture collaboration community

Martian Headsets - Joel on Software

2008 Mar 19, 11:30Excellent rant on the history and state of IE8's decision to default to super-standards mode vs IE7 mode.PermalinkCommentsbrowser internet browser-war ie microsoft history w3c standard standards html css joel-on-software

Internet Explorer 8 Beta 1 Released with Activities

2008 Mar 5, 11:36

Internet Explorer 8 Beta 1 is available now. I can finally talk about some of the stuff I've been working on for the past year or so: activities. Activities let you select a document, some text on a document, or a link to a document and run that selection through a web service. For example, you could select a word on a webpage and look it up in Wikipedia, select an address and map it on Yahoo Maps, select a webpage and translate it into English with Windows Live Translator, or select a link and add it to Digg.

IE8 comes installed with some activities based on Microsoft web services but there's a page you can go to to install other activities. However, that page is missing some of my favorites that I use all the time, like del.icio.us. Accordingly, I've put together a page of the activities I use. MSDN has all the info on creating Activities.

Activities are very similar to other existing features in other browsers including the ability to add context menu items to IE. There's two important differences which make activities better. Activities have a preview window that pops out when you hover over an activity, which is useful to get in place information easily provided by developers. The other is that the interface is explicit and takes after HTML FORMs and OpenSearch descriptions. Because the interface is explicitly described in XML (unlike the context menu additions described above which run arbitrary script) we have the ability to use activities in places other than on a webpage in the future. And because activity definitions are similar to HTML FORMs, if your webservice has an HTML FORM describing it you can easily create an activity.

PermalinkCommentsmicrosoft technical activity openservice ie8 ie activities msdn

Ogle Earth: Drawing in Google Maps vs drawing in Live Local: Which is better?

2008 Mar 4, 11:01Google's My Maps: "And now, this morning, Google has updated its Maps product yet again, adding "My Maps", user-generated collections of annotated placemarks, lines, and polygons."PermalinkCommentsgoogle map microsoft live georss blog article

YouTube - Star Wars vs. Saul Bass

2008 Mar 3, 9:10"If Star Wars was filmed two decades earlier and Saul Bass did the opening title sequence, it might look like this... This was a school project. The song is "Machine" by the Buddy Rich Band off the album Big Swing Face (1967)."PermalinkCommentsvia:ethan_t_hein starwars video mashup music saul-bass

Mechanically Separated Meat - Blog Archive - Super Mario World vs. the Many-Worlds Interpretation of Quantum Physics

2008 Feb 19, 8:57A video of a player's many attempts at the same level in a hacked Super Mario World game overlayed on top of one another.PermalinkCommentsvideo mario game quantum-physics via:boingboing

deathboy: anonymous vs scientology

2008 Feb 11, 1:25A blog post on an Internet organized protest of scientology in England. Great photos.PermalinkCommentshumor cult scientology protest blog england internet religion meme

Crossing Four Way Stops Fast and Searching Closed Caption MCE Videos: More Stolen Thoughts

2008 Jan 22, 9:56

More ideas stolen from me in the same vein as my stolen OpenID thoughts.

Fast Pedestrian Crossing on Four Way Stops. In college I didn't have a car and every weekend I had weekly poker with friends who lived nearby so I would end up waiting to cross from one corner of a traffic lit four way stop to the opposite corner. Waiting there in the cold gave me plenty of time to consider the fastest method of getting to the opposite corner of a four-way stop. My plan was to hit the pedestrian crossing button for both directions and travel on the first one available. This only seems like a bad choice if the pedestrian crossing signal travels clockwise or counter clockwise around the four way stop. In those two cases its better to take the later of the two pedestrian signal crossings, but I have yet to see those two patterns on a real life traffic stop. I decided recently to see if my plan was actually sound and looked up info on traffic signals. But the info didn't say much other than "its complicated" and "it depends" (I'm paraphrasing). Then I found some guy's analysis of this problem. So I'm done with this and I'll continue pressing both buttons and crossing on the first pedestrian signal. Incidentally on one such night when I was waiting to cross this intersection I heard a loud multi-click sound and realized that the woman in the SUV waiting to cross the intersection next to me had just locked her doors. I guess my thinking-about-crossing-the-street face is intimidating.

Windows Searching Windows Media Center Recorded TV's Closed Captions. An Ars-Technica article on a fancy DVR described one of the DVRs features: full text search over the subtitles of the recorded TV shows. I thought implementing this for Windows Media Center recorded TV shows and Windows Search would be an interesting project to learn about video files, and extending Windows Search. As it turns out though some guy, Stephen Toub implemented Windows Search over MCE closed captions already. Stephen Toub's article is very long and describes some other very interesting related projects including 'summarizing video files' which you may want to read.

PermalinkCommentsstolen-thoughts windows search mce windows traffic closed captions four-way-stop windows-media-center

HIMAGELIST Stream Size

2008 Jan 12, 2:26If you're like me you need to serialize an object that contains an HIMAGELIST via IMarshal for COM's marshalling. I could use ImageList_Write to actually write the HIMAGELIST to a stream for IMarshal::MarshalInterface, but I needed to know the size of the data that I was going to write for IMarshal::GetMarshalSizeMax. I thought I'd use HIMAGELIST_QueryInterface to get an IPersistStream pointer which works, but alas its implementation of IPersistStream::GetMaxSize just returns E_NOTIMPL. Ultimately I called ImageList_Write on a special stream that ignores the data passed to it and just records how much data is written to it. In this fashion I could get the size the HIMAGELIST would require when written to a stream.PermalinkCommentstechnical himagelist boring serialize imarshal com

Theme Options

2007 Dec 24, 12:41These days it seems like there's a social sharing website for everything representable as bits. Like Scribd for (mostly legal) documents, SciVee for scientific research videos, Wordie for words, and Kuler for color themes. Kuler seems like a ridiculous website (overkill) but I had been meaning to update my homepage's color design and Kuler has an RSS based REST API. The API lets you obtain things like the most recently added color themes or the most popular or all themes containing the color dark red, etc... So of course rather than update my website's design I hooked up my css to the color themes coming out of Kuler. Select my main page's color theme from a list of random Kuler themes. As I'm sure the regular readers can guess I use an xslt and blah blah blah... It looks OK with Silver Surfer and Happy Hipo but in general changing the colors this way doesn't produce something pretty.

When reading about Kuler I found that they may have stolen the whole idea wholeslae from ColourLovers. They discuss the thievery in an article on their blog. I would have switched over to ColourLovers out of principle but they don't have an easily accessible API.PermalinkCommentscolourlovers color xslt theme homepage technical kuler design

David Chappell :: Blog - REST vs WS- War is Over

2007 Dec 19, 3:39Article on REST vs WS webservices archs. Can be a starting point.PermalinkCommentsdavid-chappell article blog rest web webservices architecture soap ws

For the Record: Adobe Kuler vs COLOURlovers

2007 Dec 19, 11:06Article about striking similarities between COLOURlovers and Adobe's Kuler.PermalinkCommentsarticle blog color design web social kuler colourlovers

LibraryThing: A Social Cataloging Web Site Webcast (Library of Congress)

2007 Nov 15, 4:12Tim Spalding founder of LibraryThing gives a talk to the Library of Congress folks about his website LibraryThing. Focus on tagging vs taxonomy. Some humorous things in the talk as well.PermalinkCommentslibrary-of-congress library librarything books tagging video ontology tim-spalding taxonomy

Wp64 Issues

2007 Aug 6, 3:43Miladin told me about the Visual Studio compiler's promising option Wp64 that finds 64bit portability issues when compiling in 32bit. If, for instance, you cast from a (long*) to a (long) you get a W4 warning. However, the #defines are still set for 32bit builds. This means that other parts of the code can make assumptions based on the #defines that are valid on 32bit but generate 64bit errors or warnings.

For instance, in winuser.h the public published Windows header file there's the following:
...
#ifdef _WIN64
...
WINUSERAPI
LONG_PTR
WINAPI
SetWindowLongPtrA(
    __in HWND hWnd,
    __in int nIndex,
    __in LONG_PTR dwNewLong);
...
#else  /* _WIN64 */
...
#define SetWindowLongPtrA   SetWindowLongA
...
#endif /* _WIN64 */
...
In 64bit everything's normal but in 32bit SetWindowLongPtrA is #defined to SetWindowLongA which takes a LONG rather than a LONG_PTR. So take the following code snippet:
...
LONG_PTR inputValue = 0;
LONG_PTR error = SetWindowLongPtrA(hWnd, nIndex, inputValue);
...
This looks fine but generates warnings with the Wp64 flag.

In 64 bit, p is cast to (LONG_PTR) and that's great because we're actually calling SetWindowLongPtrA which takes a LONG_PTR. In 32 bit, p is cast to (LONG_PTR) which is then implicitly cast to (LONG) because we're actually calling SetWindowLongA. LONG and LONG_PTR are the same size in 32bit which is fine but if you turn on the Wp64 flag there's a W4 warning because of the implicit cast from a larger size to a smaller size if you were to compile for 64bit. So even though doing a 32bit or 64bit compile would have worked just fine, if you turn on the Wp64 flag for 32bit you'd get an error here.

It looks like I'm the most recent in a list of people to notice this issue. Well I investigated this so... I'm blogging about it too!PermalinkCommentswp64 technical 64bit compiler c++ visual-studio setwindowlongptra

Full Text: Keen vs. Weinberger - WSJ.com

2007 Jul 26, 12:05A debate between David Weinberger (of Everything is Miscellaneous) and Andrew Keen (of Cult of the Amatuer) on the Web as the end of intelligent society. Of course since I'm posting this on delicious its clear who I favor in this debate.PermalinkCommentsdavid-weinberger blog article debate taxonomy tagging social community web
Older EntriesNewer Entries Creative Commons License Some rights reserved.