Morph functions library [PATCHED]

Yes!!

They meant "large scale." :~)

I thought I was being very careful not to say whether the resulting deepfake would be pro-Trump or pro-Harris!

Well for starters do you remember the VW diesel scandal?

OMG. Talk about slander.

Brian could not be more wrong. I made and published that project, not some kid, and it was about the + (plus) block, not about x (times). And it didn't exploit a bug but taught a computational concept. Details matter.

It was I who made that project about the German Volkswagen Diesel Scandal back in 2015 when it first surfaced, and I re-posted it three years later when the court trials began. Not some kid "exploiting a bug", but myself showing the community how continuations work and how they can be used for fun (and illicit profit!). Here's the pic I posted back in 2015, and again in 2018:

And I've been showing it ever since in my talks at CS conferences (even at conferences that Brian attended, e.g. when I gave a keynote address in 2018 in Lithuania that I later gave again at EDC in the U.S.) and at teacher PDs all over Europe as an example why CS is so much more than just "a little bit of coding".

This still works in today's Snap!, but you'll need to make your own dyadic (2-inputs) equality-test predicate block to get the correct continuation (because we've since made it variadic, and that means that the continuation now isn't the reporter block itself but the variadic input slot - think about this for a minute, it's actually beautiful!)

And it does work with the new this continuation reporter:

Here's my updated "Cheat like a Diesel" project, if you're interested to take it apart yourself.

There are wonderful computational concepts to learn and have fun with in and with Snap! That's why I'm bitterly disappointed if you only hack around with JS and try to break Snap!.

Of course I remember that you did it! I did forget it was + though. I was trying to make a point, namely that at one point you, yourself, had the same "look at how I can make Snap! do this thing it's not supposed to do" spirit that you are now complaining about in kids.

(That's why I was sort of stalling on explaining the story to @mr_owlssssnap2, because I was waiting for you to do it. Which you did, thank you, but I didn't anticipate that you wouldn't get why I was saying "some kid." I was hoping you'd think about why it was okay for you to enjoy showing off that you could get Snap! to do something it wasn't supposed to do, but you now can't stand it when some kid does it. I'd actually forgotten that you'd invented a separately named SUM procedure instead of overloading the primitive, though. Sorry. My point remains: The project under discussion here is no more an attack on your life's work than your own was. You used to have more of a sense of humor about all this.)

P.S. Although I'm probably not sounding that way, I'm actually really sympathetic with you getting angry, because when I was a high school teacher I did the same thing. Kids would invent login simulators, not because they evilly wanted to delete other kids' work, but just because they wanted to show off. In the beginning I correctly saw this as something to discourage as a practical probem, but at the same time to encourage as the kid's impulse to empowerment, learning how to do something they weren't supposed to do. But then one day when I wasn't at school, three kids independently broke into the root account, and one of them managed to crash the system beyond their ability to repair it, so I had to come in and straighten out the mess, and I was furious. When I got home that evening my mom happened to phone me, and I said "hello?" and she immediately said "what's the matter?" because she could hear it in my voice.

And I never really recovered from that. The problem wasn't just that some kids made a problem for me. It was that we were friends; I would eat lunch with kids, for example, instead of going to the (horrible smoke-filled, those days) teachers' lounge to eat like the rest of the adults, and so I felt personally betrayed. I had worked really hard to give kids this great computer facility where they could stretch their minds, and I had not surrounded it with stultifying curriculum, and this is how they treated me. I was wrong to feel that way! They really were still my friends, and loved me, as I did them. But it so poisoned my feeling about my work that I immediately started looking to hire my replacement (who turned out to be Paul, a long story probably of no interest to anyone else). It's because of that day that I'm not still teaching at Lincoln-Sudbury. Not the kids' fault! My fault, for being so invested in my work that I forgot, temporarily, how kids are.

So, Jens, the reason I'm still pushing on this even though I hate it when we fight is that I don't want to let that happen to you. I'm sorry I'm not making that point more tactfully.

Yeah, you were.

Soo you're saying you double-crossed me, huh? And I fell for your bait? That is funny! :smiley:

I wasn't trying to fool you; I was sure you'd understand that I was trying to make an analogy between you and @tethrarxitet. But if you're smiling that's what matters. :~)

Are these really necessary in context?

really, youre being over critical. none of us had said anything about it because it doesnt matter. anyway, at least ur not an ai, since we have had 2 of those recently.

We've been found!

All jokes aside, did you find out by the fact that their answers were incredibly incorrect?

Yeah and the answers made no sense and had way too much bold and bulletpoints.

ChatGPT sucks at Snap!. I asked for it to make a block that requests a file upload and it said something like "There is already a file category in Snap!".

Bet they found this on the internet, eh?
fire categor

You might have an argument about the middle one. But the other two were on-topic responses to rather open-ended questions asked by users.

On the other hand, I talk too much altogether. It's one of my big failings (along with not working on the manual, so nobody else has to say that).

i'm still working on that snap fork because when i was trying to make projects snap would spend around 25% of its runtime on things not relevant to the actual project

snap has tons of cool ideas. problem is whenever i try to put these things together into something really cool, it turns out something's broken, or something too slow, and there's no use in sharing something that nobody can actually use.

the costume editor isn't good enough for art like you see on scratch, there's no sound editor at all, snap isn't fast enough to support bad code like most artists on scratch use, most of the snap features are hidden behind tiny menus that only nerds would check, and snap isn't fast or reliable enough for really complex code.

jens, what is it that you think of when you want "creative users"? how would they go about creating the things you care about in snap? because the only use case i've ever seen snap actually support is schoolwork and your personal friends.

please don't read this in bad faith. these aren't rhetorical questions, i genuinely don't understand.

Dunno about anyone else, but I would be very happy to see a project that runs slowly but is otherwise really cool.

Depends what features you're talking about. Higher order functions are front and center in the Lists menu. Hyperblocks are everywhere. Metaprogramming is pretty far down the Control menu, I grant you, but not hidden.

It's true that there are other things, such as nested sprites, that you might never stumble upon. We need more tutorial documentation.

Whoa! That's a pretty amazingly awesome project! I hope you don't mind that I had to feature it right away :slight_smile:

What's slow about it? It seems to run fluently and at full speed for me, even in presentation mode... Did you also do it in Scratch, and does it run faster there?

in snap it's barely over 30fps, in fullscreen around 20.

this is just a test project, the whole point of the snap port was to get a whole lot more done, specifically things that the original adofai game can't do. (and yes you should probably be aware this is a recreation of the game "A Dance of Fire and Ice"). i also don't think the massive lag at the start is acceptable for the project, and i don't like that the timer is based on the real world time, which means it could very easily desync when the computers NTP kicks in (synchronizing the clock time with the internet)

i originally ported it as a scratch project which in scratch itself can only run at 30fps. modifications to the website shows that it can run far better if the limit is removed, and turbowarp makes it run even better and makes the framerate unlock acceptable, in case that wasn't good enough.

i don't consider anything below 60fps good enough for this project, because inputs can only be checked once per frame. depending on tiny differences in framerate, it's possible that a course could be failed just because the frame happened too late and checked against the wrong time. (there are solutions to this but i didn't consider them at the time and i think it would still be pretty difficult)

i might be wrong about some of the issues being caused by snap, i know plenty were but i can't remember the details since it was so long ago now. there's probably some i forgot too. i'm willing to go over things again and discuss but last times i tried that you seemed to be against it every time.

i don't think the project is good enough for a feature. it's an incomplete test project.

my computer isn't even particularly bad. it's an acer aspire A515-55 laptop. i play 3d games on it regularly, compile rust code, etc. many people i know have far worse computers, and i have plenty sitting around. last i remember my desktop pc doesn't perform any better. i would recommend you pull out an old laptop to test with.

For me that's running at 60fps with the occassional spike to 125, now I don't know how accurate that fps counter is, but it's running fast for me and probably jens too.

Now that's not a bad spec laptop, but I'm wondering if something on the laptop is causing your speed fluctuations and you're assuming it's a snap problem but it's actually a software problem? Iunno, I'm probably wrong.

I also note that machine doesn't have a graphics card, it has integrated graphics, and while that is better now than back in the day, most software looks for a discrete card and then just loads software rendering instead of 3D graphics, regardless of the capability of the machine, and snap/javascript might be doing that to you in this case. I could be wrong again here, but integrated graphics is generally considered poor.

Also 3D games tend to have more access to your hardware and use more of it, so being able to run a 3D game well isn't really a comparable scale. Even if it probably should be

Snap has always had 60fps as far as I remember as well. (Maaybe???)

Snap is supposed to run at (oddly) 67 fps, however I think it can also be messed with if you change the refresh rate on your monitor (that was an issue in the past).