Three Golden Rules for Effective Word Processing

Friday September 19 2014 - , , , - 1 comments

Over the 30+ years or so that I’ve been using computers, I have worked with various word processing and page layout packages such as WordStar, WordPerfect, MacAuthor, nroff, Aldus (Adobe) PageMaker, QuarkXPress, Microsoft Publisher and Microsoft Word. Again and again, I see people misusing their word processing software and making life difficult for themselves. When creating small documents, one can get away with all sorts of horrors and sometimes getting a job done quickly justifies a ‘quick and dirty’ approach. However, with longer documents things can quickly become unmanageable and you can...

Cheap Modern Backup Strategy for Home Users and Startups

Saturday August 02 2014 - , , , , - 0 comments

I’ve never liked the idea of online backup. Specifically, because it is billed by the Gigabyte, this acts as a massive disincentive to back everything up. Backup services typically cost in the order of £1 per Gigabyte. Sometimes it is more or less, or sold in chunks of 10 Gigabytes or some other multiple. Nevertheless, there is a direct correlation between the amount backed up and the cost. This results in users backing up as little as possible and certainly omitting the operating system and anything that may be perceived as a ‘system file’. The result is less like a backup and more like an off...

Object Oriented Motor Control for .net Micro Framework

Thursday June 05 2014 - , , , , , , , , , - 0 comments

See https://bitbucket.org/tigranetworks/ta.netmf.motorcontrol Netduino Object Oriented Motor Control This project implements various types of motor control for Microsoft .NET Micro Framework in C#. The primary use case is the control of motors using Netduino hardware and popular widely available motor shields. Support for other platforms/shields and motor types may be added in future. What is this repository for? Motors are objects, too! There is a lot of micro-framework code out there that looks like it was written in Fortran in the 1960s. We have tried to take a more object oriented approach...

Say Goodbye to Windows XP

Tuesday April 08 2014 - , , , , - 0 comments

As of today, 8th April 2014, Microsoft no longer supports Windows XP (unless you are a very large corporation and can afford to pay them a lot of money). What that means to you, the end user, is that there will be no more support, no more fixes and, crucially, no more security updates . Why is that a problem? It’s worked up to now, right? Nothing will change if you don’t change it, right? The problem is that the rest of the world changes. Hackers find new exploits and ways to compromise an operating system. Microsoft’s Security Response Team works constantly to detect and close these vulnerabilities...

How To Avoid Strong-Name Signing Your ASCOM Drivers

Tuesday April 08 2014 - , , - 0 comments

Back in 2011, I wrote a blog post titled “ What’s in a Strong Name ”, in which I made the assertion that ASCOM drivers MUST be strong-name signed. This is the case for a COM component (which ASCOM drivers are) that you don’t want to put in the Global Assembly Cache, but must nevertheless be shared between multiple applications. The reason for the strong name is that RegAsm.exe (the utility that performs COM Interop registration) _requires_ a strong name in order to set the CodeBase value, which helps the CLR find the assembly when it is invoked from COM. The mechanics are somewhat intricate and...

ReSharper 8 LiveTemplates for Microsoft RiSE Code Contracts

Saturday February 22 2014 - , , , , , , , , - 0 comments

Save the following XML into a file with extension .DotSettings, then it can be loaded as a settings layer in ReSharper. It defines LiveTemplates for quickly inserting Code Contracts. The snippets defined are those taken from the Code Contracts user manual. Here’s a GitHub GIST . These are the templates defined (all except for the very last one, I wasn’t sure what that should expand to): 1: < wpf:ResourceDictionary xml:space ="preserve" xmlns:x ="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s ="clr-namespace:System;assembly=mscorlib" xmlns:ss ="urn:shemas...

A C# Developer Delves Into Java- Finite State Machine

Friday February 21 2014 - , , , , - 0 comments

In a radical departure from my normal fare, I decided to have a got at writing some Java. I’ve looked at other people’s Java code and often thought how much like C# it looked, it is certainly understandable to a C# programmer, but as I discovered, the languages actually have some significant differences. Something that has come up in my conversations a few times recently is the concept of Finite State Machines. It is a powerful technique, especially for real time systems that I think is under-used, or used badly. I set myself of writing a general purpose FSM framework as an excuse to write my first...

At the third stroke the time will be twenty-three fifty-nine and sixty seconds

Wednesday February 05 2014 - , , - 0 comments

Believe it or not, the time is occasionally 23:59:60. It seems wrong, “you can never have 61 seconds in a minute!” I hear you cry, but it is true! Read on to find out why....

Object Oriented Astronomy Part 2

Monday February 03 2014 - , , , , , , , - 0 comments

Previously: http://www.tigranetworks.co.uk/blogs/electricdreams/object-oriented-astronomy-ndash-part-1/ Prologue So here we are in the second installment, time to write some code! I’ve given myself the mission, for the moment, to compute the position of Earth in space (relative to the Sun) for a given date and time and to get the result in both rectangular (x, y, z) and spherical (latitude, longitude and radius) coordinates. I’m using an algorithm known as VSOP87 to do that. I want to be able to run everything from the original data files, so they can be updated in the future without changing any...

Object Oriented Astronomy–Part 1

Sunday January 26 2014 - , , , , , , , , , - 1 comments

Introduction One of the things that bugs me about astrometry and astrophysics libraries is that, more often than not, they are direct ports from some original Fortran 77 version. The ported code tends to be very ‘procedural’, which forces the user of the library into a certain one-dimensional way of thinking. You may think there’s nothing wrong with that, and you may very well be right, but I think we can do better. I think its about time that someone stepped back from the spaghetti code and did a proper object-oriented analysis and brought astronomy programming out of the 1970s. This is a series...