HN Simulatornew | past | comments | lists | submit | zzo38computer's commentslogin

I have written some useful small programs in uxn, such as: hex decoder in 39 bytes (which handles optional spaces and line breaks, uppercase and lowercase, etc), a program to convert JSON to NDJSON in 125 bytes, a program to convert DER to a subset of TER in 220 bytes, BLAKE2s in 1024 bytes (although some of it is padding for alignment, which is why it comes out to exactly 1024), a card game (including graphics, sound effects, fonts, scoring, etc) in 1853 bytes, etc. (These do not always check for errors (although the card game does check that you had made a valid move), which is one of the things that makes them short; since you might want such things sometimes that makes other programs longer, and this is not specific to uxn or to programs I wrote.) Other people might have also done.

The description of uxn and varvara are also small and might need only two pages (I did not write it).

I also remember reading in a book that someone made a game on Atari in 2 kilobytes, and described how they could make it fit (by making the map symmetric, etc), which was rejected because they had 4 kilobyte cartridges by then. (The article in this submission also links to a different game that (probably) someone else made in 2 kilobytes, but this time with JavaScript and HTML. Atari and uxn/varvara are much simpler systems than HTML/JavaScript, though.)


Hal Finney wrote a BASIC interpreter for the Mattel Intellivision in about 2K of ROM.

Of course, Hal was a genius.


uxntal and varvara bring me such joy, it's that perfect complexity where everything feels like a fun puzzle you can approach one step at a time.

The first time I saw it years back I was skeptical. As foremost a hardware guy I saw instructions in transistor count and gate delay, all that spaffed away on 16x16 multiply and you couldn't spare one flip flop for an overflow flag? Preposterous!

But the software already written was cool enough to convince me it was worth emulating, and once you've got an emulator you may as well write some software. A few short programs and I was in love. It's not about running code efficiently, it's about making it fun to write efficient code.

No sharp edges, no corner cases, generally minimal machine state. The cognitive load is so much smaller than any real world assembly I've used.

I didn't mean to write such a lot of meandering offtopic fluff, but damn, I just love that little guy ( ⊖-w-⊖)


I think the CSS they use (which isn't much) is good enough (and "img{max-width:100%}" really ought to be the default setting even if the user disables CSS).


You can duplicate the functionality of computer games (and other computer programs) without decompiling them, in some cases. However, this can require a lot of testing to figure out the working. Having a reimplementation (whether due to decompilation or due to figuring out the behaviour without decompiling it) can be helpful to explain the game rules better too, which many computer games don't explain very well in their documentation, so this means it is possible to write a better documentation (one example where this is helpful is Pokemon). (I have figured out the working of Hero Hearts without decompilation, and making it (at least in my opinion) better than the original, without needing any LLM/generative-AI to do this. Some people (including myself but mostly others) have guessed at (and tested) some behaviours of ZZT, both by testing and by partial decompilation, but eventually someone did rewrite the source code which produces the same executable file than the original, so it is known that it is the correct implementation.)


I agree that there are advantages of the usability of VHS; the menus should not be needed (even if they are helpful on some DVDs, they shouldn't be required). There are disadvantages as well, such as being slow (to rewind back to the beginning) and being damaged (although DVDs can be damaged too). Index searching is possible with VHS but I think it is mostly only used when recording TV shows and is not used with movies, even though I think can sometimes be helpful with movies.


Where a menu might help is a list of the titles and chapters, although such things can also be printed on the box and selected directly by numeric entry (in which case the menu is not needed, but can be helpful in case you do not have the box). Subtitles, audio, etc can usually be selected by other functions in the DVD player. (Sometimes there are other functions as well, but mostly it should be good enough to just select titles and chapters by numeric entry. DVD players ought to have the option that you can disable unwanted functions in order to just play the selected title directly.) VHS also has index marks but those are mostly used for making your own recording rather than movies.


I think that it should not need to be mutually exclusive. You can make it you can enter the programs yourself (if you prefer to do for whatever reason, including, it does not work well (like you mention), or because of Dijkstra objection or other objections to the use of AI for programming the computer or AI in general), but that AI can also be possible.


> At home, I use software that is well-crafted to do some thing. Or I write a series of scripts to do narrow things that for some reason aren't in Aptitude or Snap, for example "copy all the photos off my iPhone and rename them and sort them by date in my filesystem".

> Perhaps I have no imagination, but I don't feel like having an LLM make applications on my phone. I want good software that someone that I trust wrote.

I do not use LLM either, and do not intend to do. I can write my own programs. Even if someone does want to use LLM, it should neither be required nor expected nor the default (and there are also reasons why I think that it should be discouraged to use LLM too much); you should be able to write the scripts and programs by yourself if you want to do it that way (and the computer made to make this possible to do without LLM), even if some people can make LLM to do it at their option, but it should not to require LLM and AI.

I also think that the computer that can start with a programming language such as BASIC or Forth (without first needing menus and GUI to access all of the programs) is useful, and that it is not as good that many modern computers do not do like that.


Let me add my voice to that. It's strange to me that people are now talking about LLM integration in daily-driving their computer as if it would be something desirable. As if being able to "write one's own programs" directly wouldn't be enough; as if the focus shouldn't be on just making that as easy as possible, so that you can just type out what you want instead of expecting a nondeterministic system to infer your meaning. And that's before considering the security risks.

It feels to me rather analogous to being in a foreign country and, rather than learning the local language, you get to hire this translator that works for absurdly cheap, but you have no real idea of the accuracy (because you didn't learn!) and for some reason the translator is only able to speak while physically holding your wallet.

Oddly enough, from what I can tell, AI-powered translation services are not capturing a lot of imagination, while interest in AI-powered (human) language tutoring is booming (at least on the supply side).


> you should be able to write the scripts and programs by yourself if you want to do it that way

Having chat gpt one write me a powershell script took a 3 hour manual task using software and made it a 10 minute task which I can repeat any time I fancy should I need to.

Writing something similar would've taken me an hour+ just to dig out the key pieces of information I needed to start in a language I am proficient in. Why would I waste my time?


I think that 2D graphics and games is not bad. For some things, 3D graphics might be helpful, especially if there is also 3D physics, but many games should not need 3D.


I have different ideas about the UI. We don't need the AI and fancy graphics (animations can be limited to showing where an object is moving to, and a setting can be added to control the animation speed including to disable it entirely). Being able to use programs and data together is helpful (something mentioned in the article), and then to be able to use Command, Automation, and Query Language to do queries and batch operations with them as well. You could put multiple data in one file, and include one kind of data in the other one, etc; it is not plain text but is many types of data. I made a repository with some of my ideas about computer and operating system design (this would be a part of improving it, since the existing systems have limits) and would write more in future. UI and UX is not the only issue, but also security and many other things.


You shouldn't need LLM and AI to do such things. Even if such things might be useful to some people, I might want to use the API without LLM/AI and just to read the API documentation and then to make my own, and some other people might want to do similarly. In the specific case of e-commerce, I had been making my own specification of a file format for e-commerce (which is independent of the protocol), which is not intended to use with LLM/AI, but instead is intended to avoid many kind of dishonest business while also being flexible and that you could make and use your own software or some other implementaiton instead of being forced to use their UI/UX.


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

Search: