Dr Andrew Scott G7VAV

My photo
 
March 2024
Mo Tu We Th Fr Sa Su
26 27 28 29 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
1 2 3 4 5 6 7


Software
Some fun things I've done over the years. Have a look at my hardware, research and tools pages as well.
6Bone map
Script generated daily map of 6Bone network

This was generated by one of a number of scripts that ran daily to track the development of the 6Bone test network for the new IPv6 Internet Protocol.

Each line represents an inter-site network link, and the colours represent the use of the different routing protocols used to establish and maintain connectivity.

The maps were published in a number of books and magazines, and also sales brochures for companies such as Sony. They were updated along with the associated site (http://www.cs-ipv6.lancs.ac.uk/) until the 6Bone made way for the wider deployment of IPv6 in June 2006.

Another diagram showing the 6Bone network hierarchy from December 2000 is also available. Lancaster University appears as ULANC under Janet, the UK National Research and Education Network NREN.

PDF Calendar
Raw PDF generation from a C program as a web script

Having had loads of fun over the years generating PostScript files from C programs and Unix Bash scripts, this was an experiment in understanding and generating PDF files directly from a C program without resorting to any of the Adobe tools. You'll need (the free) Adobe Reader to view the calendar.

The program runs as a web 'script' and offers a range of output formats and features. Users can select a wall planner or normal calendar, in either landscape of portrait, on most common paper sizes from US Letter to A0. There are also month or year per page options.

Options are set using buttons and menus on a web page.

Special dates and moon phases can be highlighted. The user also has a choice of themed pictures and a wide range of colour options. Multi-page calendars include thumbnails and proper named month / year links.

The calendar at the top of these pages is based on the same core C code.

See the Calendar page to have a go.

PDA GPS Navigation
GPS based navigation on Windows CE
Written in MS Embedded C++

My first attempt at using Microsoft Embedded C++ and the Windows/ PocketPC APIs.

The system reads NEMA strings from a GPS module and converts the lat/long data into flat UK grid coordinates so conventional mapping data can be used.

Multiple sets of map data are used so more or less detailed maps can be displayed as users approach their destination or enter urban areas. Manual zooming is also supported via the PDA buttons.

Maps are held as tiles to reduce processing overheads. Redrawing is properly double buffered for smooth scrolling as the coordinates or orientation changes.

Fuzzy matched hot-spot data can be defined to allow points of interest to be defined. This has been used for locating hotels, bus and railway stations, speed cameras, etc. Each hotspot is sensitive to speed, direction of travel etc., and can initiate a defined action such as playing sound files, etc.

Web based vehicle tracking
Web based vehicle tracking using GPS navigation (above) and GSM card
Written in C# and ASP.NET

An extension of the above system added location transmission using GSM SMS text messages.

Text messages are sent periodically to a central site that can generate an overview map showing the location of all vehicles, their speed and direction of travel on a web page.

Transmission intervals vary according to vehicle speed to reduce costs.

The system was written in C# and ASP.NET back in 2001 and led to a number of companies developing similar systems.

Bill Gates presents award
Bill Gates presents award
for group's implementation
of MobileIPv6 for Microsoft OSs

The IPv6 group I established in early 1997 became interested in MobileIPv6 and developed a number of implementations. These included stacks for Linux, Cisco IOS, Microsoft Windows 2000, and Windows XP Professional.

MobileIPv6 allows devices to move between networks without breaking existing network connections. For example, you could move seamlessly from a corporate wired Ethernet network to a public Wireless LAN service while downloading a file.

The MobileIPv6 protocol also allows devices to be contacted even if they are not currently connected to their home network.

Our implementation for Microsoft Windows 2003 Server, and Windows CE .NET was shipped by Microsoft and for this we were awarded the first Microsoft Windows Embedded Academic Excellence Award by Bill Gates in 2002.

SD Interface for EmbeddedFusion board
SD Interface for Tahoe .NET Micro Framework
development board from Device Solutions.net (formerly Embedded Fusion).

I've recently been playing with the .NET Micro Framework from Microsoft on the Tahoe development board from Device Solutions.net (formerly Embedded Fusion).

To try out the platform I created a C# implementation of the FAT filesystem and simple animated picture viewer application.

The project also involved building a board with an MMC/ SD card interface and Bluetooth module. See opposite.

More details are given on the project page.


Course Demos

See the teaching page for other courses I've taught over the years.

JavaScript Breakout
Simple Breakout game in JavaScript
JavaScript Pacman
Simple Pacman game in JavaScript
Rotating JavaScript cube
3D animation in JavaScript
With simple hidden surface removal

These images show some of the demos I produced for a course on web technologies. The aim was to illustrate what can be done with relatively simple JavaScript programs. I've since used a multi-trace modification of the oscilloscope code to help explain common keying and transmission schemes in a communications course -- included Ethernet, DSL, etc.

Yes, some of these are a little crazy... Getting a browser to render JavaScript animated 3D graphics with hidden surface removal was fun although for some reason browsers tended to warn about the amount of JavaScript processing they were doing. :) The examples were all pure JavaScript with no browser plug-ins and pre-date the inclusion of canvas support in browsers -- have a look at the simple Defender like game below to see how easy it is.

Click here or on the image of the Defender like game to see all the code and play the game.
JavaScript Oscilloscope
Animation: Simulated oscilloscope in JavaScript
Radio buttons add/subtract signals
JavaScript Defender
Defender: Object-oriented game in JavaScript
JPEG Encoder
JPEG Codec and image processing tool written in C# for multimedia course
It's a fun exercise to write the classic coders used in compression systems:
Huffman, Arithmetic, LZ77, and LZW.
x86 Operating System
x86 OS Kernel
A demand paged x86 OS with PCI support, common drivers, basic scheduler, Unix-style system call interface, and an ext2 filesystem to give real examples for the OS module.
Simple Animation
Simple 3D rendering in C# for short course on graphics
Image bytes/ pixels written directly using no existing class libraries


for client 54.211.203.45
© Andrew Scott 2006 - 2024,
All Rights Reserved
http://www.andrew-scott.uk/
Andrew Scott
http://www.andrew-scott.co.uk/