Why are we still doing this?

Software development is still a slog.


“I need three monitors.” I think to myself, as I work on a feature that requires several microservices to be updated, which means I also need the database admin open, Postman open, I need to open Docker to run Kafka or Elastic Search or whatever, plus my notes. If I don’t keep notes I’ll lose where I’m at in this jumble of everything.

We need a new field for this sync. That means we have to add this field to probably around six different “POCO”s (Plain Old CLR Objects) that represent the data. I don’t know why there are six version of the thing, and why there are slight differences between each. Sure, the request isn’t going to have all the same info as the response, but there’s also the internal objects used at different layers of the software.

I update the feature and go to test it manually before writing a test for it. Start up Docker (probably after having to restart it, because it never seems to want to just work), run the service, run a request to authenticate, and then the request to create some data. Check in Elastic Search – it’s there. Now a request to search for that data – a count of 1 returned, but no data. Strange error messages in the service console.

I ask a coworker if they happen to know what this error is from before I spend time sifting through the code. It seems like they don’t even read my message and give me the same canned response as usual. I highlight a specific error message that seems unrelated to that canned response. They tell me that I need to be running some other service as well, but I have my local service configured to point to the dev server for that service.

But I’m doubtful; why would I need to be running that locally?

Why is testing this so fragile?

Why is there so much redundant data?

Why are we hand-coding all these little pieces?


I’m 31 right now. I’ve been programming for 2/3rds of my life; since I was about 10 years old. (That’s not to claim I was any good at it at that age)

Over the decades, game development has evolved greatly. Plenty of people are able to access game development through streamlined tools that require a minimum amount of “reinventing-the-wheel” effort. But with software and web development? It’s more of a mess than ever.

We seem to keep coming up with new languages, new frameworks, new new new without improving the process. We reinvent the whole way to create things, requiring everybody to learn a new stack, and increasingly more complex technologies just to get things done. And at the end of the day, is what we have really any more maintainable or scalable than the old? Does a company creating its own internal software that will be licensed out to clients need to structure everything in separate microservices? How often are we going to throw out the old and start over from the beginning? Will we do the same thing in another five years?

My mind tries to disconnect from my body every time I have to repeat the same process to add a new API endpoint. It’s always the same process, but we still do it manually, by hand. Automatic code generation would be slightly better, but really, why isn’t this all handled by some framework?

At this point, here in 2019, we should not be coding as much as we are. That’s not even to mention the frustration I feel at everybody having to roll their own proprietary version of the same thing (that’s perhaps another rant for later). None of this makes sense and none of it has to be this way but it seems good enough for everybody else.

For me, though, it makes my daily work-life nails-on-chalkboard agonizing. I’m not challenged by my work, I’m just frustrated by tedium, roadblocks that make no sense, and trying to express my needs to other developers.


For more thoughts about this sort of thing, I’d suggest this article: The Coming Software Apocalypse, by James Somers.


P.S., if I were running a software department, I would make sure my developers, QAs, BAs, etc. would all get training on the problem domain (healthcare, legal, business, etc.) and get to know how to use the software itself before getting really deep into the development process. Yep, it sounds really expensive to spend time training people, but when a developer starts and is thrown head-first into the code without knowing how the industry works and what those requirements are, do you expect them to write the best software? The best tests?

P.P.S. It seems like WordPress has a bug that doesn’t save the text I write after an italics block. YAY, SOFTWARE.

Haven’t done any work / depression

I don’t know if it’s just be, but I DON’T think it’s just me, but I have no idea how to cope with working a stressful full-time job and coming home in the afternoon and being too tired to do ANYTHING creative. I could be working on my language zine, I could work on a cute website, I could work on this game, but I’m too depressed to do anything. No video games even sound good. I just want to sleep, but sleep brings the following day even faster, and I have to repeat the cycle all over again. Sure, nothing lasts forever, but even thinking about spending the next three months repeating the same thing I’ve been doing for the next seven just sounds like an eternity. I’ve been more depressed, more anxious, and more stressed since I left teaching… Sure, I was over-worked as a teacher, but geeze…

from itch.io https://moosader.itch.io/undead-debt/devlog/99516/havent-done-any-work-depression
via IFTTT

Climate Change and Daily Life (survey / video project)

I’m thinking of making a video collecting peoples’ thoughts, experiences, and coping mechanisms with regards to Climate Change. If you feel like rambling about Climate Change for ten minutes, please consider taking my survey.
https://forms.gle/yYijV11nVEraL5J48

Trying to find hope in the face of climate grief

The future is so unknowable. I’m sure in the cold war age there was a similar sense of dread as now, but the difference with climate change is that our fates aren’t determined by another government – it’s determined by an inter-tangled web of capitalists and government policies, and the degradation of our natural environment can’t be negotiated with. Something in common, though, is probably how powerless the average person feels in this situation.

Part of me wonders if we’re just going to ‘status-quo” ourselves into oblivion, continue being entertained and working at our day jobs until the habitat is no longer hospitable to life. I wrote a short story yesterday inspired by this thought. I don’t think that’s what will happen, even though this decade and perhaps the next will still be full of watching TV, YouTube, TikToks, playing with apps and social media, and continue under the pretense of a normal life as things are getting worse.

At what threshold does it change? When will the “middle-class” demographic in the U.S., no longer satiated by comforts and entertainment, finally decide to join in the fight with those who are going to be taking the hits sooner than us? Are we (middle class white people) going to just sit around and let others suffer until the decaying system affects us in ways that we can no longer ignore?

Or, is one good thing that mass climate grief brings to the table is unwillingness to sit and watch as atrocities happen? Are we finally no longer the delusion that where everybody is in life is due to their individual virtues, as the American Dream likes to push? The talk of systems, capitalism, fascism, exploitation, socialism, and communism is much louder today than it was in 2016. More people are talking. More people are protesting. More people are angry.

But I still sit in an office every day. Back in February of this year I realized that, to take a job earning as much as I possibly can, is self-defense at this point. I try to use that money to help those around me, i try to use my extra free time and energy to help, but overall I’m still in an office, living out each day similarly to the rest. I’m depressed and I’m grieving. Time moves by so fast, it feels like if I don’t sit down and just exist for a moment, it passes by instantly.

If the world ended next month, my biggest regret would be not valuing the time I have now, enjoying my time with my husband and my friends. If I become a grizzled old survivor living in a fortified outpost in a post-apocalyptic wasteland, I’d probably spend a lot of time thinking about how I spent too much time today

It’s hard to imagine systems changing in the next ten years, but at the same time it’s been a constant thought in my mind that at some point I’m going to have to join a fight to change the world, to remove these systems of capitalism that work around imaginary dollars and put more value these imaginary things than in real humans. In 2020, I’ll be 32. Ill be 62 in 2050. The world may be uninhabitable by 2100. What is even going to happen in this lifetime of mine?

A final note, more and more I’ve been wondering about my tendency to save things – I have my diaries from the age of 12 to whenever I last wrote in a paper diaries (in my 20s?), I keep all my projects in repositories, I have servers of data and photos and memories. But, will the internet even exist by the time I’m gone? Should I be saving these things digitally? Eh.

Plans and time

[A post-it note with a drawing of an old person with a walker and a laptop on the walker. The text reads: Don’t worry, you can do your gamedev when you’re retired*! * Retirement not guaranteed for millennials, gen Z, and later.]

I’ve been thinking a lot about goals lately, and just in general not knowing what those goals are. Is that part of adulthood? Just all your inspiration and creativity and passion and goals just go by the wayside in this capitalist hellscape? Maybe.

I’m about half way done paying off my student loans. I am fortunate enough that I am able to make a bunch of money and, in turn, dump a bunch of money into my student loans. But I don’t want to write software forever, so I’ve been thinking about what’s next.

Pay off loans, then save up to buy a house.

Buy a house, then plan on having a kid.

Have a kid, and then really be busy all the dang time.

And as far as career, I don’t know… I’d like to go back to teaching, I suppose, but that requires a Master’s Degree, which is hard to work towards while teaching full time.

I also don’t wholly agree with the institution of university, either. I’d rather teach at the community college level, but honestly,

Capitalism has corrupted everything good.

And it’s hard to find a way in which I feel okay

I like teaching students about computer science – computers are cool – but I also hate working as a software engineer and I feel like I’m just training them to be as miserable as I am.

I really need to find a therapist to go to. I’m having a hard time managing the stress of worrying about the future (environmentally, politically) and dealing with the frustrating monotony of daily 8-5 job life, and the depression that stems from not having the time/energy to work on things I care about.

If I could work as a software developer for half the hours (20 hrs/wk) and half the salary ($45k/yr), I would be so much happier and I would get the same amount of work done.

Ugggghhh.

Game mockup

First attempt at a mockup of what I’d like Undead Debt to look like. The environment is the hardest part, since it will basically just be one big map with a few cities, and you have to fight zombies between towns as you make money through the gig economy to make loan payments. I want to have a character creator for your player character (where you can make yourself, and type in your starting loan amount 🙂 and the zombies will hopefully also be assembled from parts and randomized. The map will probably not look quite like this, I’ll probably still do a tile-based map, but we’ll see. Probably at first it will be a big empty green plane. I’ve also decided to move the phone HUD to make it smaller when you don’t need it. I’m a fan of the DOS aesthetic of taking up a whole edge of the screen wi…

from itch.io https://moosader.itch.io/undead-debt/devlog/94513/game-mockup
via IFTTT

Total student loans: $15,875.39

Hi, I’m Rachel. I’m 31 years old now, and I have a full time developer job, and I’m currently working on paying off my student loans by throwing over half my monthly income into payments each month. It’s now August of 2019, and I last worked on this in December of last year. As I’ve been working as a developer, I’ve been steadily getting more internally frustrated and depressed at not doing any game development – an artist has to do art, ya’know? 😛 A lot of it has been, what do I work on? What tools? What platforms? And just feeling frustrated that I can’t just work on a game for fun for the sake of it, like my old games ( Rawr Rinth )… I hate having to worry about cross-platform-ality and trying to find a tool that runs in Linux AND is not-proprietary AND that I enjoy using. And develo…

from itch.io https://moosader.itch.io/undead-debt/devlog/94493/total-student-loans-1587539
via IFTTT

Lightning talk: Conlangs

Linkin’ it here so I don’t lose it.

http://rejcx.moosader.com/dl/conlangs.pdf

Project slump – Analysis Paralysis

I’m working full time now, and I’m still adjusting to it. January I had time to work on a game (Math Kingdom Quest) and February we were in India most of the month. Now I’m finding myself in a project slump, and the longer I sit in this slump the more frustrated I feel.

Project

A lot of ideas I have are small things I want to do really quickly. But, I also code my stuff, I don’t really have a third-party engine I use to get things done quickly. I can sometimes pump out simple things in a day or two, but even simple ideas can take a lot of work to do.

I’m not heavily invested in any one project, now that I have a full time job… Now that I have the freedom to design something “for fun” rather than “for sale”, I have a lot of ideas that I’d like t

Language/Engine

The first thing that happens is I get Analysis Paralysis on what language to use…

“I enjoy writing in C++ most”

“The kids I hang out with only use mobile, and it’d be easier to get them to play the game on that or on web.”

“Ugh god I don’t want to write it in JavaScript that kind of sucks.”

“Android development is a drag, too.”

“I should be using something like Unity or Godot to make these games cross-platform.”

“AGH I don’t want to use proprietary Unity and Godot was unstable for me in Linux!”

“OK well MAYBE I should be WRITING an ENGINE that can be built for WEB and for ANDROID.”

“Agh I WROTE a C++/SDL2 engine but it needs work and it uses Lua so then I’d have to figure out how to get THAT working, too!”

“Just start a new one and take parts of your old engine bit-by-bit! But make sure it builds for…”

And so on and so forth. Hard to even begin.

Publishing

The second thing is that I want to build myself a social media hub, including a place for my repositories and to host my games as well as a replacement for a Facebook wall and Twitter feed that I can link back to from Facebook/Twitter/Diaspora/Mastodon/YouTube.

But that’s a lot of work.

Right now I have a mishmash of various pages with different things, different styles, different levels of polish. I want to put it all together but it would be a major feat,

“There’s no use making a new game until I get my webpage done.”

“AGH no that will be forever I can’t let it block me.”

“OK well you’ll just have more to migrate later!”

“Maybe I should just keep it all on itch.io for now!”

“But what about your project update blogs? VLOGS? You can’t just keep throwing everything to be hosted ONLY on proprietary social media!”

“I DON’T HAVE TIME TO SET UP A VIDEO VIEWING PLATFORM FOR MYSELF. AAGGHH.”

Trying to work my way out

I keep thinking of things I want to work on – little things here and there, or stuff I can work on over time. I want to make sure it’s in a language I want to use (I got really frustrated once Undead Debt was getting more complex, using Python), but I want to make sure I can also publish to all the platforms I want.

I want a platform to post my stuff to, but for my personal web development I still use PHP and old webdev practices. I’m not particularly amazing at design for websites, either, and I don’t like the style of 2010’s webpages.

I’m just stuck, in my mind, and I’m having a hard time working through it. I know I need a plan and a first step to tackle to get going, but I’m so overwhelmed.

Freedroid RPG (v0.16.1) walkthru

Introduction

I’m currently trying to Let’s Play Freedroid RPG (and perhaps in the future other Open Source games), though I’m finding it hard to figure out where to go and what to do. There is, from what I can tell, one walkthru, and I am still finding myself stuck. Therefore, I’m going to write my own walkthru. For a note, I am playing through v0.16.1 for this guide.

Tutorial (and how to play)

When you first open the game, there is a Tutorial you can play through. I’d suggest trying to run through it, though it is pretty tedious. I’ll try to summarize things here in case you’re impatient (like me).

TODO: Write this

Starting the game

What a great day.
Yes, I’m being sarcastic again.
The whole planet is in flames.
Thousands of people are very dead.
Qwerty and Arensito are not responding.

Ah, yes, I almost forgot.
The bloody bots are about to find me, too.
I’m not very happy with that, Not happy at all.
I guess I have to pretend I’m just a nice rock, yet again.
Don’t you think it would be a great time to wake up?
Get up. Get here. Save my ass.
Please.

Dvorak, First AI

When you first begin the game, an old man comes up to you to initiate dialog.

“HELP! We’re under attack!”

Your character is apparently groggy, just now waking up. The scientist informs you that you’ve been in stasis, but there’s no time to explain – there is a bot running loose in the next room, and he needs you to neutralize it.

There’s only one way you can go – through the door with blue bars (red bars mean locked). You might want to hit ESC

Controls: Click in a location to move with the mouse, click an enemy to attack it. Hold CTRL while moving to run.

The bot will initiate dialog with you as well. It identifies you as a Linarian – your race (I’m assuming all giant penguins). After talking to the droid, it will attack you.

The robot is pretty weak, but so are you. Make sure to keep an eye on your health – the red bar on the bottom-right of the screen.

Kicking butt and taking names

After the droid is dead, make sure to open the chest and take the equipment – it will auto-equip. You can also view your equipment by clicking the INV button on the bottom-center of the screen, or tapping the I key.

You can go back to the scientist, Dr. Francis Spark, and talk to him now.

“Thank heavens! Perhaps the legends are true after all…”

You can talk to him and have some questions answered. He mentions that the Red Guard in the town directed him to thaw you out, and you can also get more backstory information as well. He will also ask you to take a data cube to the town, to a person named Spencer, the leader of the Red Guard.


Quest: Deliverance

To get out of the Cryo Statis Lab, go through the waiting room and out the front door. If you’re confused about the level layout, save your game and open the map editor. Press ESC, click the “Level name” option on the top, and type in 12. You can press O

Make sure to save your game before heading out – there are a lot of bots on the way. It’s probably best to try to avoid them for now and make a beeline for the town.

The outdoors map is map #8 in the level editor, if you need to view it.

Getting to the town

The first gate to the town is open, but the second gate is locked. Talk to the red North Gate Guard here to continue. He will tell you about another Stranger he let into the town. On the day the stranger visited, all the computers “went insane”, 20 bags of food rations vanished, and one town bot was stolen. The guy lives to the east, and you’ll receive the A strange guy stealing from town

The guard will tell you to talk to Spencer, the Red Guard leader, before wandering around town. Until then, a guard will be following you. Upon asking where to find Spencer, you will receive an update to the quest Deliverance.

The town is map #0.

Head down to the Red Guard HQ and talk to Spencer.

When talking to Spencer, complete the quest by telling him, “Francis wanted me to give you a data cube.” then Give the data cube to Spencer.

Quest completed!

While talking to Spencer, tell him “I want to join the Red Guard.” He will give you some tasks to do in order to prove yourself. Ask him, “How is it going?” and then “Maybe I could help somehow?” and he will give you the quest Opening a can of bots…


The town layout

Before you go out questing more, let’s look at important points around the town.

Doc Moore – You can be healed by Doc Moore and buy Antibiotics and Diet Supplements

Ms. Stone – Buy equipment (armor, weapons) here.

Library – B

Skippy – Buy a minimap and teleport beacons (can teleport to the Teleporter while you’re away from town.)

About: Items, stats, and durability

As you use your weapons or get hit, your weapons and armor will degrade. You can do a quick repair yourself with a skill, but the item’s maximum durability will go down. You can get your items repaired in town, without a penalty to the max durability, by going to ????? (TODO: update)

To repair your own items, click on the SKI button. Click on the Repair equipment icon, which will equip it as your right mouse button action. Then, in the inventory (Click on INV)

Also make sure to check an item’s requirements before spending money on it. Check your stats in the game by pressing C or clicking on the CHA button at the bottom-center of the screen.

About: The Teleporter

There’s a Town Teleport Guard who walks around inside and around the Teleporter room. Talk to them and ask how teleportation works – they will give you your first Teleporter homing beacon for free. To get more later on, you can go to Skippy in town (see the map).


Modifying the save game file

This game is pretty grind heavy. If you want to play through it without grinding, you can edit the save file in a hex editor. In Linux, your save file will be under ~/.freedroid_rpg. Extract the YOURNAME.sav.gz file, then open the YOURNAME.sav file in a hex editor. Search for base_ to modify stats like base_dexterity, base_physique, base_strength, and the points_to_distribute.


Quest: Opening a can of bots…

For this quest, you need to clear out the first floor of a warehouse. It is to the north-east of town. Before you leave, make sure to buy some health potions from Doc Moore and get a Teleporter homing beacon from the Town Teleport Guard. You might not have much money yet, but you can buy better armor from Ms. Stone too. You might also try to get the minimap from Skippy, as well.

You might want to grind right outside of town to afford better equipment and to level up so you can use better weapons. There are a lot of droids in the warehouse, and they’ll quickly drain your health!

Exit the town and then begin going East (to the right).

In the corner of this building is a hatch to go to the warehouse area. You have to exterminate all the droids on this level to complete the quest. The map number is #1 if you’re looking at it in the map editor.

It might take a few trips back to town to buy more potions, since you don’t have much money to start out with. Make sure to break Barrels and Crates as these often have money (Circuits)