Apos's recent activity
-
6 votes
-
Comment on What programming/technical projects have you been working on? in ~comp
-
Comment on What programming/technical projects have you been working on? in ~comp
Apos I get a list of position and pressure from the tablet driver and I just create a line between the points. The line drawing is done with a signed distance field where I only draw a fill color and...I get a list of position and pressure from the tablet driver and I just create a line between the points. The line drawing is done with a signed distance field where I only draw a fill color and no outline. snip More info here.
The mouse code shows it pretty well: https://github.com/Apostolique/Mitten/blob/9a5bf951d12face22420e49d3ceb36b302e61f04/Game/GameRoot.cs#L418-L443.
The
_draw.Pressed()
starts the action. The_draw.Held()
happens as long as the mouse is still pressed._draw.Released()
then ends the stroke.CreateLine(a, b, size)
is the API to create a line. It doesn't commit the line to the history yet until the stroke is over.CreateGroup();
is what commits all the lines so far to history. That allows undo and redo to remove all the lines that constitutes the stroke in one go.The code is executed in a game loop over multiple frames.
The
StrokeWithTablet
code is pretty much the same but there are a few edge cases to handle. -
Comment on What programming/technical projects have you been working on? in ~comp
Apos Surprisingly, the infinite zoom is the easy part, I have a solution that works by using the exponential scale and the numbers stay within an acceptable range. It's the panning on the X, Y axes...Surprisingly, the infinite zoom is the easy part, I have a solution that works by using the exponential scale and the numbers stay within an acceptable range. It's the panning on the X, Y axes that's throwing me for a loop. You just run out of numbers, thinking outside the box feels required.
If I didn't allow panning, I could have something that only zooms on the origin.
For freehand strokes, my solution is quite simple. A stroke is a collection of lines at full opacity (no transparency). I wrote a library to render shapes and it felt like a could just chain lines one after the other to draw any strokes and the result seemed acceptable. A single stroke can be hundreds of lines with slightly different thickness, angles and lengths.
-
Comment on What programming/technical projects have you been working on? in ~comp
Apos Mine is inspired by Milton. I used it for years before coding Mitten from scratch. It doesn't have as much range as mine. There's Endless Paper on the iPad that does. But it's not as good as I'd...Mine is inspired by Milton. I used it for years before coding Mitten from scratch. It doesn't have as much range as mine.
There's Endless Paper on the iPad that does. But it's not as good as I'd want it to be. They cheat by hiding lines when zooming in too big. (Quite noticeable when using a stroke as the background and zooming in on it to draw smaller and smaller.)
For note taking, I had written this article in the past: https://jeandavidmoisan.com/posts/using-a-graphics-tablet-as-a-programming-tool/.
I believe I checked out Lorien in the before. Thanks for reminding me, I'll have to test the edge cases that I have.
This is using Endless Paper: https://youtu.be/GeEISHh37lY.
-
Comment on What programming/technical projects have you been working on? in ~comp
Apos I'm working on an infinite canvas [drawing / note taking] app that I call Mitten. I'm trying to design an elegant algorithm to support a truly boundless canvas (infinite zoom and pan). I thought I...I'm working on an infinite canvas [drawing / note taking] app that I call Mitten. I'm trying to design an elegant algorithm to support a truly boundless canvas (infinite zoom and pan). I thought I could solve this quickly but it's proving quite hard. There are so many pitfalls (floating point issues, how to uniquely identify a point within the world, data structure, camera system, etc).
-
Comment on Looking for lighthearted action anime in ~anime
Apos Thinking about it more, I think Space Brothers Dr. Stone Uncle from Another World Haven't You Heard? I'm Sakamoto could fit the bill too.Thinking about it more, I think
could fit the bill too.
-
Comment on Looking for lighthearted action anime in ~anime
Apos I really hope that they make more seasons.I really hope that they make more seasons.
-
Comment on Looking for lighthearted action anime in ~anime
Apos The Way of the Househusband. It has a lot of similarities with Sakamoto Days (ex-Yakuza that wants to live an honest life). It's rated lower because of the animation quality but I think it's still...The Way of the Househusband. It has a lot of similarities with Sakamoto Days (ex-Yakuza that wants to live an honest life). It's rated lower because of the animation quality but I think it's still watchable and the story is really funny. It's on Netflix.
-
Comment on How to sound design ecosystems in ~comp
Apos Not completely sure where to post this. It includes concepts related to procedural generation. You can listen to the output here: https://amfivolia.bandcamp.com/album/biota-alien-soundscapes. I'm...Not completely sure where to post this. It includes concepts related to procedural generation.
You can listen to the output here: https://amfivolia.bandcamp.com/album/biota-alien-soundscapes.
I'm going to attempt to code something based on this from scratch as a weekend project. I guess I finally have an excuse to learn about synthesizers.
-
How to sound design ecosystems
5 votes -
Comment on How do you go about learning a new language? in ~humanities.languages
Apos Ah, that's why I put the code. You're sharing the price without the code to lower it by 50%. If you don't input it, it will show the full price. You don't need to give them any info to input the code.Ah, that's why I put the code. You're sharing the price without the code to lower it by 50%. If you don't input it, it will show the full price. You don't need to give them any info to input the code.
-
Comment on How do you go about learning a new language? in ~humanities.languages
Apos I got it for $643 CAD. I think it's around $400 USD for Americans. I think it's worth it if you're planning on being at it for a while, or redo some lessons many times. I'm sharing my account with...I got it for $643 CAD. I think it's around $400 USD for Americans. I think it's worth it if you're planning on being at it for a while, or redo some lessons many times. I'm sharing my account with my family. Everyone can have their own profile to keep track of their progress.
-
Comment on How do you go about learning a new language? in ~humanities.languages
Apos I've been using Pimsleur to learn Japanese. I like it a lot. I completed 3 months already. You can either pay for a subscription each month or buy a full course outright. I like that it's mainly...I've been using Pimsleur to learn Japanese. I like it a lot. I completed 3 months already. You can either pay for a subscription each month or buy a full course outright.
I like that it's mainly an audio course. I do it in the morning when I'm alone. Before going to bed, I revise the flash cards visually in the app.
50% Lifetime All Access Subscription
If you're interested in learning multiple languages, they are running a 50% sale right now to unlock all languages permanently, use promo code:
ACCESS50
: https://store.pimsleur.com/checkout?pid=9781668141700_694.No idea how long the code will work for. It includes all 51 of their languages along with future updates for languages that they revise or add.
-
Comment on The documentation system in ~comp
Apos I asked the creator about those points here a while ago: https://github.com/evildmp/diataxis-documentation-framework/discussions/36. Therefore, from your text: This would be a wrong understanding...I asked the creator about those points here a while ago: https://github.com/evildmp/diataxis-documentation-framework/discussions/36.
@Apos The questions you need to ask about content:
Is this content describing
-
practical steps, or
-
theoretical knowledge?
Is this content what I need for my
-
study (i.e. to gain knowledge and skills),
-
work (i.e. to apply knowledge and skills)?
A list of example projects clearly represents theoretical knowledge, not actions (so it must be either Reference or Explanation).
And also clearly serves our study (acquisition of knowledge/skills), not our work (acquisition of knowledge/skills). So therefore it must be Explanation.
Tutorials/How-to guides/Reference/Explanation should not be thought of as a list of "sections". They are forms or modes of documentation. It's not possible to add new ones, it doesn't really make sense. There are four, because that's what emerges from the two-axis arrangement it identifies around the needs of a practitioner of a craft.
Therefore, from your text:
Explanations are intended for people who already know, or are in the process of learning, your subject. It comes after the tutorial. Conceptual overviews come before the tutorial. They are for people who are getting ready to learn the subject, or for outsiders evaluating if they want to learn it.)
This would be a wrong understanding of what diataxis is. The words you add (e.g Conceptual Overviews) might be useful to think about when writing better documentation but they don't change the framework's axes.
-
-
Comment on The documentation system in ~comp
Apos Both originated with the same creator, there's some info here: https://github.com/evildmp/diataxis-documentation-framework/issues/14#issuecomment-1170838014Both originated with the same creator, there's some info here: https://github.com/evildmp/diataxis-documentation-framework/issues/14#issuecomment-1170838014
\@jamesottaway Thanks for pointing it out, but it's absolutely fine! I used to work at Divio, which is where Diátaxis started life. https://documentation.divio.com has been around for years, and predates https://diataxis.fr.
-
Unique 0-click deanonymization attack targeting Signal, Discord and hundreds of platform
50 votes -
Comment on Bite Marks (ft. TEYA) | 2025 Season 1 cinematic - League of Legends in ~games
Apos It's getting hard to know exactly where to post this. It's this year's cinematic for the game League of Legends but it's also related to Arcane in ~tv and it's a ~music video too. In terms of...It's getting hard to know exactly where to post this. It's this year's cinematic for the game League of Legends but it's also related to Arcane in ~tv and it's a ~music video too.
In terms of animation, this is my favorite cinematic so far. In terms of music, I think The Call is still my favorite.
This makes me really look forward to the next League show. It should be covering Noxus. Really hope that they show us some badass Sion lore (The big zombie guy that charges in the Awaken cinematic).
-
Bite Marks (ft. TEYA) | 2025 Season 1 cinematic - League of Legends
6 votes -
MonoGame - A Year in Review
5 votes
This is quite likely what I'll have to do. I need to figure out a good way to represent any coordinate. I can represent a position with 3 values: X, Y and exponent. Those can all be integers. You can think of the exponent as scaling the grid size towards or away from the origin. Works well for zooming in or out on the origin until I run out of values for the exponent (-2,147,483,648 to 2,147,483,647 which would be unimaginably large).
I'm not yet sure how to represent X and Y values outside their range. If you pan away from the origin and zoom in, you quickly end up in a position way outside the range of any fixed size data type I could chose.