CA page 2 - Dave's Blog

Search
My timeline on Mastodon

Tweet from David Risney

2016 Dec 7, 5:30
@ericlaw @RReverser broke my screenshot muscle memory. Switched to snipping tool.
PermalinkComments

Tweet from Andy Baio

2016 Dec 6, 2:30
OH. MY. GOD. @SethBling MADE AN ATARI 2600 EMULATOR IN MINECRAFT. https://youtu.be/5nViIUfDMJg 
PermalinkComments

Tweet from David Risney

2016 Dec 5, 5:52
@davatron5000 I have a C:\users\dave\bin path I've added to my PATHS
PermalinkComments

Tweet from David Risney

2016 Dec 4, 3:47
Astounding realization during Westworld finale: My wife doesn't care that I can identify all the Radiohead cover titles played on Westworld.
PermalinkComments

Tweet from David Risney

2016 Dec 4, 2:26
Oh just realized Trevor, Simon, and Rebus are all the same person. Awesome. Assuming @StevenOgg isn't a robot
PermalinkComments

Tweet from David Risney

2016 Dec 4, 9:30
@AGoldmund Its my morning two minute hate. And then again around lunch time. And also just whenever.
PermalinkComments

Tweet from David Risney

2016 Nov 18, 4:11
@PA_Megacorp I read the title as Couchomancy and imagined a necromancer that summons couches. No one steal my new YA fantasy novel idea pls
PermalinkComments

Tweet from Šime Vidas

2016 Nov 17, 3:14
Chrome Canary has enabled scroll anchoring which prevents “jumps” when the layout above the viewport changes (demo: https://output.jsbin.com/parujo/quiet#heading2 )
PermalinkComments

Tweet from The Practical Dev

2016 Nov 14, 9:31
I ▯ Unicode
PermalinkComments

Tweet from David Risney

2016 Nov 6, 1:17
@ericlaw Very fitting for the show but... those serifs. Aspects of 80s aesthetic I can do without include: wood paneling on cars, that font.
PermalinkComments

Let's Encrypt NearlyFreeSpeech.net Update

2016 Nov 5, 8:59

Since I had last posted about using Let's Encrypt with NearlyFreeSpeech, NFS has changed their process for setting TLS info. Instead of putting the various files in /home/protected/ssl and submitting an assistance request, now there is a command to submit the certificate info and a webpage for submitting the certificate info.

The webpage is https://members.nearlyfreespeech.net/{username}/sites/{sitename}/add_tls and has a textbox for you to paste in all the cert info in PEM form into the textbox. The domain key, the domain certificate, and the Let's Encrypt intermediate cert must be pasted into the textbox and submitted.

Alternatively, that same info may be provided as standard input to nfsn -i set-tls

To renew my certificate with the updated NFS process I followed the commands from Andrei Damian-Fekete's script which depends on acme_tiny.py:

python acme_tiny.py --account-key account.key --csr domain.csr --acme-dir /home/public/.well-known/acme-challenge/ > signed.crt
wget -O - https://letsencrypt.org/certs/lets-encrypt-x3-cross-signed.pem > intermediate.pem
cat domain.key signed.crt intermediate.pem > chained.pem
nfsn -i set-tls < chained.pem
Because my certificate had already expired I needed to comment out the section in acme_tiny.py that validates the challenge file. The filenames in the above map to the following:
  • signed.crt is the Let's Encrypt provided certificate
  • account.key is the user private key registered with LE
  • domain.csr is the cert request
  • domain.key is the key for the domain cert
PermalinkCommentscertificate lets-encrypt nearlyfreespeech.net

Tweet from David Risney

2016 Nov 4, 4:08
@David_Risney Example graph https://raw.githubusercontent.com/david-risney/WinMDGraph/master/examples/3/3.dot.png  of the Windows .Services.Maps namespace
PermalinkComments

Tweet from David Risney

2016 Nov 4, 1:48
@JenMsft Your tip weets should show as toasts for all win10 users
PermalinkComments

Tweet from David Risney

2016 Nov 3, 3:59
@FakeUnicode Spaces are technically not allowed in a URI so the only reasonable representation is percent encoded.
PermalinkComments

Tweet from David Risney

2016 Nov 3, 3:58
@FakeUnicode Reserved characters including brackets change meaning when decoded or encoded and so UA must not change those
PermalinkComments

Tweet from David Risney

2016 Nov 3, 3:57
@FakeUnicode At least some of that is from https://tools.ietf.org/html/rfc3986 . For unreserved characters (a-z0-9._-~) normal form is decoded.
PermalinkComments

Tweet from David Risney

2016 Nov 2, 1:16
@osterman @ericlaw 'CLR cooks' I assume means you get the .NET projection of the WinRT APIs? That's good enough for most of my purposes.
PermalinkComments

Parsing WinMD with .NET reflection APIs

2016 Nov 2, 6:13

Parsing WinMD files, the containers of WinRT API metadata, is relatively simple using the appropriate .NET reflection APIs. However, figuring out which reflection APIs to use is not obvious. I've got a completed C sharp class parsing WinMD files that you can check out for reference.

Use System.Reflection.Assembly.ReflectionOnlyLoad to load the WinMD file. Don't use the normal load methods because the WinMD files contain only metadata. This will load up info about APIs defined in that WinMD, but any references to types outside of that WinMD including types found in the normal OS system WinMD files must be resolved by the app code via the System.Reflection.InteropServices.WindowsRuntimeMetadata.ReflectionOnlyNamespaceResolve event.

In this event handler you must resolve the unknown namespace reference by adding an assembly to the NamespaceResolveEventArgs's ResolvedAssemblies property. If you're only interested in OS system WinMD files you can use System.Reflection.InteropServices.WindowsRuntimeMetadata.ResolveNamespace to turn a namespace into the expected OS system WinMD path and turn that path into an assembly with ReflectionOnlyLoad.

PermalinkComments.net code programming winmd winrt

Tweet from Jason Scott

2016 Nov 1, 2:06
Running Windows 3.1 in browser emulation on an XBOX One because that's a thing that happens
PermalinkComments

Tweet from David Risney

2016 Oct 23, 4:24
Didn't know retrospective realization of "that was a date" is common to super-smart-afraid-of-conflict narcissist’s club. Thx to @hodgman
PermalinkComments
Older EntriesNewer Entries Creative Commons License Some rights reserved.