Here I am

It’s been a long time, but I’m back after 8 months. What have I been doing?

Besides working and being a dad: learning. For about the first three months, I wrote and continued to try editing. Afterwards, I decided it wasn’t going to work, and I needed to prioritize one thing or another.

So, what’s going to happen now?

I’m getting back to writing. I have three more books pretty much ready but they need finishing touches and preparation. BUT! For each of them, I’m going to be doing something unique in relation to programming and design. I haven’t yet realized this how exactly this is going to work, here are the plans for the next few months:

  1. I will remake this website. If you didn’t know, I started this website when I was still of the mindset that I’d never program, and so that’s why I went with WordPress. I learned how to make my own themes, so I will be doing that. I will probably also write a blog post or two about it as I go.
  2. I will make a SPA complement to this website using Frontify and React. Those words probably don’t mean much to you, so basically it’s a cooler type of design that you will most likely not notice if it’s not pointed out.
  3. I will make a website that’s a type of ARG for my second book.

If you’re curious, here are all the technologies I learned:

  1. Pretty Well
    • Python
    • JavaScript
  2. Well:
    • React
    • HTML
    • CSS/SASS
  3. Good:
    1. Angular
    2. Vue (only good, but it’s probably one of my favorite technologies!)
    3. TypeScript
  4. Somewhat:
    1. React Native
    2. WordPress PHP
    3. Adobe Illustrator
    4. C#
    5. Unity
    6. Swift
  5. No:
    1. Machine Learning
    2. R

What does this all mean?

Don’t feel overwhelmed or impressed (certainly not the latter). I’ll explain them all in individual posts in the future, but today I’m going to give more of an introduction. Those words above sounds like a bunch of meaningless keywords, but they all mean something very specific. And I will explain that, soon.

But before I do, I want to preface everything else by saying this: everything I do must have a meaning. I started off this learning with a belief: that computers are an instrument, and like all instruments are both functional and artful. So here’s where I get back to writing and philosophy. As I briefly talked about before, art is about the expression of a thought through a medium. All media necessarily have certain constraints, which is the means by which the expression comes about.

I imagine you know where this is going, but if you’re not: programming is perfect for artistic expression. All the things I mentioned above are different constraints by which someone may express themself. So you may think I’m going to talk about websites and programs that caught my attention for these reasons, as examples of art in programming. Well, I’m not. I haven’t yet really met anything that expressed something. Everything you see on the computer is a metaphor, and no websites or applications interact with that idea on a meaningful level. As an aside, if you do know of something or think differently, whoever’s reading this, feel free to write me, and we can talk about it.

I’m going to talk about websites for a moment. If you look deeply, think about their alignments, use of color, fonts/columns/margins, etc. they all tend to look very similar. In some ways, it’s a lot like print books. And I don’t fault print books for that because they have another means of expressing meaning. But websites don’t get the same leniency because they are capable of so much more – and their mode of artistic expression has to be through that. For example, you could draw all the words in a book, but that’s missing the point, isn’t it?

Don’t get me wrong. The websites I’ve seen don’t look bad. In fact, some of them look great; for example: http://www.csszengarden.com. They have a lot of cool and innovative designs. But you’ll notice: it’s all been made with the same base designs. They all look alike (and the reason for that is for a large part for what I perceive of as two reasons: 1. Before these modern designs, things looked often really ugly; 2. HTML 5 and modern tools let you make some good-looking things easily, but it requires a bunch more work to create anything unique; 3. Something unique doesn’t really get noticed; 4. The vast majority of big websites are for businesses, and businesses don’t need creativity.

To get back to what all those words mean, I had no idea I’d end up learning so many. I started off with the thought “Hey, Python is supposed to be in demand and popular. I’ll just do that.” And then I heard that to do web development, I would need to learn JavaScript. Then JavaScript has some cool things: check out these SPAs like React. Then it kept going. I went deeper and deeper down a rabbit hole. There are a lot more things I’d like to learn if I had more time.

I’m pretty much at the end unless something changes dramatically in the future. Learning all I did within the gestational duration of a human child made me have few moments to relax. There were no weekends, and I was often staying up until 2 AM and waking up at 8 AM. Some nights I was literally falling asleep while working on things.

So let this be a lesson to you: to learn how to program a bunch of things within 8 months, all you need is: 1. The cessation of any sort of personal life or going out, made easier due to a worldwide pandemic, 2. The willingness and ability to do literally nothing except the necessities and work/study, 3. A wife and a mom who support you and help you (besides bearing the brunt of your discontent and/or frustration), 4. Be able to write a ludicrous amount of stuff off as business expenses.

So, if you actually want to know what programming means, I’ll tell you. Just to warn you, I’m going to write a bunch of stuff, and there’s going to be asterisks. Don’t read the asterisks unless you really want to.

Programming is writing some instructions for your computer. Each programming “language”* is a different way to write the instructions and a different way that they’ll be carried out… kinda**. Some of what I mentioned above is done by your computer, and some of it is done by your web browser… which is done by your computer.

Web stuff is the more attractive and easy to get into for two reasons: 1. It is easier on the basics level*** and 2. You do can make something look nice without nearly as much effort****, and 3. It’s much more universal*****. Yes, there can be differences, but these days it’s much less.

Now, one last note before you get to the asterisky material: I want to take about myself. I learned some programming when I was like 8-12ish. I stopped because… I don’t know why. But I did, and I’ve done the same for other things and mu life, and every time it was the right decision. When I stop doing something, it’s because I can’t do it and be happy. I put everything into what I do until it no longer clicks. It is that competitive devotion that has made me excel at most everything I’ve concentrated on doing.

Consequently, during my years of college, I learned two things about myself: 1. once something is in my long term memory, it will never go away, but getting there is hard because of 2. I am great at what I call ‘medium term memory’, which is this: I will remember something precisely and accurately for 6 months to a year then forget it almost completely — which is almost explicitly what happened to me with Ancient Greek. It’s actually a big concern right now that I might forget everything on the good or lower portion of the technologies. That’s why I’m going to be working so hard to create projects with everything that I’ve learned. I’ve already started on some, which I’ll talk about in each of the sections.

The Asterisky Part

*How I despise the ways that we compare computers to the human mind. Humans are way more complicated and advanced than computer. It will be that way for as long as me or anyone reading this will be alive. This isn’t to say that computers won’t advance, just that we’re so far beyond them.

**Every languages I learned is written (read: created) on the back of another. Multiple languages are written on the back of a few. Notably, C. Which I briefly tried to learn. No way that’s happening. Never. Ever. There is no more emphasis I can put on the fact that I don’t want to learn C.

***The basics of a website is HTM, which is a markup language. What it means is that it doesn’t do any heavy lifting. You basically give mostly superficial commands to another system: “put a box here, some text there”. Then there’s something called CSS, and it can be a bit more complicated.

****Complexity is really about being able to implement logic in programming. HTML and CSS don’t have much of it, but you get a free interface with them. In other programming languages (Swift being the major exception), you need to program it in. There are some things like kivy that kinda allow it in Python, but eh. Web is really the best place to see it.

*****Okay, so if you really want to know, universality is kinda weird these days. Back in the day, if you used a Mac, you couldn’t use C++ or something like Visual Basic. And these days, Swift can’t be used if you have a PC, and some things can’t be done on a Mac still like WPF. It feels incredibly petty and like it’s a way of building brand loyalty. Who has brand loyalty these days? Besides that, some things like Java (let’s agree to never talk about it), C or Python are universal.