2014 May 22, 1:02
"The Flexbox Layout (Flexible Box) module (currently a W3C Candidate Recommendation) aims at providing a more efficient way to lay out, align and…"
Great diagrams showing the use of the various flex css properties. I can never keep them straight so this is perfect for me.
technical css flex 2011 May 10, 10:49Interesting standards disagreements showing up in specs: "Some implementers feel a same-origin restriction should be the default for all new resource types while others feel strongly that an opt-in
strategy usuable for all resource types would be a better mechanism and that the default should always be to allow cross-origin linking for consistency with existing resource types (e.g. script,
images). As such, this section should be considered at risk for removal if the consensus is to use an alternative mechanism."
reference web development font specification w3c css3 2011 Apr 4, 10:00
Working on GeolocMock it took me a bit to realize why my HTML could use the W3C Geolocation API in IE9 but not in my WebBrowser control in
my .NET application. Eventually I realized that I was getting the wrong IE doc mode. Reading this old More IE8 Extensibility Improvements IE blog post from the IE blog I found the issue is that for app
compat the WebOC picks older doc modes but an app hosting the WebOC can set a regkey to get different doc modes. The IE9 mode isn't listed in that article but I took a guess based on the values
there and the decimal value 9999 gets my app IE9 mode. The following is the code I run in my application to set its regkey so that my app can get the IE9 doc mode and use the geolocation API.
static private void UseIE9DocMode()
{
RegistryKey key = null;
try
{
key = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Internet Explorer\\Main\\FeatureControl\\FEATURE_BROWSER_EMULATION", true);
}
catch (Exception)
{
key = Registry.CurrentUser.CreateSubKey("Software\\Microsoft\\Internet Explorer\\Main\\FeatureControl\\FEATURE_BROWSER_EMULATION");
}
key.SetValue(System.Diagnostics.Process.GetCurrentProcess().MainModule.ModuleName, 9999, RegistryValueKind.DWord);
key.Close();
}
weboc fck ie document mode technical ie9 2009 Dec 4, 5:05"Astronaut Michael Barratt (Expedition 20 Flight Engineer) walks you through the International Space Station in this 20-minute long HD video, which covers the entire 167 feet of the space station's
pressurized modules."
space video space-station 2009 Jul 23, 2:59"hand-typed from original scans by the Virtual AGS project; in the comments, numero mysterioso and hope hope hope"
humor code space programming via:waxy technical 2008 Aug 25, 10:13
As noted previously, my page consists of the
aggregation of my various feeds and in working on that code recently it was again brought to my attention that everyone has different ways of representing tag metadata in feeds. I made up a
list of how my various feed sources represent tags and list that data here so that it might help others in the future.
Tag markup from various sources
Source
|
Feed Type
|
Tag Markup Scheme
|
One Tag Per Element
|
Tag Scheme URI
|
Human / Machine Names
|
Example Markup
|
LiveJournal
|
Atom
|
atom:category
|
yes
|
no
|
no
|
, (source)
|
LiveJournal
|
RSS 2.0
|
rss2:category
|
yes
|
no
|
no
|
technical
(soure)
|
WordPress
|
RSS 2.0
|
rss2:category
|
yes
|
no
|
no
|
, (source)
|
Delicious
|
RSS 1.0
|
dc:subject
|
no
|
no
|
no
|
photosynth photos 3d tool
(source)
|
Delicious
|
RSS 2.0
|
rss2:category
|
yes
|
yes
|
no
|
domain="http://delicious.com/SequelGuy/">
hulu
(source)
|
Flickr
|
Atom
|
atom:category
|
yes
|
yes
|
no
|
term="seattle"
scheme="http://www.flickr.com/photos/tags/" />
(source)
|
Flickr
|
RSS 2.0
|
media:category
|
no
|
yes
|
no
|
scheme="urn:flickr:tags">
seattle washington baseball mariners
(source)
|
YouTube
|
RSS 2.0
|
media:category
|
no
|
no
|
no
|
label="Tags">
bunny rabbit yawn cadbury
(source)
|
LibraryThing
|
RSS 2.0
|
No explicit tag metadata.
|
no
|
no
|
no
|
n/a, (source)
|
Tag markup scheme
Tag Markup Scheme
|
Notes
|
Example
|
Atom Category
atom:category
xmlns:atom="http://www.w3.org/2005/Atom"
|
-
category/@term
-
Required category name.
-
category/@scheme
-
Optional IRI id'ing the categorization scheme.
-
category/@label
-
Optional human readable category name.
|
term="catName"
scheme="tag:deletethis.net,2008:tagscheme"
label="category name in human readable format"/>
|
RSS 2.0 category
rss2:category
empty namespace
|
-
category/@domain
-
Optional string id'ing the categorization scheme.
-
category/text()
-
Required category name. The value of the element is a forward-slash-separated string that identifies a hierarchic location in the indicated taxonomy. Processors may establish conventions
for the interpretation of categories.
|
domain="tag:deletethis.net,2008:tagscheme">
MSFT
|
Yahoo Media RSS Module category
media:category
xmlns:media="http://search.yahoo.com/mrss/"
|
-
category/text()
-
Required category name.
-
category/@domain
-
Optional string id'ing the categorization scheme.
|
scheme="http://dmoz.org"
label="Ace Ventura - Pet Detective">
Arts/Movies/Titles/A/Ace_Ventura_Series/Ace_Ventura_-_Pet_Detective
|
Dublin Core subject
dc:subject
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
-
subject/text()
-
Required category name. Typically, the subject will be represented using keywords, key phrases, or classification codes. Recommended best practice is to use a controlled vocabulary.
|
humor
|
Update 2009-9-14: Added WordPress to the Tag Markup table and namespaces to the Tag Markup Scheme table.
feed media delicious technical atom youtube yahoo rss tag 2007 May 22, 3:22I've created an
update to the IE7 feed display.
After working on my
update to the XML source view I tried running my resourcelist program on other IE DLLs including ieframe. I found that
one of the resources in ieframe is the XSLT used to turn an
RSS feed into the IE7 feed display.
My first thought for this was that I could embed enclosures into the feed display. For instance, have controls for youtube.com videos or podcast audio files directly in the feed display. However, I
found that I can't use object or embed tags that rely on ActiveX controls in the page or in frames in the feed display.
With that through I decided I could at least add support for some RSS extensions. Thanks to
IE7's RSS platform which provides a
normalized view of RSS feeds it was really easy to do this. I went to several popular RSS feeds and RSS feeds that I like and took a look at the source to see what extensions I might want to add
support for.
For
digg.com I added support for
their RSS extension which includes digg count, and submitter name and icon. I
added the digg count in a box on the right and tried to make it fit in stylistically. For the
iTunes RSS extension
I add the feed icon, feed author, and descriptions. I was surprised by how much of the podcasts content was missing from the feed view. I also added support for a few other misc things: the
slash RSS extension's section and department, the feed description to the top of the feed display, and the atom author icon.
I wonder what other goodies lurk in IE's resources...
feed res slashdot digg resource itunes technical browser ie rss extension 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 2007 May 9, 9:47MSDN documentation on the res URI scheme which resolves resources in Windows modules.
msdn uri res microsoft schema scheme resource module 2007 May 9, 4:15I read about
text/xml URI fragment resolution a few months ago. I was interested to find another kind of fragment reference other than the text/html URI
fragment but of course I didn't find an implementation in IE, Firefox, or Opera. I decided to see how much work would be required to implement this in IE.
In IE and Firefox when you open an XML file that doesn't have an XML stylesheet the XML source is rendered with syntax highlighting. In IE I also noticed that the gold bar appears when you open an
XML file off of your local machine. To me this suggested that the XML source was being rendered as HTML which I assumed was produced by running an XSLT on the source XML file. If so, I figured I
could modify the XSLT to implement text/xml URI fragments. I ran
FileMon to see if iexplore.exe loaded an
XSLT file when opening an XML file. Only the XML file and MSXML3.DLL were opened and no XSLTs were loaded as files. My next hope for modifying the XSLT was if it existed as a resource in MSXML3.DLL.
I did a findstr on the DLL for SCRIPT and found an XSLT so I decided to check for resources in MSXML3.DLL. Unfortunately my previous resource viewer didn't work correctly so I decided to write my
own.
I created
resource tools to view and modify resources in Windows modules. The viewer outputs HTML with links to the
individual resources of a module using the
res URI scheme that's built into IE. The modifier is a simple command line tool that
replaces or adds one resource at a time to a module.
Using these tools I found that the XSLT was stored as a resource in MSXML3.DLL. I'll talk more about the existing XSLT and the one I replaced it with next time.
resource technical xml msxml res xslt xsl