2012 Jun 7, 9:15
Such tips as: “don’t hand out cash to dinner guests” reveal what foreign tourists findsurprising about coming to America.
humor travel us 2011 Jan 4, 7:25How to take ownership and re-ACL registry keys from a powershell prompt.
technical powershell acl regkey registry windows 2010 Feb 19, 2:27Raymond's tips for modifying x86 assembly code while debugging.
tutorial debug debugging technical assembly x86 windows raymond-chen tips 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 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 May 27, 3:39A fancy tab completion script for Vim that does neat things for Java. Links to other Java+Vim tips as wel.
vim java script reference 2009 Apr 12, 6:36"MonasticXML.org is a look at XML from a different angle, focusing on what markup is best at rather than what markup can do to solve a particular problem or set of problems. While XML is powerful,
developers seem insistent on using XML in ways which seem convenient for a moment but which cause much greater trouble down the line to both their projects and to markup itself."
xml howto tips 2009 Mar 23, 9:35Ohhh some nice ones in here. "Command-Line-Fu is the place to record those command-line gems that you return to again and again."
shell unix linux cli howto tips via:swannman 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 2008 Oct 25, 10:22My Xbox has a blog and my Wii has an email address: "Email a chum's Wii: You'll need to have a record of those damnably unmemorable friend codes for anyone you want to mail, but once you do it's
simple: just drop a message to w[friendcode]@wii.com. For instance, w1234567891011@wii.com."
wii howto email nintendo tips via:sarah 2008 Apr 7, 1:50Attach spam's pre-paid postage to objects and mail them back. FTA: "Dear Bulk Mailer, Please find attached to your no-postage-necessary envelope, this brick."
humor box junk mail prank spam howto 2008 Feb 22, 9:50FTA: "This page summarises results for a set of tests aimed at discovering whether bidirectional text is displayed as expected in the window title bar and tooltips." Punchline: generally, no they're
not.
bidi internationalization w3c browser web ie6 firefox opera 2008 Feb 8, 3:27Tips on adding structured content to your webpages including microformats (ugh).
semantic semantic-web web html tips howto microformats 2007 Nov 12, 1:48A guide to the why of various nerdy behavior. I find some of this applicable to me.
nerd humor article tips social howto via:swannman 2007 Nov 12, 1:15How to turn off the PC speaker in Windows.
audio tips howto pc-speaker sound windows beep setupnewcomputer 2007 Sep 28, 11:24How to get mstsc to span multiple monitors -- sort of. Actually this kind of sucks. It just makes my TS session the size of a rectangle that would include all of my client side monitors.
desktop remote mstsc tools tool tips windows microsoft blog article howto vista 2007 Sep 28, 11:13Using Win2K3's timewarp feature
backup windows timewarp microsoft blog raymond-chen tips howto 2007 Sep 10, 4:29Bookmarklet suggestions for the iPhone.
apple iphone bookmarklets browser hack script javascript 2007 Jul 11, 9:54Stats on who uses social networks.
research reference statistics social web