Focus music

When I’m coding, sometimes I’ll put on various game soundtracks on Spotify.

I don’t listen to soundtracks for games I already play. I know the music too well and it’s distracting. I focus on trying out music from stuff I’ve never played.

Besides getting music that helps me focus, as a bonus I end up discovering interesting games I’d never heard of before and probably wouldn’t have found any other way.

It’s pretty awesome, though it does mean my Steam wishlist gets even longer.

Immersive Skyrim: Introduction

One of the reasons I built a PC for myself this year was gaming. I hadn’t had a real, solid gaming machine yet and was excited to try it out. In particular, I wanted to see what I could do with mods on Skyrim.

I managed to gather a fair amount of mods that all worked together to give me an interesting, immersive experience. While I haven’t gotten very far in the game’s storyline (technically I haven’t officially started, but I’ll explain that later) I’ve had an interesting time wandering around, doing a bit of dungeon crawling, and ending up getting into and out of a fair amount of trouble.

I thought since I was having so much fun with this play style, someone else might too and so here’s the first part of my guide on playing Skyrim with a bunch of immersion mods. I’ve also added one “in character” cheat mod that keeps things fun.

Okay, fine, I’ll start with the cheat mod.

My character, as I’m playing her, is a Kajit from elsewhere in the Elder Scrolls world. She and her mother (who died recently) were traveling merchants and tinkers. In her grief, she sold everything they had except for the Haven Bag that had been passed down in the family for generations. She came to Skyrim to see what it was like and maybe try starting her life over again.

So yeah, the Haven Bag is probably the cheatiest cheat ever. It’s a house you can carry as a piece of equipment, complete with a bunch of loot, bed, alchemy table, workbench, etc. etc. So sue me, I’m a pack rat. I have to pick up everything I see and having a limited inventory is not for me. Yes, I’ve also slept in the bag and used it to warm up. But this is a land of magic, right? And yeah, this is what my character’s ancestors used to get by in life. It’s there to be used.

Okay, now that I’ve finished justifying why my total cheat is okay, I’ll tell you a bit more about the immersive mods I gathered to make the world feel more lived in and real, not to mention more dangerous. I’m going to go over the general categories now, and then break down the mods in separate posts later.

Before I get started, I’ve created a spreadsheet that lists all the mods, including the load order and links.

First, I have a bunch of what I’ll call “General” mods. These are the standard mods that are recommended that most players use, even if they’re playing a fairly vanilla game otherwise.

Next comes the “Cosmetic” mods. These make the whole world a little prettier, a little more lively, and a lot more realistic, especially when it comes to the animals in the world. I added quite a few of these.

“Loot and Trading” will be after that. I’ve added just a few things to make trade more realistic and add some depth to the world that wasn’t there before.

After that, I’ll talk about the “Direct Effects” mods I’ve added. These add more interactivity to the environment itself, effect the character’s stats, or modify the way the inventory works.

Finally, I’ll cover one of the most interesting set of mods I’ve added: “Health”. These are the mods that massively change the way the game is played and ties all the other mods together into a more immersive, impactful experience.

All in all, adding these mods has made Skyrim interesting and more challenging, though not in the typical way. Monsters and men retain their same level of difficulty. It’s the environment itself that seeks to punish with a more dangerous journey and reward with more beauty and subtlety.

Now I just wish I could keep avoiding that pesky main storyline.

The tea cabinet

I organized my tea this morning and figured I’d give a little tour. (Click the image for a bigger view)

I love tea. Even when you make a basic cup with a bag, there’s still a little ritual around it, something that soothes me and smooths out the rough edges of my day. I also love the subtle (and not so subtle) variations in flavor available in tea, especially when you throw herbal tisanes into the mix. Even without that, the flavors of tea range from light and sweet to dark and earthy or smoky and I find each of them interesting.

So, my tea. I’ve got a cabinet dedicated to it. Top shelf is hard to get to without a chair, so it’s now holding my fancy flower blossom teas as well as a few empty containers waiting for my next loose leaf purchase.

Middle shelf is most of the boxed teas. Celestial Seasonings, Choice, Yorkshire, and Twinnings. I’ve also got some Adagio fandom teas that are tasty and special to me.

Bottom shelf has the tins and a couple special teas. This is where my beloved Pu-erh lives. I’ve also got a tea bag dispenser that holds a couple chamomiles to keep them handy and the last of my bagged Twinnings Lapsang Souchang.

I still need to work up a list, but this is a nice little overview of what I’ve got on hand. I need to remember to pick up a nice white to go along with my greens and blacks.

Cranky Tech Rant #1

(#1 because yeah, there will be more)

I am really tired and a bit angry at people calling themselves “React Developers”.

No. Please. You are a JavaScript developer working in React.

Just like right now I’m a Ruby developer working in Rails.

It’s really easy to lose sight of the language at the core, and the fundamentals that go with it, if we forget what the foundation is for these frameworks.

This could be expanded to saying “You are a DEVELOPER” and please don’t put a language-specific label on it, but then, that’s because I like being a polyglot. That’s not everyone’s cup of tea, for sure.

On “Software Engineering”

There was an xkcd comic going around a couple weeks ago. It was funny in a disturbingly “it’s funny because it’s true” way. Further driving the point home was this article on writing software tests I read this morning, where Process Engineering practices used in industrial planning is compared with Software Engineering practices for building applications.

Much of software built today is created with some level of testing applied, at least on the back end. The front end has been slower to integrate testing, though the tools are just as strong. But in both the front and back end, testing is seen as a necessary evil at best, and an unnecessary burden at worst. A lot of this sentiment, from my experience, comes from a couple different sources.

First, is simple ignorance. The way many of us have entered the industry, through various levels of self-teaching, means there are gaps in understanding of best practices. As someone who came in this way, I’m hyper aware of these gaps and work to fill them. Testing is one of the most difficult skills to learn for a newcomer, especially if you’re learning on your own. I can’t speak for the bootcamps, having never attended one. I like to think they teach BDD or TDD as a matter of course.

Second is cost. Testing takes time. In the startup world of “move fast and break things” the things that break are supposed to be the old ways of doing things, opening up the opportunity for more efficiency and a better ways. When testing is sidelined in favor of pushing out a minimum-viable product, what often ends up broken instead is the code base, the application itself and the bread and butter of the business being built.

Third is, quite frankly, laziness on the side of the developers. Testing takes time. It means having planning in place. It means thought processes must be applied to ensure the functions being written do their job properly. This means that you can’t just dive in and start writing code, something most developers will tell you is the “fun” part. So there’s a big avoidance factor at play as well.

Mechanical engineers like my father chuckle about our industry’s use of the term “engineer”, and rightfully so. While there are many folks who work hard to plan and test, there are many more who prefer to dive in and start writing code without those practices. When the software does not work as expected, or becomes more and more difficult to maintain as the bug list grows, none of us should be surprised.

If we are to model ourselves after the aircraft designers and the building engineers mentioned in that xkcd comic, then we need to embrace their practices of testing and planning as well.

The software we write infects and effects the world around us. Algorithms rule everyone who touches the internet now. Software is dangerous, it’s a tool that can and is used as a weapon, a subtle knife used to stab more often than not. We have a duty to everyone on the planet to get our shit together as an industry. Otherwise, what the hell are we doing calling ourselves Engineers?