David Joffe
dj software logo 90s

Welcome; stay and browse. "About me", in brief:
• I am co-founder of TshwaneDJe Software and Consulting, and lead developer of a.o. TLex Lexicography Software (used by publishers like Oxford University Press), tlTerm Terminology Management Software, tlCorpus Corpus Query Software, and tlDatabase generic data editing software.

French AI tutor chatbot screenshot
French AI tutor

• Software Engineer (with ~30 years experience); game developer - VR (Virtual Reality); C++, PHP, Python, Lua, C# etc. CUDA Development. APIs like Direct3D, OpenGL, as well as higher-level engines like Unreal Engine.

• Me in the press »

• My Resume / CV »

@davidjoffe7 my wife and I, finally made it to space again ... my lovely wife is the best copilot in the galaxy. #space #couple #captain #spaceship #scifi ♬ original sound - David

• Small personal game projects: Open source games I've written or am busy working on: Sokoban; a Tetris-like game; Dave Gnukem: a retro-style cross-platform open source 2D side-scrolling shooter inspired by Duke Nukem 1 (~1991) - in 2018 released Version 1 :) ... and as of around ~2022-2023 is in official Debian, Ubuntu, Kali, Raspbian & more - including on Windows WSL! :)

• My LiveCoding channel (previously livecoding, which is now 'education ecosystem') where I regularly do mostly programming live-streams (video archive)

African languages information site with online dictionaries - I'm also lead programmer of various online dictionaries, including Swahili, Lusoga, Kalenjin, Jarai, and more.

runai - help run or automate AI/LLM and other tasks

1runai screenshot plus play symbol

dj CUDA Samples

dj CUDA Samples is a growing collection of small, focused CUDA examples by David Joffe. The series starts with a GPU-accelerated bouncing balls simulation written in modern C++, using CUDA for physics updates and OpenGL via GLFW for real-time visualization.

The samples are designed as interview-ready reference code: cleanly structured, cross-platform (Windows & Linux/WSL), and easy to build with CMake and vcpkg. They showcase practical patterns for:

  • CUDA kernel design and grid / block configuration
  • Struct-of-Arrays layouts for coalesced GPU memory access
  • CUDA–OpenGL interoperability for real-time rendering
  • Cross-platform build pipelines with CMake

Source code and build instructions: github.com/davidjoffe/dj-cuda-samples

Game Development

I am available for professional game development. I specialize in C++ development and have experience with low-level APIs such as Direct3D, OpenGL, PhysX, as well as Unreal Engine; I can also do Vulkan work (the 'OpenGL replacement'). I have extensive experience developing VR (Virtual Reality) applications. I'm one of those developers you can throw virtually any kind of work at; contact me if you have a requirement to discuss - I'll let you know if I can assist or not. (I can also work remotely from anywhere and have experience with Git and Subversion.)

I also have broad cross-platform development experience (Windows, macOS, Linux).

As of writing, I'm currently working on a new (closed-source) game project in C++ with Unreal Engine, which I am able to periodically livestream on Twitch.

Games

Below are several free or open source games I've written over the years as 'hobby side projects':

Dave Gnukem A retro-style game that could perhaps be thought of as a parody (albeit not a very funny one) of the famous 1991 DOS classic, Duke Nukem 1. It is open source (C++) and has been ported to many platforms. It has a github repo.

 

Still Yet Another Sokoban An open source implementation of the popular puzzle game, in which the goal is to push the crates onto the designated squares without getting stuck.

 

Falling Blocks A game based on something resembling Tetris(TM) but in no way is it Tetris(TM).

• Finally, a few really ancient and probably uninteresting things here (simple slider piece puzzle) and here (QBasic stuff ~1990s).

Virtual Reality Work

I was a lead developer for simulator systems such as these at my previous role at 5DT:

AI chatbot applications, e.g. AI French tutor (beta / in-development): French AI tutor chatbot screenshot
2D Game
Pet Portrait Lulu - Oil on Canvas 8x8 - David Joffe - 2014.jpg
Portrait (Pencil) 4yo girl
Baby Portrait - Pencil Sketch A5 - 2013
Cat - Pencil 1994

'Bubbles', Bridges, Language Software, Dictionaries & Education

our oxford dictionaries
The award-winning new educational dictionaries we created
in partnership with Oxford University Press SA
Why did I get involved with language software and creating (mostly African language) dictionaries and creating lexicography software? In brief, two reasons: 1. To help toward 'bridging cultures' (improving relations between cultural groups), and 2. improving education (e.g. for children in South Africa). After Apartheid ended, interracial tensions were high. I remember it one day striking me as a bit odd how many South Africans would walk around, almost as if in a 'bubble', not understanding the languages we hear around us every day, yet regarding this as 'normal'. I started learning Northern Sotho and isiZulu, which increasingly made me realize how much a language is also a bridge, or 'window to a culture' - while learning other languages, you also learn about other cultures. I realized many cultural misunderstandings could be improved if we could make it easier for people to learn languages - and it seemed one of the best ways to do that was 'better dictionaries, with the help of better dictionary software'. So, we did that. Languages are like 'bridges' to other cultures, and dictionaries help build those bridges. Since then, working together with many other partners who have assisted, the dictionaries we created have helped millions, and likewise the dictionaries created by other users of the lexicography software we created at TshwaneDJe, e.g. Pearson, Oxford University Press and many others worldwide.

Also, one of the challenges with education in South Africa is that mother-tongue speakers of African languages (children who either can't speak English, or only speak English at a basic level) are thrown at a young age into a school system that teaches in English. This creates difficulty for understanding the school material - and the lack of good, modern dictionaries meant they had little to help guide them. We realized better, new dictionaries aimed at these mother-tongue learners could potentially improve the educational foundations of millions of learners. We worked together with partners like Oxford University Press to help establish an award-winning new range of educational school dictionaries for languages like Northern Sotho, isiZulu, isiXhosa etc. (all created with our software, TLex). Academically-grounded lexicography methods, such as real-world mother-tongue corpus-based examples, both make the dictionary interesting and relevant for learners, and help learners get a feel for how the languages are really used. We're also working with partners like the South African National Lexicography Units toward these goals. With academic partners, we've published many scientific articles on the process.

The terminology software/platforms we've been creating (i.e. tlTerm) are also aimed toward similar goals.

ART »

I'm also an artist, focusing mainly on figure painting/drawing, and portraits, and I work mainly in oil or pencil. In short, I want to try help revive a tradition of beauty and skill in art.
See more »

Drawing of Melissa by the Stairs (Pencil) 2019
Pet Portrait Lulu - Oil on Canvas 8x8 - David Joffe - 2014.jpg
Portrait (Pencil) 4yo girl
Baby Portrait - Pencil Sketch A5 - 2013
Cat - Pencil 1994

[New 2019] New art prints available for sale

Individually-signed art prints available for sale. Framed or unframed. I can ship anywhere. ~$99 unframed (and originally-signed) for the stairs drawing. Size A3. Subject: Melissa. Contact me

drawings

News 2020: Even though it's 'artistic', I've moved all my 'not safe for work' drawings and paintings off this site from now on.

Thus, this entire site will 100% 'family-friendly' and safe to bookmark etc. - only 'family-friendly', safe-for-work art will appear on this site. I realize that opinions differ on whether artistic nudity is family-friendly, and this decision is not a statement of opinion on that matter. It's just a practical decision as 1. keeping such content isolated makes it easier for those who want to filter such content to do so (a decision I respect even if it's not my view), and 2. as my site was de-listed in the past, just in case this is a contributing reason I'd rather avoid risking site de-listings.

PHOTOS

• Some photos »

Gordons Bay Winter Wonderland Sunset
Old Harbour Sunset
Gordons Bay Winter Wonderland People Watching Sunset 1920x1080

  Gordons Bay beach panorama photo (360° ... not the best stitching, sorry). Taken 2011-12-05.
  Gordons Bay beach (2012)
  Misc images

OLD COMICS

Back when I was in school, I drew a regular weekly comic strip for a newspaper, and drew a few other random comic strips.

• Here are a few of my old childhood-drawn comics I hope to sort and upload properly at some stage. [More scans of Milo the Hamster comics here » .. now mostly complete.]

Comics

OLD STUFF

• A long time ago, I used to run a website called the Microsoft Crash Gallery - that's now archived here »
• A few of my early QBasic/QuickBasic Programs from back when I started programming (in the early 90's) (from my old website)
• During the peak of the Y2K "scare", I did a parody site of a Y2K panic-monger: Y2K for Conmen (original here)
• Some miscellaneous old retro screenshots, e.g. Windows 3.1 and DeluxPaint »
• Small 15-piece slider puzzle implementation I created ages ago (for Windows 95 (!) - still runs on Windows 10 (!))
• An old "Game Programming with DirectX" tutorial I was working on many years ago. Much of the underlying concepts are still relevant for low-level real-time 3D graphics and game engine design, but the Direct3D-specific parts are now very outdated ... at some stage I may try update this if I ever have time (modern rendering pipelines are more complex these days, with shaders and also parallelism being more important etc.)

Dave Gnukem Game

Dave Gnukem Screenshot

LINUX STUFF


Linux Commands I Use Often - Quick-Reference Started just writing up a list of some of the Linux/Unix commands I use most often, in case this might be useful to someone. Also some advanced git repo maintenance commands.
• A Linux Tutorial I wrote, mainly in the late '90s ... this was stagnant for a while but I've started updating it again.
• An old ~1998 Linux screenshots gallery I was working on long ago, which might serve some 'historical interest' to some.
Linux Screenshot

SOCIAL MEDIA ACCOUNTS

I have accounts on many social media sites; see my contact page for a partial list. I am not always active on all of these.

Retro Screenshots

Started compiling a few retro 'computing in the 90s' screenshots:

Windows 3.1 Screenshot

runAI

runai sample terminal create Python sin script

Education videos

@davidjoffe7 my wife and I, finally made it to space again ... my lovely wife is the best copilot in the galaxy. #space #couple #captain #spaceship #scifi ♬ original sound - David