|
8100
|
Crawssembly by @The_Craw | Stardance
|
The_Craw
|
3
|
310.71
|
5664
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-08T09:56:51Z", "hours": 137.0, "multiplier": 19.59, "payout": 2622, "blessing": "neutral", "text": "CRAWSSEMBLY - New and Improved! “Programming languages are a lie!” This is Crawssembly, the number 1 project on all of stardance! It’s a project that’s been in production for over a year. It is an educational assembly-like programming language that teaches users how computers actually work. Programming languages like Python, Ruby, and Java pull the wool over your eyes by abstraction and simplification. Crawssembly is the first step to seeing clearly. What is new? INTERNET SOCKETS! CRAWOS COMMAND LINES! DYNAMIC LABEL JUMPING! IMPROVED DEVICES! DEDICATED PACKAGE SHARING WEBSITE! AND MORE! Check it out for yourself! (Shipped early due to Fraud Squad limitations, Crawssembly is too powerful for Hack Club)", "repo": "https://github.com/Jonah-Crawford/Crawssembly", "demo": "https://crawssembly.ultimatecraw.xyz/"}, {"ship_num": 2, "ts": "2026-07-02T17:49:35Z", "hours": 33.0, "multiplier": 19.65, "payout": 633, "blessing": "neutral", "text": "Crawssembly v1.1.0 ready to ship! “Programming languages are a lie!” This is Crawssembly, a project that’s been in production for almost a year. It is an educational assembly-like programming language that teaches users how computers actually work. Programming languages like Python, Ruby, and Java pull the wool over your eyes by abstraction and simplification. Crawssembly is the first step to seeing clearly.", "repo": "https://github.com/Jonah-Crawford/Crawssembly", "demo": "https://crawssembly.ultimatecraw.xyz/"}, {"ship_num": 3, "ts": "2026-06-26T21:15:26Z", "hours": 134.0, "multiplier": 19.78, "payout": 2409, "blessing": "neutral", "text": "Crawssembly: The beginner’s gateway to low-level thinking. \"Programming languages are a lie!\" This is Crawssembly, a project that’s been in production for almost a year. It is an educational assembly-like programming language that teaches users how computers actually work. Programming languages like Python, Ruby, and Java pull the wool over your eyes by abstraction and simplification. Crawssembly is the first step to seeing clearly.", "repo": "https://github.com/Jonah-Crawford/Crawssembly", "demo": "https://crawssembly.ultimatecraw.xyz/"}]...
|
[{"post_id": 79047, "ts": "202 [{"post_id": 79047, "ts": "2026-10-12T14:17:02Z", "hours": 5.8211, "text": "idk where these extra hours are coming from, but as long as I don’t ship them, they won’t count towards stardust so I’ll be fine. In the meantime, enjoy craw slop"}, {"post_id": 73135, "ts": "2026-09-24T13:36:27Z", "hours": 0.8872, "text": "It has come to my attention that not everyone who has followed Crawssembly has starred it on GitHub! Please, if you like my project, star it on GitHub at https://github.com/Jonah-Crawford/Crawssembly Thank you."}, {"post_id": 62476, "ts": "2026-09-05T20:43:32Z", "hours": 1.1861, "text": "I’m back! Fraud Squad unbanned me so WE are all having a party at my house Although I can’t use nano apparently anymore… so Crawssembly will be having it’s final ship very very soon"}, {"post_id": 53379, "ts": "2026-08-23T22:12:14Z", "hours": 4.7478, "text": "I’ve been doing much more testing and implementing the network device. Specifically testing the following commands: io net ip , io net addr , io net connect , io net socket , io net port , io net listen , io net accept , io net send , io net protocol , io net block , and io net recv ."}, {"post_id": 52283, "ts": "2026-08-22T12:07:09Z", "hours": 0.5569, "text": "HTTP requests working 🔥 ts is so peak icl"}, {"post_id": 51913, "ts": "2026-08-21T20:28:29Z", "hours": 4.2456, "text": "I’VE ACTUALLY DONE IT 🔥 Networking is now officially part of Crawssembly. Alpha tests on localhost have all passed"}, {"post_id": 51556, "ts": "2026-08-21T10:23:09Z", "hours": 0.3189, "text": "I’ve brought run back from the dead. You can now use run rXX to run a binary value inside the input register as a Crawssembly instruction"}, {"post_id": 51201, "ts": "2026-08-20T18:32:01Z", "hours": 0.4944, "text": "stardance"}, {"post_id": 50613, "ts": "2026-08-19T20:41:05Z", "hours": 1.6864, "text": "I’m finally getting somewhere with the editor, however I’m now having issues with character deletion, and adding characters inside empty newlines"}, {"post_id": 49579, "ts": "2026-08-18T13:50:02Z", "hours": 4.3281, "text": "Still no clue why characters aren’t being saved to memory in my free heap block Slow day today fr"}, {"post_id": 48745, "ts": "2026-08-17T08:45:08Z", "hours": 2.36, "text": "For some reason, I’ve been banned on slack. I don’t know why, since no one will tell me. This is not good news, but luckily it doesn’t seem to be a stardance-wide ban, so I can still do the hackathon."}, {"post_id": 48355, "ts": "2026-08-16T17:45:02Z", "hours": 8.0639, "text": "Lots of work today, sorry for the . I’ve been struggling with the text editor, heap buffers, cursor allocation, character addresses, etc etc… ad infinitum. However, I’m getting close. Rendering is outputting something, although I don’t know why typing doesn’t seem to add anything…"}, {"post_id": 47504, "ts": "2026-08-15T13:39:53Z", "hours": 4.2456, "text": "I’ve added io keyboard mod to create a bitfield of modification key presses for the keyboard device, so now keys like CTRL and TAB can be handled, which lays the foundation for my next project which is making a basic file editor in casm"}, {"post_id": 46783, "ts": "2026-08-14T09:10:12Z", "hours": 4.3825, "text": "Sorry for the but it’s been a hectic couple of days. I got into University! I’ve also been busy taking a look at a CGOL implementation, truly amazing stuff! Go check it out: https://github.com/srxcode/game-of-life-crawssembly"}, {"post_id": 45634, "ts": "2026-08-12T08:01:02Z", "hours": 1.1425, "text": "I’ve separated the old sleep command into sleepms for millisecond waits and sleepus for microsecond waits. Although, microsecond precision is highly dependent on the OS, so it won’t be as accurate as sleepms for smaller values (Say, n<50)"}, {"post_id": 45230, "ts": "2026-08-11T15:52:21Z", "hours": 1.3411, "text": "I’ve merged the new fgo rules to the project, so now fgo points to labels similar to jmp , but fgo 0 now jumps to the label defined in r01 I was having some issues with using git but I got them sorted"}, {"post_id": 45046, "ts": "2026-08-11T09:08:16Z", "hours": 0.8819, "text": "I’m back from camping! (RIP my 60+ day streak) My plans going forward immediately is improving program counter modifications to allow for higher-level concepts to be bootstrapped onto Crawssembly instruction sets. (Image unrelated)"}, {"post_id": 40794, "ts": "2026-08-04T15:32:01Z", "hours": 1.0728, "text": "I’ve been working with @BetterClient to inprove the program counter and bringing back fgo from casm beta. This is also a reminder that I’ll be OOO until next Monday."}, {"post_id": 40209, "ts": "2026-08-03T16:48:57Z", "hours": 1.4692, "text": "I’ve made publishing packages super easy now, all you need to do is craw init to create the package, and then craw pkg publish . As long as you’re signed into CPM and gh, it’ll just work"}, {"post_id": 40094, "ts": "2026-08-03T14:12:19Z", "hours": 1.1475, "text": "I’ve added Markdown support for CPM packages 🔥"}, {"post_id": 40004, "ts": "2026-08-03T11:00:47Z", "hours": 2.5797, "text": "@imakebloatedcode Thank you for your pr for CPM to include OpenAPI scemata, another great addition from the Craw Systems community Most of my time has been reviewing it and making small edits to include the security auth headers for API keys Official Announcement I’m not going to be online through the 5th August to the 10th August, I’ll be camping for those 5* days in a very low-data spot, and I’m almost certainly not taking my laptop. I might be able to get a tiny amount of code on my phone to keep my streak but certainly not enough to engage in my normal conversation on slack or post devlogs"}, {"post_id": 39500, "ts": "2026-08-02T14:31:42Z", "hours": 1.0703, "text": "Package creation and accounts are now working (theoretically) from the command line 🔥"}, {"post_id": 38989, "ts": "2026-08-01T16:48:04Z", "hours": 2.2369, "text": "The account page is looking better, and it’s survived some user testing 🙏 I need to add some boring stuff though like API key listing and said key management"}, {"post_id": 38863, "ts": "2026-08-01T12:58:59Z", "hours": 3.1425, "text": "I’ve been back working on CPM, focused on user accounts."}, {"post_id": 38130, "ts": "2026-07-31T10:56:08Z", "hours": 1.39, "text": "The Crawssembly community is real 🙏 I’ve been reviewing a PR on the GitHub to improve the multiplication script in the CSL ( std/math/multiply.craw )"}, {"post_id": 37274, "ts": "2026-07-29T21:10:18Z", "hours": 0.7014, "text": "I’ve been messing around with --input tag which seems to mess around a bit in the rust vm, but I think I’m getting closer to the cause"}, {"post_id": 36468, "ts": "2026-07-28T16:32:48Z", "hours": 1.0483, "text": "Hack Club seems to have updated the rules on banner images, claiming it has to be an image of your project working. This is no issue for Crawssembly. The new banner is now the output of one of my programs, creating the banner pixel for pixel. This both compiles with the new rule, as it demonstrates Crawssembly functioning, while maintaining its identity."}, {"post_id": 36310, "ts": "2026-07-28T10:47:11Z", "hours": 2.2539, "text": "I’ve discovered that the input file mechanism is broken, so that’s great. I’ve also been adding more commands to CrawOS"}, {"post_id": 35823, "ts": "2026-07-27T14:42:16Z", "hours": 1.9103, "text": "I’ve been adding some very basic commands, such as exit , help , and clear"}, {"post_id": 34854, "ts": "2026-07-25T21:54:23Z", "hours": 2.7158, "text": "Once you get 1 command working, many more will follow! That’s right, a command line written 100% in Crawssembly code 🔥"}, {"post_id": 34296, "ts": "2026-07-24T21:36:54Z", "hours": 0.505, "text": "icl I’ve not done much today, mostly testing the allocation code and it looks up to spec tbh, not much to say"}, {"post_id": 33496, "ts": "2026-07-23T14:28:32Z", "hours": 1.4308, "text": "Stack allocation and freeing appear to work, but I need to do more testing to prove it"}, {"post_id": 32893, "ts": "2026-07-22T10:59:17Z", "hours": 4.3922, "text": "I’m still working on stack allocation, the complex parts are walking the stack properly to get the headers, along with making sure I don’t corrupt any data. The image attached shows the maximum heap block size in blue, with the data taken up by the header of that block in red (top corner)"}, {"post_id": 32353, "ts": "2026-07-21T13:52:27Z", "hours": 1.4989, "text": "I’m going ahead with this schema for heap blocks, the reserved bits can be used for extra features that I might want to add in later versions"}, {"post_id": 32254, "ts": "2026-07-21T09:37:22Z", "hours": 12.9831, "text": "Staff, please remove the time on this devlog, I accidentally left nano open all night. Sorry!"}, {"post_id": 31982, "ts": "2026-07-20T20:21:19Z", "hours": 1.13, "text": "Reading user input isn’t that easy compared to a language like Python, where you can just do input() . Each character has to be processed as soon as the keyboard records a press, and then saved to memory. I’m currently working on a block method that takes every 16 character you type, and allocates a small block on the heap for each press. This is going to be used for my big project"}, {"post_id": 31817, "ts": "2026-07-20T14:36:29Z", "hours": 1.2011, "text": "I’ve decided to add a heap library to complement the stack library. Doing this should make my next idea easier"}, {"post_id": 31759, "ts": "2026-07-20T12:24:31Z", "hours": 0.7053, "text": "Please also star my actual github page! It’s more important than stardance followers 😤😤 https://github.com/Jonah-Crawford/Crawssembly"}, {"post_id": 31691, "ts": "2026-07-20T09:37:05Z", "hours": 1.4242, "text": "Since IEEE 754 single precision can encode much larger numbers than a standard 32-bit binary number, you can use the library to approximate much larger values for computation"}, {"post_id": 31320, "ts": "2026-07-19T16:50:46Z", "hours": 3.3533, "text": "I’ve been working on a IEEE 754 single precision 32-bit floating point number library for CSL, it turns out it’s more difficult than I expected!"}, {"post_id": 31143, "ts": "2026-07-19T09:51:00Z", "hours": 0.7642, "text": "I realised that my documentation had some issues and unfinished sections, so I touched them up"}, {"post_id": 30931, "ts": "2026-07-18T22:37:22Z", "hours": 0.9317, "text": "Added a simple stack library for function calls and other uses, along with some smaller graphics programs such as screen/rectangle_fill.craw This is also my official announcement that I’ll be doing much less programming, due to summer holiday starting now. This is because I can’t program during family time, camping weeks, and other events. In addition, I have University after summer holidays, so this reduced productivity will continue throughout the rest of Stardance. Thank you all for making Crawssembly the number 1 project on stardance!"}, {"post_id": 29811, "ts": "2026-07-16T23:06:00Z", "hours": 0.5503, "text": "67 followers"}, {"post_id": 29415, "ts": "2026-07-16T11:01:49Z", "hours": 0.8972, "text": "I’m currently focusing on adding new functions to the screen library, such as rectangles, using the line program as a primitive"}, {"post_id": 28832, "ts": "2026-07-15T10:34:49Z", "hours": 2.9103, "text": "The initial line algo only works for the 0-octant, but now my new and improved version works for every line angle!"}, {"post_id": 27711, "ts": "2026-07-13T14:37:24Z", "hours": 1.2111, "text": "We have proper line segments working 🔥"}, {"post_id": 27105, "ts": "2026-07-12T11:30:09Z", "hours": 2.2058, "text": "I’ve been adding line functions at the moment, to be honest it’s harder than the circle! Getting the angles right is the hardest"}, {"post_id": 26637, "ts": "2026-07-11T15:56:48Z", "hours": 1.8617, "text": "Circle made 🔥"}, {"post_id": 26568, "ts": "2026-07-11T14:04:16Z", "hours": 2.7844, "text": "Taking a break from CPM to work on some graphics libraries, drawing lines, circles etc…"}, {"post_id": 25954, "ts": "2026-07-10T14:03:02Z", "hours": 2.3158, "text": "Accounts are going to be tricky, more front-end stuff and some complex security back-end is going to make this tricky"}, {"post_id": 25201, "ts": "2026-07-09T09:27:17Z", "hours": 0.7178, "text": "Thinking about user login for the CPM, might implement this soon"}, {"post_id": 24627, "ts": "2026-07-08T10:43:46Z", "hours": 0.66, "text": "Thanks to @Keyboard1000n17 for making the CPM website!"}, {"post_id": 24593, "ts": "2026-07-08T09:25:31Z", "hours": 0.6333, "text": "I won’t be as active over the next couple of days so don’t expect many updates"}, {"post_id": 24123, "ts": "2026-07-07T14:18:16Z", "hours": 3.4186, "text": "I’m not good at css, but I’m trying to make the CPM website simple and easy to use. It’ll take a while but it’s slowly coming together"}, {"post_id": 23750, "ts": "2026-07-06T21:31:52Z", "hours": 0.2561, "text": "It turns out I was way closer than I thought! Publishing your own Crawssembly projects is now out of alpha, into beta (Because only I have an API key atm!)"}, {"post_id": 23730, "ts": "2026-07-06T20:59:27Z", "hours": 1.5481, "text": "Still not too much progress on CPM, but I’m still confident I can get it working"}, {"post_id": 23656, "ts": "2026-07-06T19:20:07Z", "hours": 4.075, "text": "CPM is being difficult, I’ve gone through multiple iterations now of the craw pkg publish command, but I feel like I’m getting close."}, {"post_id": 23514, "ts": "2026-07-06T15:13:35Z", "hours": 1.2278, "text": "I’ve been fighting with my server for a while now, the connection keeps on interrupting. As votes are currently coming in for Crawssembly v1.1.0, I suspect my score will be lower than expected due to the demo and doc websites coming offline randomly."}, {"post_id": 23449, "ts": "2026-07-06T13:09:35Z", "hours": 2.1969, "text": "My issues at the moment are about getting a command, craw pkg pack to create a CPM ready tarball of your project from the command line. That and my server is having a couple of internet issues at the moment which are hindering my progress. This devlog is also an official announcement that I won’t be as active as normal over the next week. I have family coming around so my time programming will be limited. In addition, when summer holiday starts this will continue, which is why most of my time programming is in the June and early July, the rest of stardance will have fewer updates and less time spent on casm."}, {"post_id": 23401, "ts": "2026-07-06T10:39:43Z", "hours": 2.2703, "text": "CPM officially works! The pipeline of Crawssembly Source -> Tarball -> Github -> CPM -> craw pkg install -> executestd functions!"}, {"post_id": 22937, "ts": "2026-07-05T16:19:57Z", "hours": 0.6922, "text": "I forgot to add on the hackatime projects of my time spent on the CPM and tests, mb"}, {"post_id": 22902, "ts": "2026-07-05T15:21:06Z", "hours": 4.3764, "text": "I’ve registered the Crawssembly Package Manager website, some SQLite problems caused some issues but I’m getting there."}, {"post_id": 22103, "ts": "2026-07-04T11:47:12Z", "hours": 0.8486, "text": "I’ve been having some internet issues with my server recently, so my productivity has slowed. However I’m at the final testing stages of linking github repos to get craw install <package> to work. The test is done on a simple repo but it should be enough to see if it works"}, {"post_id": 22080, "ts": "2026-07-04T10:27:02Z", "hours": 1.33, "text": "Compiling from a local tarball works! I’ll be working on the database soon so users can search and download. My plan is that the program is stored as a github repo, similar to cargo ."}, {"post_id": 21459, "ts": "2026-07-03T12:44:46Z", "hours": 2.6692, "text": "Package manager is coming along… slowly. I’m still working on getting a local package to install into the global executestd file inside the home folder, but it’s taking it’s time!"}, {"post_id": 21375, "ts": "2026-07-03T08:43:14Z", "hours": 2.1081, "text": "v1.2.0 is already underway! I’ve spent some time constructing a cargo crate for Crawssembly to allow other rust programs to use Crawssembly’s logic. So now YOU can add Crawssembly to your programs!"}, {"post_id": 20935, "ts": "2026-07-02T17:47:58Z", "hours": 4.0467, "text": "After helping figure out the Stardance bug with projects, Crawssembly v1.1.0 is ready to ship!"}, {"post_id": 20147, "ts": "2026-07-01T18:08:54Z", "hours": 1.3117, "text": "I’ve added the compare branch, for number checks. == , != , > , >= , < , and <= all included"}, {"post_id": 20079, "ts": "2026-07-01T16:25:10Z", "hours": 1.3397, "text": "I’ve added more CSL files, such as math/power.craw , math/abs.craw , and math/modulo.craw"}, {"post_id": 19299, "ts": "2026-06-30T15:54:10Z", "hours": 1.4808, "text": "Basic multiplication and division are the first to enter the CSL! I focused on making them memory efficient rather than time efficient, because using fewer registers makes it easier for beginners to use them in normal programs. And because Crawssembly is very very quick (Almost C level speeds) a couple extra thousand ticks won’t be missed for these first programs"}, {"post_id": 19219, "ts": "2026-06-30T14:16:39Z", "hours": 1.9419, "text": "File execution is now working! You can insert programs using execute path/to/program.craw , this leads to the Crawssembly Standard Library, a collection of useful programs that can be accessed using executestd program.craw , such as multiply or division code."}, {"post_id": 19106, "ts": "2026-06-30T10:40:13Z", "hours": 1.1736, "text": "I’m going to confess here, I was a bit lazy. I decided that, because I could create the time program, I rewarded myself by adding a native ISO 8601 time output command io text iso rXX . Elegant? Yes. Low-Level? Not as much as I would like. But the choice was either make a single line of code to simplify programs like this massively, or wire in a tediously made, messy 350 line program that doesn’t fully account for the 400 leap year rule or leap seconds. Hmm… TLDR; I caved to simplicity. But CrawFS file listing from boot now display file genesis time!"}, {"post_id": 18658, "ts": "2026-06-29T20:58:53Z", "hours": 1.0361, "text": "The time program finally works! I wrapped it in a loop so it reloads every 200ms to make a real-time clock. Soon I’ll port it to the CrawFS system to read file creation dates"}, {"post_id": 18592, "ts": "2026-06-29T19:40:11Z", "hours": 4.485, "text": "It turns out that time resolution is much harder than I thought! It’s taken me a while but I’ve got the program working for CCYY-MM-DD"}, {"post_id": 18335, "ts": "2026-06-29T13:20:35Z", "hours": 3.6708, "text": "CrawFS reading is almost done, but I need to program a way to take a raw Unix timestamp and convert it into a nice iso 8601 format ( CCYY-MM-DD HH:MM:SS ) for the ‘Time created’ field"}, {"post_id": 17965, "ts": "2026-06-28T22:33:13Z", "hours": 1.9408, "text": "Reading a specific file is clearly much harder than reading the boot sector. It turns out that parsing user input is a devious task itself!"}, {"post_id": 17863, "ts": "2026-06-28T20:03:06Z", "hours": 6.4758, "text": "Did someone say boot sectors? That’s right, Crawssembly can now read CrawFS boot sectors and output the file table data! This took a surprisingly long time, as the binary boot sector is very delicate."}, {"post_id": 17529, "ts": "2026-06-28T10:56:52Z", "hours": 2.0917, "text": "I’ve been working on a basic file system, CrawFS , used as a stepping stone towards real ones like FAT16 , FAT32 , and NTFS ."}, {"post_id": 16918, "ts": "2026-06-27T14:08:58Z", "hours": 1.6475, "text": "No time to waste after v1.0.0 is released! I’ve added raw disk sector editing for Crawssembly; an opt-in way of reading and writing to your real disk, rather than a VM. ! THIS COULD DESTROY YOUR COMPUTER ! So only do it if you know what you’re doing, as a single bit change will probably brick your entire machine if you use the --raw-disk option"}, {"post_id": 16497, "ts": "2026-06-26T20:53:01Z", "hours": 0.2767, "text": "The final updates have been made, the github is ready to ship!"}, {"post_id": 16387, "ts": "2026-06-26T17:43:02Z", "hours": 0.4742, "text": "THIS IS IT! The moment I’ve been waiting for almost a year, the first stable release of Crawssembly v1.0.0 ! And what fortune that I get to share it with you people on Stardance!"}, {"post_id": 16247, "ts": "2026-06-26T11:58:09Z", "hours": 2.7383, "text": "Crawssembly is soon to be shipped on version 1.0.0 ! A massive milestone for a project I started ~11 months ago. The raffle discs have been burned, and final preparations are underway for release."}, {"post_id": 15925, "ts": "2026-06-25T21:28:53Z", "hours": 2.8969, "text": "Basic syntax highlighting for nano ! Simply run craw install-nano to gain access to these beautiful new colours when editing .craw files."}, {"post_id": 15761, "ts": "2026-06-25T17:09:48Z", "hours": 3.3403, "text": "RAFFLE UPDATE! The 3 discs have been completed. Soon, Crawssembly will be shipped on it’s first release! Remember to follow Crawssembly before the 1st July 00:00 UTC for your chance to win one of these beautiful pieces of computing history!"}, {"post_id": 15622, "ts": "2026-06-25T12:32:33Z", "hours": 2.0561, "text": "I’ve been working on fixing up the activities in the README.md, and providing possible solutions for each. The image below is a possible output of the activity “Smiling Screen”"}, {"post_id": 15555, "ts": "2026-06-25T09:06:54Z", "hours": 0.6672, "text": "Adding the last features for pong was quite simple, making the computer lag behind a random amount utilises the current millisecond UNIX timestamp, with the least significant 2 bits being used as the ‘reaction time’, along with a per-frame flag to increase this reaction time to solve for repeating loops. The scoring system at this point is just the number of pixels in the top corner, unlike the real pong which used numbers. Perhaps for a later version?"}, {"post_id": 15542, "ts": "2026-06-25T08:21:44Z", "hours": 6.6775, "text": "PONG is very almost finished, all that needs to be done is to fine-tune the computer movement and finish displaying the score."}, {"post_id": 15086, "ts": "2026-06-24T14:51:07Z", "hours": 1.7008, "text": "I’m now moving onto some game examples. I’m working on a basic version of the popular game PONG, the hardest part is going to be the graphics syncing up with the mathematical logic"}, {"post_id": 14404, "ts": "2026-06-23T14:59:26Z", "hours": 1.9525, "text": "The structure of the compiler is complete, but getting it to work is another beast of debugging. I think this is the first program of its kind; the first program where no one, not even me, can understand it fully. A true milestone for Crawssembly"}, {"post_id": 14331, "ts": "2026-06-23T12:57:06Z", "hours": 3.1389, "text": "Integer parsing requires multiplication by 10, which in Base-10 is easy as you can just add a zero at the end. But in binary you can’t do this, as that would be multiplying by 2. So you need to get a bit more creative when multiplying by a known amount in binary. The code below shows how a number, ‘abc’ can be expressed as 100a + 10b + c. This is real code from my Crawssembly compiler written in Crawssembly."}, {"post_id": 13936, "ts": "2026-06-22T21:21:17Z", "hours": 2.0808, "text": "I’ve done a little experiment with a reduced branch of Crawssembly made for tiny ISA’s, with instructions only a single byte wide! An image of what the CPU’s core might look like is shown below."}, {"post_id": 13603, "ts": "2026-06-22T09:14:02Z", "hours": 5.5197, "text": "The trie is complete! Although I’ve still much to do for the compiler, such as per-character parsing, storage of label elements, calculation of register codes, etc…"}, {"post_id": 12777, "ts": "2026-06-20T21:47:41Z", "hours": 1.7731, "text": "7/24 trie branches have been added to the compiler, totalling just under 1000 lines of Crawssembly code, the longest hand-written .craw program ever made!"}, {"post_id": 12486, "ts": "2026-06-20T12:09:00Z", "hours": 6.3061, "text": "Adding branches still takes a while, but it’s much more efficient than testing every character for every instruction. So far I’ve mapped 17 out of ~64 command strings."}, {"post_id": 12022, "ts": "2026-06-19T16:40:42Z", "hours": 7.6139, "text": "I’ll be taking a break over the weekend, as I’ve just completed my final exams and I’m celebrating. I’ll be back proper on Monday. Today I worked on creating a trie for Crawssembly’s commands, which can be used to increase efficiency in my compiler to parse instructions faster. Rather than checking every char for every instruction like cal add -65 r01 ; if r01 = 65, this will be 0 ifz 10 ; continue if 0 cal add -70 r02 ; if r02 = 65, this will be 0 ifz 20 ; continue if 0 etc... I can split each branch into separate instructions, reducing line count and time-to-compile"}, {"post_id": 11550, "ts": "2026-06-18T20:54:02Z", "hours": 1.8203, "text": "Basic structures are coming together for the compiler"}, {"post_id": 11465, "ts": "2026-06-18T18:55:47Z", "hours": 3.2833, "text": "The C emitter function now works to the same standard as Crawssembly Online! In other news, I’m starting to write a Crawssembly compiler in Crawssembly ! This is a big step and proves that Crawssembly’s language is comprehensive enough to take on this task."}, {"post_id": 11201, "ts": "2026-06-18T10:23:03Z", "hours": 4.2258, "text": "I’m working on a way to convert Crawssembly into native ASM language, by writing to a C file and compiling that output."}, {"post_id": 9958, "ts": "2026-06-16T14:20:14Z", "hours": 0.7653, "text": "ATTENTION! The moment has arrived; The CRAWSSEMBLY Raffle! Get the chance to win a LIMITED-EDITION installer and collectable Crawssembly Disc! The disc contains the official compiler, virtual machine, and documentation. Also included are un-released legacy files from development. Simply follow Crawssembly on Stardance to enter your name! Shipping may vary depending on the UK Postal service. There are 3 physical First Edition discs available worldwide. If you’re outside the UK, I may ask you to contribute towards postage if shipping costs are high. The 3 winners will be announced on the 1st of July! So get your entry in before 23:59 UTC 30th June! Don’t miss this opportunity! Follow Crawssembly today and support open-source learning!"}, {"post_id": 9903, "ts": "2026-06-16T12:33:41Z", "hours": 0.4594, "text": "I want to thank the Stardance devs for my Super Star tag! Peak staff fr"}, {"post_id": 9210, "ts": "2026-06-15T13:50:37Z", "hours": 1.9831, "text": "Random number generator has been added to the example group, I used XOR and bit shifts with the new command io time milli , which extracts the current UNIX timestamp in milliseconds, as the seed. Basic, but quite random from a human perspective."}, {"post_id": 9153, "ts": "2026-06-15T10:18:06Z", "hours": 5.0008, "text": "I’ve been working on some examples, the biggest one being a simple calculator."}, {"post_id": 8769, "ts": "2026-06-14T16:05:49Z", "hours": 2.1869, "text": "Graphics bug fixed! Crawssembly for macOS is officially working!"}, {"post_id": 8694, "ts": "2026-06-14T13:21:09Z", "hours": 0.2944, "text": "File input now works for macOS Crawssembly! Run craw myprogram.craw --file myinputs.file to run! (The image is from Linux, not from my Mac because it’s too old for me to log in to stardance and post a ss from it, but I can assure you it works!)"}, {"post_id": 8685, "ts": "2026-06-14T13:00:13Z", "hours": 1.8931, "text": "macOS can now do everything windows can except use the speakers, scan-line free graphics, and access files. These will be the largest source of my time."}, {"post_id": 8634, "ts": "2026-06-14T11:02:36Z", "hours": 1.2475, "text": "I’m currently working on getting macOS support running. At the moment, macOS is only confirmed to work to the same level as Crawssembly Online. Hopefully I can get it to the same standard as Linux and Dos systems!"}, {"post_id": 8214, "ts": "2026-06-13T17:40:18Z", "hours": 1.2083, "text": "My respect to real CPU designers, this is tricky work! The most difficult thing is working with the 256 different registers, that’s lots of wiring to get done."}, {"post_id": 8022, "ts": "2026-06-13T11:56:22Z", "hours": 0.4569, "text": "Dedicated documentation website created, and the new demo is live at https://crawssembly.ultimatecraw.xyz/"}, {"post_id": 8011, "ts": "2026-06-13T11:23:53Z", "hours": 0.9736, "text": "Demo and README in working order, for real this time! The final things to do before shipping: Full macOS functionality: Maybe Add documentation to demo: Yes Add syntax highlighting to demo: Maybe Final Cleanup: Yes"}, {"post_id": 7748, "ts": "2026-06-12T22:53:22Z", "hours": 0.7378, "text": "I don’t usually work with frontend, so the demo won’t look anywhere near as nice as some of the other projects on Stardance, but as long as it’s usable then I’m happy."}, {"post_id": 7722, "ts": "2026-06-12T21:43:33Z", "hours": 0.8628, "text": "Crawssembly demo now working! Luckily it wasn’t as hard as I expected. I’ve tied it to an old URL for now, and it’s basic, but it works. https://demo.ultimatecraw.xyz/"}, {"post_id": 7681, "ts": "2026-06-12T20:38:11Z", "hours": 4.555, "text": "README.md Complete! The final steps is creating the demo! (And maybe getting MacOS working)"}, {"post_id": 7517, "ts": "2026-06-12T15:35:42Z", "hours": 2.0622, "text": "Many thanks to Koy Camerini-Yachdav , who tested Crawssembly on Mac OS! Their efforts go towards helping more people understand how computers actually work. ❤️ In other news, Crawssembly is soon ready for the first official release. I estimate <2 weeks before a ship fully working on both Linux and Windows systems will be made!"}, {"post_id": 7381, "ts": "2026-06-12T09:39:51Z", "hours": 0.5978, "text": "File inputs are finally ready, I think craw now has all it needs for the first release. Exciting times!"}, {"post_id": 7124, "ts": "2026-06-11T22:07:29Z", "hours": 2.2083, "text": "README.md now has documentation about all commands that will be in the first release. I’m yet to make the live demo and the documentation about machine codes though!"}, {"post_id": 7034, "ts": "2026-06-11T19:54:59Z", "hours": 3.0742, "text": "Crawssembly Programs can now be force-quit by pressing CRTL+C. I should have added this long ago, but I added it in the end."}, {"post_id": 6771, "ts": "2026-06-11T10:45:07Z", "hours": 5.2019, "text": "I’ve been doing some user testing, and have made changes to the documentation and program, such as adding craw myfile.craw --dump-decoded and craw myfile.craw --tui commands easy to use and run."}, {"post_id": 6180, "ts": "2026-06-10T11:48:41Z", "hours": 21.6656, "text": "Dynamic graphic size achieved! You can now set the screen size of the Crawssembly program by running craw myfile.craw --screen WIDTHxHEIGHT using the –screen argument."}, {"post_id": 5582, "ts": "2026-06-09T13:09:25Z", "hours": 4.1789, "text": "README.md now contains enough information about Crawssembly to make it Turing Complete. The rest involves storage, input devices, and output service commands."}, {"post_id": 5471, "ts": "2026-06-09T08:19:39Z", "hours": 0.3619, "text": "Crawssembly is officially clear for Windows & Linux OS releases! Mac OS support will hopefully come soon. There may be some linux distros that are special and cause some weird and wonderful problems, but for the generic versions (Think Ubuntu) I’m confident that Crawssembly is compatible."}, {"post_id": 5456, "ts": "2026-06-09T07:45:58Z", "hours": 4.5339, "text": "Never understood what binary actually is? Why is it important, and why are binary skills becoming less important? All this, and more, is revealed in the Crawssembly Project; the ultimate guide to learning the fundamentals of real computer design, and assembly-like languages."}, {"post_id": 4930, "ts": "2026-06-08T15:11:03Z", "hours": 3.2828, "text": "More work done on the docs today. I’m assuming near-zero knowledge about computing to allow all to access the Crawssembly Project"}, {"post_id": 4319, "ts": "2026-06-07T16:05:58Z", "hours": 3.4303, "text": "Most of my efforts today are going to the README.md file, helping beginners get their heads around Assembly-like languages"}, {"post_id": 3567, "ts": "2026-06-06T15:47:13Z", "hours": 1.5453, "text": "Currently working on adding logical branching (‘if’ statements) to CRISP, my high-level language to compile into Crawssembly"}, {"post_id": 2869, "ts": "2026-06-05T18:56:50Z", "hours": 0.5139, "text": "Crawssembly - Initial Post"}]...
|
Title: Crawssembly by @The_Craw | Stardance
Devlo Title: Crawssembly by @The_Craw | Stardance
Devlogs:
Crawssembly - Initial Post
Currently working on adding logical branching (‘if’ statements) to CRISP, my high-level language to compile into Crawssembly
Most of my efforts today are going to the README.md file, helping beginners get their heads around Assembly-like languages
More work done on the docs today. I’m assuming near-zero knowledge about computing to allow all to access the Crawssembly Project
Never understood what binary actually is? Why is it important, and why are binary skills becoming less important? All this, and more, is revealed in the Crawssembly Project; the ultimate guide to learning the fundamentals of real computer design, and assembly-like languages.
Crawssembly is officially clear for Windows & Linux OS releases! Mac OS support will hopefully come soon. There may be some linux distros that are special and cause some weird and wonderful problems, but for the generic versions (Think Ubuntu) I’m confident that Crawssembly is compatible.
README.md now contains enough information about Crawssembly to make it Turing Complete. The rest involves storage, input devices, and output service commands.
Dynamic graphic size achieved! You can now set the screen size of the Crawssembly program by running craw myfile.craw --screen WIDTHxHEIGHT using the –screen argument.
I’ve been doing some user testing, and have made changes to the documentation and program, such as adding craw myfile.craw --dump-decoded and craw myfile.craw --tui commands easy to use and run.
Crawssembly Programs can now be force-quit by pressing CRTL+C. I should have added this long ago, but I added it in the end.
README.md now has documentation about all commands that will be in the first release. I’m yet to make the live demo and the documentation about machine codes though!
File inputs are finally ready, I think craw now has all it needs for the first release. Exciting times!
Many thanks to Koy Camerini-Yachdav , who tested Crawssembly on Mac OS! Their efforts go towards helping more people understand how computers actually work. ❤️ In other news, Crawssembly is soon ready for the first official release. I estimate <2 weeks before a ship fully working on both Linux and Windows systems will be made!
README.md Complete! The final steps is creating the demo! (And maybe getting MacOS working)
Crawssembly demo now working! Luckily it wasn’t as hard as I expected. I’ve tied it to an old URL for now, and it’s basic, but it works. https://demo.ultimatecraw.xyz/
I don’t usually work with frontend, so the demo won’t look anywhere near as nice as some of the other projects on Stardance, but as long as it’s usable then I’m happy.
Demo and README in working order, for real this time! The final things to do before shipping: Full macOS functionality: Maybe Add documentation to demo: Yes Add syntax highlighting to demo: Maybe Final Cleanup: Yes
Dedicated documentation website created, and the new demo is live at https://crawssembly.ultimatecraw.xyz/
My respect to real CPU designers, this is tricky work! The most difficult thing is working with the 256 different registers, that’s lots of wiring to get done.
I’m currently working on getting macOS support running. At the moment, macOS is only confirmed to work to the same level as Crawssembly Online. Hopefully I can get it to the same standard as Linux and Dos systems!
macOS can now do everything windows can except use the speakers, scan-line free graphics, and access files. These will be the largest source of my time.
File input now works for macOS Crawssembly! Run craw myprogram.craw --file myinputs.file to run! (The image is from Linux, not from my Mac because it’s too old for me to log in to stardance and post a ss from it, but I can assure you it works!)
Graphics bug fixed! Crawssembly for macOS is officially working!
I’ve been working on some examples, the biggest one being a simple calculator.
Random number generator has been added to the example group, I used XOR and bit shifts with the new command io time milli , which extracts the current UNIX timestamp in milliseconds, as the seed. Basic, but quite random from a human perspective.
I want to thank the Stardance devs for my Super Star tag! Peak staff fr
ATTENTION! The moment has arrived; The CRAWSSEMBLY Raffle! Get the chance to win a LIMITED-EDITION installer and collectable Crawssembly Disc! The disc contains the official compiler, virtual machine, and documentation. Also included are un-released legacy files from development. Simply follow Crawssembly on Stardance to enter your name! Shipping may vary depending on the UK Postal service. There are 3 physical First Edition discs available worldwide. If you’re outside the UK, I may ask you to contribute towards postage if shipping costs are high. The 3 winners will be announced on the 1st of July! So get your entry in before 23:59 UTC 30th June! Don’t miss this opportunity! Follow Crawssembly today and support open-source learning!
I’m working on a way to convert Crawssembly into native ASM language, by writing to a C file and compiling that output.
The C emitter function now works to the same standard as Crawssembly Online! In other news, I’m starting to write a Crawssembly compiler in Crawssembly ! This is a big step and proves that Crawssembly’s language is comprehensive enough to take on this task.
Basic structures are coming together for the compiler
I’ll be taking a break over the weekend, as I’ve just completed my final exams and I’m celebrating. I’ll be back proper on Monday. Today I worked on creating a trie for Crawssembly’s commands, which can be used to increase efficiency in my compiler to parse instructions faster. Rather than checking every char for every instruction like cal add -65 r01 ; if r01 = 65, this will be 0 ifz 10 ; continue if 0 cal add -70 r02 ; if r02 = 65, this will be 0 ifz 20 ; continue if 0 etc... I can split each branch into separate instructions, reducing line count and time-to-compile
Adding branches still takes a while, but it’s much more efficient than testing every character for every instruction. So far I’ve mapped 17 out of ~64 command strings.
7/24 trie branches have been added to the compiler, totalling just under 1000 lines of Crawssembly code, the longest hand-written .craw program ever made!
The trie is complete! Although I’ve still much to do for the compiler, such as per-character parsing, storage of label elements, calculation of register codes, etc…
I’ve done a little experiment with a reduced branch of Crawssembly made for tiny ISA’s, with instructions only a single byte wide! An image of what the CPU’s core might look like is shown below.
Integer parsing requires multiplication by 10, which in Base-10 is easy as you can just add a zero at the end. But in binary you can’t do this, as that would be multiplying by 2. So you need to get a bit more creative when multiplying by a known amount in binary. The code below shows how a number, ‘abc’ can be expressed as 100a + 10b + c. This is real code from my Crawssembly compiler written in Crawssembly.
The structure of the compiler is complete, but getting it to work is another beast of debugging. I think this is the first program of its kind; the first program where no one, not even me, can understand it fully. A true milestone for Crawssembly
I’m now moving onto some game examples. I’m working on a basic version of the popular game PONG, the hardest part is going to be the graphics syncing up with the mathematical logic
PONG is very almost finished, all that needs to be done is to fine-tune the computer movement and finish displaying the score.
Adding the last features for pong was quite simple, making the computer lag behind a random amount utilises the current millisecond UNIX timestamp, with the least significant 2 bits being used as the ‘reaction time’, along with a per-frame flag to increase this reaction time to solve for repeating loops. The scoring system at this point is just the number of pixels in the top corner, unlike the real pong which used numbers. Perhaps for a later version?
I’ve been working on fixing up the activities in the README.md, and providing possible solutions for each. The image below is a possible output of the activity “Smiling Screen”
RAFFLE UPDATE! The 3 discs have been completed. Soon, Crawssembly will be shipped on it’s first release! Remember to follow Crawssembly before the 1st July 00:00 UTC for your chance to win one of these beautiful pieces of computing history!
Basic syntax highlighting for nano ! Simply run craw install-nano to gain access to these beautiful new colours when editing .craw files.
Crawssembly is soon to be shipped on version 1.0.0 ! A massive milestone for a project I started ~11 months ago. The raffle discs have been burned, and final preparations are underway for release.
THIS IS IT! The moment I’ve been waiting for almost a year, the first stable release of Crawssembly v1.0.0 ! And what fortune that I get to share it with you people on Stardance!
The final updates have been made, the github is ready to ship!
No time to waste after v1.0.0 is released! I’ve added raw disk sector editing for Crawssembly; an opt-in way of reading and writing to your real disk, rather than a VM. ! THIS COULD DESTROY YOUR COMPUTER ! So only do it if you know what you’re doing, as a single bit change will probably brick your entire machine if you use the --raw-disk option
I’ve been working on a basic file system, CrawFS , used as a stepping stone towards real ones like FAT16 , FAT32 , and NTFS .
Did someone say boot sectors? That’s right, Crawssembly can now read CrawFS boot sectors and output the file table data! This took a surprisingly long time, as the binary boot sector is very delicate.
Reading a specific file is clearly much harder than reading the boot sector. It turns out that parsing user input is a devious task itself!
CrawFS reading is almost done, but I need to program a way to take a raw Unix timestamp and convert it into a nice iso 8601 format ( CCYY-MM-DD HH:MM:SS ) for the ‘Time created’ field
It turns out that time resolution is much harder than I thought! It’s taken me a while but I’ve got the program working for CCYY-MM-DD
The time program finally works! I wrapped it in a loop so it reloads every 200ms to make a real-time clock. Soon I’ll port it to the CrawFS system to read file creation dates
I’m going to confess here, I was a bit lazy. I decided that, because I could create the time program, I rewarded myself by adding a native ISO 8601 time output command io text iso rXX . Elegant? Yes. Low-Level? Not as much as I would like. But the choice was either make a single line of code to simplify programs like this massively, or wire in a tediously made, messy 350 line program that doesn’t fully account for the 400 leap year rule or leap seconds. Hmm… TLDR; I caved to simplicity. But CrawFS file listing from boot now display file genesis time!
File execution is now working! You can insert programs using execute path/to/program.craw , this leads to the Crawssembly Standard Library, a collection of useful programs that can be accessed using executestd program.craw , such as multiply or division code.
Basic multiplication and division are the first to enter the CSL! I focused on making them memory efficient rather than time efficient, because using fewer registers makes it easier for beginners to use them in normal programs. And because Crawssembly is very very quick (Almost C level speeds) a couple extra thousand ticks won’t be missed for these first programs
I’ve added more CSL files, such as math/power.craw , math/abs.craw , and math/modulo.craw
I’ve added the compare branch, for number checks. == , != , > , >= , < , and <= all included
After helping figure out the Stardance bug with projects, Crawssembly v1.1.0 is ready to ship!
v1.2.0 is already underway! I’ve spent some time constructing a cargo crate for Crawssembly to allow other rust programs to use Crawssembly’s logic. So now YOU can add Crawssembly to your programs!
Package manager is coming along… slowly. I’m still working on getting a local package to install into the global executestd file inside the home folder, but it’s taking it’s time!
Compiling from a local tarball works! I’ll be working on the database soon so users can search and download. My plan is that the program is stored as a github repo, similar to cargo .
I’ve been having some internet issues with my server recently, so my productivity has slowed. However I’m at the final testing stages of linking github repos to get craw install <package> to work. The test is done on a simple repo but it should be enough to see if it works
I’ve registered the Crawssembly Package Manager website, some SQLite problems caused some issues but I’m getting there.
I forgot to add on the hackatime projects of my time spent on the CPM and tests, mb
CPM officially works! The pipeline of Crawssembly Source -> Tarball -> Github -> CPM -> craw pkg install -> executestd functions!
My issues at the moment are about getting a command, craw pkg pack to create a CPM ready tarball of your project from the command line. That and my server is having a couple of internet issues at the moment which are hindering my progress. This devlog is also an official announcement that I won’t be as active as normal over the next week. I have family coming around so my time programming will be limited. In addition, when summer holiday starts this will continue, which is why most of my time programming is in the June and early July, the rest of stardance will have fewer updates and less time spent on casm.
I’ve been fighting with my server for a while now, the connection keeps on interrupting. As votes are currently coming in for Crawssembly v1.1.0, I suspect my score will be lower than expected due to the demo and doc websites coming offline randomly.
CPM is being difficult, I’ve gone through multiple iterations now of the craw pkg publish command, but I feel like I’m getting close.
Still not too much progress on CPM, but I’m still confident I can get it working
It turns out I was way closer than I thought! Publishing your own Crawssembly projects is now out of alpha, into beta (Because only I have an API key atm!)
I’m not good at css, but I’m trying to make the CPM website simple and easy to use. It’ll take a while but it’s slowly coming together
I won’t be as active over the next couple of days so don’t expect many updates
Thanks to @Keyboard1000n17 for making the CPM website!
Thinking about user login for the CPM, might implement this soon
Accounts are going to be tricky, more front-end stuff and some complex security back-end is going to make this tricky
Taking a break from CPM to work on some graphics libraries, drawing lines, circles etc…
Circle made 🔥
I’ve been adding line functions at the moment, to be honest it’s harder than the circle! Getting the angles right is the hardest
We have proper line segments working 🔥
The initial line algo only works for the 0-octant, but now my new and improved version works for every line angle!
I’m currently focusing on adding new functions to the screen library, such as rectangles, using the line program as a primitive
67 followers
Added a simple stack library for function calls and other uses, along with some smaller graphics programs such as screen/rectangle_fill.craw This is also my official announcement that I’ll be doing much less programming, due to summer holiday starting now. This is because I can’t program during family time, camping weeks, and other events. In addition, I have University after summer holidays, so this reduced productivity will continue throughout the rest of Stardance. Thank you all for making Crawssembly the number 1 project on stardance!
I realised that my documentation had some issues and unfinished sections, so I touched them up
I’ve been working on a IEEE 754 single precision 32-bit floating point number library for CSL, it turns out it’s more difficult than I expected!
Since IEEE 754 single precision can encode much larger numbers than a standard 32-bit binary number, you can use the library to approximate much larger values for computation
Please also star my actual github page! It’s more important than stardance followers 😤😤 https://github.com/Jonah-Crawford/Crawssembly
I’ve decided to add a heap library to complement the stack library. Doing this should make my next idea easier
Reading user input isn’t that easy compared to a language like Python, where you can just do input() . Each character has to be processed as soon as the keyboard records a press, and then saved to memory. I’m currently working on a block method that takes every 16 character you type, and allocates a small block on the heap for each press. This is going to be used for my big project
Staff, please remove the time on this devlog, I accidentally left nano open all night. Sorry!
I’m going ahead with this schema for heap blocks, the reserved bits can be used for extra features that I might want to add in later versions
I’m still working on stack allocation, the complex parts are walking the stack properly to get the headers, along with making sure I don’t corrupt any data. The image attached shows the maximum heap block size in blue, with the data taken up by the header of that block in red (top corner)
Stack allocation and freeing appear to work, but I need to do more testing to prove it
icl I’ve not done much today, mostly testing the allocation code and it looks up to spec tbh, not much to say
Once you get 1 command working, many more will follow! That’s right, a command line written 100% in Crawssembly code 🔥
I’ve been adding some very basic commands, such as exit , help , and clear
I’ve discovered that the input file mechanism is broken, so that’s great. I’ve also been adding more commands to CrawOS
Hack Club seems to have updated the rules on banner images, claiming it has to be an image of your project working. This is no issue for Crawssembly. The new banner is now the output of one of my programs, creating the banner pixel for pixel. This both compiles with the new rule, as it demonstrates Crawssembly functioning, while maintaining its identity.
I’ve been messing around with --input tag which seems to mess around a bit in the rust vm, but I think I’m getting closer to the cause
The Crawssembly community is real 🙏 I’ve been reviewing a PR on the GitHub to improve the multiplication script in the CSL ( std/math/multiply.craw )
I’ve been back working on CPM, focused on user accounts.
The account page is looking better, and it’s survived some user testing 🙏 I need to add some boring stuff though like API key listing and said key management
Package creation and accounts are now working (theoretically) from the command line 🔥
@imakebloatedcode Thank you for your pr for CPM to include OpenAPI scemata, another great addition from the Craw Systems community Most of my time has been reviewing it and making small edits to include the security auth headers for API keys Official Announcement I’m not going to be online through the 5th August to the 10th August, I’ll be camping for those 5* days in a very low-data spot, and I’m almost certainly not taking my laptop. I might be able to get a tiny amount of code on my phone to keep my streak but certainly not enough to engage in my normal conversation on slack or post devlogs
I’ve added Markdown support for CPM packages 🔥
I’ve made publishing packages super easy now, all you need to do is craw init to create the package, and then craw pkg publish . As long as you’re signed into CPM and gh, it’ll just work
I’ve been working with @BetterClient to inprove the program counter and bringing back fgo from casm beta. This is also a reminder that I’ll be OOO until next Monday.
I’m back from camping! (RIP my 60+ day streak) My plans going forward immediately is improving program counter modifications to allow for higher-level concepts to be bootstrapped onto Crawssembly instruction sets. (Image unrelated)
I’ve merged the new fgo rules to the project, so now fgo points to labels similar to jmp , but fgo 0 now jumps to the label defined in r01 I was having some issues with using git but I got them sorted
I’ve separated the old sleep command into sleepms for millisecond waits and sleepus for microsecond waits. Although, microsecond precision is highly dependent on the OS, so it won’t be as accurate as sleepms for smaller values (Say, n<50)
Sorry for the but it’s been a hectic couple of days. I got into University! I’ve also been busy taking a look at a CGOL implementation, truly amazing stuff! Go check it out: https://github.com/srxcode/game-of-life-crawssembly
I’ve added io keyboard mod to create a bitfield of modification key presses for the keyboard device, so now keys like CTRL and TAB can be handled, which lays the foundation for my next project which is making a basic file editor in casm
Lots of work today, sorry for the . I’ve been struggling with the text editor, heap buffers, cursor allocation, character addresses, etc etc… ad infinitum. However, I’m getting close. Rendering is outputting something, although I don’t know why typing doesn’t seem to add anything…
For some reason, I’ve been banned on slack. I don’t know why, since no one will tell me. This is not good news, but luckily it doesn’t seem to be a stardance-wide ban, so I can still do the hackathon.
Still no clue why characters aren’t being saved to memory in my free heap block Slow day today fr
I’m finally getting somewhere with the editor, however I’m now having issues with character deletion, and adding characters inside empty newlines
stardance
I’ve brought run back from the dead. You can now use run rXX to run a binary value inside the input register as a Crawssembly instruction
I’VE ACTUALLY DONE IT 🔥 Networking is now officially part of Crawssembly. Alpha tests on localhost have all passed
HTTP requests working 🔥 ts is so peak icl
I’ve been doing much more testing and implementing the network device. Specifically testing the following commands: io net ip , io net addr , io net connect , io net socket , io net port , io net listen , io net accept , io net send , io net protocol , io net block , and io net recv .
I’m back! Fraud Squad unbanned me so WE are all having a party at my house Although I can’t use nano apparently anymore… so Crawssembly will be having it’s final ship very very soon
It has come to my attention that not everyone who has followed Crawssembly has starred it on GitHub! Please, if you like my project, star it on GitHub at https://github.com/Jonah-Crawford/Crawssembly Thank you.
idk where these extra hours are coming from, but as long as I don’t ship them, they won’t count towards stardust so I’ll be fine. In the meantime, enjoy craw slop
Ships:
Crawssembly: The beginner’s gateway to low-level thinking. "Programming languages are a lie!" This is Crawssembly, a project that’s been in production for almost a year. It is an educational assembly-like programming language that teaches users how computers actually work. Programming languages like Python, Ruby, and Java pull the wool over your eyes by abstraction and simplification. Crawssembly is the first step to seeing clearly.
Crawssembly v1.1.0 ready to ship! “Programming languages are a lie!” This is Crawssembly, a project that’s been in production for almost a year. It is an educational assembly-like programming language that teaches users how computers actually work. Programming languages like Python, Ruby, and Java pull the wool over your eyes by abstraction and simplification. Crawssembly is the first step to seeing clearly.
CRAWSSEMBLY - New and Improved! “Programming languages are a lie!” This is Crawssembly, the number 1 project on all of stardance! It’s a project that’s been in production for over a year. It is an educational assembly-like programming language that teaches users how computers actually work. Programming languages like Python, Ruby, and Java pull the wool over your eyes by abstraction and simplification. Crawssembly is the first step to seeing clearly. What is new? INTERNET SOCKETS! CRAWOS COMMAND LINES! DYNAMIC LABEL JUMPING! IMPROVED DEVICES! DEDICATED PACKAGE SHARING WEBSITE! AND MORE! Check it out for yourself! (Shipped early due to Fraud Squad limitations, Crawssembly is too powerful for Hack Club)...
|
1793299945.5701473
|
1793386345.5701473
|