I'm writing this as I'm scrolling down through my Twitter timeline, and it's been hands down an amazing year for me and for the Gorilla Sun Blog!
I originally made this site, to have a platform through which I could share my ideas and creations, of whatever nature they may be, as well as being able to communicate with like-minded people and exchange ideas with them. And I think I have somewhat achieved that goal in the past year, through this blog and especially through Twitter and the creative coding community on there. It's been the first time that I actually enjoy using social media, feeling like I am using it for a purpose, and not simply being a consumer.
I'd like to recap the past year in this post, in terms of sketching and Twitter events, with some random personal ramblings thrown into the mix. I think it will be nice to look be able to look back at all my sketches from a specific year, and see how I progressed with time, as well as how certain ideas evolved into different things.
Hence, I'll use this recap as an excuse to be a little bit more personal, to present my artisitc endeavors throughout the year and how I felt while making them. Warning, I will talk a lot about the controversial NFTs, also quite a bit about cryptocurrencies, taxes and other things that have been major topics for me this year. I think that reflection is one of the best means to growth and progress, so as much as I'm writing this for you gentle reader, I am also writing this very much for myself.
Stats, stats, stats...
As of writing this post, the blog has accrued more than 5000 clicks and well over 150k impressions. These numbers are more than I would have ever thought to achieve in a span of less than a year. I am really looking forward to the coming year, and I'm incredibly excited to see how far I can take this:
It's also been really rewarding discovering new creative coding techniques (and cool programming things in general), going down different rabbit holes, then sketching and playing around with these new ideas, and then summarizing them in form of a blog post. I've never had more fun programming, and being able to do so while providing some form of intellectual value through my posts, is very rewarding. Aside the blog, I'm also incredibly humbled by the number of people that have followed me on Twitter. Well over 2500 people at this point. All I can say, is that I will keep sketching for as long as it is sustainable! Thank you for everything!
January - The Gorilla Sun Blog is born
The beginning of 2021 was a bit of a hazy time, I am glad I did discover creative coding when I did, as it introduced a lot of structure into my life.
At the end of January, I had just handed in my Master Thesis and was waiting for my defense, which was scheduled to be in the beginning of March. Technically there wasn't much for me to do anymore, I knew my material well enough to not feel stressed about it. I had done all the hard work already. I was also in dire need for a break, and I needed to do something that was a little more interesting than painstakingly inputting formulas and symbols in a Latex editor.
It was probably the first time in a while that I could unwind and take a breather from life, many can probably agree that 2020 was a very interesting year, to say the least. I must've spent two weeks just doing things that I wanted to do, without feeling guilty about it: I started learning p5, I started hacking away at my blog (I probably spent many hours just tweaking html elements that made a minuscule difference lol), I made some crappy beats in Ableton Live and I also started playing Sekiro (great game!).
And here's my very first sketch:
My original motivation for learning p5 was to create visuals for my music, and you see, my first couple of sketches did end up having some music slapped onto them.
February - To build a Blog
Sometime around then I bought the gorillasun.de domain and published my site on github pages. The blog looked vastly different from how it does now, and I was still figuring out this entire Jekyll thing. I'm not a web-dev by any means, so I must have spent many hours debugging things by trial and error, to figure out why github pages wasn't displaying my site correctly. At that point I didn't know that it was actually going to be dedicated towards creative coding. But what I did realize was how difficult it would be to actually write meaningful blog posts, and produce such content on a regular basis.
Slowly the euphoria that came with completing this big chapter of my life subsided, and the existential dread started creeping in again. I didn't really have anything lined up yet, nor did I have concrete plans for the future. Gunning for a PHD position at some respectable institution seemed like decent plan, but I wasn't completely sold. I stored those thoughts away in some mental compartment, and just tried to prepare for my defense for the time being. In the meantime I kept hacking away at my blog as I started looking for interesting topics that I could write about. You see, I'm a big fan of 3Blue1Brown, Veritasum and the like, and I am very well aware that it takes them weeks and months to prepare a single video, but that didn't stop my frustration from setting in very quickly.
I remember, one afternoon I was exploring rectangle packing as it seemed easy enough of a problem to get started with... And well, I fell flat on my face. Firstly because it was a much more complicated problem than I assumed it was (there is extensive research on the problem of bin packing), and secondly because I wanted to start and complete a blog post in one sitting, in one afternoon. In retrospect, the fatal mistake that I did here was that I started writing before I actually tried to solve the problem. My main goal at that point was to finish and post material to the blog as quickly as possible. A lot of the sources that I consulted for blogging tips even suggested aiming for a blog post every single day, which is actually quite insane. From experience over the last year, a much more reasonable goal is 3 posts a month, and that might still be a lot. The main goal should always be quality, no matter the quantity.
Not much more happened that month, I just sketched a little more and composed this little tune called "Dancing with the Leaves". Have a listen while you keep reading, maybe it has a soothing effect! It's my favorite thing I made from that month. Maybe, in an unconscious manner, I channeled all of my frustration into it:
I haven't composed all that much recently, for lots of different reasons really, but I'm always proud of myself when I listen back on my stuff though. So even if impostor syndrome makes me hate my creations in the spur of the moment, my future self is always the happier for it.
March - Here and Now
Then the 3rd of March came, and the defense was over as quickly as it had begun. I didn't really celebrate or anything, I think we went out for food and then I called my parents, and naturally, they were very proud. I sketched some more that week, and composed a little more:
On the 8th of March 2021, I probably made my most fortunate decision of the entire year. I minted my first piece on hicetnunc.xyz : OBJKT#1944. At that point I hadn't yet realized how monumental of an action that was, and would change the entire course of action that I would take for the rest of the year.
Maybe it's good to give a little bit of context first. When I first joined hicetnunc I wasn't completely unaware of NFTs. I had already played with the idea of putting some stuff up on opensea in the preceding months, but I didn't really know what I was doing. I didn't even have enough funds to pay for the ETH gas fees (~40$ at the time). And who would buy my NFTs after all? It seemed like I would be throwing 40 bucks out the window...
At the same time I was messing around with the noisedeck app (a generative art synthesizer) made by @rustysniper1 and @occi, who seemed to already have some success with NFTs at the time. And among others, they were some of the first gen art folks that I followed on Twitter. Definitely also check out noisedeck, it's so much fun!
Then beginning of March I saw @rustysniper1 tweet about minting something on the Tezos blockchain as well as the low gas fees on there. I checked it out, and indeed I was surprised and impressed by the affordable fees. At that point I already had a way to purchase XTZ through the binance account that I had originally made to purchase some ETH. I don't know what came over me, but in what you would call a 'f*ck it' moment, I dumped 50$ on XTZ and minted my first token.
Soon after I received a couple of tez in my wallet and had made my first couple of sales. That was incredibly exciting, as it was the first time that I made a significant sum of money from art. I must admit that at the time I was constantly and obsessively checking my wallet. Things snowballed and that #hicetnunc hashtag became a lot more relevant in the following days and weeks. I'm glad I was there, it was so much fun to be involved with the community and participate in events like the hicathon.
I minted a couple more things that month in the same style. In total, I earned 127.7 euros in XTZ through NFTs in March. To be very honest, that is an incredible amount of money to be made from gen art. Now I really had an incentive to get on my gen art and creative coding A game! What also became very clear to me was how important Twitter was as a medium in these things, having a strong online presence is a game changer (nowadays for anything really).
April - Explorations
April was cathartic. I felt like I had vaulted over that initial bump in the learning curve, and had gotten a "feel" for p5. I explored flow fields for the first time, some interactive wedge/circle thingies (which taught me a lot about trigonometry) and I experimented a lot with linear interpolation. Lerping has remained an important tool that I use very often, even if it isn't as obvious in my more recent sketches. I discovered that there was an ocean of creative coding techniques to learn, most of which also had a technical purpose in the real world.
Looking back at the code I wrote then is funny. It's pretty "dogshit", for lack of a better term. But that's okay, a good thing even! Means I improved. Around then, folks on Twitter also started experimenting with minting interactive pieces on hicetnunc using html and svg. Interactive sketches becoming a possibility on HEN, further reinforced the popularity of generative and interactive sketches as NFTs. You could now own something that was a little bit more alive than a png or gif file.
I also shared a post with this grainy slab, which was my first post that accrued a significant amount of likes. I was genuinely a bit perplexed, because the code behind it was relatively easy. Retrospectively, it's not surprising, you will get a reaction to what you share rather than the things that you don't share. So you don't have to write incredibly complicated code to make interesting things.
May - Differential Growth and Parametric Functions
May was another great month of learning. I got much better at using trigonometry in my sketches, exploring parametric functions and how they can be used to move particles along a specific path. Here's an example of the Lemniscate of Gerono, which later on became a little bit of an inside joke with @Jeff and @aebrer, aka the Lemniscate Gang (they're also both amazing creative coders).
I also explored differential growth as a submission for @sableraph's weekly creative coding challenge. At the time it felt like a little more than I could chew, but I will reiterate on that sketch very soon. I started participating in Raphaël's (another amazing creative coder and great guy in general) weekly challenge the month before, since it seemed like a super nice way to share and improve my creative coding practice, and challenge myself to learn new things. It had also given me something to look forward to every week, at a time where it wasn't really possible (nor a good idea) to go out much. Aside that, Raphaël's discord server, aka the birbsnest, is an incredibly supportive and inclusive community, I never really liked discord, but I do use it now regularly for this one server.
June - Returning to Lebanon
And another great month in terms of sketching. Looking back I had a bunch of really good ideas, that I can probably take much further when I revisit them. During that month I also returned to Lebanon for the first time in over a year and a half. And I already knew that I would be returning to a very different place. August 2020 the Beirut port disaster happened, where a warehouse of highly flamable substances exploded in a massive explosion. I am glad that no one of my loved ones was hurt. But it's insane no less, something like this should not happen. And in it's current state, Lebanon is sadly not a country that can be lived in if you want to live as a dignified human being, but that's a story for another day.
The coming months brought many violent protests and demonstrations against the corrupt politicians, hyper inflation ensued, making the lebanese pound a 20th of the value it once had, in addition to fuel and electricity shortages. It hurts my heart to see Lebanon in such a condition, to see all the places where I spent my youth in such a desolate state. However, it can't be said that this was entirely unforeseeable. The non-system that Lebanon operates on was bound to collapse at some point. Politicians and law-amkers in Lebanon do not achieve their rank through hard-work and merit, but rather through familial ties, bribery and corruption. How can you expect completely unqualified individuals to make meaningful decisions for an entire nation? But anyway, that is just my opinion. I have very few hopes for Lebanon in the coming years.
I really like these sandy spirally shapes actually. I remember that at the time I kept myself from continuing on this sketch because it felt overdone? That entire shtick with circular and trigonometric stuff.
Highlights of this month are probably these organic looking tree rings and the purple textures that follow. I experimented quite a bit with perlin noise during this month, and tried to really explore all of the different possibilites. Perlin noise tends to introduce a more organic and life-like character to your sketches, and I think it really shows in these!
July - Processing Processing and Perfect Loops
I stayed in Lebanon from the 27th of June to the 24th of July. It was refreshing, but also very exhausting to spend an entire month with my father alone. I love him, but communication has never been his strong suit. I tried to sketch as much as possible during the times that the electricity was available, but it was quite annoying shaping my entire day around those times.
I also tried to get better at making perfect loops. Looking back I used a bunch of unorthodox methods to do so, such as manually inspecting hundreds of frames (not an overexageration) to see which one would line up with the first one. I also wasn't as versed in using ffmpeg or magick, which also hampered things quite a bit. I think by now I've got the basics down to a decent extent, at least I don't have to look up that one annoying ffmpeg command over and over again haha.
I also spun up the processing editor during those times where I couldn't use the p5 web editor, and brushed up on my Java knowledge, which was actually kind of nice, it wasn't all that difficult to find my way back into the language. The last time I had used it was many years ago during my Bachelor's final project in which I coded a very, very bad android app. Sometimes I look back, and then I'm glad that I have those days behind me :)
August - Germany and Taxes
Many cool things happened in August. I returned to Germany and finally had the opportunity to sign up for a driving school. Getting my license was something that was way overdue (I'm 90% of the way to getting my license now).
Activity on hicetnunc during August really skyrocketed, a lot of folks from Ethereum came over to Tezos completely wiping out everything I had up for sale on hicetnunc, especially the interactive sketches and the pieces that I had minted in the early days of HEN (stuff with low OBJKT numbers).
I also made a cover of a @beesandbombs sketch, which he then retweeted, and really drove a lot of traffic to the blog. That was definitely my highlight of the month. I also discovered that embeddable p5 widget, which allowed me to structure my tutorials in a much better way and started that entire "Making of:" series, which should have some more entries next year!
And here you can see the predecessors of my centripede series. I wanted to explore in what other ways I could exploit the canvas, other than positioning elements on a grid or on a circle in a trigonometric fashion, which seem to be two archetypes that dictate a lot of creative coding sketches. Positioning things along one of the diagonals seemd like a different approach. Then adding sinusoidal movement to the mix, where the movement itself is accentuated the closer a point is to the center. Which kind of looked like a worm of some sorts. This later evolved into an entire series of different wormlike creatures called "centripede", which is a combination of the words centipede and trigonometry.
With ETH folks and bots buying up my stuff on HEN, and having a welcome surge of XTZ in my wallet, taxes was probably something that I had to start thinking about. With a lack of clear regulations on the taxation of cryptocurrencies in Germany, specifically the sale of NFTs, I first had to research the topic quite thouroughly. Slowly I became very stressed about the issue, since it became clear to me how complicated it was. It didn't help that I had never paid taxes before, I had absolutely zero knowledge on the topic or how it should be done. I felt thrown off balance for quite a bit, but I probably over-dramatized everything in my mind (that I would go to jail for tax-fraud and what not). I knew that the first thing I needed to do, was consulting someone that was knowledgeable on the topic.
September - Crypto Tax Hell
In September I continued worrying about taxes. As said, I quickly came to the conclusion that I wasn't going to be able to figure out everything that I needed to do by myself, and I didn't want to waste too much time since some stuff appeared to be time-sensistive and should have been done already. I have no idea how lenient or strict German tax offices are about these things, but I didn't want to risk it any more. I phoned up a couple of local tax advisors and sent emails to some that I had found online, and I either got replies with "sorry, can't help" or replies with exorbitant fees for one time counselation sessions. 400 euros seemed quite steep for a counselation session, when there was no certainty if my issues would be resolved...
Anyway, I did end up making progress on that front, and I will summarize everything I did and learned along the way, in detail, in another post that I've been slowly working on over the past weeks.
From a point of view of sketching this month was fantastic. I created my "Imaginary Cityscapes" sketch that got an incredible response on Twitter. And there will definitely be physical prints of this sketch in the future, it's just a matter of time now. But for the time being I'm spending 75% of my time just working out logistics as well as planning a big move in the coming weeks.
I also finished my Centripede series, that people on Twitter really liked. I ended up creating 20 different versions, most of which were auctioned off as 1/1s on objkt.com. I think my favorite part of these centripedes is the motion of the revolving dots. Essentially we're feeding the positional information of the orbs (the ones spanned across the diagonal), to a perlin noise function that controls the angle of rotation of the smaller dots, this gives them this snapping motion in some cases and also makes them perfectly loopable.
I also worked on random walkers, which is one of those sketches that I think every creative coder will tackle at some point during their sketching career. The tutorial and write up ended up being a big hit and I am very proud of it!
There was also this cute 800x80 pixels challenge, which will make a return during Genuary!
October - Calder Ocean and Movie Title Sequences
October was another hectic month where I had to do multiple registrations regarding taxes. After consulting with multiple tax advisors, and finally finding someone that could actually answer all my questions, the first step was to register officially as a business. Even though it shouldn't have been their concern at the registration office, they made some funny faces when I explained my circumstances.
After that I had regained a little peace of mind and was actually able to focus on sketching and working on the blog for a while. I think I had quite a couple of nice sketches this month, such as the Alexander Calder inspired noise fields! I'm also really proud of the submission for the #WCCChallenge, which had as topic "Movie Title Sequences", being inspired by Dave Whyte's (aka beesandbombs) outro sequence for the Queen's Gambit (great series), I attempted to make something similar in processing, also throwing some shaders into the mix and composing a little tune. Scroll down and have a watch, it's the embedded youtube video!
November - Gorilla Grain, Pastel Textures and Scribbly Strokes
In November I really outdid myself. Lots of gorgeous patterns, pastel-ish and watercolor-y textures as well as scribbly compositions. My impostor syndrome is kicking in hard right now. Do you ever have this fear, that you'll never have another good idea again? I know it's unresonable, but what if I've already exhausted my creative energies? What if my best stuff is already past me? I think about this very often. How do you deal with this? Genuinely curious!
From looking at the sketches of November, you notice that I started using a certain grain method. Rishi, a cool dude from the birbsnest, aptly called this method the "Gorilla Grain" method, and I really like the ring of it. Albeit I doubt that I am the very first to perturb pixel values in that manner. I remember scrolling through the comments section of some post in the p5js subreddit and people discussing grain a couple of months ago. Then on a whim I decided to try it out to see what it does, and it actually is pretty dang good. Of course it takes a lot of fine-tuning depending on the sketch and the colors you're using. Adding different randomized values from different distributions to each one of the RGBA components of the pixels can lead to vastly different results. In a sense it can also be thought of almost like a filter that is applied to the entire canvas.
A couple of people asked me if they could use it in their own sketches, and they definitely can, and you too if you want to. As stated, I don't think I invented anything new. However I did notice that suddenly there were a lot more sketches that were using grain after I posted mine, which I'm 100% attributing to the Bader-Meinhof effect, aka the frequency illusion, where when you notice something for the first time, you start noticing it more often.
December - Cacographies, Suprematist Composition and Japanese Stitching Patterns
The reaction to my generative token "Cacography" on fxhash makes a really good ending for this year. Granted, things on fxhash have been and still are a bit crazy in general. All 222 editions of Cacograpy sold out in around 10 minutes... which is definitely what I would call "crazy". It did take me a long week and many cups of coffee to finish the sketch, but it was definitely worth it.
The feature that people liked most, was that the sketch scaled effectively to different screen resolutions, which has been one of the more challenging aspects of developing sketches for fxhash. Developing a sketch for fxhash is an entirely different beast, and feels quite different than my regular sketching. I don't often think in a very "generative" manner, nor do I plan for it. I usually have a vague idea or a visual in my mind, and then I try to reach that with my code, and often cool things happen during the process. The final sketch not having ample amounts of variety to it. Baking variety into a sketch is difficult, and sometimes it just doesn't work even you try your utmost to force it.
I also started exploring Japanese stitiching patterns called Sashiko patterns, which unintetionally gave way to some very interesting perspectives, as well as my most succesfull post in terms of likes.
And to go out with a bang, an animation that makes use of blendmodes and colors for an interesting optical effect:
And that's a wrap, for this year! Phew, that was a lot to collect and write! If you've reached here and you read all of my ramblings, then you have my endless gratuity. I can't wait to see what the next year brings, and I'm ready to take on the coming challenges head on. I think it will not get easier from now on, balancing the blog, sketching, my mental health, family and friends, but hey, at least I'm keeping myself busy!
All of this wouldn't have been possible without the continuous support from my parents and siblings, even if they drive me crazy sometimes, as well as the endless moral and emotional support from my accomplice in crime, partner and best friend Wiem. ❤️
I'd like to shoutout a couple of people that have continuously inspired me throughout the year:
@ippsketch, @KaufmanRoni, @aebrer, @sableRaph, @increment, @denisovich, @p_robably, @Samsara4567B4, @wayveeee, @mattywillo, @alexis_o_O, @VicDoval, @meodai, @genwaver, @clayheaton, @davepvm, @beesandbombs
And many more that I'm probably missing here! Thank you, and to another great year of creative coding!