Code Monkey home page Code Monkey logo

James-P-D

Below is a quick overview of every repository on my Github. All projects are original sources (rather than forks of projects created by other users).

Contents

  • Compilers and Interpreters

    • Forthish - A C# Console application for a Forth-like stack-based language
    • Logo - A C# WinForms implementation of the educational programming language Logo with the addition of variables, evaluations and basic control functions (if/then/else/loops etc.)
    • Lispy - A basic Lisp interpreter in Nim
    • Subleq - A Subleq interpreter in Fortran
    • AnalyticalEngine - Analytical Engine emulator in Raku
    • BrainfuckBrowser - A very simple browser-based Brainfuck interpreter in Javascript, HTML & CSS
    • BrainfuckCompiler - A command-line node.js application for generating MASM-compatible x86 Assembly versions of Brainfuck programs
    • Logo3D - 3D Logo interpreter in Python using OpenGL
    • Lambda - A simple Lambda Calculus expression interpreter in Java
  • Networking Tools

    • Traceroute - A simple command-line tracert implementation in Python 3 using ICMP packets
    • TCPPortScan - A simple TCP Port Scanner in Ruby
    • DNS - A simple command-line Domain Name System tool in Ruby
    • SYNScan - A command-line port scanner using raw SYN packets in C
  • Web Tools

  • Artificial Intelligence

    • GOFAI
      • TicTacToeMinimax - A simple C# WinForms application for playing Tic-Tac-Toe (Noughts & Crosses) using the Minimax algorithm
      • DraughtsMinimax - A Processing implementation of Draughts (Checkers) using Minimax
      • Connect4Minimax - A Connect-4 game using Javascript and p5.js
    • Robotics
      • RobotArmGestures - Controlling the Hiwonder xArm1S robotic arm with hand gestures in Python
  • Puzzles

    • Wordsearch - Wordsearch puzzle solver with UI in Java using Swing and searcher in Erlang
    • Sudoku - A Sudoku puzzle solver with algorithm in F# and UI in C# Winforms
    • PegSolitaire - Peg Solitaire solver in OCaml
    • Traintracks - Traintrack puzzle game in Python
    • GeniusSquare - Genius Square puzzle solver in Python
    • Hangman - Hangman in SNOBOL
    • ConsoleSnake - Snake game for Windows console in C/C++
    • Pong - Pong game in x86 Assembler
    • NQueens - N-Queens solver in Common Lisp
    • MagicSquare - Magic Square solver in Prolog
  • Bluetooth

  • Lora

    • LoStikLoraChat - Simple text chat client for the LoStik Lora device using Python and PySimpleGUI for UI
    • MeshSpeech - Meshtastic desktop client with text-to/from-speech in Python
  • CardPuter

    • ToneGenerator - DTMF, Blue, and US/UK Red Box tone generator for the Cardputor device in Arduino Sketch (C++)
    • FlipperZeroIRPlayer - Program for playing Flipper Zero IR files on CardPuter device in Arduino Sketch (C++)
  • Miscellaneous

    • Maze - Maze Generation and Solving in Python
    • Fractals - Fractals with zoom functionality in Python and Julia
    • BitwiseImages - Images created with bitwise operators in Julia
    • MSPainter - Picture generator using MS Paint in Python
    • GraphPlotter - Graph Plotter in Python using Tkinter
    • ImageToANSI - Image to ANSI converter in Perl
    • TextToSpeechTail - Console tail application with online/offline text-to-speech in Python
  • Dump Folders

Compilers and Interpreters

https://github.com/James-P-D/Forthish

A C# Console application for a Forth-like stack-based language

Screenshot


https://github.com/James-P-D/Logo

An implementation of the educational programming language Logo with the addition of variables, evaluations and basic control functions (repeat, if..then..else, while, break, continue etc.) in C#

Screenshot


https://github.com/James-P-D/Lispy

A basic Lisp interpreter in Nim

Screenshot


https://github.com/James-P-D/Subleq

A Subleq interpreter in Fortran

Screenshot


https://github.com/James-P-D/AnalyticalEngine

Analytical Engine emulator in Raku

Screenshot


https://github.com/James-P-D/BrainfuckBrowser

A very simple browser-based Brainfuck interpreter in Javascript, HTML & CSS

Screenshot


https://github.com/James-P-D/BrainfuckCompiler

A command-line node.js application for generating MASM-compatible x86 Assembly versions of Brainfuck programs.

Screenshot


https://github.com/James-P-D/Logo3D

3D Logo interpreter in Python using OpenGL

Screenshot


https://github.com/James-P-D/Lambda

A simple Lambda Calculus expression interpreter in Java

Screenshot


Networking Tools

https://github.com/James-P-D/Traceroute

A simple command-line tracert implementation in Python using ICMP packets

Screenshot


https://github.com/James-P-D/TCPPortScan

A simple TCP Port Scanner in Ruby

Screenshot


https://github.com/James-P-D/DNS

A simple command-line Domain Name System (DNS) tool in Ruby

Screenshot


https://github.com/James-P-D/SYNScan

A command-line port scanner using raw SYN packets in C

Screenshot


Web Tools

https://github.com/James-P-D/RedditImageScraper

Console application for downloading images from Reddit in Python

Screenshot


Artificial Intelligence

GOFAI

https://github.com/James-P-D/TicTacToeMinimax

A simple C# WinForms application for playing Tic-Tac-Toe (Noughts & Crosses) using the Minimax algorithm.

Screenshot


https://github.com/James-P-D/DraughtsMinimax

A Processing implementation of Draughts (Checkers) using Minimax

Screenshot


https://github.com/James-P-D/Connect4Minimax

A Connect-4 game using Javascript and p5.js

Screenshot


Robotics

https://github.com/James-P-D/RobotArmGestures

Controlling the Hiwonder xArm1S robotic arm with hand gestures in Python

Screenshot


Puzzles

https://github.com/James-P-D/WordSearch

Wordsearch puzzle solver with UI in Java using Swing and searcher in Erlang.

Screenshot


https://github.com/James-P-D/Sudoku

A Sudoku puzzle solver with algorithm in F# and UI in C# Winforms

Screenshot


https://github.com/James-P-D/PegSolitaire

Peg Solitaire solver in OCaml

Screenshot


https://github.com/James-P-D/Traintracks

Traintrack puzzle game in Python

Screenshot


https://github.com/James-P-D/GeniusSquare

Genius Square puzzle solver in Python

Screenshot


https://github.com/James-P-D/Hangman

Hangman in SNOBOL

Screenshot


https://github.com/James-P-D/ConsoleSnake

Snake game for Windows console in C/C++

Screenshot


https://github.com/James-P-D/Pong

Pong game in x86 Assembler

Screenshot


https://github.com/James-P-D/NQueens

N-Queens solver in Common Lisp

Screenshot


https://github.com/James-P-D/MagicSquare

Magic Square solver in Prolog

Screenshot


Bluetooth

https://github.com/James-P-D/AdafruitBLESniffer

Bluetooth sniffer for the Adafruit Bluefruit device in Python

Screenshot


Lora

https://github.com/James-P-D/LoStikLoraChat

Simple text chat client for the LoStik Lora device using Python and PySimpleGUI for UI

Screenshot


https://github.com/James-P-D/MeshSpeech

Meshtastic desktop client with text-to/from-speech in Python

Screenshot


CardPuter

https://github.com/James-P-D/ToneGenerator

DTMF, Blue, and US/UK Red Box tone generator for the Cardputor device in Arduino Sketch (C++)

Screenshot


https://github.com/James-P-D/FlipperZeroIRPlayer

Program for playing Flipper Zero IR files on CardPuter device in Arduino Sketch (C++)

Screenshot


Miscellaneous

https://github.com/James-P-D/Maze

Maze Generation and Solving in Python

Screenshot


https://github.com/James-P-D/Fractals

Fractals with zoom functionality in Python and Julia

Screenshot


https://github.com/James-P-D/BitwiseImages

Images created with bitwise operators in Julia

Screenshot


https://github.com/James-P-D/MSPainter

Picture generator using MS Paint in Python

Screenshot


https://github.com/James-P-D/GraphPlotter

Graph Plotter in Python using Tkinter

Screenshot


https://github.com/James-P-D/ImageToANSI

Image to ANSI converter in Perl

Screenshot


https://github.com/James-P-D/TextToSpeechTail

Console tail application with online/offline text-to-speech in Python

Screenshot


Dump Folders

When learning any programming language, I create a 'dump' folder into which I commit various scripts during the learning process.

When I feel comfortable undertaking a larger project in a new language I will often add additional scripts as I come across concepts or libraries that I didn't encounter whilst learning. It also serves as a useful 'cheat-sheet' to refer to when I need to recall 'how to create a 2D array in language X', 'can language Y pass-by-reference?', 'how to pass variable number of parameters in language Z', etc.

The full list of 'dump' repositories is as follows:

  • C# - C#, WPF, .NET etc.
  • Java - Java
  • C - Classic C
  • C++ - "There are only two kinds of languages: the ones people complain about and the ones nobody uses." - Bjarne Stroustrup
  • Rust - "most loved programming language" in the Stack Overflow Developer Survey every year since 2016, apparently
  • Go - General purpose language created by Google
  • Zig - Niche systems programming language
  • Python - A general purpose programming language whose popularity is inversely proportional to the amount of thought that went into creating it
  • Ruby - Ruby
  • Processing - An educational programming language made for visual design - similar to, and compiles to, Java.
  • Julia - A high-level (but fast) programming language for science and maths. Often touted as a replacement for MATLAB.
  • Nim - A rarely used but fascinating language with a host of interesting programming features
  • Perl - Perl
  • Raku - Rebranded Perl 6
  • Javascript - Everyone uses it, everyone hates it, and everyone keeps using it
  • TypeScript - Javascript superset with an actual type-system
  • Lisp - Common Lisp
  • Clojure - A modern Lisp dialect
  • Racket - ..and another Lisp dialect
  • Scala - A functional language that runs on the JVM
  • F# - The .NET functional programming language. Similar to ML.
  • OCAML - Functional programming language. Again, similar to ML.
  • Haskell - Pure functional programming language
  • Erlang - Functional programming language from Ericsson
  • Elixir - Functional programming language that runs on the Erlang VM
  • R - Statistical programming language
  • Prolog - Old and largely forgotten logic programming language
  • SNOBOL - Very old language for string-orientated programming language
  • PostScript - Stack-based page description language
  • x86 Assembly - x86 Assembly
  • Wasm - Low-level WebAssembly
  • JavaByteCode - Low-level Java Byte Code

James's Projects

James doesnโ€™t have any public repositories yet.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.