Overall goal is to provide an build a framework for perserving information for future generations.
Starting as a 100 day project
Standards Data Format Test: ASCII Images: JPEG Storage (metadata) Text: Git Images: git-lfs? (may move to something more accessible)
Kicking off a 100 Day Project focused on buiding a system for perserving data long-term. Daily blog will ber located in the Perserving Info Project Space. Overall kind of excited - and gives me a nice personal project to grind away at. Good to get back into writing. And this blog serves as a good basis for the project - a complete text representation existing within My Primary and Secondary archive locations, in pure text.
The goal is to build an Internet connection weather station. Besides the standard tempurature, pressure, and humidity it should also collect snowfall information (the trickiest part of the project)
Equipment As of 12-31-2019, the equipment list of items being used:
An Onion Omega2+ The board is fairly powerful from an embedded standpoint, and has built-in Wifi connectivity. It’s very well that just an Onion Omega2 would probably have plenty of space An Onion Arduino Dock: The other parts of the Weatherstation kit are Arduino base, so using this dock makes sense.
Modify a dog feeder to dispense food based on a known schedule and RFID tags put on the collar of each dog. Still in the early planning stages, it will hopefully help keep our dogs well fed, but also provide lots of data for analysis!
An Altair 8800 style machine designed to implement the “COW” programming language. It’s a really simplistic language, but is technically Turing complete. The machine itself is powered by a Arduino Mega (more for the IO pins then the actual processor)
Original Project Homepage A copy of that content is below:
Moo Machine: Experience the First Microcomputer Interface.
Description: Toggle switches and LEDs were the interface for the first personal microcomputer, the Altair 8800.
Two physical Moo Machines will be available for hands-on demonstrations. The first machine will be a scale-model of the Altair 8800. The physical layout and experience will attempt to match the Altair 8800 as closely as possible. A second machine will be a scaled down portable version, maintaining as much of the interface of the full scale model as possible.
The Cow Programming Language will be used in lieu of the original 8080 machine language of the Altair 8800.
Hardware The Moo Machine is based around the Arduino Mega development board. An overview of the electrical components can be located here. The digital input and output pins on the Arduino are all that is necessary for the user interface. The input circuits is a pull-up design, with debouncing logic contained within the code. The outputs are simple LEDs. The Arduino Mega (ATMega 1280) provides enough input and output pins directly for the project.
The support circuitry for the Moo Machine is fairly simplistic. The left diagram shows a standard input circuit, which will be replicated nineteen times for each toggle switch. It is a standard pull-up configuration for both sides of the switch.
The output circuits are represented by the right side of the diagram. Those circuits will be replicated 26 times for the various LED outputs for the project.
The interpreter and interface logic was written in C, using the Arduino libraries and IDE. More information is available at http://www.arduino.cc/. The Arduino Mega is the target platform.
Source code for the version I demonstrated is located on Github, specifically for version 0.9. The full repo is at https://github.com/ssmiller25/moomachine/
The Moo Machine uses the code integer for instruction entry and display. Most program demonstrations use the actual instruction, which is easier to read.
Code Instruction Description 0 moo This command is connected to the MOO command. When encountered during normal execution, it searches the program code in reverse looking for a matching MOO command and begins executing again starting from the found MOO command.