If you don't get the meme reference from the title, here is one more for you :
Enough of memes, lets talk about something trendy, something that everyone is talking about cause January 2019 is all about setting up goals and resolutions, I am not being punny here. 😆
One of my goals of 2019 is completing all of my existing projects, or what I call, the 4F's. Lets talk about them, according to their start dates of course (click on the names for the source code),
- Fixture : Description says, a no-bullshit, free and open source raster graphics editor. Probably, during that time of the year I was not able to bear the pain of the all raster graphics software out their for Linux and I had this in mind for a couple of years but could not start cause I was clueless about this. Nevertheless, me and Dedipyaman started this around May, worked till September, then it got dormant. Now I do plan to work on it, but a lot has to be done, I have a lot to learn, to even make some improvement which I won't need to rewrite in near future, what could be a better place than any open source project like, Krita, if you get what I mean, 😉
- Fragment : A software renderer which can render 3d Wavefront obj models, sounds cool right? A nice project to learn the basic concepts of computer graphics but well got stuck while implementing the texture, sadly the resources regarding the particular is pretty rare to find on the web, cause most of the people just skip the part and use OpenGL, well which I was learning but well, moving on.
- Frey : A ray tracer, oh yeah, the brother of fragment, another vital chunk of computer graphics, a complicated as well as simple subject in this domain. With the challenge of writing a ray tracer which I have done once using
C, in another project, only the basics though, I have also taken the challenge to do this properly in
C++like including docs, tests and what not, which a professional piece of code has. And writing unit tests & docs are harder than writing code, a harsh reality which most of us hate. It really sucks.
- FImageIO : Another venture of mine, to learn about the image formats out there, be it
.png, I am going to understand them all, if not most. Learning them reminds me of the Computer Network classes, protocols, headers and what not. Along with the challenge of writing a uniform interface of dealing with all different kind of image formats, another challenge, is writing this in modern C++ and this project requires a
C++17compiler to compile.
To sum up, here are the goals in short:
- Pick up the math required for Computer Science, I do love math, by the way.
- Have a proper understanding of the fundamentals of Computer Graphics.
- Learn modern C++, I should do blog post on this too, that this thing is still matters in a time when people have D, Rust and Go.
- Learn a scripting language along with C++ and Go, seems like Python is good choice, I am already familiar with the basic constructs of it, easy enough to donate an hour a week.
- Some optional ones I would say would be an international trip and learning a functional programming language.
And well I do love the F-words a lot, a rough childhood I would say, that is what you learn if you break your motherboard cause it was able to live upto your expectations and yes I did that.
:wq for now, see you in the next meetup, if you are in or around Delhi. Links are in the top right corner.