Creation date: 2020-08-28
Welcome back everyone! I know some of you have been here the last two weeks and I was the one missing, but yeah I'm back now. This post is not what I normally do on this blog. Instead it is more a recap of why I didn't write for longer than I wanted. It's is also about future potential blog posts and unfortunately a project that I will put on a break for a bit.
Probably the biggest change is that I finally have kind of a topic for my upcoming master thesis. I don't want to say too much about that yet but it is about graph theory and ordering rows and columns to speed up the process of Gaussian elimination.
I might blog about this silently in the background and publish a bunch of blog posts about it at the end. Not sure about that yet but the blog style is the one I prefer to write and read so this might be more valuable than just showing the master thesis here in the end.
I have to mention that the thesis will be in C++ which will add one more language to my list. It's probably a good time to dive into it though as the job market for Julia is more filled with recruiters named Julia than the language itself. 😕
Nevertheless it can be interesting to also implement it in Julia if the outcome is better than what Julia currently does in at least one aspect 😄
I know that I have a lot of projects going and I constantly start new ones... I should probably stop this somehow, but on the other hand I think it's important for myself to try out many different things to feel what you, as a reader, are interested in.
Maybe there is some value in going a bit into graph theory on this blog with some basic algorithms and implementations in Julia.
Let me know what you think in the comment section. 😉
Javis is kind of a new project started about a month ago. The idea behind it is to have a framework to easily create animations which people can use to create small YouTube videos about mathematics, computer science or whatever they like (hopefully).
Before releasing v0.1 I wrote a small blog post: Javis: The Beginning if you want to get a grasp of a pre v0.1 stage. Now you're probably better of checking the tutorials.
I for myself am interested in this project for several reasons:
I work on it together with Jacob Zelko such that it's kind of the only project where I am not the only developer 😄
This means I can learn to work in a small (like the smallest possible to call it a team) team which includes learning to communicate, manage tasks, improve code review and testing procedures, better documentation...
I would like to create some animations for my blog posts as visualizations always help to convey a process. (I feel this when reading papers...)
Another big point is that it's the first project with a user interface (not a GUI but how to create animations with code)
I normally built more like an API where i.e JuMP.jl handles the user interface
We've released the first version v0.1 about a week and a half ago and got some valuable ideas, feedback and support since then.
Which is produced by the awesome service star-history.
The number of issues is steadily increasing and I am convinced that the number of stars will increase as well 😉. It's already bigger than my constraint solver which I work on for about a year now 😂.
Since v0.1.0 we have released v0.1.1 and v0.1.2 and development is quite fast. It is actually currently a bit too fast to blog about and we sometimes rush too hard, which we try to prevent in the future.
As mentioned before it's the first time working in a team such that the project management side needs some tweaking here and there. We've created a PR checklist now which I think brings us further.
The checklists includes some standard things like:
Did I update the CHANGELOG.md
?
Do I have good test coverage
Just some things that one sometimes forget. Each PR should have a description now on why the linked issue was implemented this way. This gives an overview of the thoughts that went into it.
Let me also give me a small overview of our next plan of issues here:
Ability to use scaling as in v0.1 currently the only transformations that are allowed are to translate and to rotate.
Live preview of the animation: Early stage PR 119
Currently it's a bit time consuming to create an animation as for a 5 second clip we need to save 150 images to the disk before we combine them to a mp4
(v0.1.2) or a gif
A live preview will show a window with the animation immediately without producing a rendered version
Debugging will be faster
Ability to share animations easily during a live stream
More interesting animations using Animations.jl
Currently all kind of transformations are linear which is kinda boring
With Animations.jl one can define the speed with easing functions
These are the near term issues we want to address in v0.1.3 (Scaling) and v0.2 the other two.
Issues I'm most interested in after these are:
It would be lovely if you check out the repo and tell us about the features you're looking forward to the most. There are probably also quite some bugs there to catch so we would love to see issue reports for those 😉
One of my projects is going quite big (in respect to number of lines and complexity not in the sense of going viral 😄)
If you haven't heard about my ConstraintSolver.jl package before: You can kinda ignore the next paragraph as you have a lot to read, at least if you're interested building a constraint solver from scratch: Part 1 of a long long series
I'm very sorry that I feel like I have to pause this one for a bit. Currently I'll focus more on my master thesis and Javis and will come back to it from time to time and focus more on it later this year. At least that is the current plan.
Please try it out and create issues for bugs and feature requests and I'll try to fix bugs as soon as possible but feature request will have to wait a bit longer. The last thing that I started needs some more thoughts PR Activity based search
I appreciate the support from all of you who:
read my posts
share my posts
give me ideas
support me financially
Those of you who are new to this blog please check out the rest using the sidebar on the left for a list of categories or the search tool.
I would like to mention again, after spending more time reviewing code from my co-developer Jacob on Javis and reviewing code at Exercism.io, that I offer code reviews for your personal Julia project if you support me on Patreon.
Let me summarize a bit on what I can give you for just a small donation:
1$ per month: You get blog posts two days earlier than everyone else
4$ per month: I mention your name at the end of each livestream and blog
+ I'll link to your personal page there
10$ per month: Actually I'm still looking for a good offer here. It's just for the people who love what I do ❤
50$ per month:
personal mentoring in the form of code reviews
I review up to 150 lines of code per week
I expect the last one to be for short term learning projects to learn the language faster without missing out on too much. Please read more about it here.
Important: You might want to subscribe at the beginning of a month and just take the benefit. If you don't like the stuff you get: Feel free to unsubscribe before the end of the month (which is the time Patreon charges the credit card). Yes this is also true for code reviews which is extra work for me but I want you to be satisfied without taking any risk of paying for something you don't appreciate!
Thanks for reading and special thanks to my 9 patrons!
List of patrons paying more than 4$ per month:
Site Wang
Gurvesh Sanghera
Szymon Bęczkowski
Logan Kilpatrick
Currently I get more than 20$ per month using Patreon and PayPal.
For a donation of a single dollar per month you get early access to the posts.
I'll keep you updated on Twitter OpenSourcES.