Hacker Newsnew | past | comments | ask | show | jobs | submit | joshu's commentslogin

that’s me giving the talk btw

i've been thinking about how to build a retro-style computer without any of the engineering compromises that made old machines so weird. lots of ideas, no progress. perhaps some sort of small riscv machine and a separate processor to manage the system (esp32) remotely, so you can always modify the filesystem or whatever from a bigger machine?

This is an exciting project. Have you thought about the software and OS yet?

Thanks. I want to keep the software simple while having proper support for the graphics and audio hardware. I already have some prototype software written is RISC-V asm. I’ll probably use lua as the first high-level language, as it has a small code base and runs well on memory-constrained systems.

I’m not yet sure what features the OS will offer; it partly depends on interrupts and whether I support virtual memory. But I’m not trying to create another UNIX; there are plenty of those already. However, the system will be modern, e.g. using UTF-8 encoding.


This makes sense. I’ve thought about a similar project and come to the same conclusions.

someone suggested 10-bit bytes. this will not be enough. 11-bit bytes should be plenty, though

10 PRINT CHR$(205.5+RND(1)); : GOTO 10


  python3 -c 'import random, time, itertools; any(time.sleep(0.01) or print(random.choice("\u2571\u2572"), end="", flush=True) for x in itertools.repeat(None))'


https://github.com/the-real-tokai/macuahuitl/blob/master/tem...

(how about this fancy version with SVG output? :D No longer a single line though.)


Quite a few bytes can be golfed out of that still:

  python3 -c 'while I := __import__: I("time").sleep(0.01); print(I("random").choice("\u2571\u2572"), end="", flush=1)'
My reasoning including most failures:

Whitespace is mostly trivial and not worth mentioning, except that the space between "or" and "print" can be eliminated by moving the `time.sleep` to before a string literal. Alternatively, using `!=` works almost anywhere (though not with some alternative ideas), or `;` with the `while` version.

There are several shorter ways to get an infinite loop:

  itertools.repeat(None) # for reference
  itertools.repeat(0)
  itertools.count()
  iter(lambda: 0, 1) # also removes the import, so 10 chars shorter
  iter(''.upper, 1) # same length when spaces removed, shorter if not removed
  iter(int.mro, 1) # spooky, but one char shorter still
  range(9**99) # much longer than the age of the universe
  range(9**9) # 44 days
  # but it turns out we can skip it entirely
The loop itself:

  any(expr for x in it) # theoretically prevents the memory leak
  [expr for x in it] # wastes 800 bytes per sec, 69 MB/day, 1 GB per 14 days
  while 1: expr # breaks one-liner unless longer `__import__("")` is used, but worth it since it eliminates the entire iterable, even before doing I=__import__
  while I := __import__: # 2 chars shorter than doing the assignment inside the loop
I looked into alternatives to calling sleep at all, but computers are too fast (and variable in speed) nowadays. `os.sync` looked promising but is only slow the first time. Trying to pass its return value as an argument also failed.

`flush=1` is shorter than `flush=True`. Otherwise ... I tried `sys.stdout` but hardly anything was even close:

  any(time.sleep(0.01) or print(random.choice("\u2571\u2572"), end="", flush=True) for it)
  any(time.sleep(0.01) or print(random.choice("\u2571\u2572"), end="", flush=1) for it)
  sys.stdout.writelines(time.sleep(0.1) or random.choice("\u2571\u2572")+"\0"*8191 for it) # can avoid the flush by filling the buffer manually, but requires several more chars to import sys as well
Random:

  random.choice("\u2571\u2572")
  # UTF-8 b"\xe2\x95\xb1" doesn't seem useful
  chr(9585+random.randrange(2)) # sigh
  chr(9585+(random.random()<.5)) # nope
  chr(9585+(os.getrandom(1)[0]&1)) # + has tigher precedence than &
  # that last would save 1 byte with normal `import` (since the identifier is repeated), but loses with `__import__`
  # is there a way to eliminate parens? Is >> or | or - useful? What about *splat?


I used to do this on my VIC-20 a million years ago. Just looking at this line brought back the visual image like it was yesterday.



Man, I've tried writing my own version of things like this, but it ended up looking like pubes on paper.


Nice.

It's a shame that regular octagons do not tile the plane. Octagons + squares might work I suppose.


You can use the monotile! See my links below.


Ah perfect! I went away at lunch and tried to work it out, including for the spectre tile (monotile), although I took a different approach.


yeah, that’s not really what it’s about


Want to give some more detail or context of your view?


you are guessing what it ought to be about from the name. maybe you could go, watch the videos about it, read the website, etc?


i was there. it’s an awesome event. it’s like maker faire but if it were run by feral youtubers. like half of the exhibits are some sort of cursed side quest. i got to drive the crazy oshcut simulator. i love it.


Yeah, I was wondering to the degree it was different than the Maker Faire. (Took the daughters there for years until it shut down. Covid? I think it's back on bur I'm no longer in the Bay Area.)

Maker Faire got crowded and a bit repetitious from year to year.

Maybe you can characterize — is Open Sauce has slightly less art, slightly more tech? That's my impression watching a few videos now.


I’ve exhibited at Maker Faire a couple of times and visited many times, and exhibited at Open Sauce twice.

Early Maker Faire (in the Bay Area) was a mix of art booths/vehicles coming out of Burning Man storage and independent makers showing their projects and inventions. Then it rapidly commercialized with company booths taking most of the show space, and then it finally imploded financially. The recent resurrected version is less commercial, much smaller, and aimed more at younger children and their parents, but is overall not that far off from the Make origins.

Open Sauce is very much Creators (content and otherwise) and independent makers, growing in scale every year. It works well, in part because the company/sponsor booths are no larger or flashier than the hacker/maker booths.


I've spoken with a few conference organizers about this—how do you please sponsors enough to make them want to come back the next year, but also make it so their booths / areas on the floor don't turn into boring "whatever-conference" spaces.

It's a balance and so far Open Sauce seems to have done okay there; but a couple sponsored booths felt a bit more corporate/salesy and out of place this year.

You could tell people would kind of give them a wide berth compared to walking around other areas, where people were more densely packed around all the booths.


The balance during the first two years felt amazing. I was so energized by the first days that I spent the second days revisiting to a ton of makers I’d met the first day to talk more. And I still didn’t see everything.

This year my friends and I felt it swayed a bit far to sponsored booths. There were fewer cool experiences (like the mini-golf) and I’d seen everything in one day. We wondered if the cool booths got denied in favor of ones that could pay more.

We still had great conversations and met incredible people, but felt we had to work harder to find it.

That said.. I think William’s team has been in a deficit each year and he said in his OpenSauce+ video how he is trying to be more sustainable.. I still remember buying the $69.69 early early bird ticket on the way out of 2023 for 2024 just to help them cover existing costs.

I really hope they figure it out. It’s such a great environment and has a great team behind it


i just want an editor! not a viitor! not an emacsitor! those aren't even words!


what is pick 9?

PS what happened to your project? i liked where you were going with it.


I meant pico 8 and was on my phone which autocorrected wrong twice.

Re PS: nobody really knew what was interesting or useful about it, and by the end of that day, neither did I, and my dream was lost, and I still can't find it.


i thought it was interesting. sometimes you have a part of an idea and you don't know where you really wanted to go until you started.

fwiw i think a lot about older computers being much more simplistic and easier to understand than modern machines (you could understand how an apple ii worked, end to end, but a modern PC?) and wonder how to bring that into the modern era...


I mean Poco 8


I don't think you do.

I guess you mean Pico-8.

https://www.lexaloffle.com/pico-8.php


See my other reply to him.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: