Profile

Cover photo
Eleanor McHugh
Attended Christ Church College Canterbury
Lives in London, England
1,766 followers|49,695 views
AboutPostsPhotosVideos

Stream

Eleanor McHugh

Show and tell  - 
 
An enhanced version of the #codemesh2014 talk on network programming in Go. It covers HTTP, HTTPS, TCP/IP, TCP/IP over TLS, UDP and basic cryptographic functions with AES-CBC and RSA.
37
7
Giovanni Laquidara's profile photoCharlie Lee's profile photoJiahua Chen (Joe)'s profile photoshen huan (fireyang)'s profile photo
5 comments
 
+Eleanor McHugh Thanks!  I'll take what I can get :)
Add a comment...

Eleanor McHugh
owner

Discussion  - 
 
An enhanced version of the #codemesh2014 talk on network programming in Go. It covers HTTP, HTTPS, TCP/IP, TCP/IP over TLS, UDP and basic cryptographic functions with AES-CBC and RSA.
4
Paulo Pereira's profile photoEleanor McHugh's profile photo
2 comments
 
Thank you :)
Add a comment...

Eleanor McHugh
owner

Discussion  - 
 
Okay, I'm ready to say a little bit about what's next in the pipeline. Probably most of you are expecting Chapter 2, and at some point I will write that as obviously it fills the gap between Chapter 1 and Chapter 3 :) Right now though I'm cooking up the code for a chapter on implementing the Forth programming language.

Why Forth? Well, it was the first language I learned after BASIC back when I was a teenager, and I've a tradition of porting a ropey spaghetti BASIC interpreter for Forth whenever I want to learn a new dialect of BASIC.

Currently I'm playing with the beta of AGK 2.0 which provides a particularly primitive (but enjoyable) BASIC as its dev language for writing cross-platform apps. Initially I bought a license just to help fund development and didn't expect to do much with it, but you know how these things go!

Anyway, I'm half-way through porting my spaghetti code Forth to AGK's BASIC (not having touched the previous VB5 version in at least 12 years) and in the process the whole design is really starting to clean up. Seems when I was last messing with this codebase I'd added primitive support for multi-tasking and I'm now wondering how that would look translated into separate goroutines.

This leaves me two options I'll be playing with over the next couple of months. One is to implement a simplistic version of Go's concurrency model for Forth, the other is to port the BASIC codebase to Go.

It's possible I may write a short eBook on AGK, just to show what's possible outside its usual 2D/3D game setting. Of more importance though is that I'll add a Chapter to the Notebook that will explore the design and implementation of a language interpreter for Forth in as much depth as I can (i.e. it'll be in similar vein to Chapter 1).

As Forth is a mix of a simple stack-based virtual machine with a more traditional token interpreter this should provide a good intro to writing more complex language runtimes. As an added bonus there'll definitely be concurrency and possibly general memory management as well.

The current implementation is an amalgam of the Forth 79 and 83 vocabularies but I'm not wedded to that. I may instead aim for a subset of the ANS-92 standard or ColorForth (which is relevant to modern hardware like the GreenArrays multi-core Forth systems).
App Game Kit is a game creation system for mobile cross platform development. Write once, deploy everywhere
2
Eleanor McHugh's profile photoMarcus Russell's profile photo
5 comments
 
I have to be honest I love the power to prototype quickly because its BASIC. I've only just started using AGK and I'm continually fighting the syntax and idiosyncrasies, but that aside I'm loving it. Out of interest what's the codebase for the NES emu?
Add a comment...

Eleanor McHugh
owner

Discussion  - 
 
I'm going to be at Strange Loop in September so I've prepped some business card size flyers to promote the book. The code's the same runnable example as on the front cover which probably isn't so clear here (photo taken with iPod 4) but on the cards it's very clear and readable.
3
Add a comment...

Eleanor McHugh
owner

Discussion  - 
 
I know I said chapter one was finished, but it turns out I was wrong. This evening I've published a new build of the Notebook with a rewrite of the section on signal handling (which in its first draft was utter tripe) and new sections covering error handling, structs and interfaces.

I've a few more examples knocking around on my hard-drive which use panic()/recover() to implement non-local error handling and I'm considering including these to contrast with Go's standard error idioms.
3
Add a comment...

Eleanor McHugh
owner

Suggestions  - 
 
You may find Go Bootcamp by +Matt Aimonetti an ideal compliment to the Developer's Notebook. Matt covers the basics of getting started with #golang  along with the syntax of the language and there appears to be plenty of code to study. 
3
Add a comment...
In her circles
246 people
Have her in circles
1,766 people
Iftikhar Hussain's profile photo
Patrick Dickey's profile photo
Joshua Edelmayer's profile photo
Sebastian Carrozzo's profile photo
7al bladi haka's profile photo
Paddy Foran's profile photo
Mathieu Combaudon's profile photo
sinan gülper's profile photo
Mircea Tala's profile photo

Communities

9 communities

Eleanor McHugh
owner

Discussion  - 
 
Thank you to all the new readers who've recently signed up for the Notebook.

Development has been stalled for the past couple of months whilst I juggle earn filthy lucre from consulting with childcare, and each additional sale makes me feel that much guiltier. However the design for the Forth interpreter that I plan to include in a later chapter is coming along reasonably well and another couple of months should see my bank balance healthy enough to take time out for writing in the New Year.

In the meantime I've rewritten the code for Echo to remove the init() bug and as soon as I can get a free day I'll work through the text and amend it to reflect the changes.

And don't forget - if you're in London on November 15th I'm speaking at GDG DevFest so if you're attending feel free to pester me for help.
1
Add a comment...

Eleanor McHugh
owner

Discussion  - 
 
I've a couple of talks coming up in London which draw from the material in Hello World.

First up is Code Mesh, the UK's answer to Strange Loop, which I'm speaking at on Wednesday 5th November.

This is followed on Saturday 15th November by GDG DevFest at Google Campus.
<p>Code Mesh 2014 the functional programming conference</p>
1
Add a comment...

Eleanor McHugh
owner

Suggestions  - 
 
I've managed to snatch a couple of days' free time to code and am poking around with porting a QuickBasic SNES emulator to Go. There are three reasons for this particular bit of madness:

1. QuickBasic gave me a lot of pleasure in the early 90s and was my goto language for prototyping until VB5 came along, so it's a nice trip down memory lane;

2. Home-micro Basic was where I first taught myself to code, and as one of the Notebook's aims is to inspire similar interest in a newer generation I'm interested to see how QB and Go compare;

3. For the virtual machines coverage in the book I'd like to include an emulator or two as these introduce interesting constraints which don't exist for say a JVM, and as the QB-NES codebase is currently single-threaded it'll be interesting to see how its components hang together when split into separate goroutines and plumbed together with channels.

So far it's proving a fun little exercise and if successful I'll spec out a clean-room implementation of the SNES architecture and write that up as time allows.
3
Add a comment...

Eleanor McHugh
owner

Discussion  - 
 
Writing has been on hold for the past week or so as I've work on for a client, and it's looking like August will be a fairly busy month as well: another client looking to get a spec drafted and the school holidays means I'll be juggling paid work and the fraught experience of herding a 5 yo full time. Things should ease up after that.

On the plus side the client work should see my bank balance healthy enough for an extended period of writing, and some of the architectural intricacies are starting to give me ideas for the next couple of chapters. These will develop the themes laid out in chapter one by adding interactivity.

In particular I want to start building up the skeleton of a secure web application as I know this is something that many current readers are interested in. But I want to do so in a manner that allows the same basic architecture to be used for any kind of distributed application: web, socket or IPC.

This is really the meat-and-potatoes of continuing sales once I shift to the more avant garde areas I've outlined for later chapters. And don't worry, there will still be the occasional bit of mad code working its way into those as I've time to play and do research.

My current aim is to have chapter 2 reasonably well fleshed out for late August or mid-September with everything through the end of chapter 3 completed before the end of the year.
1
Add a comment...

Eleanor McHugh
owner

Discussion  - 
 
Last night I posted the feature-complete version of Hello World. I'm not adding anything else to the chapter as it's now in danger of becoming a book in its own right!

However I have had some useful feedback on the Encapsulation section which means a rewrite of that is in order. It won't happen this week as I've some report-writing to do for a client, but definitely before I get back to chapter two. In particular I'll add some explanation of * and & as I'm blithely using these like a C programmer and forgetting that people without that background may not understand what the heck is going on...
1
Add a comment...

Eleanor McHugh
owner

Discussion  - 
 
I've started scoping out chapters 2 and 3.

Chapter 2 will be Echo programs as previously indicated and will focus on direct interactivity between a user and a #golang  program.

Chapter 3 will be Chat programs and multi-user interactions. I've only a loose idea of how these will look at this stage, but I suspect some of the material from Going Loopy will appear here as it's a good place to look at iterators and vectorised API operations.
1
Add a comment...
People
In her circles
246 people
Have her in circles
1,766 people
Iftikhar Hussain's profile photo
Patrick Dickey's profile photo
Joshua Edelmayer's profile photo
Sebastian Carrozzo's profile photo
7al bladi haka's profile photo
Paddy Foran's profile photo
Mathieu Combaudon's profile photo
sinan gülper's profile photo
Mircea Tala's profile photo
Communities
9 communities
Education
  • Christ Church College Canterbury
    MSc Information Systems in a European Context, 1995 - 1996
  • Kingston University
    BSc Applied Physics, Microelectronics & Computing, 1988 - 1992
  • Chatham House Grammar School
    1981 - 1988
Basic Information
Gender
Female
Other names
Eleanor Loughlin-McHugh
Apps with Google+ Sign-in
Story
Tagline
Reprogramming reality since 1970
Introduction
Independent Ruby and Go hacker. There's more to my life than code, but coding has had a strong influence on my life.


I also brew my own alcohol. It tastes a bit weird, but I like it anyway.
Bragging rights
I wrote an autopilot in assembler with its own real-time task-switching OS and got it certified by the CAA. As an encore I wrote a cockpit mission management system in Visual Basic and got that certified as well - for use in emergency service helicopters. Worried yet?
Work
Occupation
Dilettante Hacker
Skills
Go, Ruby, Programming, Brewing, Science
Places
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Currently
London, England
Previously
Ramsgate, England - Margate, England - Surbiton, England - Kingston, England