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.
video cooperation social web politics law internet culture collaboration community 2008 Mar 23, 1:25
I ordered a ThinkGeek Bluetooth Retro Handset to use at home. When I come home I plug my phone in to charge in my room, but then I can't hear it ring
elsewhere in the hosue. The idea was to take this handset which wirelessly connects to cellphones via bluetooth and place it in another part of the house so that I can tell I'm getting an incoming
call. The only issue I have with that setup is that it ringing isn't any louder than conversations held over the phone, that is, the ringing is a little quiet.
The handset pairs with cellphones in the same manner as any other handset over bluetooth. It has an internal rechargeable battery which is charged via a standard USB port built into the base of the
handset and it comes with a USB cable. Next to the USB port is the only button on the phone which is pressed to answer a call, hang up a call, or begin voice dial, held down to turn the handset on
and off, and held down longer to begin pairing with a cellphone. There's a blue LED in one of the holes in the microphone portion of the phone which blinks to indicate if its on or trying to pair.
Transitioning between on, off, and pairing produces a cute sound and a change to the LED.
Overal I'm pleased with its simplicity and use of common parts although I wish there was a way to adjust the volume of the ring.
thinkgeek bluetooth cellphone phone product handset 2008 Mar 23, 12:38
The move of my website to NearlyFreeSpeech.NET is mostly complete except for a few server side things not working yet: RandomGrammar and parts of Vizicious. I'm still very happy with the
NearlyFreeSpeech.NET hosting and so far I've only spent a few cents on hosting. At this rate I'll only spend a few dollars a year.
I've moved all my pages to use the same CSS and hooked it up with cookies to my Kuler color options so now changes to the color theme will
stick and apply to all my pages. I haven't figured out the caching for this yet so you may have to refresh to see changes to color applied.
nearlyfreespeech.net technical webhosting kuler homepage 2008 Mar 7, 3:26
Two weekends ago it was actually sunny and kind of warm so Sarah and I went down to Spud Fish and Chips and Juanita Beach Park. We ate fish and chips on the dock. I took a few pictures and this
time actually put some geographical information on Flickr so now I've got a map of my tiny fish and chips journey. On the map click on the floating marks to view the associated photos.
Flickr provides access to the geo data associated with your photos via GeoRSS feeds. And Google Maps displays
GeoRSS feed content on their maps allowing you even to edit the data but doesn't appear to let you easily export the GeoRSS. Live Maps does the inverse, allowing you to create and export GeoRSS data but not import it. I'd like both please. Oh well.
map photo personal fish-and-chips juanita-beach 2008 Feb 6, 11:15A flash animated advertisement that starts as a regular website but turns into a kind of Rube Goldberg. I especially appreciate the automated scrolling.
advertising animation art flash browser 2007 Dec 13, 4:57A bear dances with a dead bear friend after sharing half its heart. Love the DBZ reference.
zune art video music dbz 2007 Dec 13, 4:54Some interesting animated videos created for the Zune Ad campaign but created by actual artists.
zune art advertising animation design flash microsoft music video 2007 Dec 7, 9:15A web API that produces charts and graphs.
via:kris.kowal graph google api reference programming web 2007 Nov 26, 12:32Guerrilla clockmakers fix famous Paris clock. Andrew says: "It seems a team of clockmakers broke into the Pantheon in Paris in September 2005 and spent a year fixing the historic and neglected clock,
which had been abandoned by the authorities. They were
clock culture history humor paris france via:boingboing cultural-disobediance 2007 Oct 24, 10:12Without realizing it this was the page I was looking for three weeks ago.
via:kris.kowal web chart graph ajax .net flash programming visualization statistics reference 2007 Oct 5, 1:50How to host a WebBrowser control and customize it to your hearts content.
ie internet microsoft web browser msdn reference howto webbrowser 2007 Aug 6, 4:07I've moved from my previous apartment in Redmond into Sarah's condo in Kirkland. Over the past week I'd been coming home from work and packing and sorting all of my belongings. Everything had a few
destination options:
- Sarah's condo
- Storage
- My office
- Recycle/Donate
I donated two carts of computer related junk (two CRTs, two desktops, six laptops, untold number of cables, piles of network and sound cards, etc) to
RE-PC and
six garbage bags of clothing that I either never wear or into which I have worn holes into friendly looking clothing donation bins. Of course I still need to find some place to get rid of my 15 inch
CRT TV, VCR, DVD player, and X-Box. I finally emptied my bags of coins that had been collecting for about seven years (one of the bags was from my college orientation) through Coinstar and got ~$160.
Some items seemed to fit very well at work like my
satirical RIAA propaganda poster and my
Darth Vader Nutcracker. This past weekend I had movers come and actually move my furniture. Most of its now in storage except for
my living room which is moved into Sarah's second bedroom. Now all I have to do is unpack...
move personal repc recycle nontechnical 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!
wp64 technical 64bit compiler c++ visual-studio setwindowlongptra 2007 Jul 2, 9:15Photos of what a family eats in a week in various parts of the world.
photos culture diet food health artle 2007 Jul 2, 9:04Build a device to remotely lock shopping carts.
article humor electronics shopping-cart wireless diy via:swannman 2007 Jun 5, 4:07Pie-charts of the colors in country flags.
art chart visualization statistics flag graph 2007 May 21, 2:49Little go carts disguised as giant bunny slippers.
humor technology slippers bunny car 2007 May 11, 8:55Last time, I had written some resource tools to allow me to view and modify Windows module resources in my ultimate and noble quest to
implement the XML content-type fragment in IE7. Using the resource tools I found that MSXML3.DLL isn't signed and that I can replace the XSLT embedded resource with my own, which is great news and
means I could continue in my endevour. In the following I discuss how I came up with this
replacement for IE7's XML source view.
At first I thought I could just modify the existing XSLT but it turns out that it isn't exactly an
XSLT, rather its an
IE5 XSL. I tried using the
XSL to XSLT converter linked to on MSDN, however the resulting document still
requires manual modification. But I didn't want to muck about in their weird language and I figured I could write my own XSLT faster than I could figure out how theirs worked.
I began work on the new XSLT and found it relatively easy to produce. First I got indenting working with all the XML nodes represented appropriately and different CSS classes attached to them to make
it easy to do syntax highlighting. Next I added in some javascript to allow for closing and opening of elements. At this point my XSLT had the same features as the original XSL.
Next was the XML mimetype fragment which uses
XPointer, a framework around various different schemes for naming parts of an XML document. I focused on the
XPointer scheme which is an extended version of
XPath. So I named my first task as getting XPaths working.
Thankfully javascript running in the HTML document produced by running my XSLT on an XML document has access to the original XML document object via the
document.XMLDocument property. From this this I can execute XPaths, however there's no builtin way to map from the XML nodes selected by
the XPath to the HTML elements that I produced to represent them. So I created a recursive javascript function and XSLT named-template that both produce the same unique strings based on an XML node's
position in the document. For instance 'a3-e2-e' is the name produced for the 3rd attribute of the second element of the root element of the XML document. When producing the HTML for an XML node, I
add an 'id' attribute to the HTML with the unique string of the XML node. Then in javascript when I execute an XPath I can discover the unique string of each node in the selected set and map each of
them to their corresponding positions in the HTML.
With the hard part out of the way I changed the onload to get the fragment of the URI of the current document, interpret it as an XPath and highlight and navigate to the selected nodes. I also added
an interactive floating bar from which you can enter your own XPaths and do the same. On a related note, I found that when accessing XML files via the file URI scheme the fragment is stripped off and
not available to the javascript.
The next steps are of course to actually implement XPointer framework parsing as well as the limited number of schemes that the XPointer framework specifies.
xml xpointer msxml res xpath xslt resource ie7 technical browser ie xsl 2006 Dec 27, 9:42This document defines a framework within which security services may be applied to MIME body parts.
rfc mime internet reference privacy encryption security encoding authentication read 2006 Dec 21, 3:21Cool photos of miniatures, toys, postcards or photos held up over their real world counterparts. Some look pretty cool.
humor photos blog gallery