2009 Nov 12, 3:35Presentation comparing the performance of different JavaScript operations on different web browsers. Suggestions cover full range of good to know to common sense to ugly ugly ugly.
via:thefangmonster performance javascript browser web technical tips presentation 2009 Nov 5, 2:07Two guys sponsored by MicroBilt to travel around the country and make totally awesome commercials for local companies. Includes such gems as Salt Lake Community Barbering & Cosmetology School:
"Your hairdo is only limited by your immagination. And how far along we are in the semester.", as well as Cullman Liquidation: "They're used. Some of them have stains. We cover that up."
via:boingboing video advertising commercial tv monthly 2009 Oct 30, 10:33"What does a Uniform Resource Identifier (URI) mean? Does it have a sense, and can it refer to things?" I hope it will cover some of the new scheme vs always HTTP scheme and distinct vs not distinct
URLs for a real world object and its web page perma-arguments.
via:connolly url uri w3c semanticweb http todo technical 2009 Oct 28, 8:31"The presentation will focus on the pioneering work of Paul Otlet, Vannevar Bush, and Doug Engelbart, forebears of the 1960s and 1970s like Ted Nelson, Andries van Dam, and the Xerox PARC team, and
more recent forays like Brown's Intermedia system." Covers things like As We May Think and others who could have made the Web. Would love to have this as a summary with links to everything rather
than a video =)
via:connolly technical google video internet web information technology memex 2009 Sep 25, 2:19
Irritatingly out of line with what their commercials say, in my area Comcast, under the covers of the national
broadcast digital switch, is sneaking in their own switch to digital, moving channels above 30 to their own digital format. Previously, I had Windows 7 Media Center running on a PC with a Hauppauge PVR500 which can decode two television signals at once setup to record shows I like. The XBox 360 works
great as a Media Center client letting me easily watch the recorded shows over my home network on my normal TV.
Unfortunately with Comcast's change, now one needs a cable box or a Comcast digital to analog converter in order to view their signal, but Comcast is offering up to two free converters for those
who'd like them. The second of my two free converters I hooked up to the Media Center PC and I got the IR Blaster that came with my Hauppauge out of the garage. I plugged in the USB IR Blaster to
my PC, connected one of the IR transmitters to the 1st port on the IR Blaster, and sat the IR transmitter next to the converter's IR receiver. I went through the Media Center TV setup again and
happily it was able to figure out how to correctly change the channel on the converter. So I can record now, however:
- I can only record one thing at a time now
- Changing the channel is slow taking many seconds (no flipping through channels for me)
- The Hauppauge card can't know if the channel change worked. So if it tries to change to HBO (I get it for free with one of the Comcast packages) which is encrypted and the converted won't show,
the channel doesn't change but the PC doesn't know it and ends up recording some other channel.
To fix (3) I need to manually go through and remove channels I don't have from the Media Center. To fix (1) I may be able to get a second IR transmitter, a third digital converter, hook it up to
one of the other inputs on my Hauppauge, and go back through the Media Center TV setup. There's no fix for (2) but that's not so bad. All in all, its just generally frustrating that they're breaking
my setup with no obvious benefit.
digital tv hauppauge mce cable windows media center comcast 2009 Sep 9, 5:35The FTP spec's section 3.5 'ERROR RECOVERY AND RESTART' describes how to resume an FTP download.
ietf reference ftp rfc resume download internet technical 2009 Aug 18, 4:19
Before we shipped IE8 there were no Accelerators, so we had some fun making our own for our favorite web services. I've got a small set of tips for creating Accelerators for other people's web
services. I was planning on writing this up as an IE blog post, but Jon wrote a post covering a
similar area so rather than write a full and coherent blog post I'll just list a few points:
- The first thing to try is looking for developer help for the web service, specifically if there's a REST-ful URL based API. For example, Bing Maps has great URL API documentation that would
be enough to create an Accelerator.
- The Accelerator XML is very similar to HTML forms. If you can find an HTML form for the web service for which you want to create an Accelerator, you can view the HTML source and create an
Accelerator based on that.
- I created the FormToAccelerator extension based on the previous idea. You can
use the extension to create an Accelerator from an HTML form, or just use it to create the start of one and edit it manually after.
- If the page doesn't use an HTML form, you can start up an HTTP debugger like Fiddler, use the web service from the normal web
page, and then in Fiddler see if you can find a REST-ful looking URL you can use.
- When looking to create a preview for your Accelerator, see if the web page for the web service has a mobile version or a version that's intended to embed in other web pages via an iframe. On
this same line, iPhone apps make great Accelerators usually with lovely previews.
- If there's no mobile or embeddable version and the only thing wrong with the normal web page for the web service is that the useful information doesn't fit in the preview window then see if you
can find an HTML tag with a name or id near the useful information, and stick a '#' fragment pointing to that tag onto the preview URL template.
- Without a reasonable REST-ful API you can use a combination of Google's "site:" and "I'm Feeling Lucky" to find the most relevant page on a particular site.
- The value of a name and value pair need not consist of only a single Accelerator variable. You can get creative and put other text in there. For instance, I implemented a Google currency conversion by setting the query to "{selection} in US Dollars".
technical accelerator ie8 ie 2009 Aug 5, 2:18"Mythbuster Adam Savage attended this year's Con ... he roamed the convention floor in his own costume and egged his Twitter followers to sniff him out." He dressed as The Joker from the opening
scene of The Dark Knight.
comic-con humor adam-savage myth-busters tv 2009 Jun 26, 8:59"When I stated looking at what could be done using explorer objects from PowerShell I 'discovered' the extended properties."
shell windows powershell tutorial code programming explorer technical 2009 Jun 12, 12:20"We have discovered remotely-exploitable vulnerabilities in Green Dam, the censorship software reportedly mandated by the Chinese government. Any web site a Green Dam user visits can take control of
the PC. According to press reports, China will soon require all PCs sold in the country to include Green Dam. This software monitors web sites visited and other activity on the computer and blocks
adult content as well as politically sensitive material."
censorship china hack security internet greendam 2009 May 29, 8:59Don't need to cover _flash bulbs_ with infrared paint, but the paint is to block out all but infrared light so could be useful otherwise. Via
ir photography recipe ir-paint 2009 May 22, 6:59"...but we do know enough to say that if time travel were possible, certain rules would have to be obeyed. ... So if you wanted to create a fictional world involving travel through time, here are
10+1 rules by which you should try to play." I always liked Bill & Ted's time travel mechanics better than Back to the Future's - not that it made for a better movie of course. I'd like to see a
chart comparing the time travel mechanics of well known fiction that features time travel.
time-travel movie fiction bttf 2009 Mar 20, 4:51
Working on Internet Explorer extensions in C++ & COM, I had to relearn or rediscover how to do several totally basic and important things. To save myself and possibly others trouble in the
future, here's some pertinent links and tips.
First you must choose your IE extensibility point. Here's a very short list of the few I've used:
Once you've created your COM object that implements IObjectWithSite and whatever other interfaces your extensibility point requires as described in the above links you'll see your SetSite method
get called by IE. You might want to know how to get the top level browser object from the IUnknown site object passed in via that method.
After that you may also want to listen for some events from the browser. To do this you'll need to:
- Implement the dispinterface that has the event you want. For instance DWebBrowserEvents2, or HTMLDocumentEvents, or HTMLWindowEvents2. You'll have
to search around in that area of the documentation to find the event you're looking for.
- Register for events using AtlAdvise. The object you need to subscribe to depends on the events you want. For example, DWebBrowserEvents2 come from the webbrowser object, HTMLDocumentEvents come
from the document object assuming its an HTML document (I obtained via get_Document method on the webbrowser), and
HTMLWindowEvents2 come from the window object (which oddly I obtained via calling the get_script method on the document object).
Note that depending on when your SetSite method is called the document may not exist yet. For my extension I signed up for browser events immediately and then listened for events like NavigateComplete before signing up for document and window events.
- Implement IDispatch. The Invoke method will get called with event notifications from the dispinterfaces you sign up for in AtlAdvise. Implementing Invoke manually is a slight pain as all the
parameters come in as VARIANTs and are in reverse order. There's some ATL macros that may make this easier but I didn't bother.
- Call AtlUnadvise at some point -- at the latest when SetSite is called again and your site object changes.
If you want to check if an IHTMLElement is not visible on screen due how the page is scrolled, try comparing the Body or
Document Element's client height and width,
which appears to be the dimensions of the visible document area, to the element's bounding client rect which appears to be
its position relative to the upper left corner of the visible document area. I've found this to be working for me so far, but I'm not positive that frames, iframes, zooming, editable document
areas, etc won't mess this up.
Be sure to use pointers you get from the IWebBrowser/IHTMLDocument/etc. only on the thread on which you obtained the pointer or correctly marshal the pointers to other threads to avoid weird crashes and hangs.
Obtaining the HTML document of a subframe is slightly more complicated then you might hope. On the other hand this might
be resolved by the new to IE8 method IHTMLFrameElement3::get_contentDocument
Check out Eric's IE blog post on IE extensibility which has some great links on this topic as well.
technical boring internet explorer com c++ ihtmlelement extension 2009 Feb 26, 11:52This is what I'd like in a newspaper: "1: Focus on original content, do not rewrite wire stories or press releases." and "2: Focus on hyper-local coverage, newspapers should "own" their regional beat
because they have the best contacts and the best understanding of local companies and issues."
via:sambrook newspaper advertising business journalism internet 2009 Feb 5, 8:39The long expired draft of the Web Proxy Autodiscovery Protocol (WPAD). To summarize, use DHCP and failing that DNS to find the name of a web server and on that web server find a Proxy Auto-Config
file at a well known localtion.
wpad proxy internet reference browser dns dhcp 2009 Jan 15, 9:41"Russell and I thought it would be interesting to take some stuff from the internet and print it in a newspaper format. Words as well as pictures. Like a Daily Me, but slower. When we discovered that
most newspaper printers will let you do a short run on their press (this was exactly the same spec as the News Of The World) we decided to have some fun."
blog internet design art newspaper typography print publishing via:mattb 2009 Jan 14, 2:03Google Maps now has a public transit route finder. Would have been useful in Munich and certainly will be useful here at home since they cover the Seattle area including the east-side. "I'm pleased
to announce the launch of the Transit Layer on Google Maps in more than 50 cities around the world making it easier for citizens and tourists around the globe to access public transportation line
information in their cities."
google map travel bus traffic seattle redmond munich transportation maps public-transportation transit 2009 Jan 10, 1:00We may not have 3D printers yet but this is certainly a step in the correct direction. "A second later, you remove your finger from the terrifyingly feminine gom jabbar, and you have your nail all
done and ready to go. A brief cover of clear fingernail polish for protection, and you're ready to go out and enjoy the rest of CES while awkwardly not explaining why you have a heart on your
finger."
barbie humor nail ces arstechnica video technology 2008 Dec 29, 2:37"When the Hype Machine finds new songs in the blogosphere, Taggedhype looks up each track's tags on Last.fm and stores the result in Delicious. It's an elegant and useful mashup, that somehow has
managed to remain relatively undiscovered."
delicious music tag geek taggedhype via:thefangmonster podcast