Do not be afraid to try

A few days ago I came across the article, “I Quit Liking Things On Facebook for Two Weeks. Here’s How It Changed My View of Humanity.“. I know at first glance it looks like just another clickbait article, but it’s actually a good read. The conclusion I drew from it was simple, that I should demand more from my social networks and work harder to push for discourse instead of contributing to some karma-hoarding echo chamber. I’ve already been at it for a few days and I can tell that using Facebook is a much more enjoyable experience. It’s especially nice considering I spend most of my day alone talking to myself, so it’s good to actually communicate with others when I’m on Facebook procrastinating.

It also reminded me of a bit from Hank Green’s video on vlogging, which you can watch below.

Another important rule: do not be afraid to try. I know that failing at something stings a lot less if you didn’t really try hard, but it’s also much more likely.

I don’t remember the last time I consciously tried. It’s easy to go through a day and do work according to whatever standards you have set for yourself; you’re just maintaining what you’re used to. But it’s different if you instead try to go above and beyond that norm. I miss the visceral feeling of attempting something beyond the scope of what I’ve done in the past! I want to, need to bring that back somehow.

Part of doing that is thinking about grad school as a challenge and not as a money sink. I register for classes tomorrow, so I think it’ll sink in for me once that is completed. Then I’d like to work up my immunity to passivity in my every day life. And that itself is a whole ‘nother blog post.

Also, here are some vlogs that are related and useful. I think the list was initially going to be longer, but then this post took too long to write and I need to get my sleep.

Leaving “the industry”

I left the house to socialize for once, and went to a launch event for a friend’s company and one of their clients. As typical events go, there was a lot of socializing and asking, “What do you do?” So I explained my past year, where I’ve been and where I might be heading.

One of the people I met also worked in the financial industry. She posed a very important question: why re-enter finance? I’ve turned this over in my head a few times, and juxtaposed it with another posed by one of my recent interviewers: are you afraid of becoming bored working in financial software?

Both of those are good questions. I don’t have an answer right now.

Problem Sets

I’m currently between problems in an interview problem set. Take-home problem sets are fairly common for software engineer interviews, but it’s all new to me. With software interviews so far, I’ve managed to get my foot in the door but then struggle in flying colors as I display my lack of depth in most computer science skills. And it’s not that I can’t understand these topics, more that I haven’t had the occasion to do so yet, either in work or my spare time.

And this scares me in some regard. Every now and then I’ll look up from my computer and think to myself, “No way, Dan, you are NOT prepared for this.” And I’m right; there’s no way I am prepared for this. There’s a reason most people get degrees in software development before becoming software engineers. And the ones who don’t get degrees spend enough of the rest of their time writing software that they’ve learned the relevant material anyway.

I haven’t done that. My undergraduate was spent studying how technology interacts with people, societies, cultures… And how to write mathematical proofs. Did I mention I played a lot of music? So my skill set is very different in this regard.

I don’t want to sound like I’m making excuses, or beating a dead horse for that matter. I feel like I spend most of my time on this blog writing, “When I was a musician, blah blah blah” to some degree or another. I really just want to document my feelings, which primarily are:

  • I screwed up; I shouldn’t have quit my comfy job to dive into this madness.
  • At least I’m honest with this assessment. I know what my weaknesses are and they shall be reflected in how I solve this problem set.
  • It’ll all be over tomorrow, and then I can go back to working on problems I actually care about.

It’s really goofy to me that I know these problem sets wouldn’t be as scary if they were math proofs. Like, in many ways they would be WAY scarier because they’d rely more on “magic” and other sorcery I did in undergrad that involved me pacing furiously, eating McDonald’s at 5 in the morning, and coming to eureka-esque conclusions while I showered before class.

But I know that’s only true because I have a better intuitive grasp of math than I do computer science, and those rituals are familiar to me. I’m not used to staring at a computer screen and being stuck for hours on end, not knowing where to look next and hoping Google or StackOverflow will give me a hint in the right direction.

Of course, this is why I’m going to grad school. And the fine folks I’m interviewing with know that this is why I’m going to grad school. If there’s one thing I’ve been proud of during this transition period of my life, it’s been the transparency with which I treat my understanding of the situation — my skill set and my job prospects, my weaknesses and the goals I want to accomplish. I don’t think I’ve been this self-aware in a very long time.

Literacy

Remember: There is always great virtue in being a “well read” individual! Keep in touch about literature and life. Best wishes always!

Those were the parting words my senior high school English teacher left each of us, along with a partial list of book recommendations. I haven’t thought about it in over seven years, but I’m thinking about it today because I unearthed these words while cleaning my room. I’m surprised I found them amongst the countless mathematical scribblings.

And that math ties into this blog post too. I found old AP tests, mathletes problems, and random proofs hidden away inside notebooks for other classes. I’m sure I could understand it if I took my time with it, but I’ve become quite illiterate over the years.

One of the cool things about doing VEDA year after year is that I get to explain to new friends what I’m all about as a person, and I get to see how closely the fiction matches up with the reality. We’re only a little over a week into VEDA this year, and already I can tell you that I’m not quite living the reality I want to exist. It’s certainly more mathematically, musically, video-game-induced than your average person, but it’s not where I feel comfortable about it. I know I’m capable of getting there, but it feels like a lot of catching up to do.

I hope I keep thoughts in mind similar to what I’ve written down in this post tonight. I would once again like to be literate in the thoughts and ideas I am most passionate about.

Getting back into the art of things

Today Rob Fearon wrote a blog post about video games being the new escape, about video games being the new punk. That really resonated with me.

Rob also starts the post writing about how people are trying to make games because they saw Indie Game: The Movie and think, “Yeah, I can do that.” Guess what? I’m one of those people. Granted, I’ve got what I hope is the right background that will allow me to succeed at making a career out of video games, but that’s definitely one of the factors that pushed me in the general video game direction.

The other was, of course, making video games. My friends and I made games for jams because it was fun and not financial software. We failed, totally, and even when we succeeded, we continued to fail afterward.

I still want to run my own games studio. Oh ho ho, most definitely. But that’s because I want to be afforded the luxury of working on games 24/7, not because I want to make it big. It’s really easy to convince myself that I’m doing it for money, though; my brain is wired to think of games as money making machines as well, so I’m not surprised when I find myself critiquing games as if their only purpose is to pay the bills.

Today I spent some time at a friend’s company, checking out the digs and looking into potential employment. I bring this up because if I were to work at this place — or any other non-gaming company, for that matter — I would be doing so to finance making games. Making games is my focus, it’s what I will tell people when they ask what I do, it’s what will preoccupy my mind when I try to get some sleep at night.

To be honest, I haven’t felt this good about what I’m doing since I quit my job, and before that since high school when I thought I was going to be a career musician. When you’re an artist, you crave opportunities to express yourself. When the availability of those opportunities is threatened — or worse, taken away from you by either external or internal forces — you can feel the energy drain from you. Every. Day. I’m not being melodramatic here; in the same way extroverts might draw energy from being with others, artists draw energy from expressing their creativity.

For those following along, I’m doing We Blog, We Vlog VEDA again this year. You can check out the videos on my YouTube channel. Again, the whole opportunities for creativity thing.

Cleaning up my GitHub repos

Every now and then I like to clean up my GitHub repos. I delete the projects that were initiated on a whim but never made it off the ground because they lacked momentum, teams, or drive behind them. I clear these from my profile for a very practical reason — it’s cleaner to look at. But I also know that as a secondary concern, any future employer can take a look at my profile and not see a bunch of incomplete projects.

And I know that can be a “bad thing”, but only because each incomplete project cannot speak for why it is not complete. I haven’t reached a maturity with coding that I have with, say, music. When I was a more active musician, I chose my projects carefully and locked everything into a schedule. With coding projects, my imagination still drives the bus and I often try to bite off more than I can chew.

I wonder what it would be like to schedule for coding projects the same way I scheduled rehearsal and performances for music. Is that a plausible solution? I guess I hadn’t thought of it that way before because coding doesn’t necessitate scheduling for coordinated collaborations. But I do miss having that order; it was easy to make rehearsals a priority and were one of the few ways I could focus on music.

I’m going to try this tomorrow. I can use RescueTime to enforce staying focused, similar to turning off cell phones during rehearsals. I’ll start creating events on a separate Google Calendar, just like for rehearsals, performances and classes (something I will once again start doing). This should help me stay focused and stay serious.

I think I was able to stay so involved in music as a “secondary interest” in college because I treated it so professionally and took it seriously. It’s about time I did the same for code.

I’m on Twitch!

Heyo! Today I spent several hours figuring out how to broadcast on Twitch from my iMac. The process ended up being relatively straightforward, and you can check out the links at the end of this post for the specifics. I know that my account is a bit bare at the moment, but you can follow me at twitch.tv/bassamaphone. I hope to get some work done on the Twitch channel as well as YouTube in preparation for #VEDA.

The big push for getting Twitch set-up was to have a place to do un-scripted, live video casting that didn’t fit my YouTube channel. After all, I was able to get YouTube Live Events working as well, so why not stick with that?

I don’t really have a good answer. They each have their pros and cons, and I’m not sure how I want to divide up content, if at all. For example, I don’t see a good reason to move my Let’s Play material onto a different channel just so it can inconvenience me uploading it and maintaining it. I think if I were ever to do this whole thing “for a living”, I’d make sure I had a fresh start and that I was working with others who know what they’re doing.

And at the end of the day — which happens to be when I’m writing this — it doesn’t matter because my Mac can barely handle running all the programs it needs to run, and my Internet connection can barely handle streaming video across it to Twitch or YouTube. For now I’ll stick with my ScreenFlow Let’s Plays.

But for those Mac fiddlers who are still interested in streaming…

Software Used:

Useful Tutorials:

Wrassling with Static Site Generators

I stumbled across the video above late last night — it’s a talk from Infinite Ammo‘s Alec Holowka. The whole talk is worth listening to, however there’s a relevant bit I want to share with you below:

“You can actually solve a simpler problem that gets you the same result.

So whenever somebody comes to me with a programming problem, they’re like, “I can’t figure out how to make this function do this really weird thing!” I’m always like, “What are you actually trying to do? What’s your objective?” And usually there’s a simpler way to do that.
[...]
Whenever people encounter a structure that’s been put in place, they’re less willing to do their own thing.”

I bring this up because I wanted to set up my personal website heymrbass.com to run on GitHub Pages. We used it last week to host our game jam game Baby Tanks and it was really simple — just push a copy of your static site to the gh-pages branch. Voilà! So I installed my favorite static site generator Middleman and got to work.

But it didn’t work. GitHub may look for the gh-pages branch on most project repos, but mine was a special user repo. Thus, it only listened to the master branch. End of story.

After that I didn’t put two and two together and figure out that I could just deploy my static site on the master branch instead. No, I thought it would be best to listen to GitHub and use their own static site generator, Jekyll, even though it’s very blog centric and we haven’t been the best of friends in the past. After switching, the site design started to come along and I was ready to deploy the site.

But it wouldn’t deploy correctly.

Jekyll supports Plugins — pieces of Ruby code that run at compilation time to help you add styles or format your text. Of course, there are no restrictions on the code — and that’s why GitHub doesn’t run plugins before it deploys your site. So currently my site looks like someone ripped the CSS right out of it.

At this point in the development process I shouted vehemently into the air, making it known in my empty house how much I wanted to strangle this piece of software. When things died down a bit, I came to my senses and started looking for alternate solutions. I found several sites pointing towards the deployment branch strategy, which we now know retrospectively was the easiest, most straightforward solution.

The point I’m trying to make is to keep an eye on what your objective is. It’s easy to assemble a bunch of “rules” piecemeal and then wind up somewhere completely different than where you intended to be. Believe me, my gut reaction right now is, “Tear down ALL the things!” and replace it with Middleman. But that’s not the right approach, since I’ve already finished my design in Jekyll, it’s just not deployed correctly. What I need to do now is write some Rake tasks and deploy the site on master.

Eventually I’ll probably switch to Middleman, but it’s not important to do that now. My goal was to get a static site up, after all. So that’s what I’m going to do.

Running a Game Jam

Okay, so I didn’t run a huge game jam. It was only four people, after all. But we did work on creating a game for 12+ hours straight, and that was pretty exciting. You can read all about our creation — BABY TANKS — over at the Casual Jams Tumblr.

This jam was also cool for me specifically because I got to do art again. The last time I was the art guy was for Fork It! and I remember our friend Kevin coming in halfway through the jam to take over art duties. Kevin is a excellent artist and great to work with — he did the art for <it's a metaphor for death> — so if he had had him working on the game from the start, it would’ve been perfect! But we were low on time and I had trouble communicating my vision for the game, so ultimately it didn’t work out. I think we ran into a lot of issues in those early days due to communication and this was no exception, it being our first game jam and all.

Art for Baby Tanks was mostly silly — we chose the game topic through a random game generator. I used Paletton to pick my color scheme, and then went to town in Pixen to get the pixel art. To blow it up to the appropriate size, I then copied it into OmniGraffle and exported it from there. It was a very convoluted process that I don’t want to repeat, so hopefully I can look into Phaser scaling to get the size I need.

For the background I originally did a sketch in Sketchbook, and then used that as a basis for the pixel art. I definitely got better at using my Wacom tablet and using layers to work on images. Eventually I’ll have to get my hands on Photoshop if I want to take myself seriously, but I think this was a good start.

Oh, and my coding abilities were useful once again. :) I helped add sounds and art directly into the game, so the devs only had to tweak these once they made it into the game. I also figured out how to get the game running on GitHub Pages… only after spending a few hours trying to run it on Heroku. -_- Not my favorite moment of the jam, but a good lesson in deploying Phaser games.

Overall, I’d say the jam was a success. I like these “casual” jams — 12 hour game-making sessions between friends. The environment is really stress-free and it’s like we’re getting together for any other “normal” social activity. I’m hoping to get more friends involved so I can spread the joy of game-making. ^_^

DONE.

I just submitted my grad school application. Glad THAT’S out of the way.

Casual Jam #1 is later today! So I should get some sleep. I didn’t get site up for it, but if today’s jam goes well then there WILL be a site up, I promise you that. And probably a follow-up blog post too because I like those types of things.

But yeah, sleep. I’m going to sleep really well tonight. (:

Also, here is some Legend of Zelda for being awesome.

[bloggin' it up since 2005]