Sunday, April 13, 2014

Link Dump - Some Fun and Interesting Links

Here is a followup to my other link dump post with a set of fun and interesting links to things I've come across and/or been using for the past few months. Enjoy!



1) Kern Type, the kerning game
This is quite fun to play with.

2) Building a Crystal Clear Whiteboard
I want one!

3) http://cstheory.stackexchange.com/questions/19759/core-algorithms-deployed/19773#19773
An interesting list of links to various data structures and documentation of algorithms + data structures used in the Linux kernel

4) http://hadihariri.com/2013/11/24/refactoring-to-functionalwhy-class/
Why does this sound so familiar... hmmm... ;)

When you've been coding for quite a while, you'll often naturally start to run into a lot of these kinds of tensions in your work. That's pretty much natural and a part and parcel fact about the nature of the work: it's all a game of tradeoffs. The activity of engineering is all practically about finding some sort of solution given a bundle of constraints - hopefully an optimal or "reasonably good" solution (as opposed to a really crap mess).

5) http://tabcloseddidntread.com/
There is a bit of a perverse obsession in the tech industry about "not reading" stuff, especially if it is longer than a few (aka 1+) paragraphs long. Particularly irksome are things like "TL;DR". This is especially true when this is placed at the start of an article (i.e. "before the jump"), in which case

6) http://tiamat.tsotech.com/4k-is-for-programmers
You can never have enough screen space... I've always wondered what it would be like to have a setup with a large 40 inch or so workspace.

7) Dexpot - Virtual Desktops for Windows
Over the past few months, I've been using Dexpot on my Windows 8 box as a substitute for not having workspaces built in on Windows (like I have on Linux). Sure, it's not as polished as the experience on Linux, but when you really need that extra organising power, it's great to be able to have it!

There are some rough edges with this (though apparently they're not as bad as those on other solutions):
- The default hotkeys are clunky, but are able to be easily reconfigured
- The workspace switching effect is a bit jarring as you watch all your windows get "closed" off the taskbar one by one and then reopened
- Notepad++ 's interface manages to munge itself after each and every workspace change (you need to change tabs for it to sort out itself)
- You'll want to disable the splash screen if you set this to start on startup
- Watch out during the install process that it doesn't try to install "evil stuff". Then again, even PDFCreator comes bundled with similar crap these days, so it does get a bit tricky...

Despite this, on the times when it's really necessary to be able to do stuff like this (e.g. during the initial stages of a literature review, when you basically need to keep quite a bit of stuff up and open so that you can cross reference and pull-at-will from without having to reopen each file each time) it's a practical necessity. It's true that Window's taskbar does not cope well with many windows open. With the traditional style (which I prefer, and run 7+ Taskbar Tweaker to religiously defend), it's limits are between 6-10 per screen. Although this limit isn't that high, IMO it is well worth it when dealing with two different projects (each of which needs its own set of Git Gui windows, file browsers, consoles, and/or PDF viewers), a scenario the "pinned app" taskbar introduced in Windows 7 sucks really badly for (e.g. try closing the temporary operation windows created by Git Gui without accidentally closing the wrong one, and doing so quickly).

8) Taron's Verve Painter
Although it is Windows only, this is a seriously cool little app - a bit like the next SculptTris, except it's more of a "wet paint on 2D canvas (rendered using 3D shaders)" kind of deal

9) Animatron
This is a cool looking web-based editor for HTML5 animations. Check out the demo videos on their site!

Personally, I haven't really been able to really use it (although I'd love to try), since it seems to load quite slowly on my end

10) youtube-dl  - Open source Python-based tool to grab any video content from common video websites
For many years, I've been using the VideoDownloadHelper plugin for Firefox. By and large, it has been quite effective at grabbing various embedded videos. But, in recent months, some changes to Youtube's streaming tech means that certain kinds of videos are not able to be saved (I won't name names here, but let's just say that although the problem seems predictable for the videos from certain channels, on others, things are much more random).

The beauty of this tool is that it is: 1) open source and actively maintained (unlike VDH, which seems to be on the way out),  2) under the hood, it works by impersonating browsers, parsing and pseudo-interpreting the Javascript, and using various backends to handle the various types of trickery some of these sites use, 3) it's all written in Python and hosted using Git! Mwahahahaha <evil-grin />

Of course, it's commandline only. Then again, it's an example of a "friendly" commandline - just give it the URL or Youtube embed code, and it'll go ahead and do its business.

(EDIT: from a quick test earlier, I found that it's still not completely foolproof against some of the more tricky websites out there - e.g. www.macworld.com  which I've been trying to extract a video off to use pipe through an analysis tool I'm currently evaluating)

1 comment: