Karl Toby Rosenberg's Avatar

Karl Toby Rosenberg

@karltrosenberg.bsky.social

Ph.D. Holder from NYU - Human-Computer Interaction Researcher & Prototyper - Creator of DrawTalking: https://ktrosenberg.github.io/drawtalking/ Looking for collaborations and opportunities (short-term projects, postdocs, industry, teaching, professorship)

85 Followers  |  189 Following  |  68 Posts  |  Joined: 22.11.2024  |  2.1872

Latest posts by karltrosenberg.bsky.social on Bluesky

It’s easy too, β€” on macos and ios. Just hold the key.

07.11.2025 18:44 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Teaching-Visuals-Samples

Crossposting: here’s my mini computer science teaching-suport visuals page containing a bunch of rough sketches, animations, and interactive programs: ktrosenberg.github.io/teaching/

15.09.2025 22:16 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Cite the toolkit paper.

15.09.2025 21:38 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

DrawTalking is now open-source!

github.com/KTRosenberg/...

ktrosenberg.github.io/drawtalking/

21.06.2025 13:46 β€” πŸ‘ 12    πŸ” 3    πŸ’¬ 0    πŸ“Œ 0

Unless I missed it, may I suggest that there be a way to freeze/request versions of a model rather than updating to the latest automatically? Otherwise, apps coupled to models’ specific behavior could break at any time. In other words, version control for api stability.

10.06.2025 18:26 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Last thing here: I think it's worth asking "why do students, specifically those who don't want to cheat themselves, reach for an escape hatch anyway when they do?" I know it's sometimes because of overlapping overwhelming schedules and deadlines. This kind of implies an opportunity to intervene.

08.06.2025 22:05 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I'd be interested in talking about these things at-length. SIGCSE is a good community for this too.

08.06.2025 22:02 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I have a kind of blurry thought that we need to create a stronger value proposition. In C.S. it's obvious that just teaching to a language, syntax, etc. is easy to replace. Something goal and project-oriented based on what *students* want feels a bit better. Closed models make experimentation hard.

08.06.2025 22:02 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

In principle, I can imagine a totally different AI that aligns with a totally different set of goals, but that's not necessarily an LLM or GPT, and I don't know technically how that'd be created. But I think it would be a useful thought experiment to try to reimagine the ideal again. Just some idea.

08.06.2025 21:55 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Also, there's the human tendency to reach for the path of least resistance, which displaces the potential benefits for learning. I've taught Python for total beginners. What are students learning if they don't understand the fundamentals before prompting for a potentially-erroneous result?

08.06.2025 21:54 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0

What weirds me out the most is that I see a lot of people claiming that extreme side of the hype. e.g. LLMs can "think" and whatnot. However, for basically everything I want to make, the lack of certain guarantees direct me towards older approaches.

08.06.2025 21:52 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I think that the answer entirely depends on whether you're referring to theoretical gains independent of human nature or not. Honestly, I do wish there could be a discussion of what the HCI design goals and desired behavior of some form of AI should be, putting aside current implementation.

08.06.2025 21:47 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
This Game Did Everything. What Happened?
YouTube video by Intra This Game Did Everything. What Happened?

"This Game Did Everything. What Happened?" by Intra (2025)

www.youtube.com/watch?v=AVaj...

10.04.2025 21:37 β€” πŸ‘ 3    πŸ” 1    πŸ’¬ 1    πŸ“Œ 1

You could have both a recently-selected part of the tray and the ability to drag. :) (I can imagine forgetting to drag.)

30.03.2025 00:57 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

The most recently-selected object(s) could just go into this tray too. That would save a drag.

30.03.2025 00:51 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

If the point is just to move an object to x location off-screen, there’s this tension of not being able to see what the target is, and figuring out when to release. You basically want a precise teleport, but what you get is something like an archery target.

29.03.2025 23:59 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I opened feedback reports for the frame-rate and PointerEvents limitations, although I'm sure the developers are already aware of these.

27.01.2025 03:10 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I’d be curious to read about that 1000hz choice! I imagine you’d need a lot of optimization for anything complicated. I’ve typically followed an old β€œfixed timestep” tutorial from GafferOnGames.

27.01.2025 02:18 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

If wkwebview receives messages as fast as possible (I’d need to test), I guess that doing frame updates on the native side would let you do more frequent β€œphysics” updates at 120hz even if you couldn’t yet perceive the higher framerate.

26.01.2025 17:43 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

On the prototyping note, it was really nice when bindless resource support was added to Metal. That enabled theoretically "infinite" textures and buffers without having to worry about swapping-around bindpoints as in the older GPU APIs.

26.01.2025 04:59 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Pointer Events The features in this specification extend or modify those found in Pointer Events, a W3C Recommendation that describes events and related interfaces for handling hardware agnostic pointer input from d...

I found the note in the spec saying that yes, vendors can choose to ignore simultaneous touch types: www.w3.org/TR/pointerev...
It's a bit crazy considering native iPad applications handle this just fine. It seems the only solution is to persuade the developers. It's been years though.

26.01.2025 04:50 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

This conversation is validating my decision to go native for my project (haha). I didn’t know about these issues at the time and would’ve hit walls. Anyway, it’s awesome that your team is recreating the substance of Sketchpad!
If you’re considering Metal, does that mean you’re using WebGL now?

26.01.2025 02:49 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0

It depends on whether they enabled higher framerates by default.

25.01.2025 19:51 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Attachment 471734 Details for Bug 173434 – 120fps now supported on iPhones with iOS 18.0 dev beta 2

Have you tried it revently? bugs.webkit.org/attachment.c...

I have beta 3 on my iPad and can try it later.

25.01.2025 19:15 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
Achieving smooth frame rates with Metal’s display link | Apple Developer Documentation Pace rendering with minimal input latency while providing essential information to the operating system for power-efficient rendering, thermal mitigation, and the scheduling of sustainable workloads.

Good point. The compositor's schedule might be all the same anyway. If you use Metal, this is the example with the latest API (since it's a little bit hidden): developer.apple.com/documentatio...

25.01.2025 07:43 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Anyway, if this is true, that just seems crazy. The native API clearly lets you choose how canceling behavior works.

25.01.2025 04:02 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I do think a native wrapper as you have now is good. It lets you call into JS at any native-supported refresh rate without requestAnimationFrame (I think).

25.01.2025 03:52 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

True. The best you can get is near-full-screen with a little grey bar at the top (I think).

25.01.2025 03:39 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

This is all strangely inconvenient.

25.01.2025 03:33 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

@karltrosenberg is following 20 prominent accounts