Journal & Changelog
This page was previously known as the "detailed website history" page, but has been generalized to serve as both a personal journal and the site's changelog.
Entries created after the big site reorganization of 2023-12-15 are more personal and/or creative and thus jumping to that point may be more interesting. That's where the journal starts, whereas prior entries usually read more like a changelog.
All dates in the following list are formatted as year-month-day (ISO 8601).
- (#): I created the site, with only a minimal description of roughly what the site would be about. The site has no CSS customization at this point, only basic HTML.
- (#): I rewrote much of the text from the previous day to feel more natural and more structured. More importantly though, I uploaded a downloadable Doom 2 level and a Lua programming Anki quiz deck. Thus, this was the first day that this website became useful! I also added some links to other sites that users may find useful or interesting (such as Wiby.me) on this day too.
- (#): I uploaded two downloadable documents I wrote about musical tuning systems. I also switched the links that went to my own site to use relative paths instead of absolute HTML addresses. I also added additional links to other websites, such as to some web revival (a.k.a. retro web, old net, web 1.0, etc) related sites.
-
(#): I finally added some basic CSS styling and custom pixel art fonts. That means today is officially the first day that my site doesn't look like a barebones HTML page. The site now has a nice dark pixel art theme. I also ensured that the CSS style is font-size relative and also free of misleading or extraneous settings.
All the settings are intentional, not merely imitative or copy-pasted. The addition of automatic margin padding is an especially great legibility improvement over the HTML defaults. Also, I clarified a potentially confusing point about how musical note names work and added some paragraph breaks to various long list items.
Additionally, the HTML code is designed to be semantically easy to read. Little would be gained by removing whitespace (etc) considering how small the files are regardless. Lastly, I added some new links related to the web revival movement.
- (#): I added some links and helpful overview info for people who want to find an easier way to pick good-looking colors for websites or for any other graphic design purposes. Color theory is interesting I think!
-
(#): Today is thanksgiving! After eating with my family (etc), I still found some time to update my site. I added a useful link and description for automatic detection of broken hyperlinks in HTML documents.
I also replaced the previous pixel art font with one whose opening quotation marks don't have the wrong directionality. I had previously tried using the
<q>
tag, which fixed the opening parentheses's directionality but caused the quotation marks' underlying characters to no longer be copy-pasteable, which I think would've been unacceptable for a good user experience. The new font also flows well enough to enable me to now use justified text instead of ragged-right.Finally, I added more paragraph breaks too, rephrased a few things, and improved my CSS file a bit as well.
-
(#): Switched the CSS file to use
border-box
spacing for easier and more logically consistent element width control. Tweaked the HCL/LCH color section some. -
(#): Split the detailed website history (previously named "fine-grained website history") section out of the main
index.html
page, which up until now was the only page. I'm still deciding how much of the site I want to have as separate pages versus as sections of one (or more) page(s). Each approach has pros and cons. The detailed website history page seems like an especially good candidate for separation though.I've also added HTML
id
attributes to all of the headers on this website, so that users will now be able to link to and bookmark specific headings so that the user can jump to any heading automatically (thereby preventing the user from having to scroll to each section manually). I also added convenient#
links beside all the headings so the user doesn't need to manually modify the URL to make heading jumping work.It would be nice to automate process for this, but for the time being I will set up these heading links manually. I still haven't decided how I want to set up automation for my website and in what respects. Once I do though, more will probably be automated.
-
(#): I've added a table of contents box containing links to all of the headings of the sections that are currently on the main page. This will make navigating the page and seeing an overview of what is on the page considerably easier.
Regardless though, the current mostly one-page structure is temporary. Site navigation and aesthetics will improve considerably over time as I make more decisions about the layout and content. For now though, the design is minimal but sufficient.
I plan to ensure the site is useful for readers throughout its entire evolution, as it already was/is as of the 2nd day.
Additionally, I added a recommendation link for a spell checker usable with HTML and CSS to the recommendation link list, plus another web revival (a.k.a. old net) movement related link.
-
(#): I set the HTML
lang
attribute to English (instead of relying on automatic browser language detection). I installed a W3C validator extension on VS Code, fixed some potential problems it identified, and then added some W3C validation info to the recommended link list.I changed the downloadable files to no longer use spaces, even though the file downloads were working anyway despite containing spaces. Spaces in file names are more natural for users who are downloading files, so the rule against spaces actually seems counterproductive when considered from a first principles standpoint.
W3C marks such spaces as "errors", even though I've never seen files with spaces not work. Now I'm using underscores for file spaces instead, since hyphens (the other common space replacement choice) can actually cause conflated meanings due to hyphens already having other common meanings. For example, "12-tone tuning" would be confusing (and would lose information) as "12-tone-tuning" and thus is better as "12-tone_tuning" to prevent any conflation of distinct meanings.
I've also returned to using left justified text because HTML and CSS's justification behavior is too poor, even when using "media queries" to compensate. Likewise, since soft hyphens insert extraneous hyphens when copy-pasted (even when not visible!) soft hyphens thus also seem poor for creating a consistent and accessible user experience. So, I've deleted those too.
Poor implementations of features in software often force such choices when one cares about design, even if the feature(s) would in principle be good otherwise.
-
(#): Changed all hyphen based HTML
id
attributes to use underscores instead, which I am standardizing on for representing spaces instead of hyphens because hyphens can have other meanings and thus underscores are a better convention than hyphens for HTML mostly, as mentioned previously.Also, I've put the Lua Anki memorization card deck into a zip file now to save space.
-
(#): I added a basic favicon for the website (the letters "WG" in a solid black circle) so that bookmarks and browser tabs are easier to distinguish and navigate. Perhaps I will add a more artistic favicon in the future though, after I've established a stronger aesthetic theme. I also added file extensions in parentheses (e.g. "
file description (EXT)
") to the visible link text of the downloads section. -
(#): I added
cite
attributes to theblockquote
s to ensure search engines know where the quoted text is coming from. I addedtime
tags to all the dates on the site for semantic HTML purposes.I corrected an (ab)use of
<abbr title="...">
by changing it to<span title="...">
. Apparently, the correct way to use the HTML mouse hover-over tooltip popup explanation system (akin to whatabbr
gives you) is actually totitle
aspan
. Otherwise,abbr
could mislead a search engine or screen reader or user into thinking that a general-purpose explanation is a translation of an abbreviation. This<span title="tooltip text">
trick will be a nice way to emulate footnote-like helpful inline notes that don't disturb the flow of the text in HTML.I also added an explanation of the time format to the top of this detailed website history (changelog) page rather than redundantly labeling every date with
span
s. I've cleaned up some underlying CSS code for a few things on the site too.Finally, I added more semantic HTML tags (such as
header
,main
,nav
, andsection
) for better search engine awareness and screen reader compatibility. Previously only a few things (such as the table of contents) used semantic HTML tags. Now though, all parts of the body text are covered by at least one semantic HTML tag. -
(#): I changed my intra-page navigation links to use a more concise syntax. I added a link to the HTML standard to the recommended link list. I edited the "auto rename rag" recommendation to account for some usage problems. I implemented CSS styling for
kbd
for representing keyboard input in HTML. -
(#): I added
<meta name="description" content="...">
elements to all of the existing HTML pages for the website, so that the pages are potentially easier to find and to understand the purpose of.I also fixed a problem with hyperlinks where they never showed a different color after being visited (which would make keeping track of which links had been visited harder for website guests). I also made the style of keyboard keys (HTML
kbd
) more visually consistent across browsers and fit more naturally alongside normal text. -
(#): I edited the "page not found" page to be less generic and much more helpful. It now lists five different ways that a user can end up not finding a page and then suggests a few different ways of trying to resolve that problem.
I also made it so that the website now displays correctly in offline mode (i.e. when browsing the site directly from fully downloaded copies of all the site's pages in a local folder). I tested the offline browsing some in both Firefox and Chrome.
The key to making the website work offline was removing the
/
in all of the/
prefixed "absolute" site-relative HTML hyperlink paths within the website. The "absolute" site-relative paths are often recommended online for supposedly making relocation of files easier, but mostly such paths actually seem to make the site more brittle, less flexible, and less of an accessible user experience for people who want to save offline copies of the site to use without an internet connection and/or without wasting internet bandwidth and server load, etc.Firefox is my own preferred browser by the way, because it respects privacy and freedom much more. Such choices matter, because it cumulatively significantly impacts the future freedom of the internet and thus of free speech and human rights itself. I recommend it. I've only ever encountered a tiny minority of websites that don't work correctly in Firefox, but the browser is far more ethical in how it treats users' data.
- (#): I added a recommended link to a famous well-written introduction to shader programming (The Book of Shaders).
-
(#): I changed the
alt
text for the "hosted by Neocities" logo link to be (probably) more friendly to screen readers for people with visual disabilities. Previously, thealt
text had been wrapped by "[image: ...]
" and was more abstract, which was fine for visual displays and was more concise but less descriptive. -
(#): Removed the three highest resolution favicon variants (180x180, 192x192, 512x512) to avoid browsers unnecessarily downloading them for little benefit relative to the amount of data. Too much software and too many websites are disproportionately wasteful with resources I think. Many sites are 90%+ data waste. That harms the environment and also users who have slow internet connections (such as many people in countries where data may be very slow and charged by amount).
Once my site is further along and I've created a more interesting favicon than just the "WG" icon ("WG" in white inside a filled black circle) that I'm currently using then I may bring some higher resolution favicon bindings back, especially if I can just use a SVG file to handle all the higher resolution cases (which would be much less waste relative to the value the icons bring).
- (#): I added a recommendation link and description for a cool website I randomly stumbled upon: "The Obscuritory: For Games Unplayed and Unknown".
- (#): I made some minor adjustments to the website's text (rephrasing a few things).
-
(#): I posted a new music composition (yanqin-based, Chinese rustic style music) as a downloadable MP3 file! This composition is the first new song I've composed in roughly 10 years and thus is a major milestone in me breaking through my creative roadblocks (much like this website itself is likewise a breakthrough event)! The title is "The Secluded Wilds".
I've also added file sizes to all of the downloadable files now so that you know how much network bandwidth and disk space each will require. This actually matters (even for these "small" files) for users in places with very poor or metered internet connections and helps reduce data waste.
- (#): I originally planned to try to set up custom website domain forwarding tonight, but I ended up doing some additional xmas shopping for my family instead and so I'll have to do the custom domain stuff another time. I thought I'd already ordered everything for xmas already but felt compelled to add one more item for someone and it ended up taking a while.
- (#): Today I again intended to work on the custom domain for the site, but this time I ended up helping some of my family members pick xmas gifts for other people (whereas yesterday I was buying extra gifts for people), which used up more time than expected.
-
(#): I added a new link to the top of this page (the detailed website history) that enables the user to instantly jump to the bottom of this changelog list so that the user can read the most recent changes more easily.
I've also attempted to bind by custom domain to my website tonight, but it doesn't seem to be working yet. I'll check tomorrow to see if the change has propagated yet by then.
-
(#): I checked whether the custom domain for this website has propagated yet and it is working for me now. It should be available for everyone else soon too if it isn't already. Thus, this site can now be accessed via the shorter domain WraithGlade.com in addition to also still being accessible from the old WraithGlade.Neocities.org URL (which redirects to the custom domain now).
The www.WraithGlade.com "subdomain" URL was still leading to the generic parked domain page this morning though. My name registrar's system for that didn't match Neocities' instructions on setting it up. However, I found a different setting on my domain registrar that may fix it. UPDATE: Yep, the new setting fixed it. Now the
www
version works too. Good! It's nice to have the custom domain finally set up!I also added several new very useful links to the recommended links list and edited and refined some other text on the website too.
- (#): I've added a 2nd new music composition to the list of fun/useful content available for readers to download! This time the music composition is a horror-themed dark music composition called The Misty Abyss. I hope you enjoy it!
-
(#): I've massively reorganized and restructured the entire website! Page navigation is now much improved and the vast majority of the text body of the website now exists on separate dedicated pages. This is a huge improvement over the previous version of the website! I've been wanting to do this for a while.
The reorganization and restructuring not only makes the website much less visually overwhelming but also greatly reduces data waste since text that visitors' were not seeking no longer gets loaded unless the corresponding page is visited.
I've also greatly improved the look and feel of the main website title and subtitle.
Furthermore, as of today, this page (previously known as the "detailed website history" page) has now been generalized to also include whatever personal thoughts I feel like sharing, even on days where no other changes to the website have been made! I am looking forward to having a nice low-burden system like this where I can share brief thoughts without the expectations of a "full" blog. Combining the changelog with this personal mini blog idea saves effort and is pleasingly natural and intuitive.
I've run automated checks on my pages to catch errors. However, big reorganizations have a way of breaking things. Report broken content via my contact info page!
-
(#): Today I've changed all the navigation boxes and notice boxes (the colored boxes used for special content on my site) to use rounded corners. This makes them look more classy, makes their special purpose nature clearer, and makes them more pleasing to the eyes. It's a small change but a significant improvement in style.
I've also added a new recommendation link for a new VS Code tool I've started using today, which is an extension to insert a timestamp automatically. From now on I'll be using that to write each of the dates in this list. This eliminates the chance of errors.
More interestingly and flavorfully though (and on a personal note unrelated to the website's content), today I've been experimenting with watercolor painting in the newly release wonderful traditional art media simulating painting program Rebelle 7. It was released just two days ago (on ). I ordered it on pre-order at a great discount and have been very excited to try it out. I'm looking to branch out into watercolor painting!
Previously, the main visual art mediums I've worked with are digital sculpting, seamless texturing, and shader programming. I've dabbled briefly in pixel art and vector art on and off, but kept bouncing off of them somewhat. Watercolor painting recently caught my eye though as a more expressive way to create interesting color blending and variation, which was something that in contrast had always frustrated me in other art programs since I'm a big fan of multi-coloring and nicely textured looks.
Experimenting with Rebelle 7 today in that respect exceeded my expectations! It's multi-color brush system and watercolor diffusion are fantastic and are just the kind of color variation thing I've been wanting to have for creating 2D art for years!
-
(#): Today I focused on exploring more watercolor effects using Rebelle 7, as well as some of Rebelle's other non-watercolor capabilities (which are also great, such as the multi-color oil paint brush). It has been really enjoyable and I am feeling more hopeful about learning to paint than I ever have before! I'm excited for the future in that respect and in many others recently. Things are looking up now, in several different regards in my life lately!
I also watched a sci-fi film series with my family today and that was enjoyable too. It was a great day overall I'd say.
I didn't have time to do any more website work though, besides this log update here of course. That was as planned though today, so no worries! Thank you for your time and attention and for reading and visiting my website, as always.
- (#): Today I wrapped a lot of xmas gifts I bought for my family. I hope they like what I got them! My adventures in exploring watercolor painting features (plus some other available forms of art media) in Rebelle continued today as well. I also attended to a few other miscellaneous tasks, besides my usual daily activities of course.
- (#): The time passed by fast today for some reason. I did hang out with my family some and watched a movie with them. I also attended to some miscellaneous real-life things, but mostly today was a relatively uneventful day. It can be good to give one's mind breathing space sometimes like that, though admittedly my time partly slipped away from me today and much of it wasn't intentional. My perception of time sometimes surprises me, as is human nature it seems. Oh well though, such is the natural variance of life: that inherently imperfect tapestry in which we reside.
-
(#): Nothing much to report again today! I mostly attended to some more holiday related things and also a variety of other miscellaneous tasks such as processing some emails. I did have the chance to read about watercolor painting more for about an hour today, which was nice. I also took care of a package that came in the mail today too. Anyway, I hope everyone reading this has a great day/night and a wonderful upcoming holiday!
Oh! Actually, one interesting thing was that I learned about the existence of brush pens (which are like paint brushes but with built-in ink like a pen) recently and decided to buy one in the hopes that it will strain my wrist less than conventional writing implements such as ballpoint pens. I also wonder how brush pens compare with fountain pens, but first I'll try a brush pen since it seems more promising conceptually, because paint brushes have so much more of a gentle touch compared to pens.
Using a brush pen may also have the benefit of improving my brush handling skills a bit (not that it's needed for Rebelle, but perhaps it'll help me understand traditional art mediums a bit better, perhaps subconsciously). I'm looking forward to it! I write a lot.
I am also finally moving away from using any cloud based data backup and storage "services" recently due to many of those companies increasingly integrating extremely unethical "AI", making it now impossible to trust any them. Privacy matters! This new wave of data-scrapping based "AI" is essentially systematic theft in reality.
- (#): Tonight I played Dome Keeper (one of my recent favorite games) for a couple hours, watched another movie with my family, and then later on also created a policy page for my website as a partial safeguard against exploitation.
- (#): Besides normal everyday stuff as usual (e.g. my work) today I also decided to go ahead and order a cheap fountain pen just to try one out. If I like it enough I can get a higher quality one later. I'm interested to see which of the two writing instruments (brush pen vs fountain pen) will prove to be more effective for reducing wrist strain and for everyday pragmatic use. I also did a bit more handling of holiday related things (e.g. handling more gift arrivals) and hung out with family.
- (#): Today I handled more holiday related things and relaxed mostly. Happy upcoming holidays to everyone! Christmas Eve is tomorrow!
- (#): Merry Christmas Eve! Today I wrapped the last of the holiday gifts that arrived late in the mail. I also played some Dome Keeper and watched a movie with family, plus I did a few other miscellaneous things.
- (#): Merry Christmas (or Happy Holidays) everyone! ๐๐๐๐ฅณ๐
-
(#): Besides my daily necessities (as usual, of course), today I focused on enjoying my gifts, having fun, and relaxing. I was happy both with what I received and with how my gifts to others were received. I hope you all had a wonderful xmas too!
By the way, did you know that there's a name for the day after Christmas and that some people celebrate it? It is called "Boxing Day". It seems to be more of a UK term.
-
(#): Much like yesterday, my free time today was spent enjoying the gifts I received over the holidays. As such, it was an easy going and pleasant day.
Also, because I've been in the mood for watercolor and ink art lately, I used some gift card money for Steam to buy three ink themed video games: "Inked: A Tale of Love", "Drawngeon: Dungeons of Ink and Paper", and "There Will Be Ink". I played each of those briefly today and am pleased with all three so far.
They each have nicely distinctive art styles, though in "There Will Be Ink" it was harder to discern gameplay elements due to everything in the game being zoomed out so far by default (and staying zoomed out usually being necessary to see and aim at units).
Along the way, today I was also reminded of the story of the Gordian knot and was struck by how it is an apt analogy for the nature of what may at times be needed to break out of creative stagnation (generalized writer's block) and of the importance of not giving too much credence to false constraints and false authority. The insight embodied by the metaphor or microcosm of the Gordian knot helps free up creativity.
-
(#): There's not much to report today. I've mostly just been enjoying the holidays, as is typical for me in the week or two (or three) around Christmas.
Here's a random thought I had today though: Subtle is not the same as insignificant. Nuance is essential to doing justice to most things, whether creativity or ethics.
-
(#): Today I got my fountain pen ink in the mail and so am now able to actually test and use the fountain pen I got a few days ago. For the ink I picked Noodler's Midnight Blue, which is a nice blue color that incidentally reminds me of the cerulean blue pigment palette color available in Rebelle 7. The fountain pen I chose also has swirly a blue-black-white color wrap design, which I intend to use as a reminder that this particular pen will always contain blue ink.
I'm pleased with how the pen writes despite being a cheap one that I bought for testing purposes. The pen certainly seems better than ballpoint pens so far (which hurt my hand, especially as I've become older). I also really like how much more environmentally friendly having a big bottle of ink is, especially compared to disposable pens and even compared to ink refill cartridges.
The reason why I've been getting and testing a brush pen and now a fountain pen is because I plan to do a greater proportion of my (not intended to be published) notes on paper instead of digitally. In the past several years (almost a decade really) I've used primarily digital note taking systems such as note apps and then later on simply using cloud based storage and plain txt files to sync from/to my phone and computer for all my notes. However, with every passing year I have less and less trust for tech companies and am tired of their perpetually worsening violations of user boundaries. Paper notes are immune to that.
I'm looking forward to regain more and more of my freedom and boundaries. That general trend is connected both to these paper notes and to this website itself.
-
(#): I deleted my "cloud" storage account today, which marks the beginning of my real transition to using more paper based notes going forward. Every single time I've invested years in using a note app or "cloud" storage system it has always ended up backfiring, with me regretting it. Each time I made an effort to pick what seemed to be trustworthy companies and always they have proven to repeatedly violate that trust and to make many undesirable changes.
Besides, even if I hadn't had so many egregiously bad experiences with the "cloud", tech corporations have been becoming less ethical every year and I want to preemptively create much more distance from them. So, that's exactly what I'm doing. Such relief! It feels wonderful to reclaim a greater proportion of my life that will no longer be tampered with so arbitrarily and capriciously by people who have no right to.
On a more cheerful note though, I've been playing Moonscars some today and yesterday and have really been enjoying it. I had previously avoided it due to some moderate reviews (~80% positive), but as is all too often the case it turns out I should have just trusted my one instinctive interest. It seems like a great game so far! I especially love the tastefully artful mood and classy thematic style of the game.
-
(#): Happy New Year's Eve everyone! ๐๐๐๐
Today I've been settling into my new fountain pen and paper based notes system. It feels great to put more distance between myself and these ever increasingly unethical, intrusive, and tyrannical "tech" companies and their digital kleptocracy!
To follow up on my earlier discussion of how I was comparing brush pens with fountain pens to reduce hand strain, basically fountain pens seem more practical overall. Brush pens do require even less pressure to write with than fountain pens, but controlling the line width with a brush pen for everyday writing of mostly text seems impractical.
Fountain pens still require significantly less pressure than disposable ballpoint pens. Brush pens admittedly use so little pressure that they feel like tickling the page with a feather, but alas they still seem too hard to write text with consistently and quickly. I can definitely see them being great for many uses in ink-based brush art though.
As far as fun goes, today I also played some more Moonscars and also got a whimsical humorous game called Rain on Your Parade and played that some too. I also briefly spent some time brainstorming on paper about some game design ideas.
I'm looking forward to next year and the changes it may bring! Things are looking up!
-
(#): Today is the first day of the new year (New Year's Day)! ๐โณ
Besides my usual work and routines, I found some time to brainstorm some more game design ideas for a prospective upcoming project, all on paper with my fountain pen. I've been quite enjoying it so far. I've come up with a few interesting ideas already.
I also played some Moonscars again today. It really has great atmosphere and flow.
Oh, and I ordered a few books of interest to me, plus an unlined journal to try. Currently, I'm using a small lined pocket-sized journal. It is convenient for carrying but the small writing surface seems to potentially increase hand cramping. Perhaps a larger journal will help with that. Either way, I'm going to use up what I already have so as to not be wasteful. Ergonomics for everyday activities matter! I'm sure my system will evolve with time as I adjust to it and work out what feels optimal to me.
Anyway though, here's to the new year! I wish the best for all my visitors' years!
- (#): Tonight I was reading more about HTML after a several week long hiatus from it. I also wrote some more paper based game design notes whilst exploring my ideas for the project I have in mind. Other than that, I did some extra job-related work, helped take down the xmas tree, and a few other miscellaneous things.
-
(#): I read a little more about HTML, but mostly I was working on more game design ideas for the project I'm planning. I'm trying to figure out how it will fit together.
For leisure though, I also played a game some. This time it was Potion Craft. I've seen it before and was interested but actually decided to get it and try it today. I like the art style. It has that authentic old-school ink art feel and is very distinctive and tasteful.
I've been very happy with the games I've picked this holiday season. They're all good!
- (#): I mostly focused on exploring more game design ideas today, besides my usual work. I did briefly play some more of the Rain on Your Parade game though.
- (#): I did a little bit more game design idea work today, but a family member invited me to a movie and later in the day I also needed to do some household work. Thus, there's not much to report today. Such days are inevitable, naturally.
-
(#): I unpacked a package that arrived in the mail today, helped an injured family member with some things that needed done, and made some more game design progress in my notes. Each day I've usually come up with at least one new major idea for the game concept, and so I'm pretty happy with the progress so far.
I also played a few games, including Moonring (a free roguelike with great charm). Moonring should not be confused with Moonscars, which is another good game I mentioned recently but which is an entirely different game. Both are worth playing.
-
(#): Much like yesterday, I did some more game design work, played Moonscars and Moonring, and took care of a few other miscellaneous things.
I've had a steady pace of good game design ideas lately and today was no exception.
-
(#): I was struck today with the thought of how much I appreciate the existence of this community of web revival (old web, retro web, or whatever else you want to call it) and how it has made me feel so much more comfortable creating and sharing content and publishing my thoughts online. It is such a huge relief to be so greatly distanced from the reach of the big creepy groupthink-based platforms.
Likewise, even though it has only been a little over a week since I deleted my cloud storage account (on ), which I've previously been using to store most of my personal notes, the switch back to paper and pen has created a similarly massive sense of relief and empowerment as I experienced when creating this site.
I feel like I've (1) regained enough of my creative voice and (2) put enough of a distance between myself and the numerous overbearing interlopers that have come to plague the modern internet that (3) I am able to breathe again. Free at last!
Indeed, I think that any intellectually honest and creatively distinct human being needs this kind of healthy wide distance from any form of societal groupthink to stay intellectually and creatively healthy. The mind is like a living ecosystem that must be cultivated and cared for attentively. The garden of our mind is us: one and the same.
-
(#): I read a little bit more about HTML and did a bit more game design.
For fun, I also got a cheap $2 game called Dino Survivors on Steam. It is pretty fun and certainly worth the cost. I am still more interested in the other games I've mentioned recently in this journal/changelog (Moonscars, etc) though. Still, I like to diversify.
I recommend Dino Survivors if you want a game with a lot of fun for a small price.
-
(#): I received a package in the mail today containing a gift for a family member's upcoming birthday, which I am glad arrived. I hope they like it! ๐๐
I also went on a long walk outside, which is a refreshing change considering that during the winter I tend to go on walks much less often than in other seasons. Normally, during the other seasons, I walk out in nature at least a little while every day, but winter is less pleasant for that. It was good to go today though, with the temperatures being more comfortable than for many other days this winter.
Other than that, I mostly attended to many different miscellaneous tasks.
-
(#): For a change, I spent most of my free time today reading a novel I bought (one written roughly in the late 1990s to early 2000s era). Ah, peace and quiet and a good book! It is/was a wonderfully tranquil and nostalgic experience. ๐๐
I've always loved books and read a lot of them, but it's been several months since the last novel at least. In contrast, in recent years I've mostly read technical books.
I also invested a modest amount of time in reading more in-depth about HTML today.
- (#): I read more of the same novel from yesterday, which has been good so far. I only briefly worked on my game design today. I also worked my job, as usual.
-
(#): I added a minor "intellectual property" clarification to the policy page. I clarified that automated searching is allowed but not "chatbot"-like plagiarism.
I also read more of the same novel as yesterday. I didn't do much design work today.
More interestingly, today I was randomly struck by the following thought: Every person has connections to family (by definition, by being born) and within a family people generally tend to believe in each family member's capacity for change and to respect each person's agency beyond merely one-dimensional black-and-white terms (i.e. to be aware of the sentience underlying each person). Yet, too often society does not afford the same generosity of spirit and margin of error and awareness of sentience to strangers. However, if you think about it, such an attitude is only a matter of perspective. Every person has familial connections, and hence every person has that available viewpoint of agency for change from at least one person's eyes (ideally). Viewed this way, one may reduce one's prejudices towards others and be kinder.
- (#): Today was fairly uneventful. I read more of the novel I bought. It is actually a combination of three novels and thereby is over 900 pages long. Though I wrote some personal notes to myself I didn't do any real game design today. I've been pondering whether I want to try the upcoming 2024 7DRL or stick to my own schedule. Either way will be fine honestly. I do intend to use procedural generation regardless.
- (#): For my free time I mostly focused on reading the novel again. I also jotted down a few random thoughts in my notebook. Oh, and it snowed here today! โ๏ธโ
- (#): Another uneventful but pleasant day! I spent my free time reading mostly. Also: There was even more snow today than yesterday, a lot more. That has been a rarity in recent years, most likely due to global warming (climate change).
- (#): I'm over two thirds of the way through the novel now. I've enjoyed it. That (reading the novel) was once again the focus of my free time. I intend to finish it.
-
(#): There's nothing much to report today again!
I'll leave you with a random thought though: Boredom is fertile ground for creativity.
-
(#): I'm getting close to finishing the novel now. I may even be done with it by the end of the night perhaps. Anyway, like yesterday, here's another random thought:
Don't take things for granted. Live well. Respect what's good in your life and tend it.
- (#): I finished reading the novel today, sometime around noon. I also shoveled some snow and salted the ground, as well as did a few other miscellaneous things.
-
(#): I don't have much to say today. However, here's a random thought I had:
A path to great anger, if followed in reverse, may instead lead to great joy.
-
(#): The time flew by today even though I didn't intend it to.
Anyway, here's another thought I had, so I'll leave you with that much at least:
Above all else, a good editor should respect the authorial voice of any work they edit. The best in the work should be brought out, but the message should be respected. Much the same applies to other endeavors. True compassion respects agency.
- (#): I was diving into some desktop publishing tutorials today for something I have in mind. I also needed to help take care of an ill family member today some. Normally I use LaTeX for typography but in this case I may use Affinity Publisher.
-
(#): The main focus today was working on the document I was talking about yesterday. It is unrelated to my game design idea. The work went well overall.
That aside, I was struck today with a remembrance of how important the concept of the edge of chaos can be in understanding how to fully utilize emergent effects, which can be valuable for things like procedural generation and hence for game design too.
-
(#): I went on a nice serene walk today since the weather was warm enough today for doing so to be pleasant again. It was raining slightly the whole time, but I've actually always loved the rain and indeed I didn't even bring an umbrella.
Interestingly, I saw more fog today near the tunnel under the main road near where I live than I've ever seen before. The scene reminded me somewhat of the atmosphere of Silent Hill 2, though far more peaceful in this case, luckily... as far as I'm aware. ๐
I really love nature and going on walks and hikes when it is pleasant outside. I love to savor all the little details and nuances of nature and of life.
-
(#): Here's a thought of the day that popped into my mind this afternoon:
Question everything. See clearly. Act wisely. Patience pays.
No person is above meniality, nor below greatness. Weave both into the tapestry of one's choices. Such burgeoning diversity is inevitable: as essential to maximizing value as to nature's vitality.
-
(#): I explored some more game design thoughts. I also had a compelling idea for what kind of approach I'm thinking of taking for exploring watercolor painting more going forward (using Rebelle 7 for its wonderful watercolor diffusion simulation).
In both cases (i.e. for both game design and watercolor art) it's been a little while since I last dived into these subjects, because I've been doing a few other things in the meantime, as you can see from my recent log entries. I read a novel, for example.
-
(#): Today I've been doing more in-depth reading of HTML. You see, since early on in this process of creating a Neocities website I bought a giant HTML book and have been gradually reading my way through it to get a stronger sense of exactly what I can do with the HTML and CSS only approach I intend to use for my entire website.
The book is HTML and CSS: The Comprehensive Guide by Jรผrgen Wolf. It is over 800 pages long! I plan to skip the JavaScript part though at least. The book is reasonably good and seems fairly comprehensive. It is translated though, and has some flaws.
I actually already have experience working professionally with multiple programming languages such as C++ and C#. In fact, I'm a "language dilettante" and have explored many obscure and new languages too. However, I believe in a simple and streamlined approach to this website and have no interest in tracking users. I also prefer independent standalone programs over web apps as much as possible.
The less interdependent the software world is the better, generally, I think. Thus, using only plain HTML and CSS (with no dynamic website code) provides a wonderful way of making any documentation or thoughts I may I want to share available without breaking my principles. Besides, any software or other forms of dynamic content I create can simply be shared via download links with accompanying descriptions. That's better than making any form of web app I think. It creates a healthier tech ecosystem.
-
(#): Late yesterday night I finished the last of the non-JavaScript part of the massive HTML and CSS book I had bought. It feels good to have that done finally. The book had been lingering on my shelf for weeks after the initial burst of website edits. I had read through more than half of it by then, but only just recently finished the rest.
Anyway, I'm going to be helping family with some things today, plus whatever else.
- (#): I had a dentist appointment today, which went fine. I also played Moonscars and Moonring briefly. Mostly though, my free time was invested in reading more about art via some small ebooks I had bought a while back but hadn't read yet.
-
(#): I got a new screenless digital drawing tablet in the mail today! I already have a drawing tablet with a screen/monitor, but I had frequent problems with the Y-dimension (height) of the screen causing some art programs' user interface elements to get cut off the edge of the screen (thereby rendering them unclickable and sometimes unusable). Using the screen/monitor drawing tablet also made it much harder to maintain any good posture and having my hand covering what I was working on partly was a nuisance.
For a while now I have also had a super cheap tiny screenless drawing tablet too, but it was one of the bottom-of-the-barrel ~$20 ones. I had planned to use that one for everyday non-art use (e.g. digital handwritten notes) and casual sketchy work originally, because it was so small (modestly larger than an index card) that it could be kept right next to me at all times without taking up much valuable desk space. It worked but was too jittery with regards to its input and so I didn't end up using it much.
This time though I picked a drawing tablet almost perfectly sized to fit in front of my keyboard without getting in the way. The new one is a middle-of-the-road decent quality screenless tablet. It uses bluetooth too, so I don't have to worry about cables getting in the way anymore now either. I've tested the new tablet out a little bit and it seems great so far! I suspect the new tablet will be a much better fit for me than the other two were.
I've never had much trouble with hand-eye coordination and having the tablet always there right by my keyboard permanently going forward will reduce the mental/habitual friction against using the tablets more often. The fact that the new tablet's ergonomic situation on my desk will not strain my posture nearly as much and will also enable me to use keyboard keys much more naturally and often (instead of being stuck with mostly using tablet shortcut buttons) is also a big benefit. I'm excited to have it now! It should be super useful and fun!
-
(#): I've been working more on that document I mentioned a few days back, the one I'm using Affinity Publisher to make. I had some issues with the typography and typesetting I had in mind today, but eventually was able to reach a reasonable compromise that I was happy enough with to move forward with.
That document is the most urgent thing I have to work on right now, so it has been on my mind and also eating up time and mental energy I'd otherwise rather spend elsewhere. I'm looking forward to having it done so that I can move on.
As such, I wasn't able to test out my new wireless and screenless drawing tablet today more. I'm looking forward to when I can though, for watercolor digital art (etc). There's a whole bunch of competing priorities and interests I have to balance.
-
(#): I freed a tiny spider (probably a jumping spider) today that has been living in the glass housing of an old incandescent ceiling lamp in a hallway near my office.
I found him/her hanging out in the bathroom later today though, uncharacteristically lethargic. I've been wondering how the little thing has been surviving up in that light enclosure and the surrounding vicinity, since I hardly ever see bugs around the house.
I used a glass cup and index card and sat the spider down on the front porch rail near the bushes. Several seconds later it jumped away. Hopefully it lives more fully and happily out there in nature than where it was in the house.
I debated for a while whether to put the spider outside, since I wasn't sure whether the spider would actually like that (e.g. considering the cold), but overall putting the spider outside seemed more likely to be the most beneficial and kind course of action.
Most notably though, I was struck by the thought during and after this process that the spider's predicament is/was in a sense kind of like a microcosm or metaphor for how we sometimes get stuck in life and linger in false safety that harms us when a greater risk (via a bold change) would likely put us in much better circumstances.
As such, this encounter with the spider ended up also serving to remind me of the nuances and consequences of the nature of safety vs risk and the pitfalls either may have and the importance of living with at least a certain level of gusto and risk taking, on pain of life becoming like a cold glass prison of "safe" and corrosive complacency.
As such, analogously speaking, one is inspired to ask oneself periodically:
Have we become like the tiny emaciated spider trapped in a prison of false "safety"?
Is it time we freed the metaphorical and microcosmic spider that is ourselves from the glass prison of our present circumstances? What would be our equivalent of nature?
- (#): Tonight I did a bunch more work on that document that I need to get done soon. I've drafted most of it now, though there is still one more large section to do. It's been eating up a lot of what would otherwise be my free time lately, so I'll be happy when I am finally done with it. I did get extra sleep this morning though, luckily.
-
(#): Since the previously mentioned document is near enough to completion to alleviate most of my worries about getting the document done, I finally allowed myself some time to experiment with my new screenless drawing tablet in Rebelle 7!
Specifically, I made two highly textured abstract symbols designed to look like they came from some otherworldly arcane language. Each symbol is also supposed to loosely serve as a wistful metaphor or visual analogy, being subtly suggestive of the meaning each corresponds to, but in that distorted kind of surreal linguistic way typical of ideograms that still have some partial remaining correspondence with their original pictographic origins but which have been in some respects distorted since then.
That's the kind of aesthetic I'm going for in this case. I plan on doing a whole series of colorfully textured abstract symbols of this sort. It was a fun creative exercise! It has some overlap with conlangs conceptually. Look into that (conlangs) if you like the idea of designing new symbols for a fictional otherworldly language. I'm interested in that.
-
(#): For my free time today, I mostly relaxed and played a few nostalgic games.
I also wrote down a couple of ideas I had for game asset production, etc.
- (#): There's not much to report again! I was enjoying more nostalgic gaming.
- (#): It was another night of taking it easy. I'm near the end of the game now.
-
(#): I finished the nostalgic old game I was playing (Riven) late yesterday night.
Playing games from the earlier days of computing (e.g. the 1990s and early 2000s) has also reminded me of the wonderful merits and potential of some of the techniques that were used back then to work around the more limited computational power of computers of the time. In particular, pre-rendered graphics are strikingly efficient.
In games like Resident Evil 1, 2, and 3 (the originals); Final Fantasy 7, 8, and 9; Myst and Riven; and Legacy of Time, the use of pre-rendered static graphical backgrounds that dynamic gameplay elements are then displayed on top of enables these games to have stunningly beautiful high fidelity scenery that holds up even today in many respects and yet simultaneously imposes very little burden on the computer's processing.
Pre-rendered graphics make it possible to have photorealistic graphics on almost any computer, even if it is a "potato". Only image display and video playback is required. There are often so few objects in a scene that truly need to be dynamic that even software rendering can be enough to handle them easily and indeed was used.
The technique is much less commonly used in the modern era, due to computers now having such extraordinary graphics rendering capabilities. However, the potential the technique still holds both for eco-friendly gaming and for making games universally accessible to everyone regardless of their computer's power is fantastic.
I think it is also very telling of just how incredibly wasteful much of modern computation has become in recent years. Many games are probably wasting 95%+ of their computational overhead on re-rendering things needlessly. There is something beautifully tasteful and compelling in the unbounded yet essentially maximally environmentally friendly nature of the game design technique of pre-rendering.
- (#): I attended to some longstanding real-life issues I've been wanting to resolve for months and finally did today. Other than that, I read about watercolor more.
- (#): I made some more watercolor art today using Rebelle 7. I especially love how the 1st composition turned out. I used vector art to create an outline and then used Rebelle's stencil mode to fill it out using water diffusion to create texture.
-
(#): I experimented more with Rebelle, this time creating two small simple non-watercolor pieces since I hadn't made any artwork with any of Rebelle's extensive non-watercolor media yet until today (other than random test doodling).
For one piece I used the oil paint and acrylic paint simulator and for another I focused on deliberately abusing the smudge tool. I also did a third piece (though using watercolor), but with a lithography background instead of paper.
The results of the three pieces were ok, but I wasn't as happy with them as my previous few experiments. Oh well though. It was still worthwhile.
More interestingly though, I was afterward struck with the idea of using a vector art program to do outlining and sketching for future pieces and then transferring that into Rebelle to texture it via watercolor diffusion or whatever else I feel like.
I in fact already did that with one of my prior Rebelle experiments, creating the outline first in Affinity Designer and then transferring it over to Rebelle, and that was the one I ended up most happy with, perhaps in part because it ended up with such clean lines.
However, the experience of creating the vector outline/sketch using Affinity Designer was quite awkward, tedious, and slow. Affinity Designer's capabilities are pretty limited, though very performant and reliable.
Luckily though, I remembered I had bought a copy of a different (more flexible and featureful) lesser-known vector art program called Vector Styler. Vector Styler seems all-around a much better vector art program than Affinity Designer in terms of capabilities (though not in terms of stability/bugs). It is far more fun to work with.
In particular, Vector Styler seems much better for expressive and natural drawing and for arranging the composition to read better artistically. Thus, I am thinking I will use both Vector Styler and Rebelle together to play to the strengths of each one (Vector Styler for clean lines and expressing compositional interrelationships more easily and Rebelle for texturing, detail work, and finishing).
I'm excited to experiment more! I think it'll be a strong workflow for what I have in mind!
Vector Styler seems like a really underappreciated yet wonderful piece of software. Vector Styler has a really awesome range of features, though it would benefit from having fewer UI bugs and communicating information more clearly to the user. It'd be nice if it gave errors for invalid operations instead of silently not responding in a way that appears broken or confusing like it unfortunately currently frequently does.
Vector Styler especially seems to bug out when applying special effects or special operations upon any object that contains a hole. It should tell you it isn't applicable.
Anyway, I recommend trying out Vector Styler if you are interested in exploring much more expressive ways of working with vector art, especially if you like vector art in principle but normally find it too tedious to work with. Vector Styler seems especially good for expressive artistically versatile vector art, with less tedious node fiddling. -
(#): In an unexpectedly rapid turn of events, I've already started diverting my attention away from Vector Styler towards a quite unexpected piece of software.
Although Vector Styler has amazing features that offer a tantalizingly wide range of naturally artistic expressive capability and fun compared to most vector art software, it still seems far too buggy to be comfortable to use. It has improved, but not enough.
You see, I had picked up Vector Styler about a year ago, intending to use it, but abandoned it back then for being too buggy then too. There's been promising changes on that front and so I was hopeful (and half assuming) that the software was finally stable enough to not be overly frustrating to use, but alas.
Vector Styler is still so extraordinarily buggy (even for basic things like user interface elements actually activating when you click them) that it is hard to stomach. Oh well though, I'll just check into Vector Styler in the future to see if it becomes usable.
More interestingly though, was that a freewheeling exploratory tangent I went off on as a reaction to my frustrations with Vector Styler's abundant bugs eventually lead to a really great unconventional solution to what I have in mind.
I seriously considered two additional art programs today in the aftermath and eventually settled on the second one going forward.
The first was Clip Studio Paint (which is perhaps the most popular art program for illustrating anime characters). The reason why I considered Clip Studio (even though I don't have anime art in mind) is that it has really great line art support.
Though Clip Studio's vector layer and vector manipulation support is nominally weaker than traditional vector programs, it is exceptionally easy to work with lines and line art in Clip Studio and keep them clean. The subtle qualities of such things matter greatly.
For example, Clip Studio's vector path simplifier is among the most responsive and natural feeling of the paintable vector path simplification tools I've used. For another example, Clip Studio's vector paths also allow the use of arbitrary raster brushes. Just paint as normal in a vector layer and the stroke you make is editable as a vector line.
Clip Studio is hence a fair option for making the preliminary outlines I have in mind.
However, that's not the option I ended up settling in on today, which brings us to the most interesting part of today's journal entry! I've actually settled on QCAD.
I bet you weren't expecting that! QCAD is actually a 2D computer aided design (CAD) program designed primarily for things like mechanical engineering, architecture, interior design (e.g. floor plans), manufacturing, and schematics creation.
Why QCAD of all things when I am intending to ultimately make artwork? Well, though it seems strange at first glance, the reason is because QCAD has extraordinary support for constraint-based drawing that allows you to express very precise interrelationships between pieces of geometry very well.
Remember, the purpose of the program I am seeking here is to create things like sketches and outlines that I plan to subsequently bring into Rebelle to paint on top of and thereby create the actual finished artwork. QCAD's output will be temporary.
In other words, I intend to use QCAD to create rough blueprints that lay out (in a broad and rough sense) the compositional interrelationships of what I intend to actually paint.
I intend to use QCAD to create schematics that I will lay down as a background layer and then work on top of so that I can keep my lines and intended interrelationships among components precise, clean, and consistent. Pure art programs can't express precise logical constraints between elements nearly as well as 2D CAD software can.
I also have a highly technical background (such as having a computer science degree) and so this approach will also make it easier to play to a broader range of my strengths. I'm excited to finally have the ability to express the compositional constraints more freely and directly! It should be easier than doing it by hand.
- (#): I spent extra time hanging out with my family today, but did also find some time to learn more about QCAD and to post two new feature suggestion threads on their forum. I am really pleased by how wonderfully diverse the range of geometric constraints available in QCAD is. It is shaping up to probably be a fantastic tool for laying out my compositional intentions for my future art (plus other uses too). ๐๐
-
(#): I am really loving QCAD's ability to express a multitude of geometric relationships and constraints so effectively and efficiently. It's a breath of fresh air.
Conventional vector art programs (e.g. Illustrator, Affinity Designer, and Inkscape) give you so few ways of expressing precise interrelationships and constraints by comparison. Indeed, manually adjusting wobbly freeform vector paths until they actually look clean can be surprisingly tedious, time consuming, and fiddly.
QCAD has much fewer of those problems overall. Nonetheless, the biggest shortcomings of QCAD so far are perhaps its lack of boolean ops (e.g. union, intersect, and difference) for whole shapes and its lack of general purpose art features (e.g. it seems to have a small max line width, strangely). It is for engineering, not art.
However, these issues aren't really a prohibitive problem for what I have in mind, because I only intend to use QCAD for laying down the broad strokes of my intentions to guide me in my design. I intend to use it to create reference images to sit below the layer(s) I actually paint on in Rebelle, as I've alluded to before.
It also seems like QCAD's lack of boolean operations may not even be that much of a problem in reality because (1) I'm just painting over the schematic anyway, so I don't actually need the bool ops and (2) interior lines can be removed from any arbitrary shape in such a way as to emulate what you'd get from boolean ops anyway. So, there's actually no real impediment in that respect, except convenience and time.
- (#): There's not much to report today. My progress continues steadily. ๐
- (#): I've finished learning the basics of QCAD now. Thus, my attention won't be as narrowly focused on it as it was for the past few days. Onwards and upwards!
-
(#): I had an idea today for a simple wooden device that would help fix a problem around the house, and I realized that I could use QCAD to create a design schematic for it now. That's a nice coincidence! Such fortuitous timing!
I learned QCAD initially solely so that I could have a more effective tool for precisely laying out interrelationships between planned objects in painting compositions and for therein creating clean lines and consistent intended distances within those lines.
However, it is interesting (and fitting) that I would immediately thereafter get an idea for a small household engineering project right after learning QCAD. The project should also serve as good practice for cementing knowledge of what I just learned about the basics of QCAD. So, that's a good bit of serendipitous or synergistic value!
-
(#): As you may have noticed, the other pages of this site change much less frequently than this one (the log) so far. That's because this journal & changelog page is a daily commitment I've made to myself as a way of ensuring that I get my thoughts down so readers of my site can know what I'm up to and more importantly so that I can coincidentally share useful info and ideas here with them whenever inspiration strikes me. I really hope it helps and enlivens other people! This page is thus a kind of my "micro blog", though different in format and intent than many such pages.
Anyway, in other news, I also submitted several features request to the developers of QCAD today and I am hopeful that those feature ideas will get implemented! QCAD is shaping up to probably become one of my favorite programs! I really admire how well designed its user interface and constraint-specification capabilities are.
QCAD to me is kind of like the 2D vector graphics analog of Blender in terms of how it feels, though QCAD is intended for engineering and planning rather than for use in art directly. That (engineering, architecture, etc) is its main intended audience anyway.
The hotkeys in QCAD even feel similar to the hotkeys in Blender, though it is far easier to immediately guess what things do when using QCAD compared to when using Blender. Blender (though great) can be more opaque and mysterious than QCAD in terms of guessing how to do things and trying to navigate the interface in an natural and exploratory fashion. QCAD's interface and design is truly a thing of beauty!
-
(#): I've added three new recommendation links (specifically for Rebelle, Vector Styler, and QCAD) to the recommendation link page and also made some minor adjustments to the main index (i.e. main directory) page.
I also switched all the recommendation entries over from using a colon based format to using only natural prose-based sentences. That format is a bit more flexible!
It has been a while (at least several weeks, but probably more than a month or two) since I last made a change to a page other than this Journal & Changelog page you're reading right now. That is largely because I've been learning lots of new things. You can see from my many journal entries that I've actually been quite busy all the while.
- (#): I created a QCAD schematic for the silhouette of a watercolor Rebelle art piece that I am going to color and texture in the next few days sometime. This will be my first official QCAD based art piece! I had to fix some errors, but I figured it out.
- (#): Mostly today I was elaborating on various notes for some recent new ideas I've had, so that I can reobtain a clear sense of what the ideas are later on.
-
(#): Tonight I mostly (1) did some more research on one of my recent project ideas, (2) talked some with a very knowledgeable and helpful QCAD user, and (3) chatted on a different (unrelated) web forum a bit. All in all it's been a good night!
I still haven't got around to watercolor texturing my QCAD composition plan that I mentioned earlier that I had finished, but I probably will within the next few days.
Anyway, thanks for reading and for visiting my website! Have a great day/night/etc!
- (#): I posted a hotkey memorization self-quizzing Anki card deck that I made onto the QCAD forums for everyone's benefit, and I did indeed also finish coloring my first QCAD-Rebelle composition! Experimenting with hybridized art styles is fun!
-
(#): With luck and committed effort gracing my mindset today, I was inspired to create another art composition schematic (now my second QCAD-based art piece) and actually made great progress on it too! Indeed, I would say that most of the schematic is done already! It's been a busy but creatively productive day for me.
Oh, by the way, I'm not sure when I'll be posting these art pieces online. I'll certainly share the ones I like enough at some point, whether directly as images to be browsed or incorporated into a project such as a game or other piece of multimedia work.
In those regards: A key aspect of this website and how I manage it is that I build it brick by brick at my own pace, in a way that feels right for me. I have had previous websites and previous projects where I didn't follow that natural pacing policy and those burnt out. I'm striving to ensure that that won't happen this time around though, because I'm setting both strong boundaries and strong commitments, in a balanced and sustainable way, a way that I am happy keeping up with in perpetuity. ๐๐๐ฑ
-
(#): I finished the QCAD composition outline/plan that I mentioned yesterday. I also browsed around the art software ecosystem on a whim to see what other things have changed lately and ended up getting sucked down a tangent along those lines for hours. That tangent was interesting, although not what I intended for my day.
I sort of lost my grip on my time today overall. I'll try to be more alert tomorrow.
Other than that, I don't have much I feel like reporting. Good night and sleep well!
-
(#): I made a minor update to the Lua programming Anki deck available on the My Creations page. It makes various subtle corrections and clarifications.
I also spent some time today playing around with Wings 3D, which is interestingly the closest modern still-maintained inspired-by descendant of the 3D modelling software that was used for games like Final Fantasy 7, MediEvil, Super Mario 64, and Crash Bandicoot. The name of the 3D modeller used for all of those was N-World/Mirai/Nendo.
Wings 3D uses the same heavily context menu based workflow, which has the advantage of greatly reducing the memorization burden compared to most 3D modeling software. Wings 3D is thus easier to remember after periods of disuse than Blender.
Wings 3D doesn't support animation though, nor does it have good support for texturing either. It is focused on just box modelling and subdivision modelling essentially. Luckily, Wings 3D is free and open source, so give it a try if you want to see roughly what the workflow that was used to create those old classic games felt like! It feels comfortably lightweight: very low mental overhead, very discoverable!
Incidentally, if you are interested in 3D modelling editors that are easier to learn and to work with than Blender (at least in terms of up-front or short-term burden) then Crocotile 3D is another good modelling program.
Crocotile 3D is designed for pixel-art-inspired 3D modelling and PlayStation 1 era 3D artwork. Crocotile 3D enables you to do 3D modelling without thinking about UV mapping nearly as much. It lets you treat 3D more like a tile based workflow, like what you'd be more used to if you're coming from 2D pixel art based environments. Croctile 3D is paid, but is very cheap compared to most 3D software.
I'm also going to work on my 2nd QCAD based composition again today, though I think I'll try texturing it with my copy of Paintstorm Studio instead of Rebelle this time, just for variety. Paintstorm Studio is one of the cheapest digital painting programs around but is very capable and has a very well-designed user interface and some other good features. I find Paintstorm's multi-coloring brush settings overwhelmingly easier to use (and indeed all-around better than) Krita's multi-coloring brush.
In fact, I much prefer Paintstorm Studio over Krita in general. The user interface of Paintstorm Studio feels far more intuitive and expressive than the user interface of Krita. Paintstorm is also my goto program for making creative seamless textures from scratch (which are subsequently useful in both 2D and 3D contexts), since its seamless mode is so useful and intuitive and its brush variety helps for inventive seamless texturing too.
If you want an extremely affordable yet still very expressive painting program that is capable of some cool brush settings and effects that are awkward in other programs, then Paintstorm Studio is a great choice. I recommend giving it a try. It's so cheap that there's practically no reason not to add it to your available art software arsenal.
Anyway, that's what I have to say for today. There's a good amount of fun stuff you could explore in the above! Some of these things are unknown to most people. ๐
-
(#): Today I did indeed finish coloring my 2nd QCAD based art composition. As planned, I did use Paintstorm Studio to good effect in that regard, but halfway through transferred the work over to Rebelle to finish giving it a sense of texture.
Rebelle's watercolor diffusion simulator just makes creating natural textural color variations so much easier, hence I couldn't resist finishing the piece up that way after laying down some base paint in Paintstorm.
I also messed around in Wings 3D a bit more and also played with my old copy of 3DCoat some as well. I've been in the mood for experimenting with more of the various art programs I've gradually accumulated over the years.
Anyway, that's it for tonight. Goodnight all!
-
(#): My creative time today was spent on primarily two things:
(1) I touched up some of my extant Rebelle art by using Rebelle's selection feathering command to prevent unwanted "color halo" artifacts from appearing along the transparency boundary of the intended silhouette of the depicted object(s).
(2) A new music composition idea has arisen in my mind and I spent an enjoyable few hours picking out instrumentation choices for the upcoming piece. I quite like the set of sounds I've arrayed for the purpose and I think they well sound good together. I'm looking forward to working on it! ๐น๐ผ๐ถ๐ต - (#): I mostly focused on the music composition I mentioned yesterday. I removed a few of the instruments from the set I had selected yesterday because they didn't seem to fit well with the motif I've built up so far and don't seem likely to in the future either, given the direction the composition is now heading.
-
(#): The other day I stumbled upon a quite interesting web revival adjacent idea from an unusual obscure source ("Lab 6"): using PDFs (specifically PDF/A, the non-interactive archival version of the PDF file format) as a way to escape from the often very harmfully hyper-interdependent nature of the modern web "living web standard". The article of note is "De-urbanising the web: all hail PDF".
Much of the modern web has become a mess of bloated and/or user-hostile overengineering and shadowy surveillance machinery.
Most websites have to put enormous effort into forcing web browsers to display the site's subject matter as intended. Ironically though, web "standards" were actually originally designed primarily around the idea that only the substantive aspects of what is being communicated (or offered) matters and that how to display each website should be mostly left to each viewer's preferences and browser settings.
Websites designed to be completely agnostic of style and aesthetics are now a tiny minority of all sites in practice. Even my own website here (though far more on the "substance over style" side of the spectrum than most websites!) still mostly dictates its own appearance (except for the reflowability of text).
A huge part of the effort now made in creating websites is actually fighting against HTML's original design goal of being mostly independent of aesthetics and primarily about communicating information well and sharing resources freely and efficiently. This mismatch is where much of the unreliability, instability, and overcomplication of the web ecosystem now comes from.
The web has also had an enormous volume of shady cruft added onto it too, such as tools for unethical business practices revolving around user tracking and mass social manipulation and so on.
Consequentially, the web has become caught in a cycle of endless churn that has resulted in web content becoming extraordinarily brittle and unreliable. The web has become the exact opposite of standalone essentially. The large companies in control of the web and the major browsers can arbitrarily break or remove features with no regard to what users want or for what is actually good for humanity or human dignity.
Indeed, from day one of my creation of this website one of my most overarching goals has been my stance that the contemporary software ecosystem has become too interconnected and interdependent and that software (and computer hardware too) is at its best when it is designed to be as standalone and independent as reasonably possible within the constraints pragmatism.
That's why you'll never see any JavaScript running on this site (unless my web host does so without my knowledge at some point). Indeed, you'll never see any program running on this website at all. This is strictly an HTML and CSS only site (by design). If I want to offer dynamic content it will always be in the form of downloadable standalone files (and not based on "web tech" either).
As such (circling back to the subject I began today's web log entry with), when I encountered this idea that perhaps the web should be based primarily on PDFs and read through the reasoning I knew I had found a kindred spirit in the author of Lab 6's PDF-based internet proposal.
PDFs ensure that the visual layout and content that is published remains stable, predictable, and resilient to future changes. PDFs don't break every time some random third party person or organization decides to change a software framework against everyone else's will or modifies some network hardware infrastructure unexpectedly, unlike the web.
PDFs are anti-fragile: much the opposite of the web. PDFs are standalone by design. PDF are far easier to reliably save and access again in the future, even if the source the PDF originally came from is later destroyed or if computer "updates" and "upgrades" have changed the surrounding software ecosystem. The web in contrast is so interdependent that huge swathes of it are frequently destroyed by arbitrary changes outside of the control of the people being harmed by those changes.
Reading Lab 6's proposal for a PDF-based internet struck me as a smart way to further decrease the power of the corrupt institutions currently controlling too much of the net while simultaneously increasing user freedom (and thus human dignity) by making the way one provides content even more standalone and independent.
Don't get me wrong. I'm not going to switch my website here over to being a PDF. What I am going to do though is whenever I post major articles and useful reference documents then I will often release them as downloadable PDFs, much like the two PDFs about music tuning frequencies I've already made available on this website since the earliest days of this site's existence.
This journal and changelog will continue to be formatted as HTML and CSS and likewise for the other major parts of the website. Individual special-purpose articles and reference documentation though will often be PDFs. So, in other words, the static HTML and CSS will be a hub for navigating to whatever standalone resources I make available, whether those are PDFs or music or art or games or programs or whatever else I feel like making available.
This isn't really any different from what I was already doing before (yet), but rather it is an increased solidifying of my approach to ensuring my published work on this site will be as standalone and as user-friendly as possible, unlike so much of what the web has become.
Relatedly, I also had the idea of posting downloadable archives of the entire website at some point that can be periodically generated offline and then made available online. That would make downloading my site much easier for users than saving individual pages. Likewise, perhaps I can also generate a PDF version of that (of the whole site) for user convenience.
On an unrelated tangential note though: When writing this web log entry I accidentally wrote "PDA" as a typo once, but that incident also serendipitously reminded me of PDAs and how much I preferred them over phones.
PDAs were like much more limited pocket computers, essentially like phones but with no internet connectivity and no tracking or psychological manipulation mechanisms built-in. They were basically what phones would have been like if certain unethical companies hadn't decided they'd rather systematically exploit the rest of humanity by invading our digital personal space as much as possible and monetizing it.
PDAs were essentially phones minus the most harmful parts. Companies pretty much stopped producing them though after the advent of phones though and I still miss PDAs. The were a much more wholesome form of pocket-sized computers!
Anyway, that enough web log writing for me today! Have a magnificent day/night/weekend everyone!
-
(#): I added three new recommendation entries to the recommended link page. Two are about the fragility of the web and about how important archiving and backing up your data and protecting your boundaries and your creative/intellectual freedoms is. The third is a related link to a very useful data backup tool (Free File Sync).
I also am going to do some more music composition work today! ๐น๐ถ๐
-
(#): I finished my new music composition (The Murmur of Moss) yesterday and posted it on the My Creations page! I like the way it turned out. ๐
It was loosely inspired by the sounds (ambience and soundscape) and music of Riven (1997) but ended up going in a different direction. I posted three different versions of it: full, ambience only, and melody only. That way you can compare and contrast the two different layers and how they sound combined.
Posting multiple versions of a song like that also reminds me: my very first music composition ever was also created with three different versions, each with a different instrument playing the melody! Maybe one day I'll post my old music compositions too!
That was a cool trick for getting three distinctive versions of the same song without much more effort! Thus, I am reminded of that approach and I think I may try it again for my next music composition! In the meantime though, I'm back to focusing on other things at present, until the next music composition mood randomly strikes me. ๐๐ป
In much less exciting news though, I'm planning on filing my taxes today. ๐ง๐ต๐๐ธ
- (#): My main focus today was cleaning up some of the files on my old backup hard disk drives, which is something I've been meaning to do for quite a long while but have been putting off. I did go on a nice walk outside in the neighborhood though. ๐ฒ
- (#): I was doing a bunch more hard drive reorganization and cleanup today, so there is not much to report again. Have a great night though! ๐
-
(#): I finally finished handling my hard drive reorganization today. There were a lot of things I had to account for to get it cleaned up the way I wanted.
Oh, and yesterday I posted a thread about my new music composition (The Murmur of Moss) on a web forum, but neglected to mention it.
-
(#): I mostly used my free time today to experiment some with Lua-based game dev libraries and engines. I've been planning to use Lua for my next game dev project, even though professionally I used to use C and C++ for that kind of thing.
The main candidates I'm considering are Love2D, Solar2D, and Defold. I also looked at Gideros, but I feel like if I wanted something like Gideros then I'd pick Defold instead.
Along these lines of consideration, I did a couple of Defold tutorial projects today. I like its cross-platform packaging ease very much and its editor seems useful too. However, Defold's style of code seems awkward, overengineered, and unnatural.
I'm in the mood to be more in control of the flow of the code and of how I express myself and thus I'm currently most leaning towards using Love2D. That's been the library I've been learning towards for months now, considering how I will build my project, but today I just felt checking my options more carefully again.
I'd like my choice to also support creative coding, and thus that's another reason why my instinct is towards Love2D. I want to make code that fits my own mental model instead of whatever (often bloated) mental model an engine programmer thought was "best". Rigid assumptions in an engine feel stifling. Lรถve seems more free of that.
Anyway though, have a great day/night everyone!
-
(#): Today was another busy day exploring my idle whims and curiosities.
Though I've mostly been thinking of using Lua and Love2D for my next game project for a few months now, today I was struck with an adventurous spirit to perhaps use something much more obscure and unconventional this time! ๐๐
I've messed with quite a few lesser-known languages over the years, but in this case (for what I have in mind and the old school rustic game dev feel I want) my explorations today led me to the Lobster programming language and since then I am inclined to give it a try! ๐
Thus, I plan to do some tutorial programming work in Lobster tomorrow to test the waters and see if I want to embrace using it for my next game dev project instead of Lua, for something a bit fresher and more unusual! ๐ฑ
Like yesterday, I again intended to check on the web forum thread about my music, but I have once again run out of time and must go to bed within the hour. I will check back there tomorrow, if all goes according to plan! ๐ผโณ
-
(#): I did indeed check the web forum thread today and all is well (as expected), though apparently that subforum doesn't get a lot of traffic. I really enjoy creating and sharing things like this, especially if/when it is received by a philosophically compatible environment (community) such as the subset of the web revival movement that stands bravely with artists and against exploitation by AI.
I did play with the Lobster programming language again some today and also submitted some simple typo corrections to their documentation. It seems like a really tastefully designed language and the tightly integrated multimedia features make it kind of like a game dev and creative coding oriented language.
As for what programming language and library/framework/engine I will be using for my gradually upcoming game dev project, I have still yet to decide. There are many pros and cons to each choice and many wonderful avenues of creative opportunity.
Today I've also been weighing Love2D, Defold, SFML, and SDL against each other in my head too. There are also many other good options of course (both large and small).
- (#): I contemplated my programming language and library/framework/engine choices again some today and also played around with the Lobster programming language again some. I also submitted a fix on the Lobster GitHub repo for a bunch of numeric warnings in the samples directory. I'm looking forward to getting back into the swing of creative coding, no matter what path I choose! ๐จโ๐ป๐๐ฅ๐๐ฎ
-
(#): In the first half of the day, I finished the rest of the Lobster programming language tutorial game and then also submitted a couple typo fixes to Lobster's GitHub repo. It's quite a nice little language and I really admire the author's breadth of knowledge and wide range of creative experience across games, tools, and programming languages! That greatly increases one's confidence in the capability and future of the Lobster programming language and I'll be keeping an eye on it!
In the second half of the day, I somehow found myself going down a tangent on the subject of green computing and how to minimize the energy consumption of computers and software. That led me to a great academic paper comparing the energy, time, and memory costs of a wide range of different programming languages. The research paper originates from a computing research group from Portugal evidently: The Green Software Lab. The paper is a great read and the comparisons embodied in the data tables are especially illuminating. I recommend giving it a read if you are into that kind of thing, like I am!
Anyway though, the research paper has some startling stats in it that give you a much better sense of how big the energy gap actually is between different programming languages and such. Here's some examples:
On average, compiled languages consumed 120J to execute the solutions, while for virtual machine and interpreted languages this value was 576J and 2365J, respectively.
Grouped by the different paradigms, the imperative languages consumed and took on average 125J and 5585ms, the object-oriented consumed 879J and spent 32965ms, the functional consumed 1367J and spent 42740ms and the scripting languages consumed 2320J and spent 88322ms.
The CPU-based energy consumption always represents the majority of the energy consumed. On average, for the compiled languages, this value represents 88.94% of the energy consumed, being the remaining portion assigned to DRAM.
...the most energy efficient language in each benchmark is almost always the fastest one...
On average, the compiled languages needed 125Mb, the virtual machine languages needed 285Mb, and the interpreted needed 426Mb. If sorted by their programming paradigm, the imperative languages needed 116Mb, the object-oriented 249Mb, the functional 251Mb, and finally the scripting needed 421Mb.
To put this in perspective 1 joule of energy is approximately "the amount of electricity required to light a 1 watt LED for 1 s" or "the kinetic energy of a 50 kg object (e.g. human) moving very slowly - approximately 0.72 km/h". Inefficiencies add up fast!
I care quite a bit about efficiency, the environment, and ethics. Reading this academic paper has thus inspired me to lean much harder in a specific direction now regarding my options for my upcoming game dev project I've mentioned:
I'm now planning to use SFML and C++ for my game.
Granted, if you read the paper you'll see that the most efficient language was actually C, not C++. However, I'm going with C++ and SFML because the style and clarity of code via SFML instead of SDL seems more well-suited to me and what I'm feeling like doing. Besides, I intend to use C++ in a very "C-like" way, by which I mean I'll mostly use C++'s extra features for reusable data structures and higher expressiveness but will mostly be minimizing OOP within the constraints of pragmatism, yielding greater efficiency.
C++ is the language I used professionally back when I was working in a AAA video game development company, but I've been avoiding it for a while to an extent. However, now that I have seen the magnitude of the energy waste of many other languages so clearly laid out before me in this paper (e.g. ~70 times less energy efficient for interpreted languages) then I feel compelled and duty bound by my own principles to implement my project in a way that's compatible with green computing and thus (weighed slightly by personal preference against just using C) I've now directed my sights and plans to SFML and C++. Plus there's art & audio production to do too!
It's good to have clarity about what I'm going to use for the project now! I'm glad to have stumbled upon that energy efficiency research paper randomly! ๐๐ฏ๐ฑ
Anyway though, have a great night everyone and sleep well! ๐ด
-
(#): I had to take my car in for repairs and inspection today and it took quite a while! I spent much of the time there in the lobby quizzing myself with C++ questions, using the most precise and comprehensive C++ programming quiz app I've ever found!
I'm in the process of refreshing my memory of the C++ language and its (very many) subtle nuances, since it has been a while since I've used it professionally. C++ is known for being a more challenging language than average to work with, but after seeing the energy costs of other choices laid out so starkly in the article I read (and mentioned in my log) yesterday I am suddenly completely fine with accepting that burden, indeed even proud to bear it. It's my pleasure to make a difference to the environment! ๐๐ฑ
- (#): I've been reading more about ISO C++ today some to refresh my memory more as well as to start getting more of a grasp on C++20 (which I've not used yet, in contrast to C++17 which I have used). I also read some about OpenGL to start refreshing (and expanding) more of my memory of that too.
-
(#): Today was all about C++ and Batch (CMD) scripting. The C++ was a continuation of my studies from yesterday. The Batch (CMD) scripting is because I plan on also creating some simple scripts to help with builds, config, distribution, and/or other utilitarian processes for anything I create.
Unlike PowerShell scripts, Batch files can be run by simply double clicking them (by default). That makes Batch scripts more helpful for end users for setting up their system faster if you can manage to create the same effects with the (in some ways more limited) facilities of Batch scripting compared to PowerShell's capabilities.
- (#): Though I got a bit distracted with other things, I did find some time to study more C++ and SFML today again. I also briefly did some Batch/CMD studying too.
-
(#): There's not much new to report today! I studied SFML more again. For fun and variety though, I read some of the C89 standard ! The C89 standard was written and published back when the C language was standardized only by ANSI and not ISO.
The C89 standard is a lot shorter and nearer to the languages conceptual and idiomatic origins and thus perhaps reading the very first 1st C standard (C89) will give me a more natural sense of the deeper nuances of the C programming language's underlying foundational nature. I've always been the type who likes to understand things genuinely rather than just on the surface! ๐ง๐ฌ
- (#): There's not a lot to say today. My studies continue as usual. Anyway though, I hope you all have a pleasant upcoming week!
-
(#): I've finished one of the books I've been reading through today, which means that my time will be available for more than just studying tomorrow (in contrast to the past few days), which I'm glad for.
As for the C89 standard, my plan is to read it very gradually, at a rate of about 2 pages per day. Thus, that book in contrast won't pose a big daily burden, but will be ongoing for quite a while. Spreading challenges out like that is a great pacing technique!
Most importantly, I hope to do more work of a creative nature in the next few days!
-
(#): I did some work setting up my SFML project library linking and build system to suit my preferences. I also hung out with my family longer than usual at dinner tonight and the conversation was lively and cheerful!
Anyway, best of night to you all, as always! ๐ค๐
PS: As a personal victory, I also prevented my attention from being derailed from my current project intent today! Commitment is (ironically) often the gateway to freedom!
-
(#): I worked with SFML some today but mostly ended up studying more Batch (CMD) scripting because I felt like it. Batch (CMD) has some rather quirky programming idioms (ones that feel organically home-made and idiosyncratic) and makes me a bit nostalgic for the days of MS-DOS and Windows 98.
Relatedly, I also went on a brief tangent reading about a few less known (not Windows, Mac, or Linux) operating systems: ReactOS (a Windows 2003 inspired OS), FreeDOS (an MS-DOS emulating OS), and Icarus Desktop (an Amiga emulating OS). You may be interested in those if you are into retro computing (which many people reading this website probably are)! I still personally wish Windows' user interface was still more like Windows 98 and that they'd stop randomly deleting or obscuring features and giving users less and less control of many things with each "new" Windows OS.
- (#): Somehow it felt like a slow and frustrating day and I felt off for the greater proportion of it. I was kind of stuck in my thoughts. Oh well though, it happens.
-
(#): I came up with some new Batch (CMD) scripting related ideas today (and also studied the language a bit more), as before.
However, more interestingly, I went down a fun tangent reading several interesting articles on two other programmers' blogs: Richard Mitton and Yossi Kreinin. I recommend browsing their blog post archives and reading a few of the more interesting-sounding posts! They are very authentic and speak from 1st principles!
Oh, and that reminds me, yesterday I also read an interesting article from Yukari Hafner (Shinmera) about how much of "information hiding" in programming doesn't actually accomplish much. It's kind of a partial "the emperor has no clothes" confession against the grain of conventional software ideology. I like it! ๐
- (#): Another interesting project idea occurred to me, but I don't know if I'm going to do it. I've got so many ideas for things I've accumulated over the years but only so much effective time that I can allocate to those ideas, especially considering I tend to fixate on quality a lot and my time usage could be more efficient in that regard.
-
(#): I stumbled upon some more interesting obscure operating system related stuff today. A healthy diversity of ideas helps keep oneself clearsighted and fresh!
First, I encountered the term "unikernel", which apparently is an approach to operating systems where you bind application software much more tightly to the operating system (via static linking) so that the intermediary communication, task sharing, and security overhead of the operating system is reduced or eliminated. MirageOS seems to be one of the most prominent examples.
Second, I also encountered Ironclad, which is a partially formally verified operating system (i.e. is designed to make many bugs provably impossible to occur, besides physical damage and any other physical things that software can't control of course).
- (#): I've been busy reading about things of interest to me today. That's all I've got to say tonight! Thanks for reading and I wish you all well as always! ๐
-
(#): I studied more Batch (CMD) scripting today. Anachronistic as Batch may be, it is still better for distributing scripts to end-users for easier setup of things than PowerShell since Batch files can be double-clicked to activate them (just like EXEs can).
In particular, I've been reading a fairly long book about Batch scripting. It has been informative but I am looking forward to being done with it within the next few days since it is quite dry and limited compared to other systems and not super interesting. Nonetheless, I know that I intend to use Batch for an upcoming project and so I am committed to finally getting a better grasp on it despite its oddities. Goodnight! ๐ด
-
(#): I finished reading that big Batch (CMD) shell scripting book today. It's good to have it finished, since it was kind of lingering in my subconscious as a todo item and hence fuzzing my focus to some extent. I also was reading more about low-level programming in general today, plus a few other miscellaneous things.
I know I haven't done much artistic or musical stuff in the past few weeks, but my mind does tend to run in streaks like this and in that respect I'm currently locked into my "study and digest large volumes of technical information" mode. Who knows when the balance will shift back the other way again? I don't. I just know it eventually will, as is inevitable for my current trajectory. My technical and artistic/musical sides are kind of like yin and yang in that sense (the balance shifts often) I suppose one could say.
-
(#): There's been a big change in my game project plan by the way, which is that I'm now planning to actually use Rust and one of its libraries (which library is not yet determined) instead of C++ and SFML.
I've been thinking about this on and off for a over a week (maybe two) and I've decided to make the switch going forward, even though my professional experience is more in C++. There are several reasons why, but mostly it is because:
- Rust code often runs even more efficiently and performantly than C++ and hence is even more aligned with green computing and protecting the environment. I care deeply about matters of ethics and responsibility in computing, and so the fact that this better prospect exists matters to me. It's hard for me to ignore that.
- C++ has many suboptimal qualities and as I've been working with it again recently I've constantly had a feeling in the back of my mind of really wishing I was working in a different (more expressive and clean) language. C++ feels stifling compared to more modern programming languages such as Rust and other languages (mostly).
Those concerns were weighing on my mind and deflating my motivation and energy when I was working with C++ and SFML and switching to something fresher like Rust is more inspiring and also wiser in the long term with the way things are going (both for the project and for professional outcomes in general too).
I'm not going into this switch to Rust blind though or merely on hype. Don't worry. I've actually already read an entire Rust introduction book a couple years ago (and done the corresponding exercises) and I've been aware of the language and following it since as early as ~2013, when far fewer people even knew about it!
I'm also looking forward to being free of C++'s nightmarish build dependency ecosystem (e.g. CMake). C++ makes you afraid to try things, whereas Rust is the opposite.
So, that's all I have to report for today! Good night everyone! ๐ฆ๐๐ด
-
(#): I mostly studied more Rust programming today. I've been reading through a new book I bought about it (Rust In Action) to refresh my memory and broaden my skills since it's been a couple of years since I played with Rust last. ๐
๐ฆ
Also, today was nice outside and so I went on a good walk, as I do on many pleasant days, though I seldom note it here in the log. I love nature and find that walks are very clarifying to my thoughts and such. Anyway, have a great day/night/etc all! ๐ฑ๐
- (#): I'm going to skip on my log entry tonight to save myself a bit of time for other things. My studies continue though, as usual! Goodnight everyone!
-
(#): Oh! I actually forgot to post a log entry on this day (an extreme rarity for me)! This was easter and I was hanging out with my family and helping with many things. Later on, I laid down on my bed "for a bit" but ended up falling asleep for a few hours and then later went to bed for real, and somehow in all that I forgot to post a log entry. Sorry about that for anyone who was expecting one!
Anyway, happy easter! ๐ฅ๐๐
-
(#): I'm taking tonight off again to give myself a bit more time for other things!
Have a wonderful evening! ๐ค
-
(#): I found out something quite unexpected today: There's apparently a little-known programming paradigm known as "function-level programming" which is NOT the same thing as the (much more widely known) functional programming paradigm.
There doesn't seem to be much info about the "function-level" programming paradigm in contrast. The Wikipedia page has some cursory/fragmentary commentary on it but not enough to make the implications entirely clear. Apparently, the programming language J fits the category (and is also incidentally an array programming language, though I'm not sure how orthogonal that is to "function-level programming").
This also reminds me of tacit programming, which is another interesting programming technique (or pseudo-paradigm perhaps) best embodied by concatenative programming languages such as Forth and Factor. They're worth checking out!
The community responsible for Factor also has a great website listing many known examples of concatenative programming languages that exist.
For many years now I've been fascinated by the various programming paradigms and how significantly they can completely change how programming feels!
Anyway though, have a great night friend! ๐๐๐ค
-
(#): Oh, and there was another fun fact I found out yesterday that I neglected to mention. Did you know that the Haskell programming language is a descendent of an earlier (similar) language named Miranda? More interesting still, apparently Miranda had what some considered to be a cleaner syntax and even a few features that Haskell still doesn't have (although Haskell is generally more powerful, so I've heard).
That being said, I have very little experience with either language. I messed around briefly for a day or two with Haskell several years ago, but didn't go much further with it than that. The language has too much syntax (hence arbitrary stuff that has to be memorized) for my tastes and lazy evaluation makes it too unpredictable for truly reliable multimedia programming in contexts such as game dev, though Haskell is otherwise an interesting programming language.
Anyway, I don't have much else I feel like saying today. Things are continuing as usual: quietly but steadily, though with me sometimes overthinking things to my detriment. Oh well though, I'm putting earnest thought and effort into everything and so I shouldn't be too hard on myself probably. I am trying to be more decisive and efficient though!
All that aside: Have a wonderful evening anonymous internet reader! ๐
-
(#): I stumbled upon a most unusual article on someone's blog today! It is an article where the author (Linus Akesson) is arguing against using syntax highlighting, which is not something you hear very often since most programmers don't question it and just assume as a given that syntax highlighting is good.
The author has an interesting first principles based perspective on it! I enjoy reading opinions that are distinct from the norm and I think reading them and considering them authentically helps keep one's mind healthy and helps reduce one's chances of operating under potentially false assumptions.
Incidentally, over the many years of my spelunking in code and exploring different programming languages, I've gone back and forth on using or not using syntax highlighting. I think perhaps it depends somewhat on context. Sometimes it seems to help, but sometimes it is counterproductive. Currently I've been using no or very little highlighting again and have been enjoying the lack of noise that minimizing it can bring.
That's my comment of the day! Thanks for stopping by! ๐ก๐ข๐๐
-
(#): You know, I've been thinking... I really love the aesthetic of janky old typewriter printed documents, like what you'd imagine a writer would have hand-typed into a manual typewriter before computers ever existed (or in the early "twilight years" of computers' existence, when people still used typewriters for a while).
I've wanted an actual practical retro typewriter word processing program for a while now, but the problem is most (all?) of them seem to be designed as jokes (heresy!) or don't have enough features to be usable for real work.
Barring that, I at least want fonts and paper-textured backgrounds that capture that authentically janky typewriter aesthetic well together. Most such fonts though are missing some common characters and thus end up not usable in practice. I want that retro typewriter in an actual usable package. You know what I mean? I want clunky old computers too, like a Windows 95 or Windows 98 machine. I like the freedom and homey feel that the older platforms and mediums of expression like that had.
I did find a pretty nice janky typewriter font today (or yesterday?) at least though, which is named "Kingthings Trypewriter 2" and gets the aesthetic pretty close. Maybe I'll use it at some point to make a retro document of some kind. That could be fun! ๐ฅณ
I also want an old school dot matrix printer... not the kind that tries to eat your coworkers like in Yuppie Psycho (which is a wonderful documentary on what it sometimes feels like to work in the tech industry, by the way), but an old school wholesome dot matrix printer with those dot-riddled tracks on each of the two sides of the paper that comes out in one giant scroll and that you have to manually tear off (very satisfyingly, like popping bubble wrap) after the document is printed. Mmmm... now that's the way a printer should be.
Alas... my sweet retro jank, how I miss thee. Be that as it may, that covers my random thoughts for the day. May you have a peaceful (and very satisfyingly retro-clunky and quaintly inefficient) evening tonight! ๐งฎ๐พ๐ช๐ป
-
(#): I randomly stumbled upon a nice article by a programmer (Dan Luu) where he talks about the value of being willing to look stupid, especially regarding how doing so enables you to discern truths that you'd otherwise be more apt to overlook.
This kind of healthy perspective is important for all of us creative types to keep in mind I think! We have to stay loose enough to be willing to be imperfect and/or be criticized!
Anyway, that's all I feel like logging here tonight. Sleep well and sweet dreams y'all! ๐ฅฑ
- (#): I'm taking tonight off to give myself a bit more time! Goodnight! ๐ด
-
(#): I often really appreciate the old-school retro feel of text-based user interfaces (TUIs, as they are sometimes called). That approach to UI design also sometimes yields a nicely tight and pragmatic result, which may surprise many people.
Relatedly, I also think command prompt based workflows still have a lot of untapped underutilized potential as well! I've heard that the defunct Oberon operating system did interesting things along those lines, though I've never used it myself!
All that aside, on a related search today I ran across a GitHub list page collecting together a wide variety of software that use some form of text based user interfaces. I've barely explored the list much yet, but it looks like there's a bunch of fun and/or interesting stuff on there.
Oh! Also, I watched the eclipse some with my family today, which was cool! I went out to check multiple times and got to see the last few minutes in addition to the main part. I've heard that there won't be another such eclipse for approximately 400 years! I wonder what society will be like 400 years from now. What the future will be like is interesting to ponder. ๐งโณ
Anyway, thanks for reading and wishing you good fortune! ๐๐๐
-
(#): Hey everyone! I've been busy with lots of random things today, but here's a few thoughts for today anyway for you! ๐๐
I actually haven't been studying Rust for several days now. It is a great language and its package ecosystem and error messages are certainly the best I've ever seen in any language or community! The error messages have a communicative quality that is a whole level above what most other languages do for error messages. The package manager of Rust (Cargo) is also gloriously fantastic (probably the best package manager for any programming language) of course.
However, there's another language I've studied in recent years (off and on, partially, like Rust) that I have been starting to lean more towards so that I will be able to iterate much faster on my game dev project once I start production on it in earnest: Nim. As a solo game developer, for the project I have in mind I need to be able to iterate rather quickly in order to be able to polish the final game up well enough to feel right (satisfying to the player) and to reduce my chances of running out of momentum and mental fortitude before I can complete the whole thing. The project I have in mind has become rather big over time, though still designed (very intentionally and consciously) to have a naturally adaptable and malleable scope.
Nim is more expressive and pleasant than Rust in most respects. Indeed, Nim actually feels even easier than Python and yet compiles to native code that runs as fast or almost as fast as C or C++ or Rust. Admittedly, Rust is likely to result in marginally more performant (and energy efficient code) but at the cost of a greatly increased compilation time and a much slower workflow iteration time. Rust is also less malleable than Nim (e.g. Rust's macros are far less pleasant to use and are less expressive and Rust's compile-time computation is also more rigid and awkward than Nim's, etc).
It's a relief off my shoulders honestly. Rust is a great language and I definitely care very much about the fact that it can generate more environmentally friendly and performant code than pretty much any language except maybe C. However, Nim is very close in terms of performance (especially if you use it right) and is just a much more pragmatic choice for a solo game developer who needs to be able to iterate quickly to be competitive and to stay sane. So, that's why I'm now planning to use Nim instead of Rust. For other projects Rust may be a better fit, but Nim is likely to be more practical and more pleasant for my use case. ๐๐๐ฑ๐ฒ
-
(#): Today I randomly came across a kind of device I didn't know existed: a customizable "electronic paper" screen, one that you can program to behave however you want and display anything you want.
I've been aware of Kindle devices that use this kind of non-emissive paper-like non-glare display and indeed I've used a Kindle Paperwhite before, so I was aware of the tech itself and have always admired that such a low power and paper-emulating kind of screen exists. However, I was unaware that there was any way available yet to use such a screen for completely custom purposes. It's really cool that it does exist!
Such a screen enables you to reduce passive power consumption of a screen to zero or almost zero as long as what is displayed isn't changing quickly. Unlike a LCD or LED or CRT monitor, an "electronic paper" (e-paper, e-ink, EPD, etc) screen doesn't emit any light. I behaves like paper and hence is far more glare resistant and more usable under bright light.
The low power consumption aspect of it really appeals to me from an environmental friendliness standpoint. I also feel like there's a big untapped market (and ethical imperative) for there to be more computers designed for low energy consumption instead of for maximum specs! ๐ฎ๐๐๐ฑ
The models I encountered specifically were the Inky Phat and the Inky What. Both look like cool devices! Another brand that sells customizable programmable e-paper screen devices is apparently Waveshare. Inky is a UK company, whereas Waveshare appears to be Chinese though, so I'd probably prefer Inky when possible if I got one.
I think it would be really cool to build some kind of custom retro computer using such a screen! It makes me tempted to get a Raspberry Pi and then combine it with one of these e-paper screens and some programming to create my own little custom eco-friendly retro computer! ๐พ๐จโ๐ป๐พ๐
- (#): I'm skipping the log again tonight! See you guys tomorrow! ๐ ๐๐
-
(#): I've been considering the past couple days whether or not I should make a retro game for the Playdate (a new retro handheld video game console, kind of like a Game Boy with a "fishing reel like" crank attached, which was released within just the past couple years) or if I should instead stick with the PC and the full power that desktop computing offers.
There's pros and cons either way. In a sense, having a lot of power and options at one's disposal can make oneself more likely to overanalyze things (i.e. choice paralysis, etc), but on the other hand the possibilities are greater of course. Likewise, retro is obviously more limited, but then again, design within limitations (indeed, the art of selecting interesting limitations) could be argued to be the very essence of good creativity!
However, the more I've thought about it the more I'm inclined to not view the choice of platform as an "either or" situation after all! You see, even if I do decide to target the Playdate (or any other retro console or emulator for that matter), as long as I structure my code in a properly separated (roughly "model-view-controller") way, where the main game code is properly modular and separate from the input handling and display code, then I could just easily port the game to both platforms (Playdate and PC) and hence release on both! That seems likely to be the best strategy overall!
I should also mention that if I go ahead with this plan then I'll actually be working on a reignited (newly envisioned) version of an older game design, not the one I've been coyly talking about on this website on and off. The reason is because the characteristics and production implications of the older game idea seems likely to be more suited to a retro platform than my most recent game idea, perhaps.
I love both ideas a lot! In fact, the most recent game idea that I've been talking about (mostly without divulging hardly any real info) on this website is perhaps my favorite game idea overall so far. I can save it for later though. ๐๐ฎ
The newly envisioned version of the older game concept in contrast seems more immediately viable though, especially if I do decide to target the Playdate and also port to the PC. The re-envisioned older idea also also seems less overwhelming and perhaps easier to find a bigger audience for and to iterate on.
Either way, both projects are good prospects to move forward with gradually as I find the time to.
I am still refreshing some of my skills and knowledge and figuring out some aspects of the preliminary (rough) plan, but I am looking forward to hopefully beginning production one of these game design ideas soon.
Oh, and I also repaired a few unreliable links on this page by changing them to point elsewhere. I've been seeing those links having (sometimes intermittent) problems for a while now in my link scanner. I was waiting, in hopes that those pages would fix their problems, but finally decided to change the links to other (more reliable) webpages.
Anyway, thanks for stopping by and taking the time to read my journal and logbook (fun alternative historical term: commonplace book). I hope you've found it useful and inspiring in some way! Have a deeply restful evening and a good night! ๐ค๐๐ด
-
(#): I'm going to a special family gathering tomorrow, which should be fun!
As such, I'm taking tonight off again to save some time, etc. Goodnight! ๐คโจ๐
- (#): The family meetup today went well! It was good seeing everyone! ๐ฅ๐ต
-
(#): I learned an interesting new word the other day: menhir (also known as standing stones, orthostats, and liths). ๐
Apparently, people used to place long boulders in the ground so that the stones would point up into the air. It is essentially stone age architecture. Despite the simplicity of it, the resulting aesthetic is subtle and understated yet somehow moving.
It has a kind of refined and gentle appeal, suiting both my love of nature and my love of retro things. The aesthetic also touches on the value of putting love into the details in one's surroundings even if just inspired by some semi-random impulse, even if others may be dismissive of those efforts, and even if only a few will appreciate why (if there is even a reason) you made such a charming yet subjective and arbitrary choice.
The ability to make subjective and arbitrary choices in a free-flowing and empowered way seems likely to be conducive to good creative outcomes I think! ๐จ๐คช๐ฆ๐ฆ ๐
I'm still working on improving that in myself, as I sometimes second guess myself too much. Onwards and upwards though, right lads/lasses? Goodnight y'all! ๐๐คฉ๐
-
(#): Hmmm, I'm not sure what I want to say tonight. I guess I'll just link you to a few things of interest, so that you'll have something to explore if you want to.
Specifically, I feel that data-oriented design and entity component systems have become increasingly relevant and interesting over the past decade. Many of the insights of this alternative way of building and structuring code are directly contrary to a large subset of popular programming ideology. Indeed, it is wise to question popular assumptions, as such "widely accepted truths" are often wrong in reality.
Two additional useful sites about data-oriented design are DataOrientedDesign.com and this GitHub list of related resources. Anyway, I hope that's useful to some of you.
Have an awesome evening and thanks for stopping by! ๐๐๐จโ๐ป
-
(#): Several days ago an interesting thought occurred to me (and reoccurred to me today as well, hence inspiring me to post about it here now).
Programmable calculators are a viable way to simulate an ultra-retro computing environment. Unlike actual retro computers, which are mostly no longer in production and hence have become more difficult and more costly to obtain, programmable calculators are still routinely manufactured and thus abundantly available.
Thus, one can use a programmable calculator as a kind of retro computer and as a really strong "design within limitations" exercise for programming and data management. Indeed, I actually remember playing a really cool RPG game on my TI-83 Plus calculator back when I was in high school. The devices are more capable than one might think, though some basic things (e.g. text documents) will likely be awkward.
The performance constraints would also be quite stringent of course, but that is also part of the point. Programmable calculators provide a way of experimenting directly with the kinds of extremely resource/performance constrained systems that the very first computer programmers would have had to deal with! Limitations foster creativity.
I think that's actually a pretty cool workaround for the scarcity of true retro computers in the modern era. Programmable calculators are also proper isolated standalone systems, unlike the often harmfully overly interconnected modern phones and desktop computers (where one is often not even given a choice for whether to be connected, perhaps because the lack of that would make it harder for companies and other entities to parasitically manipulate your attention for profit, etc).
In any case, the prospect of treating a programmable calculator as a retro computer and seeing how far you could take it is an intriguing prospect. It could be fun!
Also, I do really think there's a huge untapped market for highly constrained, highly eco-friendly, and 100% isolated standalone computing devices that are entirely free from external manipulation. I think a lot of people (myself definitely included) are getting extremely tired of having unwanted (and often unethically manipulative) changes forced upon the systems we use regularly.
A computer should be 100% its owner's personal property, entirely free from external control. Our computer(s) should be treated like part of our physical homes and everything in it (them) should be inviolable under almost all normal circumstances.
Computers have become like digital extensions of our minds and hence have become morally analogous to being like part of our bodies and intimate personal space and hence any intrusion upon that space whatsoever should actually be treated as a very serious violation of ethics, human dignity, and consensual boundaries. ๐ง๐ค๐ง
There are fewer things about the current tech landscape that are actually inevitable than some corrupt entities would like use to believe. Better designs that are more respecting of freedom and human dignity and healthy limitations are certainly possible.
With all that off my chest, I bid you all a generously fair night's sleep. ๐งฎ๐ฅฑ๐ด
-
(#): Besides being one of the most wonderfully pragmatic and expressive programming languages I've ever encountered, Nim also has a diverse variety of libraries and projects that've been made with it, especially compared to its relatively moderate community size. That's the power of an expressive language for you though!
I look forward to doing creative coding and game dev with it once I get around to it!
That's my post today. I hope you all have a breezy and soothing day! ๐ฎ๐๐๐ฅ
-
(#): This evening I think I'll just link you to an empathetic and intellectually honest (i.e. not morally cowardly, not propaganda in disguise created by "AI" companies/kleptocrats) article about the deeply unethical and disgusting nature of web-scrapping-based plagiarism engines (i.e. the so called "generative" theft-based "AI" software of recent years, such as ChatGPT).
The article is "Generative AI is stealing the valor of human intelligence" by John Loeffler. It cuts to the heart of things fairly well. Here are a few quotes of note:
AI is stealing the valor of human intelligence, and it can't be forgiven for that
All of this, meanwhile, wouldn't be possible without you, the human being, the one who produced the training data that all these AI models have used to get so good at writing an email. Google's models probably read countless emails to understand what an email is supposed to sound like, and yours was possibly among them.
AI image-generation tools like DALL-E, Midjourney, and soon Google's AI image generation, likewise, wouldn't be anywhere without the grueling, often unpaid and thankless work of the photographers, painters, and other artists whose works were used to train these models, almost entirely without the artists' consent or even knowledge.
[...]
The only analogy I can think of for this is someone donning a military uniform and claiming to have fought in a war they did not fight in, or claiming some medal or act of heroism that they did not personally earn or perform. This is called stolen valor, and it banks on the respect and admiration given to those who do something productive and heroic by taking credit for something without having to actually do it.
- (#): Tonight's been pretty hectic and stressful for me, so I'm not doing a full post tonight. Sorry! Wishing you all the most pleasant of dreams though, as always! ๐ด
-
(#): I had another busy night and so I won't be making a full post.
Thanks for dropping by though! Have an awesome day/night!
- (#): I'm skipping my post again tonight. I've been feeling tired today and also the stressful issue from before is still ongoing. Goodnight and sweet dreams though!
-
(#): Here's a good article I read a while back about the importance of creating enough breathing room in your life to make serendipity possible. It's worth a read, especially for someone seeking more personal balance and cultivating more thoughtful, impactful, sustainable, and/or substantive creativity.
Anyway though, progress on the various aspirations of my life continues quietly but steadily, as usual. I hope the same is true for you (or better)! A more diverse daily life helps generate more diverse thoughts! A healthy mind needs some liveliness. ๐๐ญ
Have an awesome night! ๐๐ด
-
(#): In my free time today I played Casual Birder some. I actually started it a several days ago, but haven't put much more time into it until today. The game has a fun low-key understated sense of humor that is quite charming and amusing. ๐ฆ๐
It's an adventure game about photographing as many different species of birds as you can. It mostly strikes notes of exploring and puzzle solving. I certainly recommend it if you have a Playdate game console and want a charming game. It is one of the games that comes free with the console though, so you'd already have it basically if you did have a Playdate, heh. ๐๐ฆ
I also helped my family out with some stuff today as well as (as on most days) did various random things that needed doing.
-
(#): I beat Casual Birder today! It was a pretty good game and I liked the sense of humor throughout especially. I first beat it with only some of the birds successfully photographed and then beat it again with all of them photographed, but surprisingly that doesn't seem to influence the final outcome much.
There is still a trash can near a pool table in the game that I suspect is (or is near) a secret though, based on the way the game teases about exactly that possibility. I'm not going to look it up though, in case I want to try to figure it out. ๐๐๐ฑ
I noticed there's a strange nook (alcove) adjacent to the pool table but there's no apparent way to get to it. That's my main suspicion for the possibility of a secret. ๐ง
Anyway though, have a comfortable and joyous remainder of your day!
- (#): Originally, for my free time today, I planned on going hiking but I ended up being more tired than expected (probably because my sleep randomly wasn't great last night). So, instead, I just played a few old games I hadn't played much in the past and took it easy for the remainder of the day. I hope you had a pleasant day too! ๐
- (#): I watched a movie with my family tonight as well as took care of a few other miscellaneous things. I ended up not having time for studying nor for coming up with a better post for tonight, though I intended to at least study. Regardless, I hope you all had a pleasant day.
- (#): I hung out with family more today and also took two different long walks, one at a park and another along local forest paths. Anyway though, there's not much else for me to say tonight. Goodnight all! ๐ด
- (#): My free time today put into taking it easy and enjoying a wholesome and uplifting video game. I'd share more, but it is late now. Goodnight!
-
(#): I had another family get-together tonight but also was able to find some time for some more wholesome gaming. Specifically, today I was playing To the Moon (which I'd already experienced once many years ago), whereas yesterday I was playing Finding Paradise and finishing up my pre-existing progress on it. ๐๐
Both are wonderfully written games with a very empathetic and cathartic feeling to them. Both are very story-based, so the gameplay is very slight. Both are more like interactive fiction than they are like games. Occasionally I feel like playing that kind of game. I definitely recommend them (To the Moon is what you should start with) if you want something exceptionally uplifting, wholesome, and good-natured! ๐ค๐ญ๐ฅผ๐
-
(#): Although I used my free time to relax and unwind mostly tonight, I was also reminded of a super interesting concept that's highly relevant to procedural generation for game development and which I've wanted to explore for many years: the edge of chaos. ๐๐๐งฌ๐ฑ
Hopefully I'll get around to that at some point. If you like dynamic content and creating a true sense of aliveness in a game or any other simulation, then you too may find it fascinating. Anyway though, I hope you have/had a fulfilling night! ๐๐๐๐
- (#): I'm taking a break from posting again tonight. Sorry. Have a wonderful evening and sleep well though! I really appreciate you stopping by to read my thoughts!
- (#): Skipping another post to save time! Thanks for dropping by though! ๐
-
(#): Recently I was reminiscing briefly about what is perhaps my favorite platformer video game of all time: Kid Chameleon (for the Sega Genesis). The game deserves far more credit than it gets, but I think due to its sometimes steeply challenging nature and rich gameplay depth (especially for the time of its release: 1992) people were/are less willing to see it as the masterpiece that it is.
Kid Chameleon was one of the longest platformer games of its time and indeed is probably still longer than most. It has over 100 levels. I really recommend giving it a try if you want to play some extraordinarily well-designed platforming gameplay. Kid Chameleon is truly an oft overlooked hidden gem of retro gaming.
Anyway, I wanted to give you something substantive tonight since I've taken several nights off recently for the sake of my time. Thus, I wrote this recommendation, since the game was briefly on my mind again recently. May it bring some of you joy.
In any case though, that's my post for the night. Have a great night! I'm wishing you the best in all aspects of your life and in everything you do! Thanks for visiting! ๐ก๐
- (#): I'm skipping my log entry again tonight to save a bit of time. Sorry. Goodnight and sleep well though! ๐๐ด
-
(#): Among other things, today I've been thinking of (more precisely: reminding myself of) the way that boredom is like fertilizer for creativity. Indeed, when one doesn't allow oneself to be bored ever, because one is always either working on something or entertaining oneself, the one's mind may gradually start to feel "frayed at the edges" and life takes on an overwhelming and suffocating or flustering kind of quality, indeed perhaps even in extreme cases an almost "hellish"/Sisyphean quality.
That's why its important to give one's mind time and space to breathe and to unwind itself instead of constantly "stimulating" it. This point is salient tonight for my (b)log post here because lately I've been packing in productivity and/or entertainment too densely and haven't given myself enough time and space for boredom.
Thus, tonight I plan on spending at least an hour literally just sitting in a chair doing absolutely nothing (not even entertainment, nor even listening to music). My mind feels like it needs some time to unwind and reset, so I'm going to do that so I can get back on track for feeling more like my mind can breathe, which I know from past experiences is likely to lead to better creative and personal outcomes, which I've been stagnating to an extent on in the past few recent weeks.
I would recommend the same for you: Make sure you are giving your mind enough time and space to be bored. It may help your mind feel more at ease and more capable of creative ease and personal impact. Entertainment is not the same thing as true rest.
-
(#): I did some more Nim programming tutorial stuff today to refresh my mind more. It is a really wonderfully expressive and elegantly designed language that deserves to be more widely used. Here's a short sample of Nim's syntax by the way.
I've also been thinking today that it would be great if there were more wholesome, uplifting, and emotionally poignant games such as To the Moon and Finding Paradise.
It seems like an unusually under-served genre of game, which is surprising when you consider that the genre's asset production is among the easiest, cheapest, and least burdensome since it can rely on text and relatively static images so much.
The genre (emotionally cathartic story-focused games) also has much lower programming complexity requirements than many other genres. There's definitely some untapped market potential there waiting to be explored with sufficiently high-quality story writing.
The genre has abundant potential to make society more kind and empathetic! ๐ค๐ฆ๐
-
(#): By the way, if you are interested in more games like To the Moon and Finding Paradise (i.e. emotionally poignant/cathartic story-based games) then A Story Beside is another great one to play. A Story Beside is quite a different kind of story game, has a lot more choices in it, and is overall more cheerful and lighthearted (arguably), but like To the Moon it is a game with a very strong element of interpersonal relationships and making peace with the nature of life and death (etc).
Uniquely, A Story Beside is a game that focuses on and honors the role of everyday people (like peasants and NPCs, etc... regular townspeople living their normal lives) instead of conventional flashy heroes. It's a very unique angle on an RPG world.
It's wonderful to see a game the doesn't require characters to be "epic" in order to demonstrate the (often immensely underappreciated) value that those characters bring to the world. Much the same could be said of normal everyday people in real life too! An uneducated street vendor selling noodles can be just as valuable (or more) as a famous or "high class" professional person! The interconnected and emergent nature of real life and the reality we all live in ensures that.
A Story Besides is one of the very few games that express any kind of grasp of that kind of more broadly nuanced appreciation of all things and people for the hidden value they often embody. I definitely recommend playing A Story Beside too if you like games like To the Moon.
Interestingly, I also saw in the Steam reviews for the game creator's other game (World's Dawn) that one of the reviews mentioned that World's Dawn is a vaguely Stardew Valley like game that actually predates Stardew Valley. This got me wondering if maybe the relationship between World's Dawn and Stardew Valley is akin to that between Infiniminer and Minecraft. That would be interesting indeed and would indicate that the creator of A Story Besides and World's Dawn arguably deserves far more attention than they have so far attained! ๐ฎ๐๐๐
Anyway though, I hope you all sleep wonderfully and restfully tonight, as always! ๐ด๐
-
(#): The thought occurred to me today that perhaps an apt (and more succinct) term for emotionally poignant/cathartic story-based games such as To the Moon, Finding Paradise, and A Story Beside would be "therapeutic story games" (or perhaps even just "therapeutic games" for short).
That's less of a mouthful than saying "emotionally poignant/cathartic story-based games" or "games like To the Moon (etc)" each time. Really, there doesn't seem to be an official genre term for these kinds of games, although there are of course several story-related terms (e.g. "story rich", "interactive fiction", "visual novels", "narrative RPG", etc) that apply to an extent (i.e. that have some overlap, but are ~orthogonal).
Also, today I did some shopping for Mother's Day.
I hope that my mom likes what I got for her! ๐๐ ๐
- (#): I had a nice dinner with my family tonight and also took care of a few administrative tasks I've been meaning to do for a while. So, I'd say the day went pretty good overall. Anyway, thanks for reading! Goodnight everyone! ๐๐ก๐ฅฑ
-
(#): I had a busy day today and don't have much to say again today.
So that some of you have something to explore though, here's an interesting graphics programming debugging tool: RenderDoc. ๐ง๐ฌ๐จ
- (#): Today was Mother's Day and I enjoyed hanging out with my family (especially my mom, naturally) to celebrate it! ๐ค๐ฅณ๐ฅ
-
(#): There are a lot of words missing from natural language that could express nuances of concepts that otherwise wouldn't have labels. Having such labels can help greatly to clarify thoughts and broaden the horizon of more people's minds. Language, and indeed practically all of society, is far from finished. We are far from the pinnacle.
One interesting (and perhaps the most popular) example of someone trying to deliberately fill the gaps in language like this is the Dictionary of Obscure Sorrows. For example, one of the most notable words the author came up with was "sonder". Here's the definition of "sonder" from their site:
sonder
n. the realization that each random passerby is living a life as vivid and complex as your ownโpopulated with their own ambitions, friends, routines, worries and inherited crazinessโan epic story that continues invisibly around you like an anthill sprawling deep underground, with elaborate passageways to thousands of other lives that you'll never know existed, in which you might appear only once, as an extra sipping coffee in the background, as a blur of traffic passing on the highway, as a lighted window at dusk.
Another good example is "watashiato":
watashiato
n. curiosity about the impact you've had on the lives of the people you know, wondering which of your harmless actions or long-forgotten words might have altered the plot of their stories in ways you'll never get to see.
Anyway though, that's my post for the night! Sweet dreams everyone! ๐๐ด๐ค
-
(#): I had a weird random thought today: Could horror genre entertainment (e.g. movies, games, novels, novellas, short stories, etc) be used to help train someone to be more able to face discomfort in all forms (not just of horror)?
For example, if someone was debilitated by some kind of conditioning that made them get stuck in their comfort zone too much, could something like horror genre entertainment be used as an initial small step for breaking that person's comfort-seeking inertia and thereby help them change their life in constructive ways?
I don't know, but the idea seems plausible. It could be used as some kind of deconditioning therapy potentially. Not sure why I had that thought today, but there you go. Anyway, have a good night as always! Thanks for visiting! ๐ง๐ก
-
(#): My sleep schedule has been gradually drifting out of calibration/optimum. So, I'm going to go to bed early tonight to hopefully alleviate that. There's not much else I feel like saying. For most of the day I was taking care of various random things.
Anyway though, goodnight! May tomorrow's dawn bring you clarity and peace and carry you one step closer to wherever you want to be in life! ๐๐๐
- (#): I'm taking it easy tonight to give myself a bit more time again. Sorry about that. I hope you all have an awesome day/night, as always! ๐
-
(#): Early today I had a tantalizing idea for a novel that seems both compelling story-wise (if done right) and has social commentary value. I also came up with a handful of other related ideas for it as the day went by that were also to my liking.
I'm tempted to shift my primary creative focus to writing the novel for a while, especially since novels usually have shorter and more predictable production schedules, hence I may be able to get the novel written and published in a relatively efficient and timely manner before returning to my game dev project idea(s).
Anyway, that's the most notable thing that happened today. Have a lovely night! ๐
-
(#): I've been thinking of potentially using Scrivener for the novel idea I had yesterday morning and was testing the software out a bit today. I also watched the Hunger Games prequel tonight with my family, which was fun. It was worth watching.
That's pretty much what I want to say today! Sweet dreams all! ๐๐๐
-
(#): I had another good idea for another novel today (a different one). Whereas the previous idea was more serious and dark, this second idea from today is more humorous and lighthearted. I like both ideas. If I do a novel, I'll need to decide between the two. Both feel viable and worth doing.
Choosing between multiple compelling ideas is a "good problem to have" as long as one doesn't get tangled up in indecision. So, really I just need to pick one and commit to it.
All that aside, with enough luck you've had a pleasant and/or constructive day also, but either way I bid you a generously restful goodnight once again! ๐๐ ๐๐ด
-
(#): I was writing down some more notes about my two novel ideas today so that I'm less likely to forget some of the nuances of what I have in mind. Mostly I was just elaborating various fragmentary existing ideas modestly for clarity and detail as I transferred the original (sloppy) notes onto my computer. There's still more to do...
More interestingly though, by random chance I stumbled upon a good article comparing and contrasting the difference between novels and screenplays. The author of the blog it is posted on is an aspiring author herself and has also posted many other thoughtful and independent-minded articles about writing and fiction on her website.
The article was worth a read, especially as an idle curiosity. I have no intention of writing any screenplays though. My intent is a novel (if indeed I build enough momentum with these initial ideas over the coming days to merit full follow through).
It'd be nice to release something on the tighter schedule (hopefully 6+ months) that a novel allows, since my game dev project idea(s) will likely take longer (at least a year) by my current estimates. Whatever happens happens! Anyway: sleep well! ๐ด๐
-
(#): I've still been doing more work transferring my fiction novel idea notes to my computer and elaborating on those (more shorthand) original notes so that I don't forget the nuances of what I had in mind.
I've also had a few other new ideas for the novel(s) in the meantime that I've also been adding into the mix as I go. It's taking way longer than I expected, but hopefully I can have the note transfers and elaborations done by either the end of tonight or tomorrow.
In my experience, documenting ideas like this (though sometimes tedious) is essential for not accidentally losing track of them or forgetting them entirely, especially early on in a project. Journaling one's ideas is a very useful (perhaps essential) writing aide.
Most importantly though, I wish you all a soothingly pleasant evening! ๐๐๐
-
(#): I finally finished transferring and elaborating upon the nuances of all the ideas I had brainstormed and listed down a few days ago for both of the two novel ideas I had. I'm glad to finally have it done so I can move on to fresh pastures! ๐๐๐
I'll leave you with two articles of interest for creative writing: (1) a good article about the difference between "plotters" and "pantsers" (which also cites some famous examples!) and (2) a Wikipedia article on stream of consciousness writing (which, incidentally, is similar to the style of writing people often use when quickly writing down some sloppy notes on what they have in mind so they don't forget, like I recently did, but which is also sometimes used as a literary form in its own right, interestingly).
-
(#): I've noticed that there're some mulberry trees nearby that have been dropping their fruit on the ground lately and many of the berries are dark purple-black now. That must mean many of them are ripe enough to eat. For those of you who don't know, mulberries are delicious. They are far more consistently sweet and pleasant-flavored than blackberries, which in contrast are all too often sour or watery, whereas mulberries practically always taste great in my experience, at least around here.
On a different note, tangentially related to plants (at least as a metaphor or microcosm), I was reminiscing earlier today about how both (1) guiding one's creative work and (2) allowing one's creative work to also "speak to you" and "grow organically" are kind of analogous to the art and discipline of living sculpture, which is shaping plants into semi-controlled forms for artistic and/or functional reasons while still keeping them alive and minimizing the harm to them. I think society as a whole could benefit from more of that kind of approach to things: living in true creative harmony with nature, without needlessly harming it and with an earnest spirit of benevolence.
- (#): This evening I unexpectedly started having a bad headache and shortness of breath and have been feeling tired ever since. So, I'm just posting this short update here tonight. Thanks for stopping by and reading though, as always! I appreciate every single visit that graces my site! ๐ฉน๐ด
-
(#): Oh! I actually forgot to post a log entry on this day until the next day (2024-05-26). That's quite a rarity for me. That has only happened a few times so far, enough to count on one hand. There was a family event today, so that was part of why.
Anyway though, I watched an old movie with my family that I'd heard was good before (and had thought about watching before a few times) but hadn't got around to actually watching until today. Specifically, the movie was The Truman Show. It was a great movie and well worth the watch! It is about a man who is the main character in a TV show but doesn't know it. The Truman Show touches on similar themes as movies like The Matrix and Dark City, but in a much more cheerful and lighthearted context.
I recommend watching it, especially if you like either of those other two movies or if the premise of The Truman Show sounds at all interesting to you. Apparently The Truman Show is widely regarded as a classic.
- (#): Today I spent most of the whole day just reading a novel for fun. I'm short on time again tonight, so I'll leave it at that. I hope you had an awesome day and feel invigorated and free when the dawn breaks tomorrow! ๐๐ ๐โก
-
(#): I've been accumulating a bunch more notes that are relevant to my novel ideas (plus a few other more general things) and have needed to spend a lot of time today transferring those notes to my main computer and elaborating on them more. Thus, I find myself again with not much to say (or at least not enough time).
All that aside, most importantly (as always), I wish you all a wonderful day/night, a restful sleep, and sweet dreams. ๐๐๐ด๐ค
- (#): I had to take my car into the auto shop today to do a bunch of repairs and that cut into my time some. However, I did have some great thoughts about writing techniques this evening, but not much that'd be suitable for tonight's log post here. In any case though, have a glorious sleep and thanks for visiting! ๐๐ง๐๐ช
-
(#): I've been reading some from a book about novel writing skills today, which I've also been doing off and on over the past few days too. It has been a good refresher on my writing skills and has also broadened and sharpened my perspective some. I also came up with some additional ideas I wrote down for potential inclusion in the novel. That basically covers what all I did today in my free time. ๐๐โณ
I hope you had a great day/night and have likewise for your sleep! ๐ค
-
(#): I filled most of my free time today with a combination of continuing to read from the book on fiction writing (~a.k.a. creative writing) techniques I've been reading and also going on a nice long walk enjoying nature. Though routine, it was a good day. On that note, with luck you had a good day/night too! ๐๐
Thanks for checking in and reading what I have to say!
-
(#): Today was another day of study delving into the art of writing good fiction. Specifically, I finished reading the book on writing that I previously mentioned and have been gradually working through over the past few days. I also handled some other personal tasks that needed doing, as I often do (usually without mentioning it here).
I'm trying to power through the things on my metaphorical plate of todo tasks and aspirations. I've got a few additional books I'd like to read soon, which inherently consumes a lot of time. Hopefully I'll be able to post more interesting web log posts here relatively soon though! The rest of the site will also gradually grow. ๐ง๐ฅ
I try to cram as much as I can in each day, but time still escapes me! โณ๐โโ๏ธ๐ ๐ต
- (#): I've mostly just been reading more today, though this time mostly for entertainment. It was pleasant, though the time seemed to pass too quickly. Anyway though, thanks for reading my web log and have a great night! ๐งพ๐๐
- (#): Tonight was another reading day, primarily. Anyway: goodnight! ๐๐ต
- (#): There's nothing notable to report again today. Yet, as always, you all have my goodwill and my hopes that your days and nights are kind to you. ๐ โจ๐
- (#): I did some more reading today and also wrote down some ideas. ๐๐๐ค
-
(#): This was another reading day mostly. It takes a lot of time, especially considering there are multiple books I've been trying to plow through as fast as I can!
Most importantly though, I wish you a sublimely serene and restorative night of rest. ๐๐ด๐ค
- (#): I've been reading more again today and progress in that regard continues as usual for the past several days. There's not much else to post here yet. ๐ง๐
-
(#): I finished the book I've been reading. Although I still have a few more books I'm also interested in reading through soon, I feel more balanced now and a shift towards a more diverse use of my free time seems likely now. ๐๐๐๐
Above all though, thank you for visiting my cozy little online home and for being interested in what my thoughts are. I bid you a lovely evening, as always. ๐๐
-
(#): I've been listening to a dark ambient music YouTube channel today called Survival Spheres. I've actually been aware of the channel and have listened to it on and off for years, but I listened for hours today, which hasn't happened in a long while.
Their music seems mostly designed to emulate the "save room" style music of games like Resident Evil and Silent Hill: melancholy yet somehow simultaneously darkly relaxing. Many (perhaps all?) of the tracks on Survival Spheres seem to be original compositions that are designed to sound very much like the horror game music they are inspired by.
The music is definitely worth a listen if you like that kind of eerie ambient music.
I also read some more today and then went to a nice dinner with my family. I did wake up later than I planned, but overall I'd say it was a pleasant and productive day.
Thanks for stopping by! I hope life is treating all of you well! ๐ฑ๐๐
-
(#): I read more about writing technique (storycraft for fiction) today, went on a moderately long nature walk along some local paths, and watched part of Legend (1985) with my family. Legend is a good very old-school fantasy movie by the way.
I prefer the theatrical version of Legend though, not the "director's cut" (which has horrible music, whereas the theatrical version in contrast has wonderful music).
Anyway, that's all I have to report tonight! Sleep well friends! ๐ค๐ด
-
(#): I was reading a lot again today! Sorry for not having more for you yet!
Have a wonderful night and the best of dreams! ๐คโจ๐ช
-
(#): Did I ever tell you all before that I have a rowing machine? I don't think I did. Well, anyway, I use the rowing machine for exercising indoors (whereas for outdoors exercise — which in contrast I've mentioned fairly often — I take frequent walks along the various reachable walkways that weave through the local forestland).
Rowing machines are great because they provide a full body exercise that helps with all aspects of fitness, both muscle growth and cardiovascular health, in one simple easy-to-understand package. That way, by using a rowing machine, you don't need to keep up with complicated exercise routines to sustain balanced distribution of exercise across the body.
Many rowing machines also are relatively unobtrusive or easily stored. They are great machines if you just want one exercise machine that covers most exercise needs across the whole body (in principle). Much the same is true of airdynes (exercise bikes that have a fan on front), which also provide great full body workouts.
Staying at least reasonably healthy is important for all people, no matter one's endeavors. So, I hope today's post is useful to some of you and ultimately improves your quality of life in the long term!
Best of luck to you as you embark (with luck) upon pleasant dreams! ๐โต๐๐ตโโ๏ธ
-
(#): Guess what? I bought even more books today. Now I have at least four more on my todo (really: to read) list. I've been diving in deep to refresh my writing skills in preparation for producing my novel. I've also been reading a few novels too, besides the more creative writing oriented/related books. ๐
I am also struck by the fact that it's so long (years) since I last truly let myself read so much fiction-related content. For many years I was always "too busy" with other things. That was the excuse I told myself anyway. It is nice to return to one of my great loves (reading & writing) and embark on a deeper journey into fiction's depths and nuances than I've ever embarked before. It should be quite an adventure!
In the meantime, thank you for your voluntary patience with my reduced rate of more interesting log posts. I'll get through these books eventually. ๐
Rest well friends! Onward and upward in the journey of life! ๐งโโ๏ธ๐๐๐
-
(#): I had a bunch more ideas for my novel that I wrote down and transferred to my computer files today. I also read more about the craft of writing and literary techniques as well. There's much to unearth to refresh and expand my skills.
For example, have you ever heard of metonymy and synecdoche? They are special literary terms and I wasn't aware that there was a name for those textual phenomena until now. Perhaps this deep dive into specialized terms will prove fruitful. ๐ง๐
Such things aside... To all guests here at my online home: sweet dreams! ๐๐ญ๐
-
(#): Hello to all my log friends! I checked the word count of my brainstorming and stream of consciousness notes for the novel I've been planning and it came out to over 50 pages worth of text so far! It was a pleasant surprise to see how large the bulk of the ideas and plans I've generated so far is. Progress is chugging along steadily, even with all the books I'm reading in parallel to all this! ๐๐๐๐๐
Whatever the future holds, I hope your life too bears steady fruit of progress and purpose. And, that aside, may your rest always strengthen your mind and body. ๐ช๐ด
- (#): ๐๐๐๐ต๐๐๐งพ ๐ ๐๐๐ค
-
(#): Today was father's day and I enjoyed hanging out with my family. I bought my dad a couple of novels that I hope he'll like. I also was busy for most of the evening helping with preparation and cleanup for the family meal and get-together. It was a lovely evening. (I don't personally have any kids though, by the way, so I wasn't a celebrant but only an attendant.)
Oh! And, luckily, I saw a fox today on my walk around the neighborhood at dusk. I came within 10 feet of it! I thought it was a wandering dog at first, but saw it was a fox upon closer inspection. We both stood there and stared at each other for maybe 5-10 seconds. I walked around the fox and saw it continue on its way. It looked back upon me from the forest while I walked away along the path. Such luck! ๐๐ฆ๐
I hope that the day has been kind to you also. Most importantly, I ask that you take good care of yourself tonight. Rest well. ๐ตโจ๐
-
(#): Today was another reading day mostly. ๐ง๐
However, for your own reading pleasure, here is an interesting blog post from an author advocating that focusing on word count is not as effective as focusing on the substantive aspects of your writing and ideas. That seems a well-principled stance.
Indeed, I feel inclined to agree with that general sentiment, and along those lines it seems like the popular trend of writing a certain amount of words per day "no matter what" is likely a recipe for worse quality writing, due to that policy implying a rushed approach that is likely disconnected from what the manuscript may truly need.
-
(#): I added two new entries to the recommended links page! It's a been a while since I last added to that page. Most links I post are posted here. Only the most universally useful links tend to get put onto the recommended links page.
Anyway, most significantly, I recently stumbled upon a great article that opened my eyes to how much better the definitions of the original lineage of Webster's dictionary are compared to most modern dictionaries. It is actually really surprising how big the difference is! Here's where I put the dictionary info on the recommended link page.
Anyway, rest easy everyone! May life's whims be kind to you always! ๐จ๐๐ฑ๐
-
(#): I'm cutting out most of my log post today. I've been reading more writing craft books during my free time today, as usual for the past few weeks. It's enjoyable though! I've got a good set of books to work through and am excited for the future.
Thanks for stopping by! Peace and perseverance, friend! ๐ฅ๐๐ ๐งฎ
-
(#): Unsurprisingly, tonight is another reading day for me. I've been gradually refining which books to focus on. I've abandoned a few of the books in favor of different ones, usually because the author makes overreaching claims/assumptions too many times or too intensely. Even in the craft of fiction, respect for truth matters.
I am big on first principles and clarity of thought and hence on not polluting one's mind with falsehoods. What is left out of the mind is just as important as what is put in! Protecting your mind from contaminants is as important as seeking new information. The mind is like a garden: what you cultivate shapes the nature of the crop. ๐ฑ๐ฟ๐๐
Coincidentally, I encountered another fitting article recently by the same person that mentioned the 1913 version of webster's dictionary being often better than modern dictionaries in some respects. The article is called "Six lines" and is about the importance of cultivating one's mind continually if one hopes to have flashes of insight.
-
(#): I'm still chugging along steadily: reading about writing techniques and intermittently writing whatever novel-related ideas come to me. ๐๐๐ง๐
In the meantime though, here's Wikipedia's big list of genres of writing. That way I'm at least giving you something you can explore and enjoy. ๐
All that aside, I didn't sleep well last night and I've been kind of drowsy today. I hope I'll sleep better! Goodnight, web friends! ๐๐ค
-
(#): By the way, if you want to see a nice list of fine-grained techniques for making phrases and sentences more stylistically interesting, then you should look at the Wikipedia article about rhetorical devices. It seems like a pretty great reference!
Oh, as you may have guessed, yes, tonight was another reading night for me primarily again. I am really enjoying reading the vigorously diverse range of writing books I've selected though! I've been honing in on a good set of 1st principles based books and gleaning apt wisdom from that selection is invigorating and heartening. ๐ฆ๐ก๐๐ฌ
-
(#): I finished reading another of the creative writing technique books today, but I still have more to go. There's a lot to study but it is truly a joyous and fulfilling kind of studying, so I am quite liking the process, however voluminous. ๐๐
While that process continues though, here is an old article about censorship from the early 2000s that you may enjoy: "The Death of Diversity in our Nation's Libraries" by Kendra Renaud. The fight against censorship is of course still imminently relevant and the article is still highly relatable. Indeed: Censorship is the domain of fools and tyrants.
The author's homepage (Dragonlords of Dumnonia) is still active and alive (last updated in late 2023). It appears to be a surviving site from the old internet. It fits the Geocities/Neocities style. It's always uplifting to see good-natured old sites that are still in operation. The more the merrier! ๐พ๐ฅณ๐
-
(#): I've had my head buried in the books in my free time yet again, as expected and as usual lately. I love books though, so no worries! ๐๐
Anyway, more importantly for you though, here is today's web log entertainment: the Latin phrase "tempus fugit". The phrase is relevant to my recent endeavors (and indeed also to my recent years of life) and likely relevant to many of you as well.
All that aside, and most important: May your dreams bring new wisdom to you in the night, and new strength and vigor in the morning. ๐ก๐ช๐
-
(#): Just a short while ago (i.e. late this evening) I was pondering whether I'll use Scrivener or LaTeX/TeX or Scribus (or something else) for formatting my novel for print. I intend to create a really refined and pleasing format and so the choice will matter for the paperback and hardcover releases.
I'm still in the brainstorming and studying phase of writing, but it's still good to think about these kinds of things in advance. The earlier a change is anticipated the less costly that change becomes. ๐ธ
Other than that though, I've been focusing on reading more story craft (novel writing technique) books for most of my free time today, as usual lately.
Thanks for stopping by and goodnight! ๐๐ด
-
(#): I had another peaceful and studious day today, as usual lately. Progress in my delving into writing techniques and brainstorming ideas has continued steadily.
As for tonight's web log entertainment: Did you know that the term for the body of "classic" literature (like the kind that high schools and colleges often assign you to read) is "the canon". Also, here's a directory of information to explore more possible nuances (and debate) about what "the canon" and "classics" really are and how they have come to acquire their current social status.
And with that, dear readers, I bid you goodnight! ๐ฅฑ๐๐ค
-
(#): Hey, thanks for stopping by my web log today. Here's the entertainment of the day: a high level overview of writing styles on Wikipedia. The article is nicely comprehensive and the selected examples of distinctive authorial styles are very illustrative of the point. The page is well worth exploring a bit! ๐ญ๐๐
Anyway though, as you are probably expecting by now, today was another day of reading about writing techniques and jotting down personal idea notes.
Have a wonderful — and hopefully deeply restful and restorative — evening! ๐๐๐ฅ
- (#): ๐ง๐๐๐๐ฑ
-
(#): I finished reading another book today, but still have more on my list. I've also (as usual) been writing down more novel-related idea notes (plus a few workflow notes) as they've come to me. It's a lot to absorb but I'm aiming high! Carpe diem!
In any case, that's my post for the night. Rest well, net friends! ๐ฅ ๐ค๐
-
(#): I handled some chores today that took up some time, but other than that today was another day of contentedly studying writing techniques. ๐ค๐
As for tonight's log entertainment, here's a fun bit of trivia: the longest novel ever published is reputed to be In Search of Lost Time by Marcel Proust. It is over 4,200 pages long (in the original format) and contains over 1,200,000 (1.2 million) words!
That's pretty cool!
Coincidentally, it'd also be cool if you have a most pleasant and joyous evening! ๐๐ง
- (#): ๐ด๐ค ๐คบโ๐๐ . . .
-
(#): It's time for an art tangent today, to break up the reading/writing monotony some! Art is also still relevant to the immediate goal (the novel) anyway, since I plan on doing some of the artwork myself — for those parts I can do sufficiently well at least. Thus, art tangents are synergistic to my creative endeavors either way and I do love diverse creativity! ๐๐จ
Anyway, along those lines, here's the prescribed art tangent of the day:
For a long time now (years), there's been a specific style of elegantly rustic and sublimely classy kind of "line art" that I've found pleasing and which I've not been able to find the terminology to refer to as a category. It's the kind of art style you see on things like really old book bindings from before book covers became motley collages of advertising-like graphics.
It's an awesome retro aesthetic that looks kind of like the result of applying a "stamp" to something and/or other kinds of ornate "line art". I'm still not entirely sure what the term is for this type of art I have in mind, but I've collected together a good set of related terms that are at least partially overlapping. When you see the list and browse them a bit, you'll probably see roughly what I'm talking about. Here's the list — consider what they have in common, aesthetically:
See what I mean? There's an underlying elegantly classy kind of art style that dwells somewhere in the intersection of all these together. I like that aesthetic, especially when it comes to book design, and I intend to use something like that in the art design of the novel I'm working towards writing. Hooray for elegantly ornate design! ๐๐๐จ
I'm looking forward to the grand intellectual and creative adventure of putting all these ideas I've been coming up with together and making something really special! ๐โจ
-
(#): Heads up: July 4th (Independence Day) is tomorrow, so if you are wanting to see fireworks and forgot then tonight is the night to make plans!
I'm not sure if I'm going tomorrow, but will at least walk around the neighborhood and see some fireworks from a distance then, if nothing else.
In other news, I downloaded some fun public domain books (as PDFs) related to book design and art. I'm surprised at how often old books have better typography!
-
(#): Tonight is the 4th of July (a.k.a. Independence Day).
So, happy July 4th everyone! ๐๐๐โจ
Anyway, if you still would like something to explore tonight, then here's tonight's log entertainment (two major categories of "rhetoric"):
-
(#): I hope you all had a lovely fourth of July yesterday!
Today I did read some more, but probably the majority of the day was spent attending to helping with some family matters and such.
I also made a minor update to the recommended links page, where I added a link to an online version of the actual original 1828 Webster's Dictionary.
Achieve an awesome after-afternoon anti-awakening! ๐๐ค
(See: alliteration. ๐)
-
(#): I got up a few hours late, but the extra rest probably served me well.
Today, I mostly attended to miscellaneous things and did some more reading. I also reorganized my notes system today, implementing a fresh new significant insight into how to manage those notes that I am quite happy with. ๐๐๐พ
There's not much more than that to report today! Rest well web friends! ๐ท๐ธ๐ท๐ธ ๐ค
- (#): I want more time tonight, but don't have a time machine, and so in lieu of that I will just opt out of putting effort into tonight's log post! โโณโ ๐ง๐ฌ๐คช
-
(#): I'm skipping my log post effort again tonight, just like last night! Perhaps I found a time machine after all and went back to yesterday? Or, perhaps... could it be that groundhogs are somehow responsible? Yes... I suspect the groundhogs are responsible, personally. They probably operate on more days than just February 2nd.
I also suspect that you should get a good night's sleep to stay strong and healthy! Thanks for the visit though, anonymous web log pilgrim! ๐นโฒ๐ช
-
(#): Today I've been reading about the marketing and business aspects of novels instead of about core writing techniques. Specifically, I picked a how-to book which is focused on an ethical marketing philosophy (in stark contrast to the many morally grey or outright manipulative/exploitive marketing philosophies out there).
I'm only a few chapters into it so far, but the title of the book I'm reading is "Firefly Magic: Heart Powered Marketing For Highly Sensitive Writers" in case you are interested in that kind of thing (i.e. in ethical novel marketing techniques).
In other news, when I was standing on the porch today I noticed the cicadas are particularly loud this evening. As such, don't let the sound of them stop you from getting a good night's sleep! Rest well friends and strangers, as always! ๐๐ค
-
(#): Hey readers! I wasn't able to access my computer last night (07-10) and so I didn't end up posting this entry on time and thus I am posting what I intended to here now on instead. It's very rare for me to miss a day, but it happens.
Anyway, the update of the day is that I added a new entry to the recommended links page, linking to Project Gutenberg (a great source of completely free books to read).
- (#): I've added another link today, this time to The Internet Archive (associated with the famous Wayback Machine for accessing old webpages). The new entry is on the recommended links page, just like the similar link to Project Gutenberg.
-
(#): I found an interesting public domain book recently on the Internet Archive about the nature of novels and of storytelling. Apparently it is one of the earliest books theorizing about the nature of novels and what matters in them. The book is Aspects of the Novel (1927) by Edward Morgan Forster. Perhaps you will find it of interest!
Anyway, in other news, I have family visiting starting today and for several more days (about a week), so that should be a nice change of pace. I'll still be posting though. ๐
Lastly: May your day and night grace you with good fortune, as always. ๐ฅ๐
-
(#): I'm skipping putting effort into my post today to save some time!
Have a lovely day and a comfortable night! ๐๐๐ฑ๐
-
(#): I added a recommendation link for the PDF reader I use to read PDFs. This is important if you read lots of heavy PDF files, since Adobe's own reader is actually quite inefficient. This applies, for example, to many of the PDFs one can get from the Internet Archive, which are often heavy and slow. Sumatra PDF is much faster.
Anyway though, I hope you all have/had a restful and/or fun weekend! ๐ ๐๐ช
-
(#): I found an expansively wide-ranging Wikipedia directory page that seems useful for exploring topics related to the nature of fiction: the outline of fiction page.
In other news, I've been (as usual) brainstorming more ideas for my upcoming novel as well as reading many books about fiction writing techniques, which has been an enjoyable rabbit hole to explore. I've also recently bought a book on side hustles to try to pull in a bit of extra money on the side too to help fund the project more. ๐ซ๐
- (#): Progress continues as usual (steadily and gradually) on my current project (the novel). In the meantime, here's a Wikipedia page related to both novel writing and game development for you to explore: worldbuilding. ๐๐๐๐
-
(#): Hey web friends! As usual lately, I continue to use my free time each day mostly for studying. The past couple days though I've also been further marinating on the profound depths of the many obvious evils of theft-based "AI" that scrapes the web for people's work and then steals it (using aggregation as a thin and deeply fallacious veil of twisted rationalization for plagiarism). Along those lines, here's a few pages related to "AI"-based theft that may interest you:
- this page by a conlanger (lingweenie) stating that they don't use "AI" in their conlang work (with some interesting points mentioned along the way)
- a web comic about the comic author's experiences with the coercive and exploitive nature of the big web platforms and the lack of true consent those big web platforms have come to embody
- Naomi Klein's "AI machines arenโt hallucinating, but their makers are" article, which makes some strong points about the immense naivety of pro-"AI" people's wild "utopian" delusions about what they think these glorified plagiarism engines will do
Remember: Every single use of any web-scrapping based "AI" (in reality: plagiarism engine) is in effect an act of theft and inevitably will cause very real harm to the world and to humanity's future as a whole. Never use such systems (e.g. "OpenAI") and make sure to take some practical steps to defend against it in at least some way. ๐ค๐ง๐จ๐ง
-
(#): I had a doctor's appointment today, a follow-up related to a prior test. It was largely routine and uneventful.
Anyway though, I also found another good anti-AI art-theft article: "Is AI Art 'art'? It doesn't matter because that's the wrong question...". The article is nuanced and apt.
I like how the article aptly points out that the common talking point of theft-based "AI art" allegedly being "not art" is largely dwarfed by the far more important factor of simple ethics: Regardless of whether "AI art" creates a meaningful artistic impression (and realistically it often actually does or at least can), the real problem with it is the obscenely exploitive and immoral nature of it. "AI" art is simply aggregated theft, made possible only by antiquated legal loopholes and coercive asymmetrical power dynamics.
So... that's my post for the day. Thanks for visiting! Enjoy your evening! ๐๐
-
(#): Interestingly, besides the modern plague of AI-based theft of art, physical art theft is also highly prevalent still, indeed much more so than one may expect. I was quite surprised by how pervasive it still is despite modern physical security mechanisms (devices, procedures, etc)! Here are some notable related pages:
- Wikipedia's article about art theft
- Interpol's database of stolen works of art
- Interpol's "Cultural property crime thrives throughout pandemic" article
- Georgetown Law's directory for academic art crime research (PS: Georgetown Law is apparently currently the largest law school in the United States.)
Whether art thieves perpetuate their crimes against humanity digitally or physically, their underlying spirit (their lack of ethics and respect of human dignity) are the same!
And with that, my web log post for the day draws to a close! I wish you all the most magnificently restful and fulfilling evenings, as always! ๐๐๐๐ค
-
(#): Here's a wacky/random tangent for you all today: the extinct Oscan language of the Italian peninsula. The reason for this (admittedly very random) tangent today is because yesterday (while watching a silent walking video of someone exploring the ancient Roman city of Pompeii on a day with low/no crowds) the video author mentioned in the captions that there was an Oscan inscription in the city somewhere (which is not the same language as Latin). That got me interested and sent me on a Wikipedia "rabbit hole" dive and hence lead me to the language and elsewhere. Apparently there were several other languages of the italic peninsula as well.
It's interesting to think that history could have went differently and we might all be using one of the other italic alphabets instead of the Roman alphabet! Some of those ancient alphabets appear to have a mix of elements of both runes and roman letters.
Anyway, that's today's post! I hope you enjoy(ed) your day! ๐๐ป๐
-
(#): I did a lot of yard work today, which was pretty tiring. However, I also went on a nice trip to a local thrift store and bought a nice small cabinet(ed) bookshelf that I intend to use for some of the books I've got recently. It has two shelves (one inside the cabinet part). I noticed the bookshelf also had a charmingly rustic scent.
All this focus on books and bookshelves today also tangentially got me thinking about the rich and nostalgic smell of old and/or new books and of bookshelves and libraries. So, I also ended up looking up some info about what makes books smell so fragrant and aromatic (from a chemistry infographic site called Compound Interest).
This reverie also got me pondering the possibility that the fact that trees often contain large amounts of sap or syrup is therefore likely playing a role in the common occurrence of books smelling so sweet and pleasing. These thoughts also likewise made me think about the rich and invigorating smell of the outdoors shortly after a rainstorm. The smell of books and the smell of rain are both wonderful things and are among my favorite scents! ๐๐น๐๐๐ซ
-
(#): I went on a long and mostly pleasant nature walk this afternoon! I say "mostly pleasant" because some random bystander made some bizarre/nonsensical rude remark as I walked by, although I didn't catch most of it. Some people are bad at empathy and ethics like that though, and it's hence best not to give much/any weight to such socially ungraceful and malevolent utterances that they give voice to.
Anyway though, more importantly, here's tonight's entertainment for you to explore if you feel like it: Wikipedia's list of destroyed libraries. Books and knowledge and the betterment of humanity and of our future together all matter greatly to me and thus I am naturally repulsed by the destruction of people's written words. Books are critical parts of humanity's history and are essential for safeguarding our future. Books should be treasured and protected, not burnt or otherwise destroyed or censored!
Regardless of such (partially) dark musings though, I wish you a contemplative, fulfilling, and wholesome goodnight! ๐๐๐โจ
-
(#): I've been thinking on and off that it might be fun (and useful) to make my own font (or to modify a freely modifiable font) to add an extra element of panache and uniqueness to my novel. In that regard, I found an open source program for creating and editing custom fonts called Font Forge. It looks very promising (featureful and expressive), though I haven't had much time to explore it yet. So, maybe I'll make a fresh new font for myself to use! Not many novels do that! ๐ก
Along similar lines, another idea also tangentially occurred to me: It might be useful for the writing community to develop some special fonts that are designed to confuse AI and OCR systems to make theft more difficult. That idea seems increasingly relevant, especially in the context of recent developments in unethical AI "technology" and pervasive economic parasitism.
But, in any case though, that's my post for today! Thanks for dropping by my personal internet abode for a moment! May your heart be warm and your style be cool! ๐ฅ๐ง๐
-
(#): The other day I learned that there was an official term for hiking trails that are designed to have little plaques and kiosks that give extra info: educational trail. Essentially, an educational trail is a more curated hiking trail.
As for my own nature walks, I most often take walks around the local suburban neighborhood, which luckily enough has a wide-ranging networks of paths that traverse local forests and woods! That's one of my favorite things about living around here. Nature is one of my great loves. I know of no more effective way for a person to clear their mind and destress than to bask in mindful presence of the natural world!
๐ณ๐ฒ๐ฑ๐ค๐๐ฟโจ
By the way, do you know the difference between a forest and a wood? They are two different biomes. Most of the difference seems to be this: A forest has a dense canopy that covers most of the sky, whereas a wood has a spotty/inconsistent canopy with many shrubs and other ground-level plants located between trees. -
(#): Here's tonight's log entertainment, a Wikipedia link to a relatively obscure type of forested biome: a bosque. ๐ต๐ณ
Anyway, that's all for tonight! May you be fortunate enough to have had a lighthearted and lovely day! ๐๐๐
-
(#): I watched an old movie with my family tonight: K-PAX. It is a good low-key sci-fi movie with a wholesome message and worth seeing! Amusingly, a critically important date within the story of K-PAX is July 27th, which is (in real life) tomorrow. We had no idea of that coincidence until we were in the midst of the movie though! ๐คฃ
I also surprisingly noticed that one of the extras — a guard watching a video camera, who only says ~2-3 lines in the whole movie — is actually the "rich kid" character from the movie Cool Runnings (also a good movie). I never noticed that before! ๐ฌ๐๐ฎ
-
(#): Did you know that, historically, a paragraph break was originally represented by a special symbol called a pilcrow and not as a blank line or an indentation? ยถ Fascinatingly, according to Wikipedia, indented paragraph breaks actually originate from blank spots that printers would leave for a later person (a "rubricator") to fill in with pilcrow symbols but which (due to heavy demand for books, fueled by the printing press) were sometimes left blank when sold, instead of being filled with the intended pilcrow symbols on schedule, thus originating the modern tradition of indentation (blank space) as representing paragraph breaks! ยถ๐
This also has me wondering tonight if perhaps pilcrows were used in earlier times in part because paper and handwriting services (of professional scribes) were so expensive before the printing press and cheaper paper production were invented that the wasted blank space of paragraph breaks or indentions would have been seen as too wasteful to justify! That seems quite plausible to me! I don't know if it is true though. It is just a working theory/idea I had, tangentially. ๐๐ฐ๐๐งป
Anyway, that's tonight's log amusement for you all! Thanks for visiting and I wish you all (as always) a fulfilling day/night and a very cozy night's sleep! โบ๐ค
-
(#): I found a term that refers to ancient handwritten books that have typographically impressive illustrations painted into them: illuminated manuscripts. I've wanted to know such a term (though I didn't mention so before) because I've been interested in old school typography and typesetting lately since many modern books (especially ebooks) ironically have terrible formatting that has been given very little to no care or thought.
In contrast, illuminated manuscripts and other similar centuries-old texts are on the opposite side of the spectrum. I feel that people should put more love and care into the format and appearance of books! I don't understand why lack of love for format has become the norm despite many older books actually looking better!
Perhaps it is the committee effect ("everybody puts in their favorite color and it comes out grey") or sheer unawareness or some form of groupthink.
Oh, and I also explored an interesting tangent about one of the plants that has long been used to create blue ink: woad. Inkmaking is interesting technology.
All that aside though, I hope that if your life were a book then the entry for today would turn out to be filled with insights and vigorous steps towards your dreams and a better future! Goodnight! ๐คฉ๐ฎ๐ฌ๐
-
(#): While we're still on the subject of interesting old book-related terminology, here's two more for you: dingbat and fleuron. Both are a kind of typographical art.
Basically, a dingbat is a bit of stylistic semi-symbolic ornamentation added to a book. Historically, this would have come in the form of respectable-looking little artistic flourishes, but in more modern times "dingbat" is often associated with a random collection of tacky/gaudy symbols that are similar in spirit to emoticons/emojis. I certainly prefer the older interpretation and the aesthetics of old school printer's ornaments far more than the modern random/trashy interpretation.
In contrast, a fleuron (also known as a "printer's flower") is a type of dingbat (printer's ornament) which is specifically floral in style. This subset of dingbats (i.e. of printer's ornaments) in contrast is pretty universally more classy and respectable than the more hodge-podge connotation of "dingbat" in modern times.
I personally really like these kinds of artistic touches and wish more books would use them (and use them tastefully) but they seem less uncommon in modern books.
So, all that said, that's tonight's log entertainment for you all! Sleep well everyone! ๐๐ด -
(#): Did I mention that I've been reading a novel in a subgenre that I suspect may have some overlap with my own novel's genre, so that I can feel out whether the considerations of that subgenre may be relevant to the novel I have in mind?
I think I didn't, but indeed that's been something I've been doing with much of my time in recent days. I have also finished several technique books over the past month in my free time, which has been well worth it as "grist for the mill" for my own novel.
[PS: "grist for the mill" seems to mean almost the same thing as "fuel for the fire" except that the former has a positive connotation whereas the later has a negative connotation. In other words, "grist for the mill" and "fuel for the fire" are contextual antonyms for a specific aspect/axis of their semantics... In fact, I originally wrote "fuel for the fire" above, but all the dictionaries I linked to gave only a negative connotation, hence I changed it to the grist idiom.]
Everything will be kept "close to the chest" though, as is the norm for how I deal with creativity. I only really share creative work when I feel it is ready enough to and only on my own terms. This has become even more true in recent years, given that AI-based theft has become a plague on the internet and thus sharing freely has become vastly more risky. Also, creative projects tend to be like candles: vulnerable, precious.
That's my status update for you. As for log entertainment, here is a fascinating term related to both art and storytelling: vignette (art) vs vignette (storytelling). ๐๐ผ๐จ
-
(#): I'm running late today, so I'll keep tonight's log entry briefer than usual.
I found another art-related Wikipedia rabbit hole worth exploring some: scroll art (a specific type of artistic motif). It seems kind of reminiscent of fleurons in terms of style and aesthetic, though it is not as print-related. Both often use floral elements.
Anyway, that's my log entry for tonight. I appreciate you visiting my site and I hope my thoughts have somewhere/somehow brought some measure of joy or peace to you.
๐ค๐
-
(#): I've had a nasty headache all day, but at least I had some pleasant time with my family and finished reading another of my books intended to prepare me before I dive into the novel writing process fully (rather than just brainstorming).
Speaking of storytelling though, consider the difference between these two concepts: a fable vs a just-so story. Fables are a common storytelling mechanism, often acting as a metaphor for a deeper message, but when used as if they embody direct truth (as in any origin myth) may mislead many people and thus cause real harm to society. Ethics matter in storytelling and in what a storyteller represents their story as being! Fiction presented as reality is essentially religion/mythology and is hence unethical.
That's the log entry for the day! As always, I wish all of my readers tonight a lovely day and a restful night. May fortune and fulfillment find you! ๐ฅ๐๐
-
(#): I've been working on a small vector art project today. Although most of my time was consumed by trying to sort out some bugs, technical problems, and usability issues with the software I was using, I got into the swing of it by the end of the day and am feeling good about it going forward. This project (an art piece) will likely consume a few days worth of my free time, but it's good to diversify creatively! Initially, I tried using Vector Styler but it was too buggy (still, as usual) and so I instead decided to use Inkscape for this project. Inkscape is less featureful than Vector Styler in most respects, but is open source and far more stable.
Anyway, here's a art-related diversion for you tonight: low-key art vs high-key art.
-
(#): It occurred to me recently that both fantasy and sci-fi each have at least one missing axis of classification. In particular, consider the fact that fantasy is usually classified into low fantasy or high fantasy whereas sci-fi is usually classified into soft sci-fi or hard sci-fi. Well, if you think about it, those two axes of classification are actually orthogonal aspects and thus each of these axes of fantasy and sci-fi could actually be applied to the other and wouldn't be the same thing as that other genre's existing classification system!
Thus, both fantasy and sci-fi actually have two axes of classification in this respect: low vs high and soft vs hard. Yet, in the existing literature, both major genres (fantasy and sci-fi) are treated as if only of one of these axes applies to them!
To clarify: "Soft fantasy" would be fantasy that plays loose with its own rules whereas "hard fantasy" would be fantasy that has strict adherence to its own internal rules, perhaps even to the point of having math-like formulas for exactly how magic spells must be constructed. Similarly, "low sci-fi" would be sci-fi with relatively few sci-fi elements present (such as K-PAX) whereas "high sci-fi" would be sci-fi with a relative abundance of sci-fi elements present (such as Alien). ๐ญ๐๐
Thus, in this context, "low" sort of means "low-key" (or "understated") and "high" means "high-key" (or "pervasive"). Likewise, in this context, "soft" means "weak rule adherence" and "hard" means "strong rule adherence". Nuance fosters variety!
I hope you found that interesting! Thanks for visiting, as always. May your days and nights be filled with both adventure and wisdom! ๐๐๐งโโ๏ธ๐ฆ
-
(#): I really wish tech companies would focus most of their computer engineering time, energy, resources, expertise, and finances on creating computing devices that are as energy efficient and environmentally friendly as possible!
If you really think about it, lower powered tech (e.g. such as something closer to 1990s and 2000s computational power but with more efficiency) would provide just as much fun and entertainment and practical value when engineered and designed well, and so there's little to lose and much to gain by refocusing tech on much more wholesome design principles! I also think there's a much larger market gap and demand for it than most computing tech people realize!
So, with that, those are my thoughts for the night y'all. Sleep well, gentlemen and ladies, and may tomorrow broaden your horizons and deepen your benevolence! ๐๐ ๐
-
(#): I'm skipping putting much effort into my log post tonight to save some time. I was hanging out with my family some, among other things (e.g. a dentist visit) today.
Anyway: sweet dreams and a sweeter life, dear readers. ๐ฐ๐ด๐๐
-
(#): I've changed the method I provide for readers to contact me from (1) sending a message via Discord to (2) sending an email to a public-facing email account I created. I've wanted to do this for a while, so that people don't have to create a Discord account to contact me and to improve privacy, security, and ease of use.
The new contact page now also has a few extra links.
That's the news for the day! Thanks for dropping by! ๐ก๐
-
(#): A gift I bought for one of my siblings came in the mail today and I'm going to wrap it soon. I hope they like it! ๐๐
In other news today, I figured out some new workflow tricks for Inkscape today that I'm really excited for! It turns out the "tweak" tool actually is excellent as a 2D sculpting tool if you set its parameters right and choose an appropriate mode of operation for it. I had previously not paid much attention to it, but the tweak/sculpt tool in Inkscape is far better (at least in Inkscape v1.3+) than I'd realized! ๐๐จ
One of the foremost reasons I have wanted to use Vector Styler (though, alas, it is far too buggy) was because it has some naturally expressive vector shape manipulation tools such as the "path brush tool". I thought there was no truly fluid workflow for similarly natural (brush-stroke-like) painting in Inkscape, but with the tweak/sculpt tool more fully understood I now realize that Inkscape is actually more than capable of it!
Indeed, not only that, but the result seems even cleaner and more reliable than what I was considering doing in Vector Styler! That is immensely heartening for me! It was a longstanding frustration, now cured. This is truly a breath of fresh air! ๐จ๐๐๐ฑ
-
(#): Oh! I accidentally forgot to make a log entry post on this day, and so I am doing so after the fact (on 2024-08-09).
PS: It feels like there should be a single word for "after the fact"... The closest seems like "posthumously"... but that would be inaccurate in this case ๐ ๐.
-
(#): I recently read a book about bookplates (The Art of the Bookplate), which I finished over the past couple days. The art style embodied by bookplates is appealing to me and I may emulate aspects of that style for some of the cover art and/or interior art for my novel and/or other art projects. Anyway, the author of the book also mentioned he belongs to the American Society of Bookplate Collectors & Designers. Perhaps some of you will also find that art style appealing and interesting as well, especially those of you who are bibliophiles (book lovers), like me. ๐ง๐๐
Anyway, that's my post for the day! Take care of yourself as well as those you love!
-
(#): I've been confounded the past couple days trying to get the right balance of detail vs simplicity for the art style of the side project I'm doing in Inkscape but finally overcame that today by settling on what looks like will be a good balanced style between the extremes, which is a relief since I was spending many hours the past couple days just fiddling with small details of it and it still not feeling right.
Anyway, that's my post for the day! See ya later, web friend! ๐๐๐โโ๏ธ
-
(#): I've been thinking over the past few days about what site(s) I should post my art project(s) on to get some income for sustaining my creative endeavors in a way that is less at risk of being stolen/plagiarized by AI and also meets my other ethical standards.
At first, the search did not go well and was fairly frustrating.
Initially, there were several print-on-demand (POD) sites I looked into. Among others, I considered using Society6, Redbubble, FineArtAmerica, and/or Zazzle. All had problems that I found irritating and partially prohibitory and I also was/am unsure of some of their production and data management ethics.
I also considered the possibility of printing art items in bulk or wholesale and then shipping and selling those items myself. That'd yield a better percentage per item and could give me better ethical control overall perhaps.
I also considered the possibility of selling through stock photo and stock vector sites digitally so that the physical production aspects were eliminated, but that too was not especially satisfactory given how bad some of the terms were and how many of those sites have defected to allowing theft-based AI to scrap artists' work, betraying artists everywhere, which on moral grounds I don't want to support and thus makes trusting the major stock art sites difficult.
However(!), I luckily made a breakthrough in my search and remembered an online retail service called Gumroad which is far more generous to creators (only a ~10% cut for Gumroad — ~90% for the creator) and which would give me arbitrary control of what I offer for download or shipping. This would enable me to have much better fine-grained control of the ethics and production and design of everything I make available.
Even better, since it is a site that allows you to sell essentially anything (including software, videos, art, books, fonts, tutorials, video games, music, and physical products), it will actually be far broader in applicability to my interests than just using a print-on-demand site would (which would restrict me to selling just printable art).
Gumroad allows users to sell arbitrary collections of files, which means that it'll be hidden behind a zip file (and/or other levels of data obfuscation) and thus less likely to be stolen by AI too! This therefore provides a partial protection mechanism against AI theft that is still practical for broadly almost any kind of item.
Gumroad seems like the best option for me for satisfying my (1) ethical, (2) creative control, and (3) anti-AI goals. Hence, I will likely be creating a Gumroad account soon (and linking to it somewhere on this site) so that I can make my work available for people in a form that can't just be scrapped from my site and accordingly will thereby support my ability to live a creative life without stifling myself.
It's not legal to gather content that is locked behind a paywall! The AI-thieves can't legally make an argument that paywalled content is free for public viewing and hence for theft disguised as "inspiration". That is true even if the price is very small (e.g. practically free)! Thus, I can both get more income for myself to sustain my creative and intellectual endeavors and also protect things I want to be practically free by creating a strong legal barrier against AI-based scrapping/theft of data on the web!
I'm excited to have made this breakthrough today by remembering that site and looking into it more carefully today! ๐๐ง๐๐จ
-
(#): As planned yesterday, I did indeed create a Gumroad account for future use, but it's not ready yet and so I won't link to that account until then.
In other news though, I decided to join a Mastodon server devoted to creativity called sunny.garden and I've added mentions of it to my homepage and my contact info page.
Oh! I've also been working today on designing an anti-AI royalty-free license that will sit somewhere between proprietary and Creative Commons in terms of permissiveness. I'll tell you when I accomplish that too, at some point down the road.
It's been a busy but productive day! Anyway though, thanks for coming to hang out on my web log for a bit! Have a fresh and fulfilling evening friends! ๐ต๐ฅ๐
-
(#): I've been working a lot today on writing the custom license agreement that straddles the line between the Creative Commons and proprietary royalty-free licenses. It is coming along very nicely and it has been surprisingly fun to work on and refine! You can be sure I'll add it as an available download for any other creative people who want a friendlier kind of royalty-free license!
Anyway, it's late now and I should read some and go to bed soon! Stay awesome, web friends. Sleep soundly and wake wistfully! ๐ด๐๐๐ฆ
-
(#): The writing and designing of my balanced/hybrid (and also anti-AI) Creative Commons and royalty-free inspired license is almost done and I expect to probably be finished with it by tomorrow and will post it then! It has continued to be unexpectedly entertaining to write. I'm looking forward being able to use it though!
Anyway, I also joined Newgrounds today. This is on top of recently joining Mastodon. I've actually used Newgrounds on and off for years but have never created an account until now. I love creative communities and have a quite broad range of interests, so I am hopeful that this new mix of multiple communities will be even better!
I also added this to my contact info page as another available means of contacting me.
In conclusion, that's what I wanted to tell you all tonight. I wish you all the deepest and most restorative sleep, as always! ๐๐ค๐ฉน
-
(#): I did it! It's 3 minutes to midnight but I've completed writing the first version of my hybridized Creative Commons & royalty-free license! ๐
I've posted it to the my creations page. ๐๐ฅณ๐
It's late, so I'm going to keep this post brief, but I will likely add addition details and updates regarding it (and related matters) another day.
The text body of the license itself is being released under the Creative Commons share-alike license, so feel free to use the new license!
Most importantly of all though (as always) is that you have a gloriously lovely night's rest my friend! ๐๐๐ฅ๐
-
(#): I've made a thread on a web forum today talking about my humorously large web log page (this page) and have asked the forum members there what their own sites' strangest landmark(s) may be. Hopefully there'll be fun responses.
I've also released my "The Secluded Wilds" music composition on Newgrounds today and hope some people will give it a listen from the Newgrounds community too. Newgrounds has a "scouting" vetting system though, and that means that some music person there will need to approve my music at some point if it is to ever hit the main pages. It's been fun and nostalgic to use Newgrounds again some! ๐ฝ๐
Anyway, that's my log post for the day. Thanks for dropping in, net surfer! ๐โโ๏ธ๐
-
(#): I've made a lot of site navigation improvements today! You'll notice that anchoring (e.g. bookmarking or sharing) to specific locations within some of my most important pages is now considerably more precise and expressive! ๐น๐ฏ
I've also initiated the process of joining a webring called Ghostring that I've been meaning to join for a while but sometimes forgot about and sometimes just procrastinated on joining.
-
(#): I've made it possible to directly download each of my creations from the table of contents entries on my creations page, so that you can get the items quick without needing to scroll through the list if you already know what each of the items are or are willing to try them blind.
This makes the local table of contents for the my creations page more structurally similar to the main site navigation and table of contents on my index page.
I freshened up my about me page today as well. I had previously barely touched it since the first few days of the site and so as of today it is now considerably better! ๐ค
I've also finally set up my Gumroad page today and have linked to it on my creations page. It should thus now be possible to get the fully editable version for AURFL that I mentioned. It is 100% free on Gumroad too. I just put it there to support donations.
-
(#): Recently I've been thinking more about the concept of "digital gardening" and the nature of curated longstanding homepages versus web logging (blogging). In these regards, I found the following website links notable and relevant:
- How Blogs Broke the Web
- IndieWeb's wiki pages on website types, especially the following:
The IndieWeb wiki pages have many outgoing links that also provide related info from many sources. Much of it is very similar to web revival stuff such as is prevalent of Neocities and elsewhere, though without implying a specific focus on retro computing.
This is relevant to my recent considerations because these daily log posts here often consume at least half an hour of time per day and sometimes very much more.
For the largest entries they have taken several hours to research and produce. Indeed, this log has been somewhat of an inhibitor with regards to my creative output and has diverted my time and resources away from other pages and from other creative mediums of expression to an extent.
I really do enjoy the daily outlet for my thoughts though and providing interesting things for my readers to explore! That's why I've decided on a compromise: I intend to continue posting every day on this daily log until 365 days are reached, at which point I plan to no longer impose a daily post requirement on myself! After that I will only update when I want to (still often).
Secondly, in the long term I am also thinking of writing my own ad-hoc static website generator and/or web templating system for my needs as my site grows, since maintaining redundancies manually disincentivizes me from being more experimental.
My site will always be just static HTML and CSS though, since that is part of my personal website philosophy: that all dynamic content should be in the form of downloadable offline files and that no part of my site should ever be dynamically generated or track or endanger the user or waste their computer's resources.
Thirdly, I have one more big announcement today: I intend to embark on finally adding some art to the site's design! You see, last night I finally had an epiphany about what direction I want to take the art design for my site!
The lack of clarity on that point prior to last night's insight was one of the main reasons I have avoided displaying any of my art for so long on this site so far (besides the other reasons, such as wariness of AI-based theft, etc). Now though I have the spark of inspiration that I needed to begin the process! In particular, I have a labor-intensive but fun sculpted art idea in mind and will begin production today!
It'll take a while but I think it will be worth it! Those of you on Neocities who have become a bit bored of my text-only minimalistic site so far will finally see the aesthetic appeal and eye candy of the site increase! Let the art games begin... ๐จ๐
Here's to a great day in this site's history then: The day when the art design finally begins! Cheers, reader! The moment has finally come. Art is on the horizon. ๐
-
(#): Last night I ended up needing to do other things and so I only very briefly began work on my upcoming art piece for finally introducing art design to the site (instead of the site being only text still). Most likely it will take several days (and perhaps even over a week) for the first art to be completed and posted.
In other news though, today I have substantially improved my contact info page. My contact info is now organized under multiple headers and has its own local table of contents too! I really like the new version! โจ๐ฅฐ
I've also added easy access to my Neocities profile to both my homepage (a.k.a. the index, main page, etc) and my contact info page. I did that because it can be a bit difficult or tedious when browsing someone's Neocities site to find their corresponding profile in order to follow them. Now though, with the changes, it'll be easier on my site!
Anyway, that's my update for now. See ya around, net surfers! ๐๐๐โโ๏ธ๐โโ๏ธ๐
-
(#): I've switched from Gumroad to Ko-fi as my platform for supporting donations now! I'd heard of the platform before but didn't realize that they support "pay what you want" product purchases too (like Gumroad).
I was/am frustrated with Gumroad's lack of formatting control and the community-building aspects of Ko-fi also seem worthwhile! I've also updated my contact info page with an improved table of contents, emojis, and a Ko-fi contact section.
I still haven't got much work done on my art design, but I am quite excited for the plan!
-
(#): I've been refreshing my digital sculpting workflow today and also figuring out a plan for the post-processing I intend to apply on the result. Having investigated that in advance, I have now confirmed that my plans will work! ๐คฉ๐จ
Today was mostly messing around and refreshing my knowledge of the user interface (since it has been a awhile), but tomorrow the sculpting will begin in earnest if all goes as planned! I am very excited for the potential of the idea! Another breakthrough! ๐งจ๐
For those of you who want some log entertainment though, and not just a personal update from me, I suggest you explore the wikipedia page for moss! Moss is often overlooked, but has a wonderful variety of forms! It is like a little alien jungle on a shrunk down scale! I love nature and I also love moss and many other plants! ๐ฟ๐น
-
(#): I had a bunch of additional ideas that came out naturally and tangentially from my new prospective art style considerations today. Some of the ideas are quite exciting! I am even toying with an idea for coding a bit of art software to help me quickly produce more pieces that will fit the style I've come up with, once I get the momentum rolling on it (i.e. not yet, but perhaps in the not so distant future).
These tangential ideas that came to me in the course of my thoughts today did cause me to get moderately diverted today, admittedly — as I am a bit prone to doing, as my regular log readers would well know — but I still got in a bit of time towards the more immediate goal of creating the first art piece at least. ๐ ๐ญ
In any case, I intend to focus more on the immediate piece tomorrow, as planned. The ideas I had today were just too valuable to not take some time to write them down and explore the implications a bit more! It was just too alluring to resist! ๐คฉโจ
In the meantime though, here's a bit of idle log fun for you: the Net PBM image file format. It is an old file format, but is very human readable, conceptually simple, and easy to understand. There's just something charming about old tech like that. ๐๐พ๐ฟ
-
(#): I did indeed get a lot of work in on my upcoming art piece today, just as planned! I'm getting more into the flow of my natural creativity again and today I could feel substantive movement in that regard. It felt like a "stepping stone day", metaphorically speaking.
The past decade of having a general mental block on creative pursuits is indeed being gradually dissolved by my efforts on this site and elsewhere and I can feel a steady stride rising on the horizon of my mind and life. So, here's to a better future! ๐๐ต
Anyway, as always I am wishing you a most restful and illuminating evening! ๐๐๐ค
Oh, and for those of you who want a bit of idle curiosity candy, I found a cool HTML-only ASCII-based animation of a horse's stride... ๐ฅ๐
-
(#): I finished my first ever decorative art piece for my website and have added it to the index page as a banner! The artwork came out reasonably good, although not quite on par with my imagination, and so I may eventually redo it. In the meantime though, I'm fairly happy with the result! ๐๐ฟ๐ฒ๐ป
There are three objects featured in the art banner: (1) some 3D text (generated from a pre-made font and then tweaked), (2) a ghostly hand of a wraith (sculpted from scratch), and (3) a gnarly glowing green tree (also sculpted from scratch).
I did the sculpting in 3DCoat (a wonderful and highly expressive digital sculpting program) and then converted it into downsampled pixel art and added some special effects to make the composition fit better together. Each of the sculpted models was actually rendered out separably with transparency and then later composited.
Besides the aesthetic reasons for converting the high resolution render into pixel art, it also makes the resulting image far more efficient in terms of resource consumption and environmental friendliness. The final image I chose to use is just 256x136 pixels. The efficiency and ethics of resource consumption matters! Every bit counts! ๐๐
-
(#): Despite what I said yesterday, the prior artwork I uploaded continued to bother me. It just really didn't fit the vision and effect I had in mind! ๐ค๐ก
So, today I stayed up until after midnight (technically it is 2024-08-27 right now ๐คซ) and made a new pixel art sculpture to use as my site's banner to greet new users! ๐จ๐๐
It was a lot of work, but now I feel so much better about it. Now the art actually corresponds much more closely to the mood and effect I was originally going for. In fact, ironically, the new artwork is actually based on my original idea, the first idea I had when brainstorming, which yesterday I had second guessed and therefore ended up barking up the wrong tree with that one. ๐ฒ๐โ๐ฆบ
The previous artwork was a great example of what happens when you don't think through a composition properly. In that piece, I tried to do two not-entirely-compatible things at once: (1) emphasize my alias "Wraith Glade" via literal 3D text and (2) "grab viscerally" at the reader as if by a ghostly hand. The hand in that piece ended up grabbing and framing the text, but that ruined that composition's ability to actually fulfill the ghostly hand's most salient emotive purpose: grasping at the viewer. ๐ฅ๐๐ญ
Today though, all is made right again! ๐๐ Not only does the new artwork fit my intent much better, but it also is even smaller (128x128 pixels instead of 256x136). That means the new image is even more environmentally friendly! Hooray! ๐ฅ๐ฑ๐๐ค
-
(#): Today I've fixed some formatting problems in my website that I had previously overlooked. You see, even though my site is designed for accessibility and usability, I usually browse and test it on my desktop computer. However, I looked at it on my phone today and realized that under some circumstances some aspects of the formatting get messed up.
In particular: (1) one of the lists was drawn with hideously overlapping text lines if the browser window (of any browser) was too narrow, (2) Chrome-based (i.e. spyware-based) browsers convert the curved arrow unicode character I use for same-page anchor jumps (like "โคต#") into emojis that look horrible in context and so I've switched them to use "โ#" instead, and (3) the compass-style arrows (โฎ and โฎ) I was using for the Ghostring previous and next links were only visible on desktop — on mobile they became generic empty boxes.
I have corrected the corresponding problems so that the site is now more broadly compatible. In general though, if any feature can't be adequately fixed for viewing in freedom-hostile browsers (like Chrome — indeed all Chromium-based browsers, contrary to some people's belief) but works in freedom-friendly browsers (like Firefox, Libre Wolf, Waterfox, Pale Moon, etc) then I will prioritize freedom-friendly browser users. We were lucky that this time the fixes were easy. Don't use spyware!
I've changed my arrows for Ghostring to use the exact same unicode characters as Ghostring's own site (โ and โ). Hopefully their system will accept my site into the ring after this. Perhaps the webring code they are using doesn't account for many cases.
Significantly, I have also taken this opportunity to merge the "About This Website" and "Website History Overview" pages into one "About Site" page. Old links to the prior two pages will break, but oh well. The result is worth it.
Previously, those two pages were weirdly partially redundant and were confusing for anyone seeking to learn about the website. That fact had bothered me for months, but I wasn't sure what I wanted to do to fix it until today. The new merged page feels much better! I also took the liberty of making some edits to the writing and adding more hyperlinks along the way. It's refreshing to have the page merge finally done! ๐๐
-
(#): Today I actually spent most of my free time contemplating programming and exploring some tangents from that. That wasn't the original plan for the day, but it was a serendipitous diversion. Variety is the spice of life! ๐ฅ๐ฅ๐ง
Anyway, I'm keeping today's log post brief to save a bit of time. โณ๐ฆ
Most importantly though: Just as I am fortunate for every visitor that comes here, so too do I hope that every visitor is visited by fortune as well! ๐๐ ๐
-
(#): I made a seamless "dark forest" background image to decorate my website today. Now the aesthetic and conceptual theme of my site feels significantly more pervasive and coherent. (The prior solid black background was legible but "meh".)
I made this image to be 256x256 pixels in dimension, in contrast to the 128x128 of my "ghostly hand" circlet/wreath logo on the main page. This is because seamless textures benefit from more space for reducing apparent repetitions in the pattern, but I still (as always) care a lot about not being wasteful of electrical energy or any other computational resources and so it is still much smaller than most sites' images.
The theme feels more tangible at long last and I'm glad of it! ๐๐
Today marks the very first day that every page on the site displays graphics! ๐
(Although, on all but the index page the graphics are just the seamless background.)
๐ (By the way, be sure to use
image-rendering: pixelated;
in your CSS if you want pixel art on your own site. Otherwise it will be blurry and hideous!)I also spent more time today exploring some programming ideas and the corresponding tradeoffs and workflow considerations. I have been tempted lately by the prospect of perhaps making a bit of art software to aid my art production for other things and/or perhaps making a small game.
In the meantime though, I'm still working on building up my web presence and side projects for sustainability and viability. The novel I've mentioned hasn't been worked on much in the past three weeks or so because of the creative drive (and necessity) to also expand my reach and art and dev endeavors too. It's a balancing act, but it is such a joy to be making so much substantive progress lately! ๐จโ๐ซ๐ญ๐ฑ๐
-
(#): I was indulging my programming diversions again today, but it wasn't especially productive. I was kind of "running around in circles" in a frustrating way all day. Oh well though, some days are like that. I was also drowsy today. So, I'm not reporting much today for this log entry.
Here's something random and interesting I stumbled on though: SDLang (not to be confused with SDL the popular game dev library) — a less known but nicely human-readable markup language as an alternative to JSON and/or TOML (etc). I've not used it though and only briefly encountered it recently. The markup example on the site looks clean and legible though. ๐งผ๐
-
(#): I had another day of mostly frustrating contemplations and wheel spinning regarding programming again. I'm trying to find some clarity on my intentions for possibly making some art software and/or a small game and whether and when I want to divert time towards that or else keep that time directed elsewhere. ๐ค๐ญ
I suppose as long as I am getting tangible creative things done that move me forward then that's what matters most. There are many good paths in life, but all require at least a sufficient amount of persistence and focus if they are to bear fruit. ๐ฑ๐
Anyway, as for log entertainment today: If you're interested in programming languages, have you ever looked at the Rosetta Code website? It lists huge numbers of implementations of tasks in many different programming languages, thereby providing a loose basis for comparison amongst the languages out there. In particular, today I looked at the Sieve of Eratosthenes (prime number algorithm) page some. ๐
Afterwards, I also looked at the Wikipedia page about software rot some, since I've been wanting to choose a language, platform(s), and library(s) for my next programming project that is both performant (hence ethical for energy, etc) and stable and yet also not overly tedious to work with. There are several viable options and tradeoffs to consider. Such thoughts have weighed on my mind though. ๐๐ต
Sometimes I wish only one usable language and library existed though, so I could stop intermittently driving myself crazy revisiting and debating such things. ๐
-
(#): Much of my time today was spent visiting a family member in the hospital. I hope they recover soon and well! I am worried about them! ๐ฅ๐ค๐ฉน
I did also spend some more time mulling over my recent programming-related thoughts again in my head but much of it was "wheel spinning" yet again, though I did make some substantive inroads in my thoughts on my plans in some key respects at least. ๐ค
Anyway, most importantly (as always), I hope your own day has been better than mine and that you sleep well and rest fully, waking with great clarity of thought! ๐ด๐ก๐
-
(#): I finished another sculpture today. This one is just a quick spontaneous one. It is a surreal composition, by intent/design. It's not for a specific purpose. I just wanted to make another pixel art sculpture (sculpted pixel art).
However, I want to have some kind of proper gallery location to hold it (and other future pixel sculptures I share) on my site but it is too late today to have to time for that. I'll probably set that up tomorrow (or otherwise soon) instead.
Anyway, that's my log report for the night!
Thanks for droppin' by, fellow retro net reveler! ๐พ๐ฅ ๐
-
(#): Most of my day was spent helping the afore-mentioned family member at the hospital and preparing them to leave and taking them home. Their recovery was unexpectedly fast and so they got to come home early, which was great news! It's good to have them back. I was worried. ๐ฅ๐๐ท
In other news, I did create a new gallery page for displaying future pixel art sculpture pieces and made the corresponding changes to integrate that page into the navigation ecosystem of the rest of the site. I haven't had much time to refine the format of the gallery page though, so it just displays the images and that's all. I plan to give it a more properly structured format once I get around to it. ๐ผโ
Oh(!), and I also split my creations page into more categories for easier navigation and for future expansion. That'll make it clearer what's on the page too. I also edited some.
Anyway though, thanks for visiting my home on the net, friend! Sorry for the late update today, but it was late or nothing. I wanted to at least make sure I fulfilled the promise I made to post the art today! I really appreciate my readers. Goodnight! ๐ค๐
-
(#): I had another late night of attending to other things and so I'm skipping doing a full log post tonight. I feel my thoughts are gradually coalescing though. ๐ฌ
But, as always: Sleep well and rest fully, net friend! ๐
-
(#): Like yesterday, I'm making a brief post tonight to save some time.
In the meantime though, here's a cool glossary of sculpting terms to explore!
Anyway, that's my post for the night! Goodnight y'all! ๐ฟ๐๐ค
-
(#): I came across a really cool obscure (i.e. less widely known) programming language today: Seed7. It is one of the extremely few programming languages that allow you to define arbitrary natural language phrases as functions, a trait it shares with other little-known programming languages like Jinx and LDPL.
I think there's a lot of untapped (or at least under-utilized) potential in programming languages that maximize clarity and intelligibility, such as those that enable you to phrase things arbitrarily and naturally like these programming languages do.
That's far from the only distinctive or interesting thing about the Seed7 programming language's design though. It has unusual but compelling structure in multiple respects. For example, it appears that it may have had types as first class values long before Zig did (though I'm not sure). It is well worth looking at if you are into exploring the possibilities of language design for use in programming, like I am.
I also encountered a very unusual C library called Cello, which extends the C language without actually making a new language in order to do so. That's interesting too, though not as exciting to me as the programming languages that imitate natural human speech or writing like Seed7, Jinx, and LDPL. Still though, Cello looks potentially useful for some people, especially if you only want a programming language that improves modestly on C, rather than something that breaks away from it.
Honestly, it felt like most of the day zoomed past today, faster than I really realized it, though it was at least productive and exciting in light of these language discoveries (etc) today! I also may have made a significant breakthrough in my mental block and anxiety about choosing what languages and libraries to use. In particular:
I realized that the "risk" of potentially hitting a dead-end with a specific programming language and/or library and/or platform is not nearly as high as one may imagine when you consider the fact that not only can you always just rewrite the program in another language (obviously) but that doing is in itself a great exercise and therefore not even in that sense a burden but could even be thought of as a benefit if viewed in a more healthy and adaptive light! ๐ช
To make an analogy: I am fond of walking to the grocery story on foot, which takes about ~15 minutes to get there and ~15 minutes back, but I don't even view that as a cost but instead as a bonus because it allows me to enjoy nature more and to get more sunshine and exercise in! ๐๐ฒ๐ฑ๐
Much the same can be said for fears about "choosing the wrong programming language" (or library or engine or platform, etc), which is that even if you end up needing to change then you can think of it more as a bonus instead of a penalty, since the act of doing so in itself is a great exercise in clarity of thought and understanding relationships and being adaptable (which are also important in creativity itself). ๐ก๐ฆ
Anyway, that's my report for the night!
May your evening be lovely and your sleep refreshing! ๐๐ต
-
(#): I freshened up the new pixel art sculpture gallery page that I created a few days ago. The format is much better now and the page also features a description on the page itself too instead of only in the "my creations" directory list.
The images are no longer just a giant long raw list of HTML
img
elements spanning the entire page, but instead there is a nice organized box for each image set. There's currently only one image set posted there so far, but I plan to do more over time as it strikes my whimsy. Sculpture is a natural artistic medium for liberated creativity. This is especially true for anyone who is unpracticed in drawing 3D perspective in 2D.I also attended to other things and hung out with family today as well.
So, that's today's update! Thanks for popping by!
Stay awesome, fellow retro netter. ๐พ๐ธ๐ฃ
-
(#): I'm keep my post brief tonight again to save some time. โณ
If you want a bit of idle diversion tonight, I found the Wikipedia glossary of architecture terms kind of interesting to look at, though not as interesting (personally) as the glossary of sculpture terms that I shared previously on a recent night. I feel like sculpting and architecture are similar in spirit though, in a sense. ๐๐ค๐ฟ
Anyway, that's all for tonight. Goodnight and sleep well! ๐ค
-
(#): I'm still struggling with trying to get a clear and decisive sense of what path to take forward for my life right now (a way forward that truly sticks and is effective). It's a struggle I've been dealing a lot with in recent years and it is very frustrating for me to be so racked with indecision and creative mental blocks and such sometimes. I'm going to find a way through it though, somehow! ๐ต๏ธโโ๏ธ๐ง๐ช
It was mostly another long day of "spinning my wheels" and internally agonizing over choices and prospects for the future, just like I have for so many years at such great cost in time and efforts and opportunities. However, the day was otherwise good and I hung out with my family again and enjoyed some time together. ๐ก
We've been watching The Legend of Korra lately, after having also watched the original Avatar: The Last Airbender series beforehand too. Both are great! ๐ฅ๐๐จ๐งฑ
In any case though, know that you have my gratitude (as always) for sharing some of your own time and life with me here by reading my log and other parts of my site! Wishing you all the best, and the brightest future for us all, as always! ๐ค๐ ๐
-
(#): I stumbled upon an unusual software library today: a "language-independent preprocessor" called Ellipsis. I didn't look into it that much, but I figure those of my readers who are programmers may find it interesting. Macros and preprocessors enable metaprogramming, which can be very powerful and greatly reduce tedium when programming given the right context and opportunity. ๐
In other news though, late in the day I think I finally made more progress towards finding a way out of my current creativity/productivity stifling mental block! I spent a great span of the day thinking deeply about it and weighing many subtleties against each other, but unexpectedly after nightfall I'm starting to see the light at the end of the tunnel of my current mental block and that is a great relief! I've been frustrated for severals days now, perhaps even a week or more. โณ๐งฎ๐
So... here's to a brighter dawn tomorrow! (both for me and for you) ๐๐๐ -
(#): I let myself celebrate my progress on my mental block for much of the available time today by playing some old games I've had for a while but neglected. I also watched more Legend of Korra with my family after that, in the evening. ๐๐
Anyway, touching upon the subject of my prior log post from yesterday again (i.e. macros and preprocessors), here is an article from Wikipedia you may find interesting: anaphoric macros. Such macros are in some ways actually one of the simplest kinds of macros to implement, since even C's preprocessor can accomplish the same effect via simple text substitution, but the Lisp/Scheme family of languages is especially known for having a wide range of expressive variations on the concept of macros.
This is also relevant because I think I've resolved to use one of the Lisp/Scheme family languages for my next programming project (whenever it comes). In particular, I've identified Janet, Steel Bank Common Lisp, Cake Lisp, and Dale as being of most interest to me and my intentions. Janet seems to be the winner overall, though I haven't used the language enough to sure yet. There will be an efficiency penalty for using Janet (unlike Dale, probably), but I do want greater expressiveness as I have been tired of feeling hemmed in by unexpressive languages riddled with arbitrary constraints and the Lisp/Scheme family is known to be more free of such things.
If worse comes to worst then I can always just rewrite whatever I do in something else if I have no choice. The act of rewriting (translating between languages) is itself a useful and instructive exercise, after all! In that sense it is a win-win no matter what happens! So, fixating too much on picking the "best language" for a given use shouldn't be allowed to cripple one's ability to actually get things done! ๐๐โ๐
Yes, I know I have been bouncing back a lot between different programming languages and mentioning them intermittently in my log, but that's a struggle I've been dealing with for a while (many years, honestly). Hopefully I'll stop being my own worst enemy regarding my own creative decisions soon, as I honestly and earnestly really need that pattern to change and for something to truly stick! I need to live with more gusto!
-
(#): Last night I said that the current outlook was that I've been inclined towards using Janet as my programming language for my next project (once I do one). However, this morning I looked up benchmarks for Janet's performance and efficiency and found that the stats for that are terrible, on a similar level as Python (which is pretty much the slowest and most wasteful of electrical energy (and other resources) of the most popular programming languages). That is ethically unacceptable to me.
I had previously been operating under the assumption that the Janet programming language was roughly in the same ballpark as Steel Bank Common Lisp in terms of efficiency, which is roughly 2x or 3x more wasteful than C (~the most efficient and eco-friendly programming language). Indeed, I can begrudgingly accept waste on the level of 3x (i.e. ~300%), though I won't be very happy about it, but I cannot in good conscience accept waste on the level of 30x or 70x or 100x (i.e. more than ~3,000% waste, which is what non-FFI Python-level inefficiency would imply in practice).
For example, see these comparative benchmarks of Janet:
- Mike Beller's Janet vs Python vs Lua benchmark
- Dru Jensen's big table of language benchmarks for an identical Fibonacci algorithm
It's also worthwhile to recall the eye-opening energy efficiency study I mentioned in my log a while back: Energy Efficiency Across Programming Languages by The Green Software Lab. It has some very illuminating tables and energy use measurements.
Thus, in light of all this, it looks like I actually won't be using Janet after all (despite what I said yesterday). I could instead use Steel Bank Common Lisp and get ~2x to 3x worse performance than C. Cake Lisp or Dale are (potentially) faster, but both of those are/seem much less mature. Cake Lisp doesn't even currently have documentation for all its own basic control structures (such as
for
loops, etc)! Dale sounds like it requires Linux/BSD for the development workflow, though it claims it can cross-compile to Windows (whose market share is still huge, hence necessary as a build target).The most energy-efficient languages are languages like C, Zig, and Rust. Object-orientation almost always adds at least a small layer of inefficiency to any language. Being interpreted during runtime is the most consistent and impactful source of inefficiency and waste in programming language design though in practice it seems.
The design of the Janet programming language in terms of user experience is great, since it is like Lisp or Scheme but cleaned up with an eye for good taste and sane naming conventions and comfortable usability and such. However, I can't justify it in light of realizing that (contrary to my prior assumption) it isn't remotely in the same ballpark of efficiency as Steel Bank or LuaJIT or Java. I can't ethically use it.
Energy waste is at an all time high in the computer industry now and it is destroying the Earth. Wasteful programming languages and libraries can't really be justified in light of this, at least for any programs that are intended to be distributed to an unbounded number of people (unlike one-off scripts that are only ever used by one person).
So, this means that my attention is now turned towards a new (or perhaps one should say old) decision: (1) do I pick a moderately performing but more expressive language like Steel Bank Common Lisp or (2) do I strictly use one of the most energy-efficient languages and accept living with the lower expressiveness they tend to have?
Hopefully I'll be able to discern the path forward that is a the right fit for me, my personality, and my goals by the end of the day. I am quite tired (and frustrated) with deliberating these matters for so long, which distracted me for days from getting actual tangible creative (or intellectual) work done. ๐ค๐ฌ๐ง๐จ
-
(#): Today I've indeed been leaning towards moving forward with Common Lisp as the language for my next software project (whatever and whenever it is). I will most likely use the Steel Bank Common Lisp (SBCL) implementation of Common Lisp, but the existence of the Embeddable Common Lisp (ECL) implementation is also reassuring in the event that I have any problems with Steel Bank's platform or need (or want) to port the software to a wider range of platforms, since Embedded Common Lisp supports a wider range of devices and operating systems.
Along these lines, I have been using WinHTTrack Website Copier to help me download offline copies of a bunch of Common Lisp documentation (from multiple sources and in multiple forms), which is something I like to do whenever I seem likely to build out some work on a platform. The web is not very reliable and information can go dark at any time, so if I'm going to work with something I like to have my own separate fully independent copies of important information. WinHTTrack is a fantastic tool in this regard. I'll add it to my recommendation list tonight, in fact. It is great! ๐๐
Anyway though, I'm hopeful that I'm on the right track this time and that my choice of language will stick this time. I have honestly wasted many years of my life and many opportunities by second guessing programming language and platform choices and have tried out dozens of them over the years, including many esoteric ones that few have heard of. Common Lisp has a good balance of efficiency (hence ethical acceptability), a large and mature community, and very high expressiveness that won't make me feel stifled and unhappy. I need a choice with staying power!
Admittedly, "design within limitations" and making a more limited system (e.g. C) work well for oneself has a different kind of special satisfaction of its own, and one can make amazing things in anything (in any language), but my mood can fluctuate on that point (which has caused too-frequent disruptions to my attempts at actually finishing finished projects) and hence a language like Common Lisp that has a balance of both performance and expressiveness is likely to help reduce or hopefully even stop my very destructive cycle of switching languages repeatedly. I'm not even exaggerating to say that my quality of life and my future depends on it, since it (my indecision) has been one of the greatest sticking points of my life and has held me back for years.
Here's to the prospect of freedom from my own personal "prison of the mind"! It has truly been the greatest "demon"/"nemesis" of my life! Indeed, perhaps nothing in my life has caused me more harm! May I be free of it at last and start living as intended again! May the cycle of indecision and overbearing "perfectionism" be finally broken!
Likewise, may you too overcome whatever personal demons you've been most struggling with in recent years and come out the other side to a better life too! Sleep well, fellow web surfer. Use that restful clarity to embolden your mind and your future!
๐ด๐๐๐ฎ๐ฅณ๐ฑ๐
-
(#): I'm keeping tonight's entry short to save myself some time.
I've been considering whether I should do a self-imposed game jam with a tight deadline, do some work on the idea I had for some useful art-related software I mentioned a while back, or do an at-my own pace game dev project or an adjacent project (such as a simulation). Really, any of those options would move me forward and hence would be good. If I could just get myself to stick with something... ๐
There is also my recent novel idea I had and which I still have over 70 pages worth of brainstormed ideas for. I feel like getting a brief software project done first though might prevent my mind from drifting from the novel as much. It is also possible my attention is distracted because my heart may be more in the software currently than in the novel, but I don't know. My feelings are not always entirely clear even to myself. That is the human condition though, I suppose. It is a tale as old as time.
Anyway, I wish a restful slumber for all my readers! I could use a restful night myself, as I am still struggling some with my inner demon: lack of staying power in my choices.
-
(#): I am struggling again tonight>... I continue to be beset with unease and indecision regarding programming languages (etc) and I have spent yet another day racking my mind for hours and tangentially searching near and far on the net. ๐ญ๐จโ๐ป
I've been seeking a sense of resolution and an end to my cycle of highly distracting fixation on finding the "right" programming language (and sometimes also libraries and platform) that won't cause my attention to drift before project(s)' completion. This is despite knowing full well that countless wonderful things have been made in even the most limited programming languages and that actually completing projects that way (with any language) is far more important and far more creatively fulfilling. ๐คช๐ต๐จ
Yet, my longstanding nemesis, which has taken so many years of what otherwise would have been productive creative programming time, continues to confound my mind and stifle all software related avenues of my creativity. It is excruciating, honestly. ๐
When stuck on this mode (as I often intermittently have become) I also find it difficult to focus on other forms of creativity, even though they are not clogged up by such uncertainties for me. Thus, I continue to agonize over this, despite knowing that it is this very same process that has stifled me for so much for years. I wish so deeply to be free of that cycle and to live the life I've intended to for so many years! ๐ฅบ๐ ๐งฎ
-
(#): So, I have a new programming language plan: Use Racket but foreign function bind into C for optimizing performance hotspots if necessary. Racket is only moderately less performant than Steel Bank Common Lisp but is far more consistent and clean. Racket is also perhaps the most expressive language I know of. ๐จ๐คฏ
Besides, the fact that I am intending to do lower resolution (retro style) artwork for whatever utility software and/or game dev project I do also implies that the low amount of data being processed will still make the resulting program much less wasteful and energy-expensive than most programs are these days.
Indeed, I was previously planning on using Common Lisp but the more I used it the more I was turned off by the high frequency of terrible naming conventions and general weirdness. In addition to that, while it's true that I bounced off of Racket before, I think it was because how I approached it back then was unwise. ๐
Back then, I burned myself out and deflated my motivation by spending far too long with my head in the (very extensive) documentation for all the things available for Racket instead of diving in and actually using it and enjoying it. So, this time around I'm going to approach it in a much more self-guided and at-my-own-whims kind of way.
I'm also affirming my commitment to making it work (whatever it takes) more strongly this time and I am significantly more confident than the past several programming language choice attempts that this time will work and have staying power! ๐๐
Upon this new resolution my mind also feels less frayed and less distracted now. I am not racking my mind anymore about the choice and hence am no longer eating up so many hours of my time that way anymore. With my frame of mind thus rebalanced, I feel more creatively centered and less counterproductively fixated. ๐๐โจ
I think I will do another pixel art sculpture tomorrow! I feel like there's no longer an "urgent decision" that "must be made" and hence my grasp of my time and creative energy feels better now. Here's to change and to letting loose tomorrow! ๐๐ ๐
-
(#): I finished a new sculpture today and posted it to the new pixel sculpture art gallery, fulfilling the intended plan for today that I mentioned yesterday!
With my mind no longer adrift in expending hours per day deliberating programming language choices for whatever software or game dev project I do next (alongside all the other things I'm doing), I have found myself much happier today and my creativity was no longer stifled and thus I was able to make something real today! It's good to be back in the swing of it! I always feel happier when I am producing real creative works!
I feel like I can breath creatively again, unlike the past week of "running around in circles" racking my mind. It's a wonderful feeling. The path forward is clearer now.
I likewise wish you success in overcoming your own challenges! ๐ค๐๐ฅ
-
(#): I went on a moderate-length walk into surrounding neighborhoods this afternoon during a gentle drizzle under mild rainclouds. The air was fresh, aromatic, and invigorating. It was thus an exceptionally pleasant walk. I intentionally didn't bring an umbrella, though I could have. Nature is a friend and rain is one of its greatest gifts!
I did get rained on slightly (as expected), but only enough that it took the whole walk to truly become properly wetted by the rain (not that it would've mattered either way — I've walked in downpours and still enjoyed it). I've always loved the rain, and so it was refreshing to walk amidst it again, as it has been a while since I have last done so. ๐ง
As I often do on many days, I spent some good time with my family as well for a few hours. I also have been refreshing my knowledge of Racket today some more as well. The language is so clean and so infused with a sense of principled design. It brings a sense of heightened lightness to my programmer's heart to again be back in a truly elegantly crafted language again, one where noise and arbitrariness is minimal. ๐
I plan to spend the rest of the evening reading a translation of some Chinese mountain poetry and secular Taoist philosophy. I love that which taps into the wholesomeness of nature: the pulse of life itself. Indeed, I feel that one square mile of forest contains more wealth than any person's wallet could ever hold. More people need to realize that!
Goodnight! May fortune grace you, dear readers, as always (I hope)! ๐ฒ๐ฟ๐ฑ๐
-
(#): The other day I came across a term I had either never known or merely forgotten: Windows 9x. You see, Windows 98 is still the version of Windows I look back on most fondly. That's when user freedom was still respected on the Windows operating system and the process of "dumbing things down" in ever increasingly disempowering and freedom-hostile ways hadn't begun in full swing yet. ๐๐ถ
It was the time when I was most hopeful about the future of computing. In the years since that time, I have often been struck with a weird feeling of "living on the wrong timeline", as if computing tech was a train that got derailed at some point from a bright future by some nefarious unknown actor bent on twisting the future of humanity towards a much darker and less free and less dignified place. ๐ฌ
Similarly, there is also the term Windows NT, but that is a term that has been in my consciousness for years. The term Windows 9x though, as a collective term for referring to the older and more (relatively speaking) good-natured iterations of Windows, was outside my awareness (if not forgotten). Such labels matter. ๐โจ
Words have power, even in the simplest cases, and that should not be underestimated. The digital world is an extension of our minds and hence even more intimate than our bodies. It is thus that one is deeply saddened and dismayed by the continued encroachment upon human rights and the boundaries of our minds and bodies online and all that such intrusion endangers for humanity's future. We must deflect that dark future. Such boundaries of freedom and consent must be held inviolable! ๐ง๐ง ๐๐ง
Anyway, I know that was a more gloomy tangent for today's log post (perhaps), but both the light and the dark of life must be reckoned with and respected if balance and health, both for oneself and the world, are to be sustained. Rest well, but also act well!
-
(#): Today I've been working on my own customized "rainbow syntax highlighter" (a syntax highlighter that colors successive layers/levels of nested delimiters with different colors to make it easier to see matching pairs) for use with Vim for Lisp/Scheme family programming languages (like Racket). ๐โ๐๐
Of course, Racket's included DrRacket IDE is great already on its own, but doesn't seem to support rainbow highlighting, which I may sometimes want to use. DrRacket also doesn't support C-like indentation, which I likewise may sometimes want to use.
I also hung out with family some, among other things. We watched The Legend of Korra some more (as we have been doing a for a while) and are getting near the end of it!
Most importantly of all though, is that I want you to have a wonderful night's sleep and awaken feeling refreshed! Sleep is of great importance to all aspects of well-being!
-
(#): I've got my rainbow delimiter syntax highlighter script for Vim into good shape now. I spent a few hours today refining its functionality and cleaning it up nicely. I will post it on both my website and Vim's main site, but probably tomorrow since it is getting late. Vim's script database and GitHub are probably the main Vimscript sources.
Anyway though, I'm glad you stopped by to read my log! Have a glorious evening! ๐ด
-
(#): I've completed my Vim rainbow syntax highlighter today and have uploaded it to my creations page so others can benefit from it. I will also be uploading it to Vim.org and to GitHub. Now I can read Lisp/Scheme family code more easily. ๐ง๐
It's nice to have a more lightweight alternative for rainbow highlighting than bloated and overengineered plugins such as
luochen1990
's rainbow highlighter! ๐๐Anyway though, I guess that'll be all for my log post today! Thanks for dropping by! I hope you find my Vim rainbow syntax highlighting script useful! ๐๐จโ๐ป
UPDATE: I uploaded a GitHub repo for the rainbow highlighter. I encountered an error for Vim.org though and will have to try again later.
-
(#): I fixed a critical bug in my Vim rainbow highlighter today and uploaded the corrected version to both the GitHub repo and the self-hosted copy on my site. The installer scripts where not actually working previously because they copied the script to an invalid Vim folder "
plugins
" when they should've copied it to "plugin
". โ๐Notice the "s". I tried a dozen things today trying to fix it. I was mystified by how nothing I changed in the script seemed to have any effect on the behavior of it, until I realized that there was a typo! That is such a classic programming blunder! ๐
In other news, I recently tested Racket's memory consumption for when the only thing it was instructed to do was print its memory consumption and the result was shocking: ~200 MBs. I have previously observed that the DrRacket IDE consumes a lot of memory (~500 to ~700 MBs) but was assuming that that was just for IDE features and such and hence wasn't especially worried about it. ๐ต๐จโ๐ป
I was also aware of Racket's built EXEs being wasteful of disk space too (~25 MB to ~50 MB for trivial text output EXEs, because Racket packages its compiler/interpreter runtime with EXEs it generates), which increases network bandwidth for distributing files, but I was accepting that too as a "cost of entry" to convenience and cleanliness.
However, evidently, unbeknownst to me, even Racket's built redistributable EXEs waste tons of RAM memory too (like DrRacket)! The amount isn't as much, but it is still absurdly (I daresay implausibly) huge compared to what the programs are actually doing. ๐ฎ
Thus, it looks like I'm going to need to use something else for redistributable programs, such as C. Energy efficiency matters! I may still use Racket for simple conveniences that aren't redistributed though, such as using it as glorified desktop calculator and personal utility script runner, since Racket is still quite nice for that (perhaps even the best programming language overall for quick "back of the napkin" calculations). ๐ฅ๐
Anyway, I hope you found today's log post useful to you! Check out my rainbow highlighter plugin for Vim if you want nested structures in code to be easier to read!
-
(#): Hey! So, I figured out a way that I can probably "have my cake and eat it too" regarding programming language selection for what I have in mind! I'm not talking about CakeLisp — which, as I believe I mentioned before, is still so young that it doesn't even have full documentation for its basic control structures (yet!) — even though "having my cake and eating it too" regarding performance is literally where the name of that language is derived from by it's creator. I am interested in the long-term future of CakeLisp and will check on it later. It could be years before it matures! ๐ฐ
What I'm talking about here and now is actually Fennel: a transpiler for s-expression based programming (like Lisp, Scheme, or Clojure) that transpiles to Lua code. Mainline Lua itself is pretty slow, but LuaJIT (the most performant and easily the overall best implementation of Lua) in contrast has performance that is very good, famously regarded as the best JIT compiler of any dynamic language, perhaps only slightly slower than Java or C# and in benchmarks of LuaJIT vs C comes surprisingly close to C's performance. (Make sure you look for the entries in the benchmark table labeled "LuaJIT" and not just "Lua", otherwise you will be misled! Both are in the table!)
(Also, here's a more nuanced comparison: GitSparTV's LuaJIT benchmarks.)
Anyway, I also already have a lot of familiarity with Lua. Indeed, my Anki-based randomized question-and-answer card desk for Lua was one of the very first things posted on this site! So, my existing knowledge in that respect would synergize well with using Fennel. Most importantly though is the performance and memory footprint. Since Fennel just translates code to Lua, it is unencumbered by the huge runtime that languages like Racket and Common Lisp have, which greatly influences EXE files and hence energy/storage waste for redistribution. Lua works basically anywhere too.
Thus, I can finally have both the expressiveness I want and a performance level that fits my ethical and eco-friendly criteria for language selection. So, it looks like that's the new plan now! This way I won't have to split my attention between Racket and C! ๐คฉ๐ฅฐ
Additionally, as luck would have it, I went on a walk on the paths through the forest and neighborhoods today and the air was the freshest it has been in a long time! It has been gently rainy all day and that is a perfect recipe for clean air and richly verdant plant aromas (petrichor). It was one of the most pleasant walks I've had in months!
So, today turned out to be a truly great day for me, even though the first few hours of the day were slow and also had me a bit anxious. Everything turned out awesome though! Hooray! Along those same lines: with luck yours was gloriously refreshing too!
๐ฑ๐๐ค๐๐ฑ
-
(#): I made some big improvements to my rainbow syntax highlighter for Vim today and uploaded it to my site, GitHub, and Vim's main site. The new version adds a new high contrast color theme and fixed a big color display bug for when used in GVim. I'm liking it more and more the more I make improvements to it! ๐
The Vim fixes and refinements took more time than I was expecting but it was time well spent! Next I will be diving in on learning to program in Fennel! ๐ง ๐ง๐ฅฌ๐
Putting that aside: May your day be somehow both relaxing and energetic all at once!
-
(#): I released yet another version of my Vim rainbow syntax delimiter highlighter today! This one is significantly better than the previous one too, again!
I also released a new version of my Lua Anki card deck today that adds several cards and fixes some minor issues elsewhere... You see, I was refreshing my Lua knowledge today (rereading the wonderfully short manual for v5.1 of Lua, the one LuaJIT adheres to) and ended up adding some of those afore mentioned cards and editing a few things. That's relevant to Fennel because Lua is what Fennel transpiles to and hence refreshing my Lua knowledge will help me with debugging Fennel's output.
Lua is one of the easiest programming languages in existence though, so no worries!
Anyway though, that's where most of my time went today. It was a productive day overall, even if I wanted it to be even more productive! ๐๐
I hope that you too had a solid and steady day that helped move you more were you want to go, wherever that is for you, one step at a time, whatever it takes! ๐พ๐ปโจ
-
(#): I got a late start today but I did at least make time to spend a few hours re-reading some of my own personal journaled notes about my various creative ideas. It was good to refresh my memory on those, some of which I intend to use on one or more of my upcoming projects. I've had so many unfilled ideas over the years!
I ask that you wish me luck in finding freedom and decisively moving forward in a way that fulfills much good both in others and myself! I need a steady path! ๐ ๐โจ๐ซ
Onward to fresh creative horizons, stably bearing the future, my friends! ๐ ๐จ๐ญ
-
(#): To my dismay, today I discovered that Fennel may not support the kind of macros that I was hoping to do with it, which was much of my motivation for it. In particular, it does not actually seem capable of "parsing-time macros" (e.g. like Julia lang's @show macro), at least not yet, whereas other "macro languages" I've used have all supported such and so I'd just assumed it (falsely, apparently) as a given.
However, through this long (and seemingly needless) self-anguishing process of struggling with my prospective choices like this, I feel perhaps that a true breaking point with this self-defeating indecision may be dawning on me: I need to adopt a more pragmatic (and less ideologically or perfectionistically fixated) attitude for my future programming endeavors. I have even alluded to that before. It is painfully clear that I must break this cycle. I must walk a "good enough" path, not a "seemingly perfect but actually crippling" path. That will help to free me from this conundrum I think.
In that regard, my current sights as of tonight are set on a combination of D (another language I have looked into in the past) as my main application development language and Racket as a personal desktop calculator and for quick one-off scripts and such. My thinking is that that way I at least won't be hobbled by the limitations or quirks of C yet will still have very strong performance, high energy efficiency, small memory use, and easy distributivity of finished project executables. D is a pragmatist's language and that (not ideological fixation) seems like what I need to move forward without too much nagging doubts but still with enough expressiveness to feel comfortable. ๐ฆ
Indeed, this morning I woke with a horrible feeling (or perhaps it was a dream? or a nightmare?) where I'd imagined that I had developed horrible carpal tunnel syndrome of my hands and yet still had not created what I have for so many years sought to make and that I would be rendered destitute by that and unable to provide for my future since so much depends upon my hands' health, as I have invested so much of myself in skills of the mind and of communication and writing. ๐๐ง ๐ธ
It was a sobering feeling (or dream, or nightmare), but it may also be a sign that I am truly feeling the full weight and cost of my indecisions and the lost opportunities of such aimlessness. Thus, I find myself again hopeful that a clear and stable path is looming on tomorrow's horizon and that I will finally be able to live as I've intended and fulfill both my duties and my creatively laten ideas much more willfully and stably. ๐จ
I truly need that. I must find a stable way forward and walk it to completion. I've lost years by not doing that and the cost of that wrongs both myself and everyone else who may ever benefit from anything I make or do. I need to respect that fully and truly live more responsibly going forward. ๐ช๐๐๐ฃ
Wish me luck again on that, fellow internet surfer! I wish you the same! ๐ ๐๐ฅบ
-
(#): This morning I woke up early to work with the D programming language a bit and was immediately having frustrations with getting a basic feature working that would have been easy enough in C. Perhaps the documentation was incomplete or out of date in that respect (or whatever else). I then fell back asleep for a couple hours.
When I woke up again I was struck with the feeling (perhaps epiphany) that I should take a "creativity thrives in limitations" stance and embrace the retro fun (or satisfaction) of making a completing a project in plain C. After all, at least with C I can be sure that the community and documentation are massive and I can thus always resolve any issue one way or another. I do not have that assurance with D, as my experiences this morning made evident to me.
Creativity is in a sense simply the act of choosing an interesting set of limitations! Leaving oneself awash in infinite freedom and choices is allowing one's focus to be dissolved and dissipated as if by a vast ocean. Such vastness is intractable. Thus: embrace constraints, instead of running away from them. Perhaps that will free me.
I think creating something I love in one of the most limited languages (C) will also help break the pattern of me giving so much weight to programming language expressiveness and thus being indecisive along those lines. That (triumphing in C) in turn seems likely to help me stop behaving like an such insufferably vain and self-destructive programming language dilettante. That's the kind of remedy I clearly need.
At least with C there will be no hidden unknown for project viability, which may otherwise fill my over-sensitive subconscious with prohibitive second guessing. Therefore, a resolution is in order and I've thus set a new plan in motion:
Over the course of next month (October 1st to October 31st), I shall create a "vertical slice" "prototype" of a game (a small — but complete, releasable, and expandable — game). That way, things will work out either way and I'll feel confident of viability.
Important advice to all my readers though: Don't let indecisiveness entrap you in a similar cycle of self-defeating floundering as I have subjected myself so needlessly to! I have mentioned many programming languages in my web log here over these many months (often with much hype, but then only to later abandon them on a whim) and in truth almost all of these options I've recommended are good prospects for projects and you should stick with whatever feels right to you. Don't inflict the same kind of internal anguish upon yourself that I have inflicted upon myself! Nothing has caused me more harm or wasted time than that and I do not want anyone else to suffer it.
Anyway, that's my post for the night! ๐๐
I am deeply grateful to all who visit my site and thereby share a piece of their time and lives with me and with my thoughts and I hope for all the best for all my readers and that the information I share does much more to help than to hinder! โ๐ฅฐ๐๐ด
-
(#): I've felt really clear-headed and refreshed today. I've been setting up my project for the upcoming October game (the one I will be creating in C) and have been quite enjoying whipping up a small constellation of little Batch/CMD scripts to help automate my build process in a nicely customized way. I've also got my first few C files for it. I'm getting those retro programming vibes and it is wonderful! ๐๐พ๐ค
Later, in the afternoon, I explored music/sound instrumentation choices some for whatever music I end up creating for the game and at least identified a rough sense of some synths and/or samplers I may use. This is all by design (not diversion) since it is my intent to do both the technical and artistic aspects largely in parallel. That will help create a more cohesive final product that feels better. Game feel makes a big difference, so its I'm taking steps to help account for that as a cohesive whole. ๐๐ฎ
Finally, late this night I have also fixed another important bug in my implementation of rainbow highlighting for Vim and have packaged and released the new version (v4 now). It is satisfying to see the Vim plugin evolving and becoming something really solid and useful! It already suits me much better than the other one(s) I found floating around on the internet before. Plus, now other people have a real alternative too! ๐
Oh, and one more thing! Remarkably, today when I stood up from my computer and turned aside towards the window I saw a hawk sitting right on the branch of a tree outside my window. It was quite large and majestic and it flew away a few seconds later once it noticed that I'd spotted it. I love nature! What a wonderful surprise! ๐ฆ ๐
-
(#): I got a late (and slow) start today and so not a ton of time today has went into what I wanted it to, but other than that things are going well! It has been a pleasantly brisk day of continued forward momentum. I feel happy with my choice! ๐
I've been refreshing my C coding knowledge today and also expanding my game project's associated Batch/CMD build scripts and C files a bit today. It is still in its "nascent seed" stage, but I am liking the clarity of what I've set up so far. The fact that it also is scratching my retro programming itch has also been invigorating as well! ๐พ
Tangentially, for log entertainment tonight for my web log readers, here's an interesting concept that is really important for how modern optimizing compilers work: single assignment form. Basically, compilers convert code that has mutable variables to code that is written in terms of constants (which are only ever assigned to once, hence the name) and then use that to make it easier to identify redundant code that can be removed to improve performance and energy efficiency and reduce waste.
Cool, right? I love things like constants and assertions in programming languages!
Anyway though, that's my report for this evening! I am wishing you all most wondrous and refreshing sleep and a brisk and energizing dawn for you to wake up to! โก๐
-
(#): Honestly, quite unexpectedly, I'm struggling again tonight with my usual programming anxieties. However, I did go on a wonderful walk outside in nature today (as I do on many days). The past several days it has been gently raining on most days. I love the rain and so I love this weather! I've never understood why people find rainy days "gloomy". Rainy days are the most uplifting of all days! ๐งโ๐ฑ๐
Indeed, today and yesterday I have even seen mushroom a couple of mushroom rings (a.k.a. "fairy rings"): one was nearly perfectly circular and maybe nearly a meter across and another was (interestingly) oval shaped though not entirely continuous (it was in worse quality soil, so the barren part didn't have mushrooms). This is actually the first time I've ever seen a "fairy ring" in person! I think perhaps the consistent days of gentle rain have helped the fungus to thrive and sprout up. ๐โญ
So, well, that's tonight's log entry! Wish me luck in my ongoing struggle against the bane of my life (my "personal demon", my nemesis, the thing that has done more harm to my life than anything else): my self-destructive tendencies to become disheartened in programming and to repeatedly switch languages and libraries until nothing truly substantive and releasable ever gets done. ๐จโ๐ป๐ฆ
Or... perhaps that is merely what I think is the problem. Perhaps there is something else at play that is harming my ability to move forward with my programming projects despite having studied it for many years, etc. ๐๐ค
I could really use a win in these regards. Please wish me well and that I can some day soon escape from my self-destructive pattern. These indecisive cycles also tend to distract my attention away from any/every other creative endeavor too, so it causes lots of collateral damage beyond just programming itself. ๐คฏ๐ฅ
I wish more than anything to overcome it. It has been decimating my life for years. It is keeping me from living the life I've always intended. It has been torturous for me. I don't know how I'll survive creatively and financially if things don't change. ๐๐ข
I hope that you though, in contrast, are not plagued by such agonizing second guessing of yourself! May you always have clarity and vigor in all creative endeavors!
-
(#): I am feeling better today! I managed to deflect/prevent what could have otherwise turned into another self-defeating switching of language or some other form of fretful mess. May whatever inner light is in my mind continue thus.
Oh, and I also hung out with my family and watched a movie today. I often do so, though only sometimes note it here on the log, as with many other things of course. ๐ฌ๐
I also took some time to enjoy the outdoors, as usual. One square mile of forest contains more wealth than any wealthy person's wallet ever can. Nature is life's fairest beacon of magnanimity and grace. I may have my struggles, but I am yet lucky. ๐๐
-
(#): I've finally added anchor links for all of this web log page's entry days. Thus, the user may now create links and bookmarks to any of the log entries here, such that anyone who follows the link will jump to exactly that entry rather than having to find it manually. This is a huge improvement in the usability of this page! โ๐
Previously I had only had the anchor links for log entries that had been written after I started using this style of link throughout the rest of the website. Now though, the usage is fully consistent. I did it by using Vim macros, though it took longer than I expected due to some subtle issues I had to navigate. ๐ขโ
Today has been mostly centered on those kinds of things: utilitarian tasks and digital housekeeping mostly. Such things must be done though, if one cares for quality of life.
With that, I will probably end my log entry for today, to save a bit of time. As always, thanks for dropping by, web friends! May you have an evening of great repose and even greater gladness of heart! ๐ค๐๐๐
-
(#): The time zoomed by today, for the most part, but I did spend a few hours reading more about Vimscript and did some minor tweaks to my C code as well.
I hope that I'll have a firmer grasp on my time tomorrow. In recent years it feels like a large number of the 16 usable hours of a day (the other 8 are for sleep) seemingly are unaccounted for and disappear despite one's efforts to the contrary. I hope to remedy that. The hours used to feel so much longer and much more potent. ๐คโณ
In any case, I'll leave my log post at that (keeping it brief) tonight to save a bit of time. Thanks for visiting my website and sleep well web friend! ๐๐ด
-
(#): For most of the early day today, until the late afternoon, I was struggling with my programming choice related (disproportionate) worries again, but I eventually got over it and am feeling better again. I will find a way to prevail!
Over the past 5 days though, it has been dawning on me that perhaps I am not approaching the project very wisely regarding the tight 1 month time window, given that I need to produce art and music in addition to the code. I have also been having trouble resisting the temptation to wrap every little thing in C in a cleaner interface of my own design, since the
stdlib
is so messy. However, doing so takes a ton of time.As such, I am now leaning towards loosening the schedule somewhat and also doing the project with Lua and Love instead of C. LuaJIT has great performance for a dynamically typed language (reputably best in class, in fact) though not as efficient as lower level languages like C of course. I also really like how the Love game library/framework is among the least rigid game libraries/frameworks and lets you structure things as you wish, unlike what heavyweight game engines typically allow.
I also plan on shifting more time towards general creativity as well, since fretting over programming choices is straining my creative spirit some. Balance helps me function!
So, that's the current outlook as of late this evening. It seems like a more pragmatic trajectory. In any case though, that is my post for the night! Thanks for reading!
-
(#): I've uploaded a new version of my Vim rainbow syntax highlighter now. The new version supports automatic reloading of the rainbow highlighting whenever an external editor makes changes to the currently open file in Vim. This enables a wonderful parallel workflow, so that you can use Vim and another editor side-by-side and thus benefit from the advantages of both more easily now! ๐๐๐ง๐๐
In other news, the time has been passing fast again today and I have been fretting counterproductively in my usual way, but I am feeling ok overall (or at least better than on some of my other days of decision fatigue). Well, I guess I'll leave it at that today!
Let's hope I break my cycle of creative stagnation! Likewise, I wish you the best! ๐จ
-
(#): The hours passed by fairly quickly today and I didn't get anywhere near as much done as I had hoped to, as has been a trend recently (due to my inner battles with indecision). As such, I'm going to keep tonight's log entry short. โณ
However(!), I've got your back and so I'll mention a bit of retro computing fun for those who want more of that. Firstly, did you know that the Zilog Z80 8-bit chip was used on both personal computers and the Sega Genesis and was one of the most popular early microchip CPUs in use? Secondly, here's a page by Ben Eater about how to build your own 8-bit computer (essentially) from scratch using basic electronic components. ๐พ
-
(#): I laid down on the floor for an hour or two today thinking about how I should move forward with my project(s) and life, mulling things over again as I often have in the past month or so. Contemplating such things was most of what I did today, as usual lately, to my great dismay and despite my intents and my will to the contrary.
Perhaps I will take a break for a bit, perhaps working on the novel a bit more to shake off the creative quagmire I've been mired in recently. The intended October game prototype ("vertical slice" or "minimum viable product") schedule seems unlikely to happen at the current rate, given my cycle of seemingly self-defeating fretting over choices that I know to be vain and beside the point in terms of the project itself (i.e. programming languages, etc). As such, consider the schedule simply "up in the air".
Depending on how my day-to-day state of mind goes, I may or may not fulfill some approximation of that plan. I will work earnestly towards my creativity and changing my life for the better either way though, of course, as I always do. Wish me luck! ๐ฅบ๐
I hope my readers are never beset by such noxiously counterproductive indecision as I have been burdened with in recent years. It is not something I'd wish on anyone. Most importantly, though, as usual: May you rest deeply and fully and wake with great clarity of mind and lightness of heart, as if every ounce of your body and mind is alighted by the most pleasant spring (or fall) breeze! Sleep well, internet friends! ๐๐ด
-
(#): Today I spent some time reading on a bench outside in the pleasant fall breeze. It got a bit chilly after awhile, but it never really reached unpleasant. It was that "borderline cold" kind of fall day: ambiently chilling in that gentle and gradual kind of way. I also went out for lunch with family and so that was nice too. ๐๐๐ฅ
On the other hand though, I also spent hours writing technical notes to myself related to some semi-random internet browsing I did (related to programming) that was in hindsight likely mostly a waste of time. Life has its ups and downs though, and I'm still walking my journey. At least it did clarify (by reminder) my feelings though.
Relatedly, yesterday (or the day before?) I read an article about the sometimes deceptively counterproductive nature of writing too many notes to oneself. The article was titled "The promise and distraction of productivity and note-taking systems" and was a good read and highly relevant to my own (often excessive) note-taking and over-researching tendencies. As the article notes: such systems can be spurious — the "productivity gains" can easily be eclipsed by the overhead of the system!
Well... that wraps it up for the night! Best health of mind and body to you! Sleep well!
-
(#): I was a bit late updating my log post tonight (after midnight, specifically). Sorry about that. Anyway though, I guess I'll just link to an article about how theft-based generative AI causes systematic harm to the environment, from the same programmer blog that I recently linked to in the past few days about the potential for backfire of excessive note taking. Learning to love what you have is so much more powerful than seeking more than anyone could ever truly need! ๐ โซ ๐ต
That'll be all for tonight! Make sure to take sufficient time to care for your health and to recover from any stresses you have! I'm wishing you all the best, as always! ๐ค๐โจ
-
(#): Here's a side-tangent I thought about mentioning several days ago but hadn't got around to until now: Many programming languages (but especially C and C++) require the user to somehow discern what the magic set of compiler flags will be required to build an executable or library, but the information on how to do so is often elsewhere or even non-existent. This makes building some libraries and executables much harder than it should be. Why should it be like that though? ๐ค
There's a pervasive assumption in many programming languages and build systems that such options for how to build a project should be outside the source code, but in reality that assumption seems to be more counterproductive than helpful in most cases. The source code itself could include the info on how to build it in its own code.
Indeed, I know of one such system that does that, which is Flat Assembler (FASM). Granted, assembly is overkill typically and tedious to work with for creating applications, of course. The point here though is just that FASM's decision to embed the necessary info for building inside the code instead of outside is a stroke of genius on the part of its creator. I wish more programming languages and systems had that kind of foresight and first-principles-based thinking behind them. ๐ก๐๐
There is great irony in the fact that on the one hand programmers pride themselves on their ability to automate unnecessary complications and tedium and yet on the other hand many (most?) projects require the user to perform a bunch of esoteric manual build setup steps. Not only that, but many programming ecosystems are shockingly brittle and so inter-dependent that the risk of those projects one day becoming impossible to build for future programmers seems actually fairly high.
That prospect has long been something that has filled me with immense unease regarding many programming languages and libraries: this kind of rickety sense that you could be building on digital quicksand and not even realize it until later. On the other hand though, plain text (source code) survives regardless, and one could always refer to that code and then rewrite it in some other system if worse comes to worst. ๐ฆ
Systems really ought to be more resilient to that kind of stuff. Heck, even things like seemingly super convenient build systems such as package managers pose more risk to the software industry than people realize. Those systems are highly interconnected and hence very likely have (many) single points of failure hidden in them. If GitHub or NPM or Cargo (etc) ever went down then thousands of software projects would become impossible to build and perhaps even unrecoverable. Indeed, I personally would prefer everything to be more self-contained and with an absolute minimum of external (hence inherently brittle) dependencies. ๐๐ธ๐ต
Anyway though, that's just some of my random thoughts for the day. Don't worry, I'm not planning on doing my project(s) in FASM. I just wanted to vent my thoughts. I've got many different creative and/or intellectual and/or personal endeavors I am trying to balance between. ๐คนโโ๏ธ๐
Whatever the case, I (as always) bid you all utmost balance and joy in your own lives!
-
(#): I'm going to keep it brief again tonight. Today was another day of time largely flying by faster than I intended it to. It's so strange how even though there are 16 usable hours in every day (8 for sleep) — (or perhaps we should say 12 or 13 to account for meals and misc things) — that it so often feels like just a few hours end up going where we want them to go, even when one spends an entire day watching one's time and intending to use it in a more abundantly allocated way. It feels off... ๐
๐งฎ๐ค
All that aside though, I wanted to mention tonight that I stumbled upon an interesting less-known Lua-like programming language called MiniScript, which is also paired with a fantasy retro computer simulation (similar to the Pico-8 or TIC-80). From my brief look at it, MiniScript looks like a programming language that is roughly a hybrid of Lua and the syntax of Ada and/or Seed7 and/or some variants of BASIC (e.g. FreeBASIC). Essentially, some of the subtle rough inconsistencies of Lua have been reimagined and redesigned in MiniScript and it looks like a pleasing design in at least several respects.
In all likelihood MiniScript's performance is probably far worse than LuaJIT, and it certainly has a far smaller community and is less viable overall. I still admire the author's attempt and charming design choices though. I especially like when languages use something like
control_structure ... end control_structure
as a code structure convention (like Ada and Seed7 do), since doing so allows the reader to read control structures as easily forwards as backwards! That's a great feature! ๐ฌโฌ๐โฌ๐I continue to feel creatively frustrated, but I also am continuing to earnestly make an effort to overcome those challenges in my mind. I also recently bought a book about overcoming choice-induced analysis paralysis and hopefully that will help me minimize my ambient mental block on my path forward (especially for programming)!
Wish me luck in finding and sustaining clarity and breaking from my needless state of stagnation! Likewise, I wish you clarity and ease in what matters most to you as well!
-
(#): I think I had an epiphany today: Alongside this long and arduous and wild journey of researching and exploring dozens of programming languages (and in the process also unfortunately frustrating and stifling my own creative output quite a lot, due to fixating so doggedly on making the "best possible choice relative to my intent and circumstances") it has always been the pristinely elegant and principled languages that've felt most compelling to my creative spirit, my motivation, and my personality.
In particular, among those that my heart has most yearned to be able to use in practice, most have been languages that are highly homoiconic. (I am also highly compelled by performance/efficiency, clarity, clean naming, and user-friendliness.)
Indeed, I would say that the three languages that look most interesting to me overall are Racket, Tcl/tk, and Factor. Respectively, these are languages from the s-expression (Lisp/Scheme) family, string/macro (?) family, and concatenative family. Those three families of programming languages incidentally are also the most elegant paradigms of general purpose programming overall I feel. Special purpose categories like logic programming (e.g. Prolog and Mercury) also exist.
I have also found high performance languages such as C, C++, Ada, D, Nim, Rust, Zig, C3, V, etc to be highly interesting as well. However, unfortunately none of these higher performance languages have the kind of universality of conceptual expression my heart so greatly desires when programming — that invigorating freedom of mind whose absence always seems to end up bothering me and grating upon me.
However, I think it very likely that eventually a programming language that is both elegantly homoiconic and highly performant/efficient will get enough momentum to be viable. That will be essentially the ideal language and what I suspect everything in programming will gradually move towards. That time has not come yet though.
Yet, why should I torture myself so much by spending years trying to find an impossible match for a combination of elegance and performance that simply does not yet exist in any sufficiently viable form? My intent is primarily to create retro programs anyway, hence I needn't push tons of pixels most of the time regardless.
Even slower languages can manage that and still be less wasteful than high performance languages that are handling enormous amounts of data. Thus, I think it is time I just trust my heart, instead of my anticipatory planning compulsions. It's not like the time I spend in these other languages will be wasted. It will be time well spent!
Indeed it will be good preparation for the future, for when a truly universal fit arises in a new language that is both performant and uniformly elegant (homoiconic, clean, etc). Therefore, I think I should use Racket, Tcl/tk, and Factor as a trio of languages, since they all speak so naturally to my creative heart. I will work within their limitations!
(I also had a stint exploring Ada in particular, and really like the tastefulness of its naming conventions and readability, but I worry that AdaCore may vendor-lock the language in practice or may essentially already have done so. Ada also is far from homoiconic and as such has far too many superfluous complications.)
Anyway though, I feel relieved now that I've resolved to stop imposing the impossible criteria of both perfect performance and perfect elegance upon my choice. There is no reason in principle why that combination can't exist in a programming language, but a viable exemplar has not yet been created. In the meantime though, I can use my low-fidelity graphics intent as a sufficient compromise for still adhering to my ethical principles about not being too wasteful of energy and computational time.
With that, I conclude my remarks for the night! Sleep soundly and serenely, web friend!
-
(#): Today I received the therapy book I ordered online, the one designed to help people overcome analysis paralysis induced choice anxiety and associated mental blocks. The book is titled Overcoming Anticipatory Anxiety and was written by Sally Winston and Martin Seif. I've begun reading it some already and I hope that it will help me to not get repeatedly derailed from my chosen paths. That would help immensely to both increase my creative output and help my life circumstances move forward at a more sufficient pace. Choice paralysis has decimated much of my life!
I also have been learning and/or refreshing my knowledge of Tcl/tk some today, which has been a fun diversion. Relatively conceptually uniform programming languages (like Racket, Tcl/tk, and Factor) are refreshing to explore and work with. They have a certain "airiness" to them that is a natural consequence of having a truly full range of expression (unlike so many more procrustean or arbitrary programming languages) which is invigorating and fits better with the "language of magic" ideal of what programming languages should feel like that one imagines in one's head.
Anyway, for a bit of web log entertainment though, here is something for you to consider: Did you know that graphical user interfaces (GUIs) are largely divided into two broad types: retained mode GUIs and immediate mode GUIs?
Retained mode GUIs are what the more traditional heavyweight GUIs tend to use. Examples of applications that use this approach include things like word processors, plain text editors, image/art editing software, integrated development environments (IDEs), digital calculators, note apps, etc. In contrast, immediate mode GUIs function more like game libraries or frameworks or engines, in that they render the entire GUI from scratch each frame. This makes immediate mode GUIs "run hot" and be more wasteful computationally but on the other hand often makes them conceptually more easy to grasp and function more like direct drawing commands. There is often less rigid structure that one has to adhere to if one uses an immediate mode GUI. Like so many things in programming and computers, there are tradeoffs to be made.
Anyway, that's my post for the night! I hope you found it interesting and/or useful! Stay awesome and stay healthy, everyone! ๐๐โโ๏ธ๐ช
-
(#): I invested more time in reading the book about overcoming analysis paralysis today. Some of it was overly repetitive and some of it was also subtly overreaching, but overall it has been decent. I'm just in the introductory parts of the book so far, and so perhaps it is a bit dry so far for that reason. I'll see how/if it picks up well. It is at least well reviewed, though that doesn't mean as much these days in the (highly manipulated) modern internet. Still, I am hopeful the book may help me be more resilient on sticking with a path forward long enough for it to bear fruit properly.
I also had a bunch of fun today playing around with Tcl/tk some more! I love elegantly designed programming languages that have strong unifying features, and homoiconic programming languages fit that well! Tcl/tk also has many utilitarian built-in features.
In other (but still programming related) news, I recently also stumbled upon some heartening information regarding the Ada programming language, which is that there's another (newer) IDE for it called LEA and it also comes with a built-in alternative Ada compiler called HAC, which is implements only a subset of Ada but supposedly has some sometimes more expedient workflow characteristics in some use cases.
Perhaps the existence of LEA and HAC means that AdaCore will have less of a de facto hold on Ada in the future, though it seems potentially too early to say. There are of course other compilers, but it is concerning that the IDE tooling and build ecosystem is still so dominated by one company (AdaCore), even despite surface-level assurances that supposedly that shouldn't/won't be a problem. I am principally concerned that many open source packages for Ada could have dependencies on AdaCore that make them impossible to build outside its toolchain. ๐คโ๐
Then again, I could just be overly worried about such things regarding Ada. I could be totally barking up the wrong tree. I'm no Ada expert. I just admire the language's combination of cleanness and C-like performance. Ada also has a special kind of satisfying retro appeal due to its "Pascal family" traits and partial ALGOL 68 heritage.
Speaking of cleanness and appeal though, I am also reminded of the wonderful natural-language-like syntax of the LDPL and Jinx and (to a lesser extent) Seed7 programming languages. I really wish more languages adopted the ability to define arbitrary phrases as syntax (and to make it as easy as possible) instead of just forcing everything into a rigid function notation like most languages do. There is lots of untapped programming language design potential there I think! Much complexity is illusory! Clarity matters!
In any case, none of this tangent onto Ada (and other languages) here has a bearing on my current plans. I am still intending to embrace Racket and/or Tcl/tk and/or Factor for my next project since I find I am so much happier whenever I am working with truly expressive and elegant languages, such as those that have strong homoiconicity especially (as the above do). ๐โจ๐
I still care very deeply about energy ethics though! Indeed, that's why I've been agonizing over my conflicting language choice options for months... I wish for a day when I can have both (both homoiconicity and performance — and viable for production and real cross-platform use too, as is more or less essential), but in the meantime I must compromise for the sake of pragmatism and expediency. Such is life, I suppose.
Anyway though, that's my post for the evening! Thanks for dropping by! I hope your life is graced by an abundance of fulfillment, catharsis, and peace. See you next time! ๐๐
-
(#): I'm posting my web log entry early today. Usually I do it much later in the evening (after 10pm, typically). As such, here's my thoughts for the day...
I've continued to read the anti analysis paralysis book as my biggest priority, but have also continued my studies into homoiconic programming languages, as intended for my current programming trajectory. That is still going well for me and I'm still happy with that outlook so far. Beside that, I also was browsing some programming related sites and found a few items that some of my readers my be interested in . In particular:
When looking into the prospect of Tcl/tk 3D graphics bindings (even though I am planning on 2D, I was curious about 3D for Tcl), I stumbled on an old scripting language comparison page from 2009. I like reading old article on programming, since they often contain overlooked gems that have faded from people's awareness. The page provides some good (though outdated) performance and capability comparisons between several scripting languages. Most notable to me though were Pawn and AngelScript.
I've encountered AngelScript before in the form of the scripting language used by the digital sculpting software I use (3DCoat), but hadn't heard of Pawn before unless I forgot. Pawn was previously known as Small apparently. In any case though, I was impressed by its performance in the comparisons and also intrigued by the fact that it is a typeless language (not to be confused with dynamic typing), which is quite rare in languages (Forth and assembly are also typeless, for example, but even C has types).
People who want an embedded scripting language show syntax looks very similar to C or C++ should consider using AngelScript, as it fills that goal quite well, thereby imposing less syntax learning burden on anyone who already knows C or C++. On the other hand, Pawn looks like a great option for minimalists who want a truly small scripting language that performs well. Both are still actively maintained and so both are quite viable.
The encompassing Pawn website (CompuPhase) also has a bunch of fun retro-tech-adjacent content and the language and site's author seems highly productive as a programmer and engineer, which is good to see. Besides the hardware items, CompuPhase's software directory had some retro vibes too. I've not used any of it.
Also, if all this talk of programming language design here on my blog or elsewhere has sufficiently inspired you, then you might want to explore the LLVM "Kaleidoscope" tutorial (where you learn to create a programming language of your own, built on top of LLVM and hence with strong potential for similar performance characteristics as C or C++). That's actually how many new programming languages in recent years have arisen: many of them are built on LLVM. It is reputably a great language creation tool.
And, with that, I nudge today's post into the wild. Thanks for reading my thoughts! I hope it helps enrich your own life and leads you to greater joy and brighter horizons!
-
(#): I'm going to skip (shorten, really) my log post tonight to save time. I want to try to finish the anti analysis paralysis book I've been reading tonight. ๐โณ
Have a great night's sleep. Stay strong and live always with a spirit of benevolence!
-
(#): I did indeed finish reading the anti analysis paralysis book last night. It was alright and may perhaps help moderately, but it was overly repetitive (even despite its relatively short size) and it also contained some irritating overreaching or unjustified claims. For the most part though, it was a positive experience, I guess.
On the Tcl/tk front, I read through most of the "everything is a string" page of the Tcl community site, which was interesting food for thought. I like thoughtful designs! It would be nice if the main Tcl site wasn't such a mess of comments, but oh well. ๐
I also had a good walk today and really enjoyed the pleasant fall weather. Most notably, I got to see a fox up close when I was walking along the paths! It came within 5 feet of me and we each walked on opposite edges of the path while looking sidelong at each other all the while and then each went peacefully on our own ways! What a lucky walk and a wondrous experience! I love nature! I wonder if it could be the same fox that I encountered months ago late at night along the path. That's very possible!
Incidentally, I'm wishing such wondrous luck for you too! Hopefully you'll be graced by nature's presence too, or at least have a great day/night if not! Goodnight! ๐ฆ๐๐
-
(#): I was having a surprisingly difficult time getting a properly generalized implementation of something like Julia lang's
@show
macro working in Tcl today. In fact, I only got it partially working and only with excessive computational overhead. This was surprising to me considering that in a sense Tcl consists entirely of text macros, so I though it would be much easier. It feels like there may be a missing language primitive.The key issue is that Tcl is aggressive about trying to interpret the results of commands as commands, but that can cause problems sometimes. Thus, for example, given some expression
$ex
thenputs "$ex == [{*}$ex]"
only works for commands, and so you have to work around that somehow (which I did today using expensiveinfo
queryingif
conditionals to detect non-command expressions). Perhaps I am just not familiar with the language enough yet to see a cleaner solution though. We'll see.In another news though, it has also occurred to me late this evening that perhaps I should reintroduce Nim back into the purview of my current target programming languages for study and practical use. Indeed, while the three homoiconic languages (Racket, Tcl/tk, Factor) are expressive they have far worse performance and energy efficiency than Nim and that's still an inhibitor for what things I consider making or using. Nim is balanced and pragmatic in many ways, making it a great compromise.
These four languages together (Nim, Racket, Tcl/tk, Factor) cover all the things I care most about, though not all at the same time. I am therefore hopeful that this multi-language approach will help make me finally stop switching languages so repetitively and counterproductively. By planning flexibility into my language choice from the outset (intentionally allowing a small set of multiple languages, instead of just one), perhaps I can prevent my attention from being overly diluted. Wish me luck! I need a win! ๐๐ฅบ
In that regard, it is highly likely that among these four languages I will probably in practice use two of them (yet to be determined) as merely toys or ad-hoc convenience apps (e.g. numerics, utilities), whereas the two others will be used for more extensive real-world use cases. One of the real-world use cases will likely be Nim: it is much more energy efficient and hence far better for ethical redistributability.
Actually mastering four languages and keeping them all in one's head is too much to ask for really, on an ongoing basis at least, but what is quite plausible in contrast is if two of the languages are the main focus and the other two are auxiliary utilities. Oh, and I suppose there is also the option of having three of the languages be auxiliary languages and one of them be the primary production language. In that case I'd probably pick Nim as the honored language, since it is the most energy efficient and hence the most ethical for downloadable apps amongst the four languages. ๐ง๐ฌ๐๐
So, those are my thoughts of the day! I am — as always — wishing you all the best in all your endeavors. May we all find clear and expedient paths towards goodness! ๐ค๐ฆ๐
-
(#): I attended to a bunch of necessities and various accumulated tasks that needed to be handled for the first part of today. Then, in the evening, I designed a donation button for my site and added it to all of my pages. I hope it works! I need it to!
Honestly, I have been seriously struggling for years and I am worried whether I will be able to survive in the long term. Ever since my departure from my AAA game dev job just over a decade ago things have just kept getting worse and worse for my finances and overall well-being. For years after leaving that job, I could hardly even open a compiler window without being so overwhelmed by anxiety that I didn't (couldn't?) produce any real software for years after. Yet, I've sacrificed practically all other aspects of my life for the pursuit of that creative cornucopia. ๐๐ญ๐
I cannot even describe with words how frustrating and anguishing it has been to spend a whole decade of what should have been the best years of my life not even being able to make myself create the things I've spent my whole life trying to move towards creating. If I could at least bear the fruit of that, I think I'd be ok. ๐ข๐
I am still struggling with that mental block even to this day, though in a mellowed out form more orbiting around indecisiveness than around a feeling of suffocation or panic. That's why I wonder sometimes if my stint in the AAA game industry essentially traumatized me, though I am not sure and probably never truly will be. ๐๐ง๐ฎ
I have spent a whole decade feeling like I am just waiting for my life to begin and endlessly studying and trying to self-improve that whole time. Yet, here I am, and fixing my life still so often fills so slippery and intractable. It makes one realize how much of society is self-perpetuating power structures that all to often inflict needless suffering on a multitude of people, regardless of merit or justice. It is hellish, truly.
At least I still have nature to bring me joy, as well as my site here and my tight-knit and small group of readers. I still have a voice and no matter what happens I will keep taking whatever benevolent and rational steps I can discern to move forward and to start finally living the life I've been waiting my whole life to live! ๐ฃ๐๐ฅบ๐จ๐ฅ
I'm tired of plodding along, as if through a charred and barren field of shattered dreams and polluted air as far as the eyes can see. I want to turn a corner on this long journey and see at long last the creative vista I had at the end of college before everything went so awry. I need things to change. Life has felt too much like a prison of contrivances in recent years. I need to find a viable way to live. Creativity beckons!
In any case though, today was a beautiful day outside and I enjoyed my usual daily walk quite well. The thermometer said it was still cold this morning but on the my walk it felt remarkably pleasant and mildly cool. The day did heat up eventually though, alas. The in-between seasons of spring and fall are always the best to me! ๐ ๐๐ป๐๐ฅ
On that note, I hope you too have taken some time to enjoy this glorious transitional time in the seasons! Nature is the best friend a person can have! ๐ฒ๐ฑ๐๐คฉ
-
(#): I attended to more tasks from the metaphorical back burner today and got them done. I also was playing around some more with the Tcl shell (
tclsh
) more today and implemented an improved version of a utility function I had programmed a day or two ago. Seeing that a cleaner implementation was possible was a relief.Oh, by the way, over the past several days I've also been reading an old novel from my childhood and teenage years called The Colors of Magic Anthology and it has been nostalgic to reread it after so many years (at least 2 decades ago now I think, probably). I was really into Magic the Gathering cards when I was a kid and teenager.
I still have many of my cards and am still interested in them in theory, but haven't kept up with any of it years. It is also a really expensive hobby, and I haven't been able to justify that kind of thing since college, because tuition, necessities, technical books, and access to creative tools have been higher priority since the start of college and beyond to the present day (thus: ~15 years of avoiding such expenses I think).
I am like 70% or 80% of the way through the book now. I only read it at night, as a way of winding down and not starring at screens too late in the day (since that is known to harm people's sleep quality). So, I've been at it for a while, though I didn't mention it.
Oh, and regarding the donation situation: There have still been no donations yet as far as I can tell, but that is unsurprising considering the prominent button for that wasn't put on the site until yesterday. I really need to find some way to survive. My savings have been dwindling for a long time and I am getting pretty worried about the future (and have been for a long time actually). I really need more traction in my life goals...
On the plus side though, I went on two walks today one of which was with a family member, and that is always a wonderful way to relieve some stress and at least for a while get some relief from the arbitrary and capricious whims of society's structure.
Most importantly of all, as always: I am wishing all my readers the best of luck in all they do. Sleep well and take good care of both your body and mind! ๐ง ๐ช๐ฅ
-
(#): I switched my "โจ๐คโจ" collapsable's "Browse Items" button to now link to my Gumroad page instead of my Ko-fi page. The reason is because a while back, when I was "deciding which to use", I had initially had difficulties in setting up the Gumroad page properly and so had shifted to only linking to Ko-fi on my site. However, I was later able to resolve the problems. The user interface had mislead me, but I figured it out. The Gumroad interface for browsing items is a lot nicer and has more formatting options. So, I'm now providing links to it too (not just my Ko-fi page).
Some of you may have also noticed (or remembered) that I had mentioned producing some art that I intended to make available for digital download or print-on-demand (POD) but the never really linked to it for anything except my royalty-free license agreement that I drafted. Sorry for "dropping the ball" on that for so long, but the reason was because I wasn't entirely sure if I wanted to use the license I drafted yet and I also had some trouble settling on a POD site that felt right, and so it fell by the wayside (via indecision and anxiety) for some time.
I intend to pick that process back up and bring it to fuller fruition now though, which means I'll be actually posting items along those lines soon. I am hopeful that I will be able to start getting some real independent income that way soon. I cannot live off my savings for much longer and really need to find an approach that works and is sustainable. I really need to get my life unstuck and impart more momentum to it.
Anyway, more on that later. I'll probably update this post again today. ๐งฎ
UPDATE: I looked over my AURFL royalty-free license that I drafted a while back, and I've decided that I want to make a new license agreement that is more flexible, less overwhelming, and more broadly useful. The AURFL license will still remain available for anyone who wants it, but I've decided not to actually use it for my upcoming digital and/or POD item releases. I've got a new user-friendly license idea I'm excited about!
Indeed, I have never actually used the AURFL license I drafted yet. In fact, my sense of slight unease with it was probably part of why I "dropped the ball" on my plans to release more digital items a while back (a few months ago, I think). The AURFL license is still useful and I like many things in it, but I need to draft a new license that I feel more fully comfortable using in practice. AURFL was definitely great practice though, even a bit fun, and I will reuse much of its verbiage for the new upcoming license document.
Also, I was looking at print-on-demand (POD) sites again today and considering many options and I was once again unsettled by the terms of many of the sites. So, I may or may not actually post on one of the big POD sites too, but I may just post to Ko-fi and Gumroad instead so that I can control the terms and thus treat all users more ethically than some of those sites do. Digital items also don't produce as much waste, so that is another reason (with tradeoffs) that may motivate doing so. We'll see what happens though. The big POD sites do have more organic traffic and large numbers of users.
So, once I'm done with that (drafting the new license) then I intend to start posting more digital assets to make them available for people! I'm looking forward to it! ๐๐ผ
In the meantime though, and most importantly, take care of yourself! Strive to live well!
-
(#): I've added additional links to my independent creator support pages (my Ko-fi and Gumroad pages). Specifically, I added them to the yellow navigation help box at the top of my site's index page. I will probably mostly be working on drafting my new license agreement for royalty-free assets today, plus studying a bit of Tcl/tk.
I'll probably update the log entry here again later though. See you then! ๐โ๐
It turns out I ended up having a nice big nasty surprise in my email box shortly after writing the above part of my log post for today. Specifically, I posted a comment where I warned someone about the very ethically questionable and very legally risky nature of redistributing any form of theft-based generative AI. I love to help protect others!
However, apparently some pro-AI proponents used their influence to censor the comment and thus the person I had directed the comment to (and all other potential viewers of the comment too) will now be less aware of the full extent of how legally risky what they are considering doing actually is. They'll also be less aware of the hidden costs and deeply exploitive harm that all such use of theft-based AI inherently contributes to and worsens. I really hope the person I was trying to make aware of the risks doesn't now get themselves into big legal or financial trouble of some kind...
It was such a deeply troubling, sad, and disheartening debacle. Theft-based AI causes very serious harm to real people. There are numerous aspiring artists whose dreams and livelihoods have been potentially ruined by it, or even if not that then they have at least become so demotivated and emotionally violated by the pervasive automated thievery of these systems that they have stopped making art entirely or have even engaged in destructive decisions and may be paying the price for the greed of the exploiters who "created" these theft-based AI systems for the rest of their lives.
This whole thing (being censored for defending basic human rights and personal integrity and human decency and compassion for creatives) threw off my mood so much that I was unable to focus on my work and studies for the rest of the entire day. As such, I ended up going on a very long walk instead, which was at least refreshing and invigorating (as nature, wholesome and soothing as she is, so often is for me).
I definitely could have done without my own little miniature Orwellian censorship nightmare today though — it was truly a nauseating microcosm of the indifference of some people to the suffering of others whenever it inconveniences the exploiters even slightly or stops them from getting some unnecessary non-essential greed-based thing that they want. It distinctly reminds me of things like how Native American's lands were repeatedly stolen from them and they were forcibly pushed to the west, such as on the Trail of Tears (and also other incidents), each time with a fresh made-up convenient rationalization designed to be used as a lie to prop up the predatory desires of the exploiters, with no ethical regard for how much suffering it will inevitably inflict upon others.
๐ Indeed, here's how I'd put it, personally, by analogy:
Goodness is a journey where every step is an end of itself, whereas evil is a journey where only the destination is treated as mattering.
This all just reaffirms how critically important is it is that we all (all people who genuinely care about creatives and about the future of humanity, rather than merely pretend to) stand up firmly against the economic parasites who have "created" these automated AI plagiarism systems and who seek to essentially enslave the labor and time and ideas (etc) of all of the rest of humanity's creative people in perpetuity just for their own short-sighted "profits". If they succeed they will decimate our future!
This kind of thing ruins lives even just in and of itself, and adding insult to injury to that by also censoring any dissent against it is truly morally unpalatable and is so disgusting it makes me feel physically ill and nauseous, as it did for a couple hours after seeing it. Reading the email even gave me heart palpitations — it was so incredibly upsetting to see even such a trivial and obviously benign form of dissent as warning someone of the ethical and legal consequences of using theft-based AI be censored.
I was truly shocked by it and it has been literally months since I have been so upset and disheartened by anything. It really struck a nerve. Will artists even be able to survive and eat in the future? They don't deserve to suffer like this. So many innocent people's lives are at stake, yet they are violated every day in the most viscerally disgusting of ways — having every ounce of their creative labor and time and prospects stolen from them without their consent or will. That is unfathomable. I do not even understand how it is physically possible for any person of moral conscience to rationalize such blatantly obvious violations of human rights and personal boundaries.
It boggles the mind and makes me even more worried about the future. Us people of integrity really need to stick together with this. As for me personally, I will of course continue to reaffirm and deepen my long-standing vow to always oppose theft-based AI and to never knowingly use it in any of my work and to never buy into the propaganda of the parasites who have "created" it nor into any of the socially engineered peer pressure they seem to also be trying to spread among the populace.
Is human decency so much to ask for? Most frightening of all is how much of a threat censorship poses to the future of humanity in these regards. If censorship levels rise too much then diverting humanity away from a dystopian future may become impossible. The future and survival of humanity and of the Earth itself is at stake in this fight against theft-based AI! We have to find a way to defeat, outlaw, or at least contain (or compartmentalize) it. I am sick of seeking so many artists' lives being decimated by immoral "tech" people. I myself am a programmer (and that's even what my college degree is in) but as always I stand with artists and with human authenticity!
Popularity and convenience is never a valid basis for moral choices. Integrity matters!
Fair-weather morality is too weak to actually mean anything. True moral integrity requires a willingness to suffer and to accept "less" and to stand on principle!
Anyway, that is the end of my venting for now. I spent literally the entire day righteously raging in my head and still even late in the day can't seem to stop myself it was so upsetting and such a violation of moral integrity and had seemed inconceivable.
As always, I am wishing all my readers (and indeed all people in the world) a wholesome and fulfilling journey through life. Do your best to sleep well and peacefully! Take care of yourselves! Everything matters in life, every little bit and every little detail! No matter how small a pebble is, it can still create a big ripple when it is dropped in the water!
-
(#): Today, like yesterday, was another day of being stressed out of my mind and mostly unable to even think about anything but how deeply violated I (and analogously other anti-AI creators who are facing similarly discriminatory nightmarish circumstances and/or futures so pervasively) feel. It is utterly vile and morally incomprehensible and unfathomable that anyone could even sleep at night treating other human beings the way that theft-based AI supporters and apologists do.
I am so tired of the injustice and the deep dark void of empathy that has so characterized the past decade or so of "tech". I have devoted most of my life to computers and to creative work and it is so extraordinarily disheartening to see something I once loved so much and which was once such a force for empowering the downtrodden be turned into the exact opposite of what it was supposed to be.
I also woke up really late today, sleeping for over 10 hours, perhaps in part due to my body trying to repair the stress damage it likely incurred from being "seeing red" morally furious for almost the entire day after the incident. It also makes me worry about my heart health again, since heart palpitations are correlated with risk of heart attacks, but at least I've never had one despite my pattern of having palpitations when I encounter immensely morally upsetting events or severe mistreatment.
Two days of almost perpetual viscerally disconcerting levels of stress can't be good for me though, regardless. I haven't been able to do almost anything that I intended to get done yesterday and today. It's been rage city. Oh, and to make things even worse one of my family members has also told me they have to back in for another screening and it sounds like there may a bad disease. I'm really hoping not though and that it will turn out to be a false alarm. I love my family and want them to be happy and thriving.
The one good thing today though, besides dinner with my family (which was fairly pleasant, as usual), was that I went an yet another very long walk (at least one or two hours). Granted, I still spent almost the entire walk seething about the ethical violations of the past two days (just like yesterday too), but at least that was moderated intermittently by the beautiful fall foliage and the wholesomeness of nature and the surrounding neighborhoods and of people going about their business along the paths.
Nature is the only truly reliable friend a person can have. That fact has only been deepened in my mind in recent years. Nature is the great sanctuary of truth, the vault of wonders of the world. It is the only true universally accessible refuge from society's systematic corruption, whenever it arises. There is no greater way to shed off stress than to soak in all the little details and nuances of nature appreciatively.
-
(#): I discovered last night when I tried to view my site from my phone (which I seldom do) that my expandable/collapsable "โจ๐คโจ" donation and item browsing button is only half working on mobile. It often doesn't open when the button is over text! So, I'm planning on fixing that. I may also add some site nav to it.
The emojis it uses also look way worse on mobile than on my Windows desktop.
In other news, I've made a small revision of my AURFL license (now version 2) where I have removed the "humor clause" and replaced it with something more broadly applicable and made a few other minor improvements and corrections.
This will likely be the final release of AURFL, since (as I mentioned previously) I am now drafting a new (less overwhelming and more flexible) indie license — one that I'll actually feel comfortable enough to use, which will thus enable me to finally stop dragging my feet on releasing the independent art I've been planning on setting up for a couple months now. The new upcoming (starkly different) license will also be publicly available once I've finished it. It'll either be donationware again or very cheap.
Most likely it will be at least a few days (perhaps several or over a week) before the new license idea I'm working on has been drafted fully. I also am planning on making a fun little vector art mascot logo for it! I am looking forward to it. I hope it helps indies!
Anyway, back to working now. I'll probably post another update later today.
I did work some more on my new upcoming license, but I also ended up watching a movie with my family for a good long while. It was nice to hang out and enjoy some family time though, so no worries! ๐ (There's much more to life than work. Balance!)
I also have added a new link to my recommended link page. Specifically, I added a link to my all-time favorite music playing software: XMPlay. Check it out if you want an awesome retro music playing experience that will help you unwind and charm you with some old-school artistically free-form UI design. Ah, I truly miss the good days of genuinely free-spirited UI design! It is a living testament to how much harm UI "best practices" have done. Life needs personality and spice to not feel suffocating!
-
(#): Today I got up late (and also had a slow start, meaning I wasn't especially efficient even after getting up). Such, however, is life. Afterwards though, alongside another member of my family, I finished putting up this year's Halloween decorations. It was nice to get that done! Someone in our neighborhood complimented us on it, as is not uncommon for us. In fact, our Halloween decorations are something of a neighborhood landmark each year; a longstanding tradition too. ๐ท๐
I did also work on my new upcoming license too though. I've also got some new long-term plans for making my website and creative endeavors more sustainable, if my hopes bear sufficient fruit for my aims to gain traction. Yes, I don't mind mixed metaphors. They work just fine, actually. Communication is a spicy burrito like that. ๐
Anyway, that's a wrap... Sleep well fellow netizens. Heal yourself for tomorrow! ๐ฅ๐ด
-
(#): Today's start was modestly slow, though not as slow as yesterday. However, I managed to get several hours of good work in on my upcoming license idea. I am really liking how some parts of it are coming out and the process has also been helping to clarify my thoughts and make my formulation more precise and expressive.
It is clear that the license's drafting will likely take at least several days (i.e. it'll be on the longer side of expectations) since the scope of the license and its capabilities have expanded, but it is already shaping up pretty well and I think it'll fill an important niche in the license landscape! If people are able to find it, I think it will substantively help independent creators find more sustainability and thus more joy and empowerment.
I also noticed that my own disposition and mood and energy were nicely vigorous today. I felt like a pool of clear tranquil water today, if that makes any sense. ๐๐ฆ
And so, with that, there's the update for today. Thanks for making an appearance, friendly retro web will-o-wisps. Keep fighting for a fairer world, where outcomes are proportional and compassionate and where intellectual honesty and interpersonal empathy have plunged cruelty and exploitation and waste into the abyss, like a puny candle submerged deep into a dark and unfathomable sea. Exploitation is a dead-end for humanity. Here's to constructing kinder and fairer horizons! Goodnight all! ๐ ๐ค
-
(#): I slept for over 10 hours last night and woke up much more refreshed than usual today, which was a change of pace that I am quite grateful for. After that, after a bit of initial friction and inertia, I was able to make a lot of good drafting progress on the baseline section of the upcoming reusable indie license document I've been designing, which I've mentioned over the past few days a few times.
Although it is going to take a long while to get it done, I think it will be worth it, as it will serve as quite a useful foundation for future project releases of a wide variety of types and needs. I will also need to design the logo/mascot I have planned for it. ๐ผ
Despite the dry subject matter, it has been cathartic and I am looking forward to its prospects. I've also got the spark of inspiration for some other related changes, including some new boundary setting and a more self-respecting way of working.
I also spent some family time watching a show late this evening as well.
That's the sum of the day, and so I bid you all a wholesomely restorative night's rest!
-
(#): The other day, when I was repeatedly pressing the "Surprise Me" button on Wiby.me (a retro internet search engine), I randomly stumbled upon the personal site of someone who worked on one of the 3D rendered computer graphics animations from one of my favorite childhood things: The Mind's Eye (a surreal music video compilation which repurposed a wide variety of early (but advanced) computer graphics videos as one cohesive wonderful artistic experience).
Even to this day the graphics are still impressive! I love it! What will surprise you the most though is probably how much more imaginative and outlandishly strange so much of it is. It actually feels far more creative and evocative of an interesting future for tech than the vast majority of modern 3D graphics you routinely see. Give The Mind's Eye a watch! It is a fantastic retro computing experience — one of the very best! ๐พ๐
In fact, you should download and archive a copy of The Mind's Eye from the Internet Archive, to help preserve an important part of computer graphics history, especially given that the Internet Archive has been under attack recently and is in danger.
Oh! Whoops! I got swept up on a tangent regaling you with how awesome The Mind's Eye is that I got sidetracked from what I was actually originally saying. Anyway, back to that original point:
Much to my surprise and serendipitous satisfaction, I randomly stumbled upon the personal page of someone who was involved in the creation of some of the Mind's Eye graphics from the 1990s. Specifically, the scene where a vast horizon filled with lots of mannequins riding around on strange miniature feet-fused unicycles was worked on by this guy (Don P. Mitchell). What a crazy coincidence to just randomly stumble upon this nostalgia fuel from my childhood when using the Wiby.me's random website visitor! ๐ฎ
Just shut the yapper and go explore 1990s graphics. People underestimate how charming and imaginative it can be, in much the same way that people underestimate how much more freedom-friendly 90s computers were and how much more aesthetically rich and fun skeuomorphism is than (horror of horrors) flat design for UIs. It has much the same energy. Any retro fan should watch the Mind's Eye! ๐ง ๐
-
(#): Tonight is Halloween and so Happy Halloween everyone! ๐๐ป๐ฌ
If you want a Halloween gaming recommendation, my personal suggestion for tonight is that you play Evil Tonight, which feels like a 2D pixel art version of Resident Evil with a touch of distinctive anime art style. It is one of my favorite retro horror games.
Evil Tonight isn't as scary or intense as real Resident Evil games or most other horror games. It is kind of a "horror lite" game and so it is a good choice for those who want a compelling horror-themed game that isn't too scary. As for me, I just like it because of the gameplay, retro art, and horror themes, but I know many people out there have cold feet about horror games. I wouldn't worry about this one though. It is relatively gentle. Most importantly, it is a fantastic and underappreciated gaming experience!
The gameplay feels great and it is a little-known hidden gem! ๐ฎ๐
Alternatively, if you want a freely available game instead, then I also am a big fan of Infra Arcana (a wonderfully well-made roguelike horror game). It is another one of my favorites and is also definitely a hidden gem. The graphics are definitely much more minimal, but nonetheless atmospheric and that is also more to be expected at no cost.
I also thought about posting some other more informational links too, but I guess I'll save those for tomorrow. Tonight you should have some fun and enjoy yourself! Live vigorously and benevolently, web friends and web friends! ๐ท๐ธ๐
-
(#): Hello everyone! Today is yesterday's tomorrow and thus as promised I will provide the informational links. They are (as is often the case with me ๐
) more Wikipedia rabbit holes that you can use as a jumping off point for exploration. Here:
- Abandonware is software (usually, but sometimes other things) that has been left derelict or long neglected by a company or individual who previously actively maintained it and made it available, causing the associated intellectual property to lapse into a kind of partial legal limbo or "no man's land" where it is technically not legal to redistribute it but users may have no choice if they need or want to use it. Much retro tech is like this. Old branded items that have fallen into disuse and disrepair also fit, to an extent, such as old no-longer-used logos, etc.
- Orphaned technology is typically hardware (but perhaps also its associated or necessary software) that is no longer maintained or available from a manufacturer or whose future is being treated as a dead-end (even if it needn't be) and which is thus "living on borrowed time". It often gradually becomes harder and harder to obtain the orphaned technology, as surviving examples of it gradually dwindle away over time and wear and tear. It is essentially the hardware analog/compliment of abandonware, though the two terms have much overlap and there's also some ambiguity of meaning.
I hope you find some enjoyment exploring those, if you are interested in them at all.
In other news though, I spent many hours today doing more legal drafting work on my upcoming independent creator licensing agreement I'll be making available once it is finished. It continues to take much more time than I originally intended it to and it's looking like my original plan of it being just several days will end up being well over a week instead, perhaps two! I am being careful and thorough with it, since legal documents need to be written very attentively. It is a lot of work but it is compelling.
I love how it is shaping up though! ๐๐ง๐โ
I think it will be quite useful! I look forward to seeing it through. In the meantime though, rest easy fellow indie creators! I wish you all strength and fortitude in the coming years of struggle against exploiters. We must protect human rights and creativity!
-
(#): I went on a refreshing 1-hour-long nature walk today. Though I'd intended more like ~30–40 minutes I just couldn't help myself (!) (as is often the case) as I became overpowered by the joy of basking in the tranquility of nature! ๐ญ๐๐ฑ
I also have invested more time today in working on my upcoming reusable indie-friendly license agreement. It continues (as expected/mentioned earlier) to take a good long while. As such, I was wondering if any kind-hearted readers of my web log here might let me borrow their flux capacitor (โโขโ) (if you have one) so that I can greatly improve my time utilization efficiency! I would really appreciate that! โณ๐
-
(#): Today I've made extensive (though minor — indeed hard to spot if you don't know what you're looking for) changes throughout the entire text body of my whole site. Nonetheless, most users will not notice any changes, but the changes were very important to me nonetheless (emotionally and philosophically) for a variety of subtle and nuanced reasons. This embodies some of the personal boundary setting I previously alluded to in my log, though even more of that (+ also more creative sustainability) is on the horizon too. It is refreshing to have done what needed done.
Especially important among the changes is that I have deleted or altered some links and text that previously referred to pages which I no longer view as reliably standing with protecting artists and human rights in all contexts. I no longer felt comfortable directing anybody to those places in any capacity anymore. I care about the well-being of all my readers and of society as a whole, and thus I am quite strict in matters of ethics like this. As such, I feel like a great weight has been lifted off me, having thus purged and restored my site back to a cleaner state to move forward with! ๐งผ๐งน๐
Besides these most important edits, I have also made various other random edits along the way as the whim struck me, which in contrast has nothing at all to do with the ethical, emotional, and philosophical resolutions I've mentioned above here today.
I also want to remind my log readers that we are rapidly approaching a major milestone for my site! Specifically, soon the number of log entries on this page will reach 365 (1 year) and thus I will have completed the commitment I made way back on to continue making one log post every single day until then (100% since day 1 of my site's existence — I'm proud to say!), after which I will be transitioning to a digital gardening based (instead of blog based) way of managing my site's typical activity and updates soon. ๐ โณ โ ๐ฑ๐ฆ
That mean's that once we cross the 365 day threshold then I will no longer consider myself obligated (by my own personal commitment) to post every single day but will instead reallocate the (quite large, actually) daily time and effort I've been expending on these web log (blog) posts to instead be focused more on longer term creative work and standalone articles and such meant to last longer as reusable resources (though most log entries actually are hardly time-sensitive and remain evergreen and still useful, as I always intended them to be for future visitors).
The log has been fun and a great way to express myself, but it has also eaten up hundreds of hours of time that could have been directed towards more long-term impactful and sustainable project work. As such, I expect my creative output to improve some once we cross the milestone! That means more substantive creative work, essentially. The log will still be updated, but only when I deem it salient.
-
(#): I've been kind of drowsy (sleepy) today and so I've been slower and less energetic today overall than the past few days. Nonetheless, I've put some more time into the upcoming legal license I've been drafting and made some important clarifications and refinements to some points. I also walked with family a bit. ๐ฒ๐
It feels a bit like the old joke about "How do you eat an elephant?" where the answer is "one bite at a time" but I'll get it done eventually. Progress continues steadily, even though the pace oscillates. Legal documents are quite a tangle to work with! ๐ต๐
As for tonight's log entertainment, it is this: digital libraries. As a person who loves knowledge, the concept of a digital library is near and dear to my heart. It is also highly relevant to the coming change that I mentioned yesterday (the coming switch to a digital gardening based rather than blog based workflow).
Speaking of knowledge though, did you know that sleep is essential for consolidating and enhancing your memories and your mind? Thus: Goodnight and sleep well! ๐๐ด
-
(#): I slept for much longer last night than the day before, but I still got a slow start and the time passed by faster than I expected again. However, progress on my various endeavors continues steadily as usual. ๐๐ชโณ๐
Meanwhile, here's a random obscure website I ran across recently that may interest fellow retro computing enthusiasts: a fan-made website about an old less-known brand of personal computer — The Compucolor II. The author has even programmed an emulator for it! I've never used a Compucolor myself and indeed I wasn't even aware of its existence (I was more of a Windows 95 kid) but it was interesting to read about The Compucolor anyway and I'm impressed and heartened by the author's dutiful efforts to try to preserve a piece of retro computing history! ๐พ๐จโ๐ป
Anyway, that's this evening's daily digital note! Here's to striving for a better world! ๐ฑ
-
(#): Fun fact everyone: Did you know that "feature creep" is a specialty of mine? No? Well, I did say on my about me page that I used to work in the game industry, so maybe you could have guessed it anyway ๐... Alas, it is all too often true. ๐ญ๐
Why do I mention this? Well, that'd be because of how much my plan for my new license draft has expanded over time, both in scope and page count (I've over 30 pages of legal text now). It is now not so much a single license as it is a slice-and-diceable template that indies can use to customize a combinatorial explosion of a myriad of different kinds of licenses so as to suit a very wide range of common use cases for offering digital items of any kind online, ranging from everything from art to software and indeed practically almost everything that can be offered. Yes, I have a problem. Thank you for noticing. Send help before the legalese avalanche strikes. ๐ท๐๐๐
-
(#): I've completed a few more sections of my legal draft again today, although I've still got maybe a dozen more to go. I still also haven't even started on the mascot and logo, although I do have a good idea of what to do for it that I am excited for. It's intended to be iconic of wholesomeness and respect for artists! ๐ฉโ๐จ๐จ๐จโ๐จ
I also went on a nice 1 hour nature walk late this evening (starting at dusk) which was (as always) a pleasant way to destress, though I continue to be disturbed by the rising temperatures induced by climate change (global warming). We really all need to do everything we can to save and preserve the environment of the Earth!
Random tangent though: Did you know there are snow-white ferrets called Haida ermines? They use the white as snow camouflage for the natural environment (unsurprisingly).
Anyway though, sleep well y'all! Wishing you the best as always! ๐๐ด
-
(#): I was planning on posting some log entertainment and/or recommendation links, but we've also had family from out of state here tonight and hanging out with them elapsed the remainder of my free time tonight and thus I need to go to sleep now. In the meantime though, here's a link anyway: The Geocities Gallery.
The Geocities "neighborhood" names have a special charm to them! Enjoy! ๐ก๐๐
Rest well net friends. Don't let the rush to live stop you from actually doing so! ๐ข๐
-
(#): Today was another family time day. Several of us in the family went on a trip together and then the whole family ate out afterwards. It was quite a pleasant evening and a refreshing change of pace. The trip somehow reminded me of the wider world a bit, the pulse of it, in some nuanced or wistful way, if that makes sense. ๐๐
I still have those links I mentioned sitting around on my browser and will post them once I get around to it. Oh, and today (unlike most recent days) I didn't manage to do any work at all on the new license/contract drafting, but I feel like I probably will find some time for it tomorrow. My extended family member is staying the whole weekend though, so my schedule and time allocation will remain unusual until monday. โ๐ฅ
Most importantly of all (as I am fond of saying): Rest well and take care of yourselves!
-
(#): As expected, I spent most of today hanging out with family. We also all went out to dinner tonight, which was nostalgic and wholesome. ๐ฅ๐ฒ๐๐ด
Luckily, I did indeed get a couple of hours in to work on my indie license drafting some more and completed a couple more sections of it in that time. ๐
I still have a handful of utilitarian links I plan to post, as I previously mentioned, but it is really late now and about time to go to bed and so I'll save that for another day again.
Until then, I'm wishing you all peace and good fortune, random net surfers and indie web friends alike! I hope to reach new horizons after all these long years soon. ๐
-
(#): I've finished all but the last (though largest) section of my new license agreement draft today! The remaining section is the anti-AI license agreement and remediation section, which I plan to make even stronger and more likely to be effective than I did with AURFL. That's the section most important to me too. After that, it will be onwards to creating the mascot/logo and then to proofreading and polish and publication prep. I'm looking forward to being done with legalese and back to art. ๐ต๐
I also finally got around to posting the collection of links I've had waiting in the pipeline for the past few days for you guys and gals. It is a list of lists of virtual communities online and alternative search engines (mini web directory). It could be quite useful if you are looking to find new online communities to join or to get a wider reach for your voice. That's something I myself have been working towards, though I still have much work to do in that regard until I find something that truly sticks and has staying power and is actually effective enough for sustainability and living well in practice. ๐ฑ๐ฟ
Anyway, thanks for dropping by net denizens! Do something nice for yourself today!
-
(#): This morning I drove the visiting family member to the airport and everything went smoothly and without a hitch! It was good to spend time with them again, as usual! Afterwords, for most of the rest of the day I idled around the house.
It's late now though, and so I will be keeping this log post brief so that I don't disrupt my sleep schedule too much. I plan to work more on the legal draft tomorrow and whatever else seems productive. Perhaps I'll be able to finish the last section. ๐ง๐
So, all said, I bid you all a wholesome and restorative night's rest, waking fresh. ๐ด๐ฅ
-
(#): I was indeed able to finish the last section of my new indie license agreement draft today! The final page count now appears to be 36 (though minor edits could change that). It is so long because (as I mentioned briefly before) it is actually a template for a combinatorial explosion of multiple possible contracts for multiple possible common use cases for independent creators. That's not the only reason though, admittedly. The other reason is because I tend to be highly verbose and thorough, as many of my long-term readers probably know by now. ๐๐
As such, having at long last essentially finished the legal draft (besides review and touchup), I will at long last be able to start work on the mascot/logo! This legal drafting ended up taking ~2 weeks, which was more than twice what I intended. I am happy with the result though and I think it will be a useful independent creator license. ๐ ๐งฎ๐จ
As you can imagine, I am relieved to be able to do something other than writing labyrinthine legalese with so much of my time! This will be a great foundation to start building a brighter future though, with enough luck and visibility at least. ๐๐๐
Here's to new beginnings and to empowering independent creators against exploiters!
-
(#): In the earlier part of the day, I handled a large number of emails that had accumulated over the course of the past several days of family visiting (plus other the legal drafting time too). I also reorganized my browsers bookmarks, which was another task that (like the emails) I'd been putting off. It's empowering to have my bookmark collection cleaned up again and it already feels substantially more useful now, especially my toolbar, which was the part I most heavily reorganized today.
Later in the day, in the evening, I drew a little over a dozen loose thumbnail sketches of possible vague designs for the mascot for my upcoming release of my indie-friendly configurable license agreement. I still haven't settled on one, though a few of the thumbnails were ok. I still have a strong notion of what I want the mascot/logo to feel like though, as I have had for many days now. The design will incorporate a kind of visual pun that amuses me! It'll add a nice splash of fun! The question is just the details and making it look iconic (logo-like, but still a mascot character) enough! ๐ง๐ผ
This is the public-facing image of the license and so it should be good! โจ๐
Whatever form it manifests into though, the most important thing remains as it always has been: Take care of yourselves and live every moment with benevolence of intent. Always remember that treating things and people as just a means to an ends is a way of thinking that leads invariably to evil. The path of good always respects every moment, every thing, and every person as ends of themselves, here and now: never as mere stepping stones to be trodden upon and used. ๐ฆ๐ค๐ค
-
(#): I drew another dozen or so thumbnails for my indie license mascot/logo idea. At this point there are a few of the thumbnails I've made so far that feel possibly viable for what I have in mind, though it is hard to be certain since thumbnails are so sketchy and loose (naturally and unsurprisingly).
Oh, and I probably should have mentioned that I want a 1st version of the mascot to be done before I release the actual document to the public for use. Even after I have that 1st mascot image version done I still have to review the text itself again as well and set up the description and page(s) for getting access to it too. We're close though! ๐
I've also been waiting for Gumroad's support to get back to me on an email I sent them asking why my Gumroad page is giving a nondescript (nearly meaningless) "Something went wrong." error message every time it loads. I'm not sure if I should be directing viewers there if there is some unknown problem (though everything seems fine regardless). Thus, I also spent a few hours today considering possibly using a Gumroad alternative such as Payhip or SendOwl or going back to only using Ko-fi.
I'm not sure what I'll do for settling these matters yet, but I'll figure something out.
Sorry for the delays! I know I can be a bit slow. I'm working on it. See ya later! ๐๐
-
(#): I created a 1st draft of my indie license mascot today in Inkscape! Initially, the pace was lethargic and I was a bit down about it, but I gradually found a combination of visual features for the mascot that fits the mildly humorous mascot theme I'm going for and it looks like it'll shape up nicely. Currently it is simple solid color shapes and not complex. I am not sure how much more detail I'll add before declaring it done. We'll see. I'm happy to finally have a mascot prototype though, in any case! ๐๐
I also found (and read) a well-written article entitled "Keeping platforms open" which lucidly dives into some significant considerations for not just designing decentralized systems for the web but ensuring that those systems remain decentralized and are not captured by freedom-hostile entities in the future. Many of us can sympathize! ๐ง
Oh, and it would appear that we've just crossed the huge milestone threshold for this website as of today!: This is the 365th consecutive day of web log entries! This website (WraithGlade.com) will thus (as previously mentioned on 2024-08-19) now initiate the transition from a daily blog based update workflow to a digital gardening based update workflow! That means I'll have more time for creative endeavors since I'll no longer feel obligated to post here in the log every single day without fail. ๐ ๐งฎ๐จ
The transition to only posting as needed/compelled (i.e. when there is something sufficiently salient to merit it) instead of daily will save me between 30 minutes and 2 hrs every day, based on the typical range of time I spend on these log entries. I will be less spread thin as a result, which for me is important considering how prone I am to pursuing a wide range of creative and intellectual pursuits I am and how perfectionism and indecision can compound that time and resource scarcity even more. ๐ โณ๐ฆ
Here's to this site's 1st year anniversary! ๐๐ฅ Proving to myself that I could be this consistent with this was a challenge I set for myself and have now fulfilled. I look forward to putting equal or greater effort into my creative works and to making my site ever increasingly more substantively heartening and/or entertaining to whoever may stumble upon it! There's much more to come, it'll just be less log focused! ๐ฌ๐
And especially to my regular and/or long-time readers: Thank you all so much for sharing your time with me! I appreciate every single one of you! ๐ฅณ๐๐
-
(#): Late tonight I've completed the first finalized version of the indie license mascot and have added it to the front page of the license document! I decided to keep the style simple. I originally planned to do watercolor painting for it but instead have decided to keep it as simple cartoonish vector art for now. ๐ง๐จ
I may do a more fancy watercolor version at some later date. I am itching to start using it soon though and I am sufficiently happy with the vector version of the mascot already. It is cute and funny. I think some of you will get a chuckle out of it. ๐ค๐คฃ
I also did some modest proofreading and reviewing earlier today, but it was just of a small part of the whole. Tomorrow I will be reviewing the full document (36 pages) and preparing the landing page and description for it! We are almost there! ๐๐
As always: I am wishing you all all the best! Sleep well and treat yourself right! ๐๐ค
-
(#): Today () is the nominal anniversary of the site even though midnight two days ago () was the cumulative anniversary (or cardinal or "real" anniversary) of the site. The site was founded on , as recorded in the site founding memorial, but is a leap year and hence contains a leap day. ๐ฆ
Indeed, it did strike me as odd that the apparent anniversary day (as indicated by the increasing day count approaching 365) landed on . However, as of today I went back and scanned through this entire log page and found that every single date was indeed matched to a corresponding day count number, verifying that there were no apparent extraneous non-date list items that somehow snuck in. ๐ฌ๐
Furthermore, the count of each day did also increase by 1 between every day, though I didn't check the per month variations of such day counts. Therefore, the day counts and the dates do indeed appear to be entirely contiguous (just as intended) unless I missed something. Hence, the goal is now fulfilled both nominally and cumulatively!
This discussion reminds me of an interesting tangent: Did you know that there are actually at least three substantively different kinds of integers but we often conflate them all as just "integers" when their properties are actually different? The three types are: cardinal integers, ordinal integers, and nominal integers. ๐งญ๐งฎ
Cardinal integers are for counting and accumulation of quantities. Ordinal integers express differences in how objects are ordered (i.e. arranged or permuted) but not necessarily their count. Nominal integers are integers used like labels or names (hence the "nominal"), such as numbers placed on sports jerseys or addresses. They are not the same thing and do not always have the same mathematical properties. ๐ซ๐
As planned, I've also been reviewing the legal text of my upcoming indie license agreement for quality, making minor tweaks and finalizations along the way. I ended up hanging with my family for a good while though and also invested a few hours in buying some long-term books for deepening my understanding of both contract law and increasing web traffic, both of which are priorities for my current trajectory and the changes I need to make to find a way to survive. I can't just keep giving it all away!
As such, I didn't get as much done on the reviewing of the license as I intended. I wanted to have that part done by the end of today. However, I will proceed with more of that tomorrow and will likely finish the reviewing and editing then. โณ๐
In the meantime: May night's embrace bring you ease and not fear! Rest well! ๐ญ๐
-
(#): By the end of this evening I'll have finished reviewing the full legal text body of my upcoming indie license agreement. After that (i.e. tomorrow) I'll be working on the landing page for it, plus any extra images or "packaging" I decide to associate with that, and then creating a listed description for it on my site. Hooray! ๐๐๐
If I can sustain sufficient efficiency for the whole day then I may even release the document then! Fingers crossed for a lucky day tomorrow then! ๐ค๐
Either way, fellow wild web philosophers and creators, I bid you all the best! ๐๐
-
(#): Very late this evening I finished setting up the landing page for the upcoming indie license template release. I'm using a new site builder system for it, so I had to adjust to that new environment for the intended page. I've also been experiencing some pre-release jitters today and so I've been a bit perfectionistic and mildly avoidant today. Progress has continued steadily though anyway. ๐
Tomorrow () will likely be the release! I don't want to rush it out tonight though (and thus risk botching something or messing up my sleep schedule by using my computer so late). It's almost midnight here. As such, goodnight friends! ๐