thecedarprince's comments

thecedarprince | 1 year ago | on: Thoughts on Forester: A Scientist's Zettelkasten

Oh I just gave this a read through -- this is really neat, thanks for sharing, Karen. I have also been a fan of Tiddlywiki but always felt a bit sad about its apparent lack of support for mathematics typesetting. Although I am not too familiar with Tiddlywiki so perhaps I've been mistaken.

How do you like it? Do you have a wiki up somewhere?

Cheers!

thecedarprince | 3 years ago

A thorough tutorial on how to use Julia for asynchronous workflows to do many things, at once!

thecedarprince | 4 years ago | on: Manim – Python library for creating mathematical animations

Hey Yakubin,

Co-creator of Javis.jl here! As adgjlsfhk1 said, there is an implicit global scope here! This comes from a historic artifact from Cairo (which is what Javis is using deep within its tooling stack) which utilizes this sort of approach.

Here is an ELI5 that may help about the flow of a Javis animation: imagine Javis as a magical artist sitting at a table. The artist is a bit peculiar as they can draw anything you want but will not draw anything until you finish telling them everything you want to see. When you create a `Video` object, the artist grabs an empty notebook and opens it up. If you create a `Background` object, basically you are telling the artist that you want the background of each page in the notebook to be, in this case, black for pages 1 - 200. As you keep telling the artist what you want, the artist listens to how you want it ordered, how objects should appear and animate, etc. Finally, when you tell the artist to `render` this animation, Javis springs to work and flips through all the different pages, drawing backgrounds, objects, etc. to match what you asked. Then, when Javis is all done, the artist gives you the notebook that when you open it up, it will magically flip through all the pages (i.e. at a given frame rate) showing you your requested animation.

I know this ELI5 doesn't really get into the internals, but at a high level, that is what is happening with the start of the `Video` object. Happy to give more details if desired. We are trying to move to a v1.0.0 release very soon and in v2.0.0 we want to experiment with different syntax - perhaps a more implicit syntax similar to manim and Processing. Out of curiosity, for you, do you find it necessary to know more about Javis's approach to use Javis or was this more of a question that you had? Reason why I ask is perhaps we could add a "How Javis Works" section to the documentation if that could help more folks.

Thanks!

thecedarprince | 4 years ago | on: Crash Course Category Theory – C3T

Hi folks!

Author of C3T here! [1] This is very much a work in progress project focused on creating accessible materials on Category Theory to get started, fast! My perspective comes from a non-maths background and making this approachable for folks in similar positions but are curious about what Category Theory is.

The website is made using Literate Programming tools [2, 3, 4] and utilizes both the Julia and Haskell programming language. Currently, I am working on putting together notes for the following resources:

1. Category Theory for Programmers by Bartosz Milewski

2. Category Theory for the Science by David Spivak

3. Catlab.jl: https://github.com/AlgebraicJulia/Catlab.jl

4. Semagrams.jl: https://github.com/AlgebraicJulia/Semagrams.jl

Feel free to star or follow this repository here: https://github.com/TheCedarPrince/C3T To keep track of what happens to it.

Please open issues, suggestions or thoughts on it!

~ tcp

[1] More about me: http://jacobzelko.com/

[2] Franklin.jl: https://github.com/tlienart/Franklin.jl

[3] Weave.jl: https://github.com/JunoLab/Weave.jl

[4] Julia Markdown: http://weavejl.mpastell.com/stable/chunk_options/

thecedarprince | 4 years ago | on: Crash Course Category Theory – C3T

Hey earley!

I work with Evan - his stuff is great. :) This was designed to give more of a hands-on approach to category theory with the idea of Catlab.jl being used where applicable.

thecedarprince | 5 years ago | on: A terminal-based workflow for research, writing, and programming

I actually wrote my entire thesis in VSCode with LaTeX workshop! I have friends who swear by Sublime - I can see why! It's really powerful. Traditional GUI editors are great for when I was working on my thesis but I opted for a lighter solution as I do a lot on my laptop at once. The fewer CPU intensive programs for my workflow, the better.

thecedarprince | 5 years ago | on: A terminal-based workflow for research, writing, and programming

That is amazing to hear zwayhowder and am happy to hear that made a difference for you! I need to overhaul that article you referenced at some point as I have a different system in place. It still accomplishes the same goals, but is just a bit neater. :) I will have to check out Jurism too.

Best of luck with your research endeavors!

thecedarprince | 5 years ago | on: A terminal-based workflow for research, writing, and programming

Author of the article here! For me, I prefer it for two reasons:

1. Distractionless editing - not fiddling with formatting or things like that is quite nice. Especially since I work with markdown and LaTeX, it is easy to convert over to a word file once I get the draft of the version done thanks to pandoc. From there, then I can really worry about the formatting - if I need to as pandoc is great!

2. I like the speed and lightness of a text editor for writing. Don't have to wait for boot, can easily grep and replace, and jump to where I need to go.

thecedarprince | 5 years ago | on: A terminal-based workflow for research, writing, and programming

Hey everyone! I am the author of the article! If you have any questions, feel free to ping me and I will try to respond in a timely fashion! I intend to always keep this article up to date so feel free to bookmark it for a future reference.

Further, it makes my heart so so happy to see so many people being either inspired, interested, or curious about my workflow! I think the best workflow is the one that works for you. If my article played some part in that, then I am jubilant. Have a wonderful day!

thecedarprince | 5 years ago | on: Javis v0.2 and the Future

Hey zem,

Our goal is to rather become a generic package people can use to make whatever animation or visualization in whichever domain they see fit. We are slowly building out our own showcase of animations based on tutorials we provide the user (see link here for tutorials: https://wikunia.github.io/Javis.jl/stable/tutorials/)

We are also currently seeking contributions to our examples section here: https://wikunia.github.io/Javis.jl/stable/examples/ If you want to contribute, happy to support!

thecedarprince | 5 years ago | on: Javis v0.2 and the Future

So, to give an example:

In manim, one could do something like this:

  from manimlib.imports import *

  class ReplacementTransformExhibit(Scene):
      def construct(self):
          square = Square().shift(LEFT)
          circle = Circle().shift(RIGHT)
          self.play(ReplacementTransform(square, circle))
To have a square morph to a circle. Currently in Javis, one could do something like this:

  using Javis
  
  astar(args...) = star(O, 50)
  acirc(args...) = circle(Point(100,100), 50)
  
  function ground(args...)
      background("white")
      sethue("black")
  end

  
  video = Video(500, 500)
  javis(video, [
      Action(1:100, ground),
      Action(1:50, morph(astar, acirc)),
      Action(51:100, morph(acirc, astar))
  ], creategif=true, tempdirectory="images",
      pathname="star2circle.gif", deletetemp=true)
As you can see, Javis is, at this stage, a little more verbose. However, for v0.3.0 we are moving away from Action syntax to something more generic and user friendly (this shift based on user feedback).
page 1