Hacker News new | past | comments | ask | show | jobs | submit | jonwinstanley's comments login

Ahhh yes, floats were everything.

I pinched the page and it zoomed ok

These kind of games rely on custom keyboards. Using the native control would be a lot more difficult.


I’m not sure that was scroll hijacked. It all moved at the right speed


So what would you suggest to use to move the animation forward?


Submitting a form repeatedly by hammering enter and having a new HTML fragment rendered on the server deliver the next frame, obviously.


AnimeNoJs


That missing Playdate phone accessory.


not use animation in the first place :)


isn't the point that it's an animation library showcasing what's possible?


good point, I read it as about websites in general but in this case why not.


Painful! I remember being able to at least store the finished program on a floppy. Luxury!


The compiler/interpreter couldn’t even tell you what line the error was on!

You’d just get a big error message for the whole program.


After a while, magazines like Commodore Run and Compute started including a short program that would checksum each line as you entered it, so you could check that against a checksum in the magazine. Of course, you had to get that program typed in correctly first before you could use it to enter others.


My favorite was the "TYPO II" ("Type Your Program Once") application, which was part of every Antic! Magazine program listing:

https://www.atarimagazines.com/v3n9/TYPOII.html https://www.atarimagazines.com/antic/

This was wrapper around the BASIC interpreter that printed out a 2-character checksum of each entered code line.

The magazine printing also had an associated 2-character checksum for each line. Your job: make sure the checksums matched.

As a teenager who only had cassette-based storage (couldn't afford a disk drive) and was addicted to typing in programs from Antic! and ANALOG magazines, this was a lifesaver.

(ANALOG's checksum program wasn't quite as convenient, and, IIRC, required a disk drive?)


I took a look at the listing[1] and looks like it contains unprintable characters, maybe they were ASCII art of some sort?

The checksum algorithm is fairly simple: line 32150 sums the products of all character positions and character codes, and lines 32160-32180 does a modulus to convert them to printable characters. The multiply-by-position bit is clever because it allows the checksum to flag transposed characters. ISBN-10 uses a similar scheme[2].

[1] https://www.atarimagazines.com/software/displayfile.php?file...

[2] https://en.wikipedia.org/wiki/ISBN#ISBN-10_check_digits


I naturally went down a rabbit hole to see if I could find why those characters weren't printing properly.

https://www.atarimania.com/mags/pdf/Antic_Vol_7_No_4.pdf

On p. 31, you can see the intended characters.

I now remember that Atari actually had their own variant of ASCII, called ATASCII:

https://en.wikipedia.org/wiki/ATASCII

Atari 8-bits were actually really cool computers, in that they let you do things like redefine character sets entirely (to create custom character sets to effectively create tile-based displays), play with display-list interrupts, etc.


Nice find :)

I guess Atari character set has enough overlap with ASCII, so I could get the checksum to match:

    sum = 0
    "32000 REM TYPO II BY ANDY BARTON".codepoints.each_with_index{|c, i| sum += (i + 1) * c }
    print ((sum % 676) / 26 + 65).chr, (sum % 26 + 65).chr, "\n"
(Ruby code, outputs "WB")


I'm curious, can you say more about "as you entered it"?

Do you mean like, "for lines 1-20 the checksum should be 0xDEADBEEF"? This would let you find the error before finishing the program.

Or just at the end, it would checksum the whole thing?


A checksum for each line of code. COMPUTE! magazine used one, the article introducing it and explaining how to use it is at https://archive.org/details/1983-10-computegazette/page/n49/....

The code listings had a comment (rem) at the end of each line with a checksum number, when you used the checksum program it would display a checksum at the top of the screen that would match if you entered the line correctly.

An example page of code with checksums is at https://archive.org/details/1983-10-computegazette/page/146/....

A life changing event for those of us entering code from magazine listings in the early '80s.


That's awesome. Thanks!


I remember borrowing a book from the library, which had a type-in checksum program of this sort. It was done like was common for C=64 things of this kind - there's a BASIC FOR-loop iterating through a memory area, reading in bytes from DATA statements you've typed in and POKEing those bytes into memory, not completely unlike entering a program manually from the front-panel switches of an older computer.

So, after typing that in and probably SYSing (C=64 BASIC command for executing machine code from arbitrary memory location) to some address, it did print out a two-digit (eight-bit) hex checksum after every BASIC line I entered on the C=64 and the program listing in the book had the correct checksums for every line, so spotting errors was more or less instantaneous.

This stuff brings memories.

  FOR I=40960 TO 49152:POKE I,PEEK(I):NEXT I
  POKE 1,54
From top of my head; loop through the BASIC interpreter area, reading byte by byte with PEEK and POKEing those bytes back to the same addresses. Sounds nonsensical? Not so, because the C=64 does have full 64 kB of RAM, but some of it is overlapped by ROMs. What happens here is that you're reading from ROM but writes always go to RAM, so you're copying the BASIC interpreter from ROM to RAM. After that, the POKE statement turns off the ROM overlap and the interpreter is now run from RAM, so you can edit it live - and obviously cause all sorts of interesting crash situations.

It sure did help later with career in IT to have understood this kind of stuff at age of around ten.


Semi related, I created linesum a few years back https://github.com/moreati/linesum to line by line sha256.


For the zx81 i think it was usually some encoded binary form, so no compiler/interpreter involved.


I agree that the beat sync tools feel like cheating for the old school DJs, but the newer generation are using it to get more creative.

Without spending half the time beat matching, they now have time to interact with the tracks more - play with stems, loops, filters, fx, scratching etc.

It’s becoming more of a live performance


>but the newer generation are using it to get more creative. Without spending half the time beat matching, they now have time to interact with the tracks more - play with stems, loops, filters, fx, scratching etc.

>It’s becoming more of a live performance

while this is true in theory, i find that sometimes the new tools end up becoming a crutch making djs extremely boring

the extra time freed up from not having to concentrate on beatmatching etc. is replaced with nothing

a lot of the time i have no idea what people are even doing they may as well just be playing a playlist from spotify

whereas i can generally discern what a vinyl dj is doing, and watching someone like jeff mills dig through piles of records & spinning 3 decks while being on the edge of trainwrecking has a kind of energy and tension that gets lost and is not replicable with newer technology

it's sorta like someone being able to sing really well naturally vs someone with autotune

that being said i've still seen amazing sets from digital djs or people with interesting live setups


One of the commonly extolled virtues of playing vinyl is that you're "just playing records." As in, not using any fancy effects and tricks. For a lot of people, this is enough, and it's mostly about your music collection and song selection. If you're really good at vinyl, you're not doing much most of the time either and you can dance around and dig through records. Nothing about this needs to change when switching to CDJs.

People get hung up on all this stuff that has very little to do with what matters most at the end of the day, which is the sound coming out of the speakers, and the experience of the audience (which I will grant that the visual aspect of watching the performer is a part of). Deadmau5 talks about stuff like this...basically everyone at a major festival is playing a prerecorded set so that visuals and lights and the rest of the show can be synced up. It doesn't matter what tools you use or how much work you're doing as long as people are entertained. It's about putting on the best show you can.

Jeff Mills is a God-like legend, of course your average local DJ isn't going to compare. It is a bit like being a real estate agent in that the barrier to entry is super low now but you still have to be skilled in some way or another to be really successful.


I know what you mean. It’s just becoming a different thing for some people.

Playing records the old way is great.

I saw a Hor Berlin video by Serafina and she looks to be fully beat synced the whole time but is making her own music from the 4 decks she has going.

Although 1 does seem to just be a drum loop.


Presumably James Hype uses beat sync too? Surely he doesn’t have time to beat match between all the loops/hot cues etc


Becoming?

May I introduce you to the DMC World Championships

https://www.dmcdjchamps.com/

edit: Also, I take offense to the insinuation that "old skool" DJs are not using new things to be more "creative". Old skool DJs are not old dawgs that can't learn new tricks.


Yes, way too bright. The ray tracing is great but couldn't they have reduced the source brightness?


hahaha


Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: