HNHacker News
TopNewBestAskShowJobs

marksmillibend

71 karma · joined November 7, 2020

submissionscomments
marksmillibend··on Yet Another New Email
Yet Another New eMail Self-hosted, end-to-end encrypted and sender-verified email replacement with android phone app.

Request for interest. Code to follow.

marksmillibend··on Bare Metal x86 Forth
Bare Metal x86 FORTH

Simple FORTH system bootable from USB stick on x86 PC (or QEMU).

Implemented from scratch and explained (with complete assembler code using nasm).

marksmillibend··on BBC Radio, Lovecraft, the Shadow over Innsmouth
BBC Radio, Lovecraft, The Shadow Over Innsmouth

BBC have just released the 3rd season of their Lovecraftian radio play series. The link points back to the very first episode of season 1.

The Case of Charles Dexter Ward [S01]

The Whisperer in Darkness [S02]

The Shadow Over Innsmouth [S03]

marksmillibend··on I Could Have Written It Myself, Faster
I Could Have Written It Myself, Faster

Comparing the same programming task, first written using an external package and once again from scratch.

marksmillibend··on Easy Compiler Regression Testing
Easy Compiler Regression Testing

Minimalist, useful, regression testing program, for my sugar compiler dev project, explained.

marksmillibend··on Sugar – a typed lispy language targeting webasm/wat (part 2)
Sugar - a typed lispy language targeting webasm/wat.

Part of 2 of the continuing saga of writing a small compiler targeting wat/wasm.

I talk thru the implementation of some of the missing features from part 1, which have now been implemented.

marksmillibend··on Sugar – a typed lispy language targeting webasm/wat (part 2)
Sugar - a typed lispy language targeting webasm/wat.

Part of 2 of the continuing saga of writing a small compiler targeting wat/wasm.

I talk thru the implementation of some of the missing features from part 1, which have now been implemented.

marksmillibend··on Sugar – a typed lispy language targeting webasm/wat
Oh please do _not_ do that :)

Sugar is just a toy. Don't learn it. Maybe you can learn something about common lisp from reading the sugar compiler source code.

I agree with TurboHaskal. I too, learned Scheme first and liked it cos it was simpler/purer etc. than Common Lisp.

When I finally learned Common Lisp, my only regret was that I hadn't learned it earlier.

Common Lisp is not perfect, but it has a single standard. Very important. It's very mature and battle tested.

The people who you'll meet in the Common Lisp community are very smart and capable and you will learn a lot from them. I did.

Learning Scheme won't hurt but I recommend Common Lisp. Great, free compilers, lots of libraries for everything and a great community.

But please, do not learn sugar :)

marksmillibend··on Sugar – a typed lispy language targeting webasm/wat
Thank you for your encouraging words.

I am currently working on some of the "future directions" ideas and will post again soon about that.

marksmillibend··on Sugar – a typed lispy language targeting webasm/wat
TIL that TIL means "Today I Learned".

Thanks for reading the post :)

Update 2020-12-07: There was a bug in the macro expansion logic. I've backported the fix to the linked source and explained the bug in the 'mistakes' section.

marksmillibend··on Sugar – a typed lispy language targeting webasm/wat
Sugar - a typed lispy language targeting webasm/wat.

Compiler is incomplete but I have written some reasonably complex programs.

Interesting to read for the, very short, compiler.

marksmillibend··on Creating a Zip File from Scratch
Thanks for the fix. I intended monospace, but I thought it was spelled mono.

Fixed now. I've updated all posts now like this: pre.code { font-family: monospace; }

marksmillibend··on WebAsm: Forth with Lisp Syntax
WebAsm: Forth with Lisp Syntax. Overview of WebAsm text format, with example. (note: The code is tested and works, however, live example not loading since bitbucket won't send the correct content-type application/wasm for .wasm files; instead sending text/plain)
marksmillibend··on The NoJS Club
A small snippet to add to your nojs sites. https://ghostbin.com/paste/kupyj

Shows a banner "You Don't Need JavaScript to Run This Site (turn it off here)"

It's a response to all the "You Need JavaScript to Run This Site" banners we see everywhere even on plain text/image sites.

marksmillibend··on Please disable JavaScript to view this site
A small snippet to add to your nojs sites. https://ghostbin.com/paste/kupyj

Shows a banner "You Don't Need JavaScript to Run This Site (turn it off here)"

It's a response to all the "You Need JavaScript to Run This Site" banners we see everywhere even on plain text/image sites.

marksmillibend··on Generate Android Preferences/Settings Menu
Generate the java and xml files for a simple preferences menu dialog for your android app.
marksmillibend··on Creating a Zip File from Scratch
Creating a ZIP file From Scratch using C.
marksmillibend··on You Don't Need JavaScript to Run This Site
Helpfully notify visitors that their browser is unnecessarily Turing Complete.
marksmillibend··on Storing Songs as Source Code on GitHub
This no-longer-innocuous-looking repo actually stores a music track. Download, compile and run it.