2010 Mar 12, 1:28
It was relatively easy, although still more difficult than I would have guessed, to hook my bespoke website's Atom feed up to Google Buzz. I already have a Google email account and associated
profile so Buzz just showed up in my Gmail interface. Setting it up it offered to connect to my YouTube account or my Google
Chat account but I didn't see an option to connect to an arbitrary RSS or Atom feed like I expected.
But of course hooking up an arbitrary Atom or RSS feed is documented. You hook it up in the same manner you
claim a website as your own via the Google Profile (for some reason they want to ensure you own the feed connected to your Buzz account). You do this via Google's social graph API which uses XFN or
FOAF. I used XFN by simply adding a link to my feed to my Google profile (And be sure to check the 'This is a profile page about me' which ensures that a rel="me" tag is added to the HTML on your
profile. This is how XFN works.) And by adding a corresponding link in my feed back to my Google profile page with the following:
atom:link rel="me" href="http://www.google.com/profiles/david.risney"
I used this
Google tool to check my XFN
connections and when I checked back the next day my feed showed up in Google Buzz's configuration dialog.
So more difficult than I would have expected (more difficult than just an 'Add your feed' button and textbox) but not super difficult. And yet after reading this Buzz from DeWitt Clinton I feel better about opting-in to Google's Social API.
technical atom google buzz rss social 2010 Mar 12, 9:20Charles Stross on the business and technical aspects of writing and selling a series of books - specifically The Family Trade series for which the next in the series is due out soon.
charles-stross family-trade book literature business 2010 Mar 11, 3:33"The headers and captions on http://diveintohtml5.org/ use an open source font called "Essays 1743." The creator of that font was looking for a tutorial on HTML5, came across my site, and was
pleasantly surprised to see his own work on prominent display. He now wants to update his font to include stylistically appropriate Unicode arrows, which I will then use with my captions.
The internet is awesome. It's so wonderfully intertwingled."
html html5 mark-pilgrim font technical 2010 Feb 26, 8:50Did I read this already on Paleo-Future? Anyway still an awesome 1995 rant on why the Internet will fail. "Then there’s cyberbusiness. We’re promised instant catalog shopping–just point and click for
great deals. We’ll order airline tickets over the network, make restaurant reservations and negotiate sales contracts. Stores will become obselete. So how come my local mall does more business in an
afternoon than the entire Internet handles in a month? Even if there were a trustworthy way to send money over the Internet–which there isn’t–the network is missing a most essential ingredient of
capitalism: salespeople."
humor internet fail article history 2010 Feb 25, 4:10Comcast is running an opt-in DNSSEC trial for all Comcast customers. Their FAQ covers the incompat. of DNSSEC with their Comcast Domain Helper (typo DNS redirects to Comcast ads... bleh!): "What
happens to Comcast Domain Helper, which offers DNS redirect services, when you fully implement DNSSEC? We believe that the web error redirection function of Comcast Domain Helper is technically
incompatible with DNSSEC. Comcast has always known this and plans to turn off such redirection when DNSSEC is fully implemented." Yay!
dns dnssec comcast faq internet ip security technical 2010 Jan 29, 3:54
Raymond Chen has some thought experiments useful for discovering various kinds of stupidity in software design:
Tim Berners-Lee's principles of Web design includes my favorite: Test of Independent Invention. This has a thought experiment containing the construction of the MMM (Multi-Media Mesh) with
MRIs (Media Resource Identifiers) and MMTP (Muli-Media Transport Protocol).
The Internet design principles (RFC 1958) includes the Robustness Principle: be strict when sending and tolerant when receiving. A good one, but applied too liberally can lead to interop issues. For instance, consider web browsers.
Imagine one browser becomes so popular that web devs create web pages and just test out their pages in this popular browser. They don't ensure their pages conform to standards and accidentally end
up depending on the manner in which this popular browser tolerantly accepts non-standard input. This non-standard behavior ends up as de facto standard and future updates to the standard
essentially has had decisions made for it.
technical design principles software development 2010 Jan 28, 2:32A typical blog post with typical blog post comments... "This comment gives a link to a YouTube video which is proffered as an excellent example of the thesis of the post, but, is actually only
tangentially so at best."
humor blog web troll 2010 Jan 25, 5:25"...file a complaint with the World Trade Organization, contesting China’s internet censorship as a breach of the international trade rules to which China, as a WTO member, is subject. The US can
argue that China’s “Great Firewall”–a system of filters and bottlenecks that effectively shutters the country within its own intranet–is an illegal restraint on international trade because it bars
foreign companies from competing, via the internet, in the vast Chinese market."
economics wto politics google china internet censorship us 2010 Jan 22, 1:44"He seeded the customer's parking lot with USB flash drives, each of which had a Trojan horse installed on it. When the employees arrived for work in the morning, they were quite excited to find the
free gadgets laying around the parking lot. Employees eagerly collected the USB drives and plugged them into the first computers they came across: their own workstations."
via:ericlaw security usb windows social-engineering computer technical 2010 Jan 22, 1:23Canada's National Film Board gives the successful stats of its website on which you can watch their films.
free video film canada movie internet statistics 2010 Jan 20, 2:03The only doctor in Antarctica has to remove his own appendix. "When Rogozov had made the incision and was manipulating his own innards as he removed the appendix, his intestine gurgled, which was
highly unpleasant for us..." Oh wow, Rogozov should for sure appologize for making you uncomfortable. Jerk. There's photos in the report too. Gross.
history science medicine antarctic appendix russia via:kottke 2010 Jan 12, 9:02"We have decided we are no longer willing to continue censoring our results on Google.cn, and so over the next few weeks we will be discussing with the Chinese government the basis on which we could
operate an unfiltered search engine within the law, if at all. We recognize that this may well mean having to shut down Google.cn, and potentially our offices in China."
google china politics privacy censorship internet web search 2010 Jan 10, 4:07
Irritatingly, my G1 won't show me PDFs so I've made the Google Docs PDF viewer which will load PDFs on the
web up in Google Docs. Google Docs has the useful ability to display PDFs in web
browsers without any Adobe software and works (mostly) on Android.
This was very easy to put together as an Android activity. First its necessary to register the application as handling PDFs from the web. This is done via the intent-filter declaration in the
manifest:
intent-filter
action android:name="android.intent.action.VIEW"/
data android:scheme="http" android:mimeType="application/pdf"/
category android:name="android.intent.category.DEFAULT"/
category android:name="android.intent.category.BROWSABLE"/
/intent-filter
The action part says my activity will view PDFs, the data part says it accepts data with the PDF mime-type and with a URL that has an HTTP scheme. The browsable category
is necessary to allow links from a browser to open this activity.
Second, the activity opens up the browser to Google Docs pointing to the PDF.
Intent intent = new Intent();
intent.setAction(getIntent().getAction());
intent.setData(Uri.parse(
"http://docs.google.com/gview?embedded=true&url=" +
percentEncodeForQuery(getIntent().getData().toString())));
startActivity(intent);
This is very simple code to invoke a new intent browsing to a newly constructed URL for the PDF in Google Docs. That was easy.
google docs technical g1 code activity programming android google pdf 2010 Jan 8, 2:08Flickr dev talks image metadata the various forms which to prefer and how to guess at their character encodings.
unicode charset flickr photo image exif programming reference xmp technical 2010 Jan 5, 7:42
I've made a WPAD server Fiddler extension and in a fit of creativity I've named it: WPAD Server Fiddler
Extension.
Of course you know about Fiddler, Eric's awesome HTTP debugger tool, the HTTP proxy that lets you inspect, visualize and modify the
HTTP traffic that flows through it. And on the subject you've probably definitely heard of WPAD, the Web Proxy Auto Discovery protocol
that allows web browsers like IE to use DHCP or DNS to automatically discover HTTP proxies on their network. While working on a particularly nasty WPAD bug towards the end of IE8 I really wished I
had a way to see the WPAD requests and responses and modify PAC responses in Fiddler. Well the wishes of me of the past are now fulfilled by present day me as this Fiddler extension will respond to
WPAD DHCP requests telling those clients (by default) that Fiddler is their proxy.
When I started working on this project I didn't really understand how DHCP worked especially with respect to WPAD. I won't bore you with my misconceptions: it works by having your one DHCP server
on your network respond to regular DHCP requests as well as WPAD DHCP requests. And Windows I've found runs a DHCP client service (you can start/stop it via Start|Run|'services.msc', scroll to DHCP
Client or via the command line with "net start/stop 'DHCP Client'") that caches DHCP server responses making it just slightly more difficult to test and debug my extension. If a Windows app uses
the DHCP client APIs to ask for the WPAD option, this service will send out a DHCP request and take the first DHCP server response it gets. That means that if you're on a network with a DHCP
server, my extension will be racing to respond to the client. If the DHCP server wins then the client ignores the WPAD response from my extension.
Various documents and tools I found useful while working on this:
proxy fiddler http technical debug wpad pac tool dhcp 2010 Jan 5, 1:47
The New Super Mario Bros. Wii is a great game. Its the fun of old school Mario with the addition of great graphics and the kind of multiplayer I've wanted for Mario since playing the original as a
child: its got up to four player simultaneous cooperative multiplayer. I recommend it to anyone who has enjoyed Mario in the past. Watch this amazing video of level 1-3 you can unlock in the game.
As noted elsewhere, multiple players attempting to navigate platforms, grab power ups, and throw turtle shells creates new
challenges but along with that there's new ways to be incredibly cheap.
-
Jumping Higher
-
A second player means a head one can jump on to reach higher locations. Jump on your friend's head at the apex of their jump while holding down the jump button yourself for maximum jumping. In
the game you can also grab other players and hold them over your head. This is useful for reaching the top of the flagpole at the end of levels. On that same line, if the player you grab has a
flying cap you can now use them to fly in the same manner you would use a flying block which makes it easy to get two players to the top of the finish flagpole if only one of you has a flying
cap.
-
Power-Ups
-
Normal power-up blocks now spawn enough power-ups for everyone. A mushroom is spawned for each small player and full power-ups for the rest, except in the case everyone is small: then one of the
power-ups is a full power-up. If there's two players and you're both small, the full power-up always jumps out of the block to the right. Some hidden power-up blocks only give out one power-up
and in that case its a mushroom or not based on the player who hits the block - so be sure that a big player hits that if you have one.
-
Death & Bubbles
-
When a player dies but at least one other player lives the dead player comes back in a limbo bubble from which they must be released before they may play again. Because of this, in a tough spot
you can send one player in and leave a second behind. If the first dies you don't lose your place in the level and the first comes back in a bubble ready to try again. For instance, if you're
trying to get the last star coin in 2-1 which sits just above the abyss, one player can just jump to their death for it and as long as another player lives you've collected the coin. However you
need not sacrifice your life to do this: you can press down and 'a' to force yourself into a bubble saving yourself from death. This is true in general as long as you have enough time to see your
death coming. This is also useful if one player runs ahead to the right. The screen will expand a bit but then it will just move to the right following the player in the lead. Players left behind
walls or now forced into lava pits will die unless they use the bubble.
-
Misc.
-
- If all players hit the ground at the same time from a ground pound it acts like hitting a pow block, killing the enemies on the screen.
- If you hold a player who has a projectile power over your head they can still use their power.
- Bubbles can be popped by hitting them with your fire or ice projectiles as well as thrown shells or blocks.
- All players get the extra lives from anyone collecting 100 coins or finishing a level with more than 7 enemies on the screen.
multiplayer mario wii 2009 Dec 31, 1:50Har har: "I had a fantasy in which the Fed and the TSA (Transportation Security Administration) switched roles. If a bank failed at 9 a.m. one morning and shut its doors, the TSA would announce that
all banks henceforth begin their business day at 10 a.m. And, if a terrorist managed to get on board a plane between Stockholm and Washington, the Fed would increase the number of flights between the
cities."
economics humor airplane emanuel-derman tsa fed government 2009 Dec 18, 2:36"I somehow ended up reading about spite houses (homes built specifically to piss off a neighbor) this evening, which I had never heard of before. Flickr has several when you search the tags,
including the sad story behind this house in Connecticut."
humor spite hose flickr image 2009 Dec 14, 2:58"But this isn’t just another Android phone. ... It will be branded Google and sold by Google as an unlocked phone, which could change everything."
phone mobile google cellphone android 2009 Dec 8, 1:53Supervillain Richard Branson narrates his Virgin Galactic video in which he describes his future domination of all of space.
video science richard-branson virgin-galactic space tourism transportation