Thursday, December 30, 2010

Structure and Interpretation of Computer Programs

Hal Abelson and Gerald Jay Sussman Video Lectures at MIT.

Thursday, December 23, 2010

LibreOffice

The Document Foundation
"The Document Foundation is proud to be the home of LibreOffice, the next evolution of the world's leading free office suite."

Windows Sysinternals

Windows Sysinternals

- Process Monitor

- Process Explorer

- Autoruns for Windows

Tuesday, December 21, 2010

SynchronEX

SynchronEX - Advanced File Synchronizer Software
"SynchronEX enables robust multi-directional file tree synchronization and backup over local & network paths in any situation: From laptop synchronization to scheduled periodic backup to incremental website upload."

SyncBack

2BrightSparks: Compare SyncBack Freeware, SyncBackSE, and SyncBackPro

SyncToy

Microsoft Download Center: SyncToy 2.1

My Digital Life: Schedule SyncToy to Run and Automatically and Repetitively

Tuesday, December 14, 2010

HTTPS Everywhere

Electronic Frontier Foundation: HTTPS Everywhere
"HTTPS Everywhere is a Firefox extension produced as a collaboration between The Tor Project and the Electronic Frontier Foundation. It encrypts your communications with a number of major websites."

Sunday, December 05, 2010

Using AOP to Understand Legacy Code

The article quoted below mentions a technique that I had not seen before that may come in handy someday. The author uses an Aspect-Oriented Programming (AOP) tool, in this case AspectJ, to inject code into a legacy application in order to trace its execution. The article does not show you how to do this (and I'm not going to do that either so perhaps the title of this post is a bit of a teaser) but once you know how to use a particular APO tool injecting tracer code should not be difficult. I just wanted to capture the idea here for future reference (which is the purpose of this links-blog).

Pragmatic Programming Techniques: Understand Legacy Code:
"I have built a tool that allows me to instrument those classes that I am interested so that when I start the system, it will print out all the entry points when they execute. Entry point is the lowest method of the stack trace that you are interested. The tool is based on AspectJ which allows me to inject some print statements when certain methods are executed."