Profile cover photo
Profile photo
Matt Sparks
146 followers -
Semi-jaded computer scientist & software engineer
Semi-jaded computer scientist & software engineer

146 followers
About
Posts

Feedly incorrectly uses the 'guid' tag in RSS items instead of the 'link' tag when linking to an article.

Steps to reproduce:
(1) Add this RSS feed to Feedly: http://hnrss.org/newest
(2) Click on the title of an article
(3) Observe the URL.

Expected behavior: URL is of source article, i.e., a non-Hacker-News site.
Actual behavior: URL is of the Hacker News comments page.

The hnrss.org RSS feeds use link tags for the source article and guid tags containing the comments URL for uniqueness. It appears that Feedly uses the guid value as the article link if it is a URL. It should instead use the value of the link tag.

The consequence of this bug is that there is no way to open the source articles directly from the hnrss feed.

Post has attachment
Built a TRRS audio switch tonight. It switches 4 pins, so the in-line microphone, play/pause, and volume buttons on my headphones still work. :D

http://www.flickr.com/photos/_msparks/sets/72157635053856582/
Add a comment...

Post has attachment
Finally finished my network closet (on the cheap).

* Shelf from IKEA.
* Two Sterilite storage boxes from Target ($0.97 each).
* 1 ft. Ethernet patch cables from Monoprice.
* 8-port Ubiquiti ToughSwitch (managed).
* Ubiquiti EdgeRouter Lite.
* Comcast-provided SMC cable modem.
PhotoPhotoPhotoPhotoPhoto
2013-08-10
9 Photos - View album
Add a comment...

Post has shared content
Cryptography and mathematics provide so many tools that are just as easy to abuse and misuse as they are powerful. This example is particularly egregious, though.

There's no such thing as a proprietary encryption scheme. If it's not vetted, it's broken by default.

via Hacker News: http://news.ycombinator.com/item?id=4834372
I bought a digital video download today that required a video player from Leaping Brain. As usual, the proprietary player wasn't great and to transfer it to my iPhone I'd need another proprietary player. Ugh. But I browsed around and found that the video had been downloaded into a hidden directory as a bunch of .mov files. Great, except none of the files would play.

It turned out the actual player, launched from their compiled app, was a Python wrapper around some VLC libraries. Nothing funny going on, as far as I could tell, but when I tried to launch the player directly, nothing happened. The compiled app was modifying the .mov files right before they were loaded into the player, and then reverting the file on disk. According to http://leapingbrain.com/mod-machine/faq/:

 "We apply our BrainTrust™ proprietary video encryption to your movies before we upload them to our servers. If someone ever was able to gain access to your content, the files would be useless and unplayable, because they are stored in a scrambled, encrypted format. Once downloaded to the user’s hard drive, the files are still encrypted and only readable via the MOD Machine Player by a legitimate owner. We are not aware of a better DRM scheme than ours. Where Windows Media DRM is easily crackable, and doesn’t run on Macs, BrainTrust™ works great on Windows 8, Vista, Windows XP and Mac, and is virtually uncrackable."

Virtually uncrackable? Well, since they load the file from a Python script, it's easy to make a copy of the "decrypted" file before it's reverted. Having done so, I was curious to see the encryption scheme. By comparing the binary files, I discovered the "proprietary video encryption" algorithm: for the first 15kB, each 1kB block has its initial bytes xor'd with the string "RANDOM_STRING". That's the "scrambled, encrypted format" that leaves these files "useless and unplayable".
Add a comment...

Post has attachment
Ah, graph theory. <3 via +Murph Finnicum 
Add a comment...

Post has attachment
Today I hit a personal goal that I've been working on for a few months: 100 pushups with good form.

I started on April 22 with 30 pushups, adding one pushup per day. I used the Jerry Seinfeld calendar method (http://lifehacker.com/281626/jerry-seinfelds-productivity-secret) to motivate myself and to track progress.

Today I did one set of 40, and three sets of 20 pushups with 10-20 seconds of breathing in-between. 
Add a comment...

Post has attachment
PhotoPhotoPhotoPhotoPhoto
9 Photos - View album
Add a comment...

Post has attachment
I've finally finished moving my website content from Infinite Machine to Markdown+Jekyll. New design, too! Check it out: http://quadpoint.org
Add a comment...

Post has attachment
One of today's projects: an ATtiny target board!
Add a comment...

Post has attachment
Make publishing markdown documents as easy as putting them in a public web directory: https://github.com/msparks/baseplate

Demo: http://quadpoint.org/projects/baseplate/#!/README
Add a comment...
Wait while more posts are being loaded