John Anderson

John Anderson

Mentor
5.0
(10 reviews)
US$25.00
For every 15 mins
18
Sessions/Jobs
ABOUT ME
Software since before the web.
Software since before the web.

rust ruby fsharp linux docker sql ocaml prolog xml

Concurrency, data, algorithms, networking.

Being married and a father of teenagers has given me ample opportunity to become good at listening and helping. I love the way a person's eyes light up when they have an aha moment.

English
Eastern Time (US & Canada) (-04:00)
Joined June 2014
EXPERTISE
18 years experience | 3 endorsements
I still write working solutions in ruby faster than in any other language I know. Object/Class/Module/Kernel is brilliant once you grok ...
I still write working solutions in ruby faster than in any other language I know. Object/Class/Module/Kernel is brilliant once you grok it. Best standard library and core classes I know of. I came to Ruby because I needed a script language for a c++ engine. Once I had the wrapper working I figured I better learn this 'ruby' language. I kept finding myself going "oh wow, that's cool". 3 things: string interpolation, proper objects, heredoc syntax.
5 years experience
cli using http/s in reqwest and hyper, async using tokio, etc.
cli using http/s in reqwest and hyper, async using tokio, etc.
20 years experience
My all-time favourite RDBMS
My all-time favourite RDBMS
6 years experience
DCGs for gnarly parsing. Wrote Upl - a ruby wrapper for swi-prolog.
DCGs for gnarly parsing. Wrote Upl - a ruby wrapper for swi-prolog.
25 years experience | 1 endorsement
In all my projects I've been involved in designing how the system works, as well as in implementing that design.
In all my projects I've been involved in designing how the system works, as well as in implementing that design.
7 years experience
generic crdt library
generic crdt library
3 years experience
Sometimes I look at a networking problem and think "I should really use zmq for this. But the rest of the team will hate it." I've been w...
Sometimes I look at a networking problem and think "I should really use zmq for this. But the rest of the team will hate it." I've been wrong every time.

REVIEWS FROM CLIENTS

5.0
(10 reviews)
Ron Parker
Ron Parker
April 2023
Another productive session with my go to mentor.
Ron Parker
Ron Parker
March 2023
John is very experienced, accommodating and patient. After our first session, John thought about my project and suggested a change from CSV to Sqlite when we met the second time. He's an awesome mentor.
Ron Parker
Ron Parker
March 2023
As a beginning programmer attempting to write a tool to organize my professional job, it's been a productive and enlightening experience working with John. After our first session, he thought about my project and at the beginning of the second session made suggestions to move from CSV to Sqlite and the project is quickly becoming useful. John is a conscientious mentor.
Jack White
Jack White
March 2023
Very helpful. Knowledgable. Great at reasoning through complex system design.
Henk Hopie
Henk Hopie
March 2023
Easy to communicate with and very knowledgeable about prolog!
Joel
Joel
July 2014
We talked through the issue and came up with some fairly good solutions. Would use again!
SOCIAL PRESENCE
GitHub
philtre
It's the Sequel equivalent for Ransack, Metasearch, Searchlogic. If this doesn't make you fall in love, I don't know what will.
Ruby
18
1
upl
A ruby ffi interface to SWI-Prolog that goes both ways.
Ruby
8
3
EMPLOYMENTS
Senior Software Developer
WeThinkCode
2020-03-01-2023-07-01

Backend (in ruby and elixir) and cli (in rust) for students learning how to code. General backend and admin. Specifically plagiarisati...

Backend (in ruby and elixir) and cli (in rust) for students learning how to code. General backend and admin. Specifically plagiarisation detection, which is a difficult problem to crack.

Also, cli authentication using oauth2/openid, cli UX, http services for the http cli client, automated grading systems.

Some of this was part of a team, and some was a particular aspect that I worked on solo for a period of a few months at a time.

Ruby
Python
Git
View more
Ruby
Python
Git
PostgreSQL
HTTP
Azure
F#
RabbitMQ
GitLab
Docker
Web Service
Elixir
DigitalOcean
Rust
Docker Compose
Keycloak
View more
Senior Freelance
Device Magic
2020-10-01-2021-10-01

Device Magic collects data using forms on portable devices, and uses that to provide business reporting. One of the avenues they use i...

Device Magic collects data using forms on portable devices, and uses that to provide business reporting. One of the avenues they use is templates inside of OpenXML documents as supported by Microsoft Word and Excel. They already had a templating system working for Microsoft Word documents. I wrote the templating system for Excel documents.

Ruby
XML
XPath
View more
Ruby
XML
XPath
OpenXML
View more
Freelancer
Several
2004-01-01-2018-12-01

Many projects using mainly ruby, some using rails, doing mostly backend and database work. Using the Sequel gem to interface with SQL ...

Many projects using mainly ruby, some using rails, doing mostly backend and database work. Using the Sequel gem to interface with SQL data stores where possible, and several projects that did not use traditional MVC as its architecture.

Ruby
View more
Ruby
View more
PROJECTS
2018
swi-prolog binding for ruby using ffi
swi-prolog binding for ruby using ffi
Ruby
C
Prolog
Ruby
C
Prolog