-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathblog.html
28 lines (26 loc) · 8.52 KB
/
blog.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<!doctype html><html lang=en xmlns:fb=http://ogp.me/ns/fb#><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta property="og:site_name" content="EndBASIC"><title>Blog - EndBASIC</title><meta property="og:title" content="Blog - EndBASIC"><meta name=description content><meta property="og:description" content><meta name=author content="Julio Merino"><meta name=generator content="Hugo 0.111.3"><meta property="og:url" content="https://www.endbasic.dev/blog.html"><meta property="og:type" content="website"><link rel=canonical href=https://www.endbasic.dev/blog.html><link rel=alternate type=application/rss+xml title=EndBASIC href=https://www.endbasic.dev/feed.xml><link rel=stylesheet href=/sass/main.min.1fd0745ddb73c7e146f488aadf028ff6e32fb46bb9fd282336b4998e2fe64a01.css><link rel=stylesheet href=/css/chroma.css></head><body><nav class="navbar navbar-expand-sm navbar-dark bg-dark sticky-top"><a class=navbar-brand href=/>EndBASIC</a>
<button class=navbar-toggler type=button data-toggle=collapse data-target=#navbarToggler aria-controls=navbarToggler aria-expanded=false aria-label="Toggle navigation">
<span class=navbar-toggler-icon></span></button><div class="collapse navbar-collapse" id=navbarToggler><ul class="navbar-nav mr-auto mt-2 mt-lg-0"><li class=nav-item><a class=nav-link href=/about.html>About</a></li><li class="nav-item active"><a class=nav-link href=/blog.html>Blog</a></li><li class=nav-item><a class=nav-link href=/gallery.html>Gallery</a></li><li class=nav-item><a class=nav-link href=/download.html>Download</a></li><li class=nav-item><a class=nav-link href=/docs.html>Documentation</a></li><li class=nav-item><a class=nav-link href=/community.html>Community</a></li></ul></div></nav><div class="position-relative overflow-hidden p-3 p-md-5 m-md-3 text-center bg-dark bg-grid"><div class="p-lg-1 mx-auto my-1 text-white text-left"><h1 class="title display-4 font-weight-normal">Ready<br>Blog█</h1></div></div><article class=container><div class=row><div class=col><div class="media my-4"><img class=mr-3 src=/octicons/star.svg width=32px height=32px><div class=media-body><h2 class=mt-0><a href=/2024/07/endbasic-0.11.html>EndBASIC 0.11: Functions, LCDs, and bytecode</a></h2><p><p>After a year-and-a-half long hiatus, I am pleased to announce that EndBASIC 0.11.0 is now available! 🥳</p><p>This release marks a significant milestone because it addresses <strong><em>the</em></strong> top feature request from you all, namely the ability to define custom functions and subroutines. But it also includes other goodies such as support for an LCD console, a shiny new disassembler, and a faster execution engine.</p></p><p class=text-muted>July 19, 2024
·
<a class=text-reset href=/2024/07/endbasic-0.11.html>Continue reading (about
6 minutes)</a></p></div></div><div class="media my-4"><img class=mr-3 src=/octicons/note.svg width=32px height=32px><div class=media-body><h2 class=mt-0><a href=/2024/07/new-blog.html>New blog and a call for beta-testing</a></h2><p><p>Dear EndBASIC enthusiasts!</p><p>In preparation for the imminent 0.11 release, which needs some beta-testing right now, I have created a brand-new “blog” section in the EndBASIC website.</p></p><p class=text-muted>July 5, 2024
·
<a class=text-reset href=/2024/07/new-blog.html>Continue reading (about
2 minutes)</a></p></div></div><div class="media my-4"><img class=mr-3 src=/octicons/note.svg width=32px height=32px><div class=media-body><h2 class=mt-0><a href=/2024/04/endbasic-st7735s.html>Porting the EndBASIC console to an LCD</a></h2><p>Hello again Blog System/5 and sorry for the radio silence for the last couple of months. I had been writing too much in here and neglecting my side projects so I needed to get back to them. And now that I’ve made significant progress on cool new features for EndBASIC, it’s time to write about them a little!
One of the defining characteristics of EndBASIC is its hybrid console: what looks like a simple text terminal at first glance can actually render overlapping graphics and text at the same time.</p><p class=text-muted>April 26, 2024
·
<a class=text-reset href=/2024/04/endbasic-st7735s.html>Continue reading (about
16 minutes)</a></p></div></div><div class="media my-4"><img class=mr-3 src=/octicons/note.svg width=32px height=32px><div class=media-body><h2 class=mt-0><a href=/2023/01/endbasic-parsing-difficulties.html>BASIC parsing difficulties in EndBASIC</a></h2><p>The original BASIC parser in EndBASIC 0.1 was very rudimentary and it stayed pretty much unmodified until the 0.10 release last month. This release brought major changes to the parser to support new features, but it wasn’t easy to implement them. In this post, I want to look into various difficulties that arose implementing certain BASIC constructs in EndBASIC. Overcoming these difficulties was difficult, but it was also fascinating because it gave me a glimpse of the design choices that the original BASIC designers must have faced. Capturing these ah-ha moments in a post is also tricky, but I’ll try anyway.</p><p class=text-muted>January 13, 2023
·
<a class=text-reset href=/2023/01/endbasic-parsing-difficulties.html>Continue reading (about
14 minutes)</a></p></div></div><div class="media my-4"><img class=mr-3 src=/octicons/star.svg width=32px height=32px><div class=media-body><h2 class=mt-0><a href=/2022/12/endbasic-0.10.html>EndBASIC 0.10: Core language, evolved</a></h2><p><p>After three months of early-morning hacking, I’m pleased to announce that EndBASIC 0.10 is now available—right on time for some holiday-time experimentation!</p><p>This release marks a <em>huge</em> milestone because it makes the language usable for real-world development.</p><p>You see, when I started this project over two years ago, I wrote a rudimentary interpreter for something that resembled BASIC and then launched EndBASIC 0.1. Since then, I have been piling onto those insufficient foundations by adding flashy features such as <a href=/2020/11/endbasic-0.3.html>a web interface</a>, <a href=/2021/07/endbasic-0.7.html>a cloud file sharing service</a>, and <a href=/2021/11/endbasic-0.8.html>a hybrid text/graphics console</a>. These features have been well-received in every demo I’ve given but… the feedback that always came back was the same: “<em>Give me some sort of functions or subroutines!</em>”, or “<em>This is no BASIC without <code>GOTO</code>!</em>”.</p><p>And these criticisms were right. Trying to write any sort of non-trivial program in EndBASIC was a daunting and frustrating experience. I had tried to simplify coding to the foundations of structured programming, but without a way to perform unstructured jumps (aka go-tos) or define custom functions… it was impossible to factor out common code, which is a need for the vast majority of programs that exceed a screenful of text. There were also usability deficits such as the lack of line numbers in error messages, which made it incredibly difficult to debug any failing program.</p><p>The situation had to change, and change it has in EndBASIC 0.10.</p></p><p class=text-muted>December 27, 2022
·
<a class=text-reset href=/2022/12/endbasic-0.10.html>Continue reading (about
5 minutes)</a></p></div></div></div></div><div class="row post-links"><div class="col-6 text-center"><span></span></div><div class="col-6 text-center"><span><a href=/blog/page/2.html>Older »</a></span></div></div></article><footer class="pt-5 pb-3"><div class=container><div class=row><div class="col-md-8 text-left"><form class=form-inline action=https://hugo-dynamic.endbasic.dev/api/sites/6a633c2c-7fda-11ec-86e4-1cfd087199c2/subscribers/add method=post><input type=text name=email placeholder="Enter your email" class="form-control input-sm text-center mx-1" size=20>
<button type=submit class="btn btn-sm btn-light mx-1">Subscribe to updates</button></form></div><div class="col-md-4 text-right">EndBASIC
<small class="d-block text-muted">Julio Merino © 2020-2024</small></div></div></div></footer><script type=module>
const SITE_ID = '6a633c2c-7fda-11ec-86e4-1cfd087199c2';
import { addAnchorsToHeaders, RequestsClient } from "\/js\/main.a02d06c067e543f21935526327af3100473c02252e0866297914856e56a033cb.js";
new RequestsClient(SITE_ID).saveRequest();
addAnchorsToHeaders();
</script><noscript><img src="https://hugo-dynamic.endbasic.dev/api/sites/6a633c2c-7fda-11ec-86e4-1cfd087199c2/pages/aHR0cHM6Ly93d3cuZW5kYmFzaWMuZGV2L2Jsb2cuaHRtbA==/stamp.gif" style=display:none></noscript></body></html>