triptych

Creative works, working to create

Lately, I've been working on coding projects, but neglecting my writing. Recently Amazon announced something called Kindle Vella. This is intended to be short form, serial fiction which readers pay tokens to get to the next chapter. It really suits my way of writing, so I'm going to see how far I can go there.

I've also neglected my music listening – to my own detriment. I'm trying to correct all of these things with this blog post. I have so much cool stuff I could talk about, and yet I keep silent and see other's gaining readers through posts that are less complicated and involved than I could get to.

So.

Let's fix that! I need to post more often and share what's going on. And maybe there will be something that interests you, dear reader?

First off let's get to some music!

I know write.as does a great job allowing embeds, so I'm testing this out. There are so many things I could be doing here. Now that I'm vaccinated, it's time to step up and step out.

Current activities:

  • Going through the Threejs tutorial over at Threejs-journey
  • Transferring my serial novel The Clockwork Apprentice to [Kindle Vella]
  • Having fun making cool things over on Observable

Goals:

  • Write ( every day! )
  • Create a simple JS web game — dungeon critters
  • Write more chapters for The Clockwork Apprentice

Some things I wish I had been told as a kid: 1) A lot of your life will be determined by your mindset. Be pessimistic and your fears will be fulfilled. Be optimistic, and at least you'll face challenges with your full will power. 2) save money. Even a dollar a paycheck. 3) Incremental progress. Slice a goal into tiny daily steps. The “compound interest” on this is powerful. 4) Your teenage years will mess you up mentally. It's biology. Don't worry too much. It'll get better. 5) Making connections with people using empathy will make your life better. 6) Learn to write and tell stories. Storytelling is the fundamental unit of the universe. 7) Sleep. Eat ( not junk ) . Exercise ( even just walking ) — will change your life. ( esp. sleep ) 8) Learn how to manage your finances. I lost 10 years of life to Capital Gains Tax. The emotional toll is devastating. 9) Find folks who are like minded. Find your “peeps”. And cultivate relationships. 10) Read. A lot. Nonfiction and Fiction. 11) Get a sense about Math. It's really not “that bad”. Having an intuitive sense about math at an early age changed my life. 12) Have a pet. Love is a universal healer. 13) Do not put others down. It only pulls you down. 14) Be learning every day. You are an eternal Student. 15) Find a way to share what you've learned. Teaching can be very fulfilling. 16) Declutter. Remove visual noise, throw that old jacket away ( or donate it). eBay is your friend ( sell! ) 17) When you feel bad – Go To The Doctor. I had undiagnosed Diabetes for years. Metformin changed my life. 18) Do not wait. Seriously. Don't wait. Do the THING. You know what it is. The thing you long to do — write, sing, art, build. Whatever. GO DO IT. Life is super short. 19) Be thankful. Be grateful. Make a list of the things you are grateful for and keep adding every day. This will change your life. 20) Make a list of 10 ideas a day. It could be “10 ideas for better investing” or “10 ideas about fantasy characters” or anything. Getting ideas down trains your brain to be an idea machine.

As I'm playing more with #observablehq I'm seeing how powerful it is in many ways. One way is how you can embed views of some logic and game in another site. For instance, I have a simple icon generator that gives you a score based on if you match colors and shapes. Check it out below.

This game is based on a few other Observable notebooks in a chain fashion. You can see the original Observable Notebook here –> @triptych/monster-icon-mix-up It allows you to share just individual cells if you want – and all the logic / js / css carries over. I'm really super impressed. Also with Write.as for letting iframe embedding. The combo is just super powerful.

Just to give you a little insight into one writer's thought process while starting a new novel. I'm sure that some writers get everything plotted out and perfect before writing that first chapter. Every character is fully formed and ready to get up on stage and do their thing. For me it's so much different.

For me, I feel like I'm a reporter who can travel to different worlds and see what's going on. I'm not so much creating a world, but I'm discovering something that exists outside of myself, and I'm just given the ability to see it first. It's almost like there's a story – inside a house on a foggy hill. I see the outlines of the house first, then as I approach the house I can see more details, or something that I thought was the house was really the pool house and the main building comes into focus.

I imagine I kinda peer into windows – seeing characters or situations in an isolated, disconnected way. For instance – for my next novel, I was thinking about the concept of a character who has some mystical abilities. They realize that powerful magical entities have broken free from a Tarot style deck of cards. They must find some way to confront and get the entities back into their cards. The idea at first was like a film noir character doing this in a big city.

I then hit upon something that happens a lot for me. I see a genre and think “how can I twist or invert that trope?” For me the trope of some everyday guy getting sent into a fantasy world with superpowers — the Isekai might get inverted by having a fantasy character sent to the normal Earth and be “powerless”.

These ideas kinda fused in my mind — getting further clarification of the storyline. I then tried to imagine what my MC might be like. Initially, I had written a few chapters of a novel where a girl watches a door as part of a family tradition — supposedly “guarding” it in case anyone comes through. She scoffs at this until someone actually comes through! And I thought perhaps this was the MC for my story. She would somehow have the power to control these cards and the battle weary dude who comes through a gate would have to train her.

But as the characters began to speak to me ( figuratively, of course ) I realized that the MC was actually a 35 yr old divorcee named Sylvia who runs a bookstore. Taking the house analogy — I was able to peer in and see more clearly one of the characters. I just assumed the store was a book store – though it seems kinda tropy...

This is when serendipity comes in. Watching Twitter this morning I came across this tweet:

link

And I immediately realized that the store is not a bookstore after all but a pet store. I'm not sure how it will all work out, but I'm getting closer 😁

But the point of it is this. Sometimes a story will just come to you. I have other snippets of the story – like the “Big Confrontation” and some plot twists here and there. This is just how I think about writing. I'm definitely a “pantser” and this really works for me. You might be just staring out on your writing journey, or you've been doing this for a long time. I just want to let you know that stories can come in many ways. Sometimes you have it all worked out and you know the ending before you even start typing the first word. Other times you are discovering the story as you write it. And that's exciting! Give yourself the freedom to try both ways. You never know that directions your creativity will take you.

As I was writing this post, I realized a bit more about the storyline – in terms of how the MC might discover the item that is the “gateway” that let's the fantasy character pass through. She is a marine biologist ( okay?) who runs the aquarium pet store with her mom. She's recently divorced and has moved back to her parents to help with the store. She loves to go diving off the coast nearby and discovers a kind of “pandora's box” and naturally she opens it. So, now SHE's responsible for the Tarot-style entities escape. The fantasy character who will help her is probably one of the characters from the cards ( I don't know yet). But which one? And is this character REALLY have her best interests in mind? You'll have to read the story to find out!

Unexpectedly, I am going on an Observable odyssey. I ran across a particularly interesting Observable story as a notebook a few weeks ago. It really captured my imagination as I aspire to be a “creative coder”. As someone who is very interested in things like JavaScript, Games, Web Development, Storytelling, and teaching, this site offers all of these things and more. I find myself learning about kinda obscure JavaScript features like Generators and rediscovering my love for SVG.

Observable is quite remarkable to me because it has cracked a lot of “tough nuts” in my webdev journey. I find myself making goofy little notebooks that do things like tell Chuck Norris jokes and show Cat Pictures. I've also learned how to Generate Mazes , tell stories with Inkjs, and create simple games with creative commons RPG Icons. I've learned about Entity-Component-Systems , how to use Google Spreadsheets as a mini-database, and how to use Github as my own personal “npm” to write code outside Observable, but to use it as a library my notebooks can dynamically import.

I've learned MORE about how the web works in these past few weeks playing with Observable than I have in a long time. For instance, did you know there's this thing called a Broadcast channel that you can pass messages to in a browser and every other site, page, etc. that listens to that channel can receive and send messages as well? That's HUGE! And it's just one of many discoveries I've made.

It's CHANGING how I understand how the web works. I have always thought of the web as you have this browser that has a bunch of functionality, all mish mashed together on a page. You poke at it through HTML, CSS, JS, and SVG, and HOPE it works ok. Now, I'm learning that the web is a very organized set of components. There are built-in components to the browser, that you can take advantage of, and there are user-made components you can fetch from say NPM which you also can use. I've always been this “build it myself” kinda guy. And that has been my albatross. Instead of actually making a web game, I spin my wheels trying to make pixels move. When instead I could just use a game library like Kontra or Phaser and just go!

Observable itself is also quite cool. It enforces a concept I find very appealing called Functional Programming. And it also uses async/await, Promises, require, import, and more. Writing “modern” JavaScript is the norm here, and just looking at a notebook and how it works is not only fascinating, but a valuable way to get your own notebooks working well.

Everything is “forkable” – where you can clone a notebook ( mostly ) and make it your own to spin off new ideas. There's also this really interesting idea where every “cell” in a notebook is addressable in ANY other notebook. And that cell “carries over” all it's dependencies into the new notebook ( with some exceptions). This really gives one the feeling that everything is componentized, reusable, and remixable in a way that is a step up from typical Coding sandboxes like Codepen — which is super amazing and has a much bigger audience right now — but falls short on the sheer simplicity of writing a document, and sharing a cell with another document. You can also export your notebook to another site – and it will carry over the “engine” for you. So there's a sense that if you felt like you wanted to “eject” from Observable, you could still take your stuff with you. And it has a really nice way to embed your notebooks and cells in other websites. It's a great “citizen of the web”. It GIVES as much as it takes.

I REALLY like that.

So, here I am going nuts about Observablehq all because of a random tweet about creative coding. But it's not only sparked my imagination, it's made me a better webdev ( still learning! .... Generators ugh! ) , and it's enabling me to DO more things ON the web, WITH the web. I hope you check it out and find something fun to learn and do.

I'm finding there's so many possible places to post content. One site I've been obsessing over lately is https://observablehq.com. I'm even writing a mini-blog of my journeys there. I want to see if I can embed those posts here:

I was reading Twitter yesterday and a certain tweet struck me.

I am firmly behind this. However, instead of wishing that someone else do this, I want to help make these things happen. Time to try to bring this about.

Today, colors seem brighter. Light seems to illuminate the world a bit more. Fear and hate has suffered a defeat today. There will be battles to come, of course, but today we get to have a celebration and to hold on to hope.

Anxiety siphons away creativity and joy. Imagine the outburst of happiness that will spawn so many creative acts. I am a bit more hopeful today. The darkness is a bit less dark. Let's take this and build on it. I hope you find something to celebrate today, and look forward to seeing all your cool stuff in the days to come as you begin the process of healing.

Hi there doomscrollers! 📜😱

You know those half-done side projects you've done, those tutorial apps you made but then did nothing with. Those codepens, replits, jsfiddles. They have all served their purpose. You learned a thing. You spent some time coding. You can let them go.

Think of a jogger when they are about to go for a long trip. They do stretches, exercises, running in place. All those projects you've played with are just like that. They helped you get “warmed up” and that's cool. You don't see a jogger upset that they're running in place didn't get them anywhere do you? Even if you fully intended to create the next “Big Thing”. You even got a domain name. Yes, I have been there too. It's ok. These are more like swimming laps. You are figuring yourself out. Seeing what you want to do and you learned from them. Failure is not a bad thing in this respect. You did an experiment and got a result. You can then harvest that code, or those experiences and go farther then before. Or maybe you see you should start smaller. The point is stop thinking about that backlog of stuff you've done as “failures” or “waiting to get done” or “if only I had more time?”.

Stop that. 🛑

They are your trophies 🏆 of work done in the past. Put them down, free up your head. What new thing will you start TODAY? It will be better because of all your past stuff. The spirit of those past projects, tutorials, etc. will live on in your next thing. If you feel like you are just spinning your wheels 🚗, here's some tips:

1) Make something small, but complete. 🎆

You will feel better. Even if it's just a doodle or a index.html file.

2) Be purposeful. 💭

Every little project should point you toward something. It's a stepping stone. Let it be in some direction.

3) Play. 🕹

Some of my best ideas come from just playing around. I didn't know SVG could do half the amazing stuff it can do. This is the opposite of 2) and those two opposing forces is where real creativity comes.

4) Put everything in one place. 📦

Make a github repo of your random stuff. Put it in a gdrive. Have a shelf for your clay projects. The point is if they are all together you can see physically how much progress you are making.

5) Share. 🤝

Did you make a thing? Great! I want to see it! So would other folks! You might inspire someone else. They might (steal) borrow your code, music, or theme. Sharing brings that level of “I must do this” a little higher. And it helps you find like minded people or “fans”

6) When it's done, it's DONE. ✈

When you finish a thing, unless it's something you want to keep building on , then put it away.

You need to learn from it, then let it fly away free to give you head space.

7) Write about it. 📝

You did a thing. Whoo! What did you learn? How did it make you feel? What would you do differently next time? Writing about stuff helps imprint what you learned in your head, it helps to share, it helps you with your voice, and sometimes you might discover aspects of the thing you overlooked when you were so close to it. Writing is good. Write. A lot.

8) Guilt free. 😄

Maybe you weren't happy with that sketch, or you got busy and didn't finish it. It's NO BIG DEAL. It's in the past now. It's purpose fulfilled. Do not let it become baggage or an anchor. Use it to help drive insights into yourself. Why did you not finish it? Are you super busy? OK what can I do to work around that? Maybe I have issues with finishing things? Ok. Why would that be? Feeling like an imposter? Self sabotage? The point is even our “failures” or “half-dones” can be windows into how we work. If we let them give us insights into ourselves, then their value is beyond measure.

9) Do something different. 🎭

You like making React apps? Working with watercolors? Try doing something different. That “other” ness will spark your creative side and put you in a slightly uncomfortable place. That's a GOOD THING. Your brain loves novelty.

You will discover * what is different about this? * how is it the same? * can I make generalizations? * this is kinda cool? * this sucks, and now I know that...

Lastly,

10) Have FUN. 🎉

If you aren't having fun doing a thing. Stop doing that thing. Especially as side projects. You hate Java? Stop and try out... Python! Or you hate doing tutorials. Maybe write one! Or get a mentor and talk! The point is – having fun will energize you and help you finish those (side project) things. So above all, relax. Put away the guilt. And go make something fun!

(See what I did here? I made a thing! I had fun! I wrote about it! I did something different [added emojis]. I put it in the same place [ write.as ]. And finished it! )

I did it! I am doing several things today that are “day 2” of a process that's been challenging for me. During this pandemic, I've seen my attention span drop to that of a gnat on caffeine — flitting from games to novels to coding to whatever seemed interesting for 5 minutes. This due to a desire to stay distracted and not thinking about the times we are in.

But that's changing.

For me, writing is fundamental to who I am. If I'm not writing, then something is wrong. And I've not been writing or doing much for a while. So many times I will try out a thing like https://cables.gl and after a day or so move on. But I know that if I want to regain that lost sense of self, and to move forward as a person, I need to start writing more, and getting my “voice” back. So many goals and plans, I cannot build on them if I'm just doomscrolling all day.

So today is a big milestone for me. I set a challenge for myself to start writing every day. For whatever reason, and who knows what about. But still, I'm writing on day 2! A huge step forward for me.

I've tried off and on to blog for many years, and never really found a good “place” to do it. But with write.as I can write, embed code, apps, and more to create a place where perhaps folks will find something interesting to learn.

I worked on a “TinyIF” game today using Svelte. You can check it out here:

Enter your email to subscribe to updates.