cc page 8 - Dave's Blog

Search
My timeline on Mastodon

(via School of Fail: Technically Not Inaccurate.)

2012 Feb 24, 5:22


(via School of Fail: Technically Not Inaccurate.)

PermalinkCommentshumor harry-potter school

Why I Like Glitch

2012 Feb 17, 4:00

Sarah and I have been enjoying Glitch for a while now. Reviews are usually positive although occasionally biting (but mostly accurate).

I enjoy Glitch as a game of exploration: exploring the game's lands with hidden and secret rooms, and exploring the games skills and game mechanics. The issue with my enjoyment coming from exploration is that after I've explored all streets and learned all skills I've got nothing left to do. But I've found that even after that I can have fun writing client side JavaScript against Glitch's web APIs making tools (I work on the Glitch Helperator) for use in Glitch. And on a semi-regular basis they add new features reviving my interest in the game itself.

PermalinkCommentsvideo-game glitch glitch-helperator me project game

Blackmail DRM - Stolen Thoughts

2012 Feb 13, 4:00

Most existing DRM attempts to only allow the user to access the DRM'ed content with particular applications or with particular credentials so that if the file is shared it won't be useful to others. A better solution is to encode any of the user's horrible secrets into unique versions of the DRM'ed content so that the user won't want to share it. Entangle the users and the content provider's secrets together in one document and accordingly their interests. I call this Blackmail DRM. For an implementation it is important to point out that the user's horrible secret doesn't need to be verified as accurate, but merely verified as believable.

Apparently I need to get these blog posts written faster because only recently I read about Social DRM which is a light weight version of my idea but with a misleading name. Instead of horrible secrets, they say they'll use personal information like the user's name in the DRM'ed content. More of my thoughts stolen and before I even had a chance to think of it first!

PermalinkCommentsdrm blackmail blackmail-drm technical humor social-drm

Devs celebrate Double Fine's Kickstarter success

2012 Feb 10, 3:40

Some backhanded compliments towards the end =).  Exciting regardless.

PermalinkCommentsgame video-game double-fine kickstarter tim-schafer

GLYPHICONS - icon library

2012 Feb 1, 9:30

Library of simple and lovely icons available in smaller form for free under CC BY.

PermalinkCommentstechnical icon cc creative-commons

Bootstrap 2 released

2012 Feb 1, 9:28

An HTML and CSS UI framework - common icons and layout necessary for web apps - all free under Creative Commons BY and Apache 2

PermalinkCommentscss html creative-commons cc technical

(via Defend our freedom to share (or why SOPA is a bad idea):...

2012 Jan 18, 3:21


(via Defend our freedom to share (or why SOPA is a bad idea): Clay Shirky on TED.com)

PermalinkCommentsvideo copyright clay-shirky sopa pipa legal politics mpaa ted

Musée McCord Museum’s photostream on Flickr.

2012 Jan 15, 10:37


Foot race, Dawson City, YT, about 1900Cricket match, McGill campus, Montreal, QC, about 1890Football game on campus, McGill University, Montreal, QC, about 1900S. S. "Nascopie" at sealing grounds, 1927

Musée McCord Museum’s photostream on Flickr.

PermalinkCommentsphoto old-timey black-and-white history

(via M.C. Escher does Romeo and Juliet in the zany first trailer...

2012 Jan 2, 8:56


(via M.C. Escher does Romeo and Juliet in the zany first trailer for Upside Down [Video])

Pretty trailer!

PermalinkCommentsmovie trailer

Hacking Google for Fun and Profit (andrewcantino.com)

2011 Dec 28, 5:34

First hand account of security researcher reporting security issues to Google and details on the security issues.

PermalinkCommentstechnical google security csrf

Report: Kindle produces nearly no electrical interference. FAA: "LALALALALA"

2011 Dec 28, 3:34

FTA: “Nick Bilton put the FAA’s claims regarding Kindles and airline avionics to the test. The result? They emit less EM interference than planes are required by law to withstand.” Much less, apparently.

PermalinkCommentsplane kindle

Save the Rich - Garfunkel and Oates with Weird Al Yankovic

2011 Dec 23, 6:45PermalinkCommentshumor video weird-al garfunkel-and-oates 99-percent occupy-wallstreet

(via CCTV Mobile by Banksy)

2011 Dec 14, 7:49


(via CCTV Mobile by Banksy)

PermalinkCommentscute art

draft-liman-tld-names-06 - Top Level Domain Name Specification

2011 Dec 4, 3:00

“The syntax for allowed Top-Level Domain (TLD) labels in the Domain Name System (DNS) is not clearly applicable to the encoding of Internationalised Domain Names (IDNs) as TLDs. This document provides a concise specification of TLD label syntax based on existing syntax documentation, extended minimally to accommodate IDNs.” Still irritated about arbitrary TLDs.

PermalinkCommentstechnical syntax dns tld idn

Bug Spotting: Ctors with default parameters

2011 Dec 1, 4:59

The following code compiled just fine but did not at all act in the manner I expected:

BOOL CheckForThing(__in CObj *pObj, __in IFigMgr* pFigMgr, __in_opt LPCWSTR url)
{
BOOL fCheck = FALSE;
if (SubCheck(pObj))
{
...
I’m calling SubCheck which looks like:
bool SubCheck(const CObj& obj);

Did you spot the bug? As you can see I should be passing in *pObj not pObj since the method takes a const CObj& not a CObj*. But then why does it compile?

It works because CObj has a constructor with all but one param with default values and CObj is derived from IUnknown:

CObj(__in_opt IUnknown * pUnkOuter, __in_opt LPCWSTR pszUrl = NULL);
Accordingly C++ uses this constructor as an implicit conversion operator. So instead of passing in my CObj, I end up creating a new CObj on the stack passing in the CObj I wanted as the outer object which has a number of issues.

The lesson is unless you really want this behavior, don't make constructors with all but 1 or 0 default parameters. If you need to do that consider using the 'explicit' keyword on the constructor.

More info about forcing single argument constructors to be explicit is available on stack overflow.

PermalinkCommentsc++ technical bug programming

(via TV: Great Job, Internet!: Amy Poehler accepts award, key to...

2011 Nov 29, 12:45


(via TV: Great Job, Internet!: Amy Poehler accepts award, key to America’s heart)

PermalinkCommentshumor video amy-poehler

Replacing Google Reader Shared Feeds with Tumblr

2011 Nov 28, 7:36

Last time I wrote about how I switched from Delicious to Google Reader's shared links feature only to find out that week that Google was removing the Google Reader shared links feature in favor of Google Plus social features (I'll save my Google Plus rant for another day).

Forced to find something new again, I'm now very pleased with Tumblr. Google Reader has Tumblr in its preset list of Send To sites which makes it relatively easy to add articles. And Tumblr's UX for adding things lets me easily pick a photo or video to display from the article - something which I had put together with a less convenient UX on my bespoke blogging system. For adding things outside of Google Reader I made a Tumblr accelerator to hookup to the Tumblr Add UX.

Of course they have an RSS feed which I hooked up to my blog. The only issue I had there is that when you add a link (and not a video or photo) to Tumblr, the RSS feed entry title for that link is repeated in the entry description as a link followed by a colon and then the actual description entered into Tumblr. I want my title separate so I can apply my own markup so I did a bit of parsing of the description to remove the repeated title from the description.

PermalinkCommentsblog tumblr me technical google-reader

NYTimes Sues US For Refusing To Reveal Secret Interpretation Of Patriot Act (techdirt.com)

2011 Oct 20, 6:52
Wow, FTA: "Given all of this, reporter Charlie Savage of the NY Times filed a Freedom of Information Act request to find out the federal government's interpretation of its own law... and had it refused. According to the federal government, its own interpretation of the law is classified."
PermalinkCommentstechnical

MemeCats: #OccupyPopTarts

2011 Oct 20, 12:00PermalinkCommentslolcats memecats memes nyan cat occupy wall street politics protests signs technical

Bug Spotting: Smart pointers and parameter evaluation order

2011 Oct 19, 5:58
The following code works fine. I have a ccomptr named resolvedUri and I want to update its hostname so I do the following:
        CreateIUriBuilder(resolvedUri, 0, 0, &builder);
builder->SetHost(host);
builder->CreateUri(0xFFFFFFFF, 0, 0, &resolvedUri);


But the following similar looking code has a bug:
    ResolveHost(resolvedUri, &resolvedUri);


The issue is that doing &resolvedUri gets the address of the pointer but also clears out the pointer due to the definition of my smart pointer class:
    operator T**()  
{
T *ptrValue = mPtrValue;
mPtrValue->Release();
mPtrValue = NULL;
return &ptrValue;
}


In C++ there’s no guarantee about the order in which parameters for a function or method are evaluated. In the case above, &resolvedUri clears out the ccomptr before evaluating resolvedUri.Get() and so ResolveHostAlias gets a nullptr.

An interesting and related thread on stack overflow on undefined behavior in C++.
PermalinkCommentsc++ technical bug programming smart-pointer cpp
Older EntriesNewer Entries Creative Commons License Some rights reserved.