/tech/ - Technology and Computing

Technology, computing, and related topics (like anime)

Site was down because of hosting-related issues. Figuring out why it happened now.

Build Back Better

Sorry for the delays in the BBB plan. An update will be issued in the thread soon in late August. -r

Max message length: 6144

Drag files to upload or
click here to select them

Maximum 5 files / Maximum size: 20.00 MB

More

(used to delete files and postings)


Open file (94.23 KB 586x1080 mmc-30-in-st.png)
Meta-Machine Code Anonymous 09/25/2019 (Wed) 03:50:17 No.269
I had a thread on 8chan's /tech/ for this program of mine and, now that I've found this place, I may as well make one here.

Featured in the image is my Meta-Machine Code targeted at CHIP-8; on display in that is a Rule 30 program I've written in CHIP-8. This is what I consider an ideal machine code development tool that I envisioned years back and have by now breathed life into.

An assembler is a lesser tool, I believe, lacking an intimate knowledge of what it targets and being a batch tool; my MMC is interactive and asks the programmer to recall little about the machine code being used, as it will explain in suitable detail all instructions it knows of; further, as programming is accomplished through instructions bound to keys, rather than to mnemonics, it's easy to simply press keys and answer questions until one learns what the keys are bound to. Invalid instructions won't be generated; an assembler will simply fail with an error. I've more recently come to believe the tool could have pedagogical worth, as one can simply learn the tool as it's used, which isn't reasonable with an assembler and its assembler language.

Here's some articles I've written concerning this tool of mine, which will give you details and demonstrations:
http://verisimilitudes.net/2017-07-07
http://verisimilitudes.net/2018-01-01
http://verisimilitudes.net/2018-08-08

The version currently available is old and out-of-date compared to what I'm using. The program is in a state where only I can really use it, for a variety of reasons. I've been wanting to write an Ada reimplementation, but I've found that the idea isn't nearly structured enough to the degree Ada requires and the Common Lisp implementation I've is a mess I've been reluctant to work on.

Simply put, Common Lisp is that language I'm most skilled with and the flexibility it provided allowed me to hang myself with tangential considerations. Wanting for a proper customization mechanism that wasn't Lisp, I thought a machine code was an appropriate mechanism to customize a machine code tool and the least arbitrary choice; as CHIP-8 lacks the power to do such a thing, however, I designed a Meta-CHIP-8 and the current implementation of the tool is a shell around this environment, with the personality of the tool being written in Meta-CHIP-8. This is, of course, a mess.

My current plan is to rewrite the Common Lisp once more in a more structured fashion and lacking Meta-CHIP-8 and I expect after that I'll have the structure necessary to translate the Common Lisp to Ada. I can still work on the primitives the Ada version needs and will use, but the overall organization of the packages and whatnot lacked the structure I thought it should have. I've also written my own terminal library in Common Lisp and this is something I've not yet published in Ada, which is another requirement down the way.

In any case, feel free to ask me any questions concerning this or other works of mine and I'll do my best to provide an answer. Now, the argument could be made this doesn't deserve a thread, but I thought this place could benefit from the activity and I'm suitably interested in it.
>>269
Looks remarkable anon. Good luck with the plans for it. And welcome back.
I remember this from 8ch, always thought it was really cool but I still haven't had the time to take a more thorough look at it.
>>269
Hi anon. It's threads like this I miss since the (((shoah))).
t. fellow /tech/nician
It's a shame this venue seems so dead. I was waiting to see the responses I'd receive. It's asinine I seem to be required to allow cookies or JavaScript merely to post here. It's also sickening to see treating Tor users as second-class, in the same vein as 8chan, is continuing. In any case, I've been working on SHA more lately, finishing three standalone SHA-1 implementations in December instead of trying to finish my MMC with the year. I'm working from that design to a more comprehensive SHA library I want to create soon, but there's research and other barriers to pass. The Common Lisp reimplementation is rather finished at present, sans the prime loop and keyboard table, after which I'll be able to test it. I enjoy Ada, but I've lost the patience to rewrite this program in Ada; I'll write other MMC targetings in Ada, instead. Follows is the URL of the only MMC article I've written in this interim, concerning my plans for the metadata format: http://verisimilitudes.net/2019-09-29 I would've attached an image of the Rule 30, Improved program I wrote after that already shown, but Tor users can't upload files. My other submission to the Octo Jam VI was a forty-octet game, the smallest submission the jam's ever received. I intend to write more CHIP-8 games, and yet I've been busy with other work; I'd like to have advanced tennis, nonogram, and Berzerk games this year; it's fun to document machine code in detail and I've considered writing a book doing so, say, with an Atari 2600 game, but I'd need a 6502 targeting first. This would tie in with having my tool able to produce nice formatting for its display, instead of solely ECMA-48 control codes. I'm able to do innovative work with this, because so few are interested in machine code, but also so few are interested in machine code and this makes it difficult to collect opinions on my work, although I've recently started contacting other low-level programmers as I find them. A future goal is to join the demoscene community pouet, where I figure I may finally locate a large number of likeminded programmers, but I'll see. In closing, I don't intend to be oh so personal with this, necessarily, but it would be nice to get more thoughts on this work of mine.
>>1556 >It's also sickening to see treating Tor users as second-class, in the same vein as 8chan, is continuing. It isn't on purpose it's just how the nigger that coded this software forced things to be. We're trying to move on and build our own imageboard software to solve these problems. Perhaps you'd like to help?
>>269 I have no fucking clue what this shit is and I'm definitely not going to read 3 blog posts. unbased btw >>1556 >I've been working on SHA more lately, finishing three standalone SHA-1 implementations in December >I'm working from that design to a more comprehensive SHA library I want to create soon LOOOL https://shattered.io/ https://sha-mbles.github.io/ Also I started reading this shit here: http://verisimilitudes.net/2018-06-06 I had to stop soon because of too much braindamage. Your "ideal machine text" is called entropy encoding, except that entropy encodingis language agnostic. https://en.wikipedia.org/wiki/Entropy_encoding >consider the Chinese and Japanese languages no
>>1557 Copy nanochan's code. No pajeetscript required, but you'll need a better back-end for dealing with spam, that's about it.
How can you even stand CL? As a Tcl user, Scheme looks like what Lisp should have been.
>>1559 You seem to believe I was unaware of SHA-1 being unsuitable for its purpose before I implemented it; this isn't the case. Firstly, SHA-1 is still in-use. Secondly, I figured I would implement all SHA over time and SHA-1 was a good starting point. I agonized over the design of my SHA-1 in Ada and this influenced the other two implementations; further, the basic shape of the design is very suited to the later SHAs. Do you not program purely for the learning and fun of it; the implementations of the SHAs in APL are practically worthless, but good fun to write and document. >I had to stop soon because of too much braindamage. Your "ideal machine text" is called entropy encoding, except that entropy encodingis language agnostic. This ideal machine text system of mine uses words as the fixed-length unit and not characters. It's not entropy encoding, but you didn't read enough to realize this. >>1692 Common Lisp resembles historical Lisps moreso than Scheme, obviously as it was designed to be the common Lisp. I like Common Lisp, the separate function and value spaces, and I heavily use macros for my work. I don't mind writing my libraries myself. If you ask a more detailed question, I'll give a more detailed answer. On that note, I've written a Common Lisp Style Document recently; feel free to give your thoughts on this as well: http://verisimilitudes.net/2020-02-14
>>1785 I mean from a consistency and elegance point of view. Both Lisp and Scheme stem from lambda calculus but Lisp departs way further and seem to complicate the syntax uselessly (e.g. ' and quote). To someone who never touched Lisp but use Tcl and did a bit of Emacs Lisp, Lisp vs Scheme distantly looks like C++ vs C; well, if you ignore the timeline and squint your eyes really hard.
>>1804 The Lisp family doesn't truly derive from Lambda Calculus. Without venturing to get an exact quote or to doublecheck, John McCarthy didn't understand all of Church's paper and used the name lambda for some reason I don't recall. The quote shorthand exists in Scheme and Common Lisp, among others. Common Lisp isn't a Lisp which is fearful of becoming more complex to simplify itself. You may think Common Lisp is complicated, but in many cases providing what it does makes things simpler, if only because there's a standard way to achieve such things. By having a mechanism for conditional compilation through #- and #+, as an example, there need not be multiple and incompatible solutions to the problem. Providing a solution to a problem, rather than ignoring the problem's existence, is valuable. I enjoy that I can easily test my libraries and programs in multiple implementations, rather than being tied to a small number and accidentally using nonstandard code where it's avoidable.
>>1813 Then the language failed. It should give you the minimum set of tools to solve all your problems by building more tools, not the world's biggest toolbox. That's why I think Tcl's uplevel is the best thing to ever happen.
I released the reimplementation on the third anniversary of the announcement: http://verisimilitudes.net/2020-07-07 This post doesn't bump, as I'm not quite certain it's worthwhile to do so. I'll still check this thread periodically for replies, however, so feel free to prove me wrong.

Report/Delete/Moderation Forms
Delete
Report