This wiki is about bootstrapping systems, i.e., building up compilers and interpreters and tools from nothing. If you wanted to learn about how one might build a functional computer from the OS up, there are some resources here that talk about doing just this.
А simple programming game. You write Python scripts to control your bot in a roguelike (or Dandy-like) world. The goal is to collect as much gold as possible in the presence of other bots. The game uses only the Python standard library. Implements a simple API and ruleset for players to build their bots around.
A website that guides you through developing a text-based roguelike game using Python 3 and TCOD.
Github: https://github.com/TStand90/roguelike-tutorials-website
On 1976 at the HomeBrew Computer Club (HBCC), there was a lot of whining about Bill Gates charging $150 for his Basic interpreter. Dennis Allison responded by printing a "Build Your Own [tiny] Basic" article, so I asked if anybody would buy it if it cost only $5. There seemed to be some affirmation, so I wrote my interpreter. Others jumped on the same article, and I wasn't the first done, but I wanted to be paid for my efforts. As far as I know, nobody at HBCC bought it, but I sent a freebie to Byte magazine and they printed a 1-inch announcement. The next month my mailbox was full of orders, every one with $5. I didn't get rich off it, but it did pay a lot of my expenses at grad school.
This is an archive of as many versions of TinyBasic, the documentation, the user and experimenter kits as Tom Pittman could find.
This is a reference to ease developers into mathematical notation by showing comparisons with JavaScript code.
Motivation: Academic papers can be intimidating for self-taught game and graphics programmers. :)
This guide is not yet finished. If you see errors or want to contribute, please open a ticket or send a PR.
A book which describes, discusses, and teaches mathematics in ways that are more sensible to programmers.
Serving freely distributable files with FTP since 1990.
Linux was first released to the world from here 17.9.1991
What is this? Well, it’s a guide to a bunch of concepts that you might see in networking. It’s not Network Programming in C—see Beej’s Guide to Network Programming1 for that. But it is here to help make sense of the terminology, and also to do a bit of network programming in Python.
Is it Beej’s Guide to Network Programming in Python? Well, kinda, actually. The C book is more about how C’s (well, Unix’s) network API works. And this book is more about the concepts underlying it, using Python as a vehicle.
Programmers use a lot of symbols, often encoded with several characters. For the human brain, sequences like ->, <= or := are single logical tokens, even if they take two or three characters on the screen. Your eye spends a non-zero amount of energy to scan, parse and join multiple characters into a single logical one. Ideally, all programming languages should be designed with full-fledged Unicode symbols for operators, but that’s not the case yet.
Fira Code is a free monospaced font containing ligatures for common programming multi-character combinations. This is just a font rendering feature: underlying code remains ASCII-compatible. This helps to read and understand code faster. For some frequent sequences like .. or //, ligatures allow us to correct spacing.
Open VSX is an open-source registry for VS Code extensions. It can be used by any development environment that supports such extensions. See this article for more information.
This service is operated by the Eclipse Foundation.
The source code of Open VSX is managed by the Eclipse Open VSX project and is licensed under the Eclipse Public License v2.0.
DOS homebrew scene.
Does it exist? Are there any new games for DOS?
Why we’ve got plenty of new titles for almost every old platform, but just few for good old DOS powered IBM PC? Let’s do something about it. Let’s collect DOS games from 21st century and encourage others to make a new ones.
Why would someone make game for DOS nowadays?
– Because it’s fun, if you are into that sort of thing ;)
– Because it’s retro, and retro is cool! (you know, like bowties…)
– Because thanks to DOSBox, you can run DOS programs almost anywhere – Windows, Linux, MacOS, smartphones, tablets, Raspberry Pi, you name it.
This is a plugin for the Flipper Zero that ports pForth.
Once started the plugin will add a forth command to the CLI that can be used to call up a basic forth shell.
Calling the forth command with a file path as parameter will cause that file to be executed as a forth script. Examples are provided under forth_scripts.
To use one of the provided scripts (for example notif_success.fth), copy it to your SD card. Then run the plugin and execute forth /ext/<path to your file> (for example forth /ext/notif_success.fth) on the CLI.
Wikifunctions is a Wikimedia project for everyone to collaboratively create and maintain a library of code functions to support the Wikimedia projects and beyond, in the world's natural and programming languages.
A "function" is a sequence of programming instructions that makes a calculation based on data you provide. Functions can answer questions, such as how many days have passed between two dates, or the distance between two cities.
scare is a multi-arch assembly REPL and emulator for your command line.
There aren't many modern assembly REPLs out there. The ones that do exist are either opaque webapps, or are tied to specific architecture or platform. scare was built for people who want to test, experiment, or otherwise play with assembly code. All assembled code is run in an emulator, which executes only the code you give it. The multi-architecture design for the underlying scarelib library is meant to be modular, allowing for new architectures to be added quickly.
This book takes a single line of code—the extremely concise BASIC program for the Commodore 64 inscribed in the title—and uses it as a lens through which to consider the phenomenon of creative computing and the way computer programs exist in culture. The authors of this collaboratively written book treat code not as merely functional but as a text—in the case of 10 PRINT, a text that appeared in many different printed sources—that yields a story about its making, its purpose, its assumptions, and more. They consider randomness and regularity in computing and art, the maze in culture, the popular BASIC programming language, and the highly influential Commodore 64 computer.
Buy or download for free.
An implementation of BASIC for the BBC micro:bit, written in Micropython.
SizeCoding.org is a wiki dedicated to the art of creating very tiny programs for most popular types of CPUs. As sizecoding is also popular on other hardware, we recently opened the website for other platforms as well, check the links below. By "very tiny programs", we mean programs that are 256 bytes or less in size, typically created by members of the demoscene as a show of programming skill. The size of these tiny programs is measured by their total size in opcode bytes, and are usually presented as an executable binary.
Despite their tiny size, these programs are able to produce amazing graphical displays, playable games, and sometimes music. There are even some surprisingly effective programs in just 16 bytes or even 8 bytes.
The intent of this wiki is to teach assembler programmers the various techniques used to create tiny demoscene intros. While these techniques can be used for other applications (boot sectors, ROM, BIOS and firmware code, etc.), the information presented here is firmly oriented towards the demoscene. Practicality and common sense are sometimes thrown out the window just to shave a single byte. Consider yourself warned.
An SDK for developing DOS software for x86 machines, including IBM PC compatibles and NEC PC-98.
Since a PC is composed of a number of off-the-shelf chips, the SDK is structured in a way to reflect this. This means that the definitions related to specific chips such as the 6845, the 8253, 8259 etc. are separated from how they are implemented in the PC architecture (the IO addresses, memory addresses, IRQ and other resources they use). A header file for a specific chip will only contain the generic information for the chip. A separate system-specific header file (in this case IBMPC.inc/IBMPC.h or PC98.inc/PC98.h) will then contain the information specific to the implementation of that system. This allows you to use the header file for the chip for any system that implements it. This is especially useful for writing code for both IBM PC and NEC PC-98, which mostly use the same hardware, but not at the same locations. In future, it may also be expanded to other systems, such as the Tandy 2000.
The Federal Virtual Training Environment (FedVTE) provides the following courses free of charge and without login requirements. You must use a modern browser (Edge, Chrome, Firefox) and have cookies enabled to track your progress in these courses.
At the bottom of this file you will find a payload -- a blob of data that has been obfuscated in some way. When it is decoded correctly, the payload will turn into another text file with another puzzle. There are many puzzles wrapped inside each other, like a matryoshka doll, or the layers of an onion.
You will need to write code to do the decoding. This can be done using any programming language.
Every layer clearly explains how to decode its payload. These are puzzles with deterministic solutions, like Sudoku, not riddles. I'm a software developer, not the sphinx of Thebes.
There is a little bit of educational value in each layer. In order to progress, you will need to learn and use computery concepts like bitwise operations, encodings, cryptography, error detection, and so on.