Anders TonfeldtI make things.http://anders.tonfeldt.se
en-usCopyright Anders TonfeldtHand me down phones (aka tech-schmep)http://anders.tonfeldt.se/hand-me-down-phones
http://anders.tonfeldt.se/hand-me-down-phonesHow times change. For the first 25ish years of my life technology, and possibly more specifically the advancement of technology, dominated my interest. If there was a new tech being launched then I wanted to be on top of it. Performance was paradigm, functions the creed by which I adhered. I just got handed my fiance's two year old phone when I bought her a new one. And it's fine.This would have been inconceivable in days past, in fact it's a 180 turn on how things were before smartphones. Becka would inherit whatever perfectly functional device I discarded not because I needed whatever the new hot thing was, but because I just wanted it. My disinterest in tech is hereby culminating and my reaction is one serene harmony. Maybe, just maybe, I'll start using tech and not letting it use me.(Upon re-reading this post I was struck by how dramatic it turned out, but I really can't rephrase it any differently without downplaying my actual reaction)anders@tonfeldt.se (Anders Tonfeldt)Resuming game developmenthttp://anders.tonfeldt.se/resuming-gamedev
http://anders.tonfeldt.se/resuming-gamedevAs life begins to stabilize I find myself wondering just what I want to do and not do going forwards. My ai work continues and has met with rapid (unsuspected, to be truthful) success but variety is the spice of life, right?I took a long hard look at the dozens of different fields of interest I've dived into and eventually discarded during my life, picked the ones I enjoyed, ignored the rest. Game development was one I found challenging and engaging. It just had so much baggage that I eventually got fed up with it. Can I somehow take the parts I enjoyed while rejecting the ones I didn't? Yes I can.First major issue, I despised modern game engines. Despised them. Unity, Unreal Engine, etc. Outstanding pieces of software, unparalleled when it comes to enabling indies to reach studio quality, amazing at scaling from a single developer to large teams. And the very opposite of my workflow, entirely based around visual interaction and bloated beyond belief. Not to mention that they're closed source (with some NDA-ridden exceptions) which also means that the foundation you come to rely upon can be yanked away at a moment's notice.A few years ago I began poking around open source game engines for a non game related project, I just needed 3D visualization in a sensible way. Stumbled across Godot which was open sourced and has met with success as developers fund its development. It hit all the chords on the harp of my digital life, especially now with the 3.0 release.

Open-sourceCan be operated from the command lineDoes not require visual interaction but offers it as an optionOffers third party language supportComplete featureset yet none of the bloatExports to all major platforms

I'm not going to go through all the reasons why I opted to discard unity, that I had previously been a fervent advocate for, in favor of godot. The major one is that during my 31 years of computing I've lost track of the amount of times I began relying upon a piece of closed source software only to have it get discontinued, sold and restricted, abandoned, lost its developers or generally became unavailable to me. Every time an os or application rises to fame its advocates will arrogantly proclaim that it will always be around and you're crazy to think something this big would fold. Yet it always does. When you're on top there is only one way to go. I will never be put in that position again. Ever.So, said and done I began going through the plethora of notebooks I had shelved with game ideas. Problematically none of them tickled my fancy. Shooters, adventure games, arcade types. Meh. So I took a look at what games I currently play and realized I had only played interactive fiction games for the last few months. Toying with the idea of turning some of my unpublished fiction writing into a game I eventually rejected the idea, I don't particularly care how many will play my future games but I don't want to alienate people to the point of having to learn the quirks of an IF interpreter.But the notion of a non-graphical game really appealed to me. For the last few years there's been a bit of a revival in the text game genre, to my personal great satisfaction, not to mention the fact that the IF scene never died. Could I make a non-graphical text game that wasn't so reliant upon text for player interaction? Seemed absurd but then it hit me.. all my ai work was exactly that.The plot of a story I wrote almost two decades ago struck me, self-awareness without sentience. Now now, I claim no ownership of the concept, I'm fully aware that we've all read the stories that predate my version by decades. But maybe, just maybe, I could twist it to fit my own vision.Going forwards I'm going to be tight lipped to the story itself, instead I will just detail general development work and how I get along with Godot. Initial reaction? Positive. Switching to Godot from Unity was like changing one pair of gloves for another, they both fit equally well. There's quirks to both and a slightly different workflow but it's pretty much the same.This week I've been putting in time whenever possible and managed to crank out a prototype, I will detail it further in future posts but here's an initial (functional) prototype screenshot.anders@tonfeldt.se (Anders Tonfeldt)Resistance training, diet, et ceterahttp://anders.tonfeldt.se/resistance-training-5x5
http://anders.tonfeldt.se/resistance-training-5x5Today I reached a milestone, I deadlifted my own bodyweight. Unfortunately this is not a positive but a sign of just how far I allowed my body to decay before I decided enough was enough. Let's do a quick history rehash. During my teens I was quite heavily into resistance training, annoyingly I (and those around me) referred to it as bodybuilding which rang very false since none of us actually aimed for bulging muscles. We worked for strength and endurance. I always found this entertaining and it harmonized with my extremely sedentary other hobbies of electronics and computing. I also played amateur rugby, and I do mean amateur. We didn't have referees, no audience beyond those that hoped to see blood and most certainly no dedicated fields. No no, those were reserved for soccer and a wide variety of metrosexual endeavours. Half of the games devolved into straight up melee brawls, so packing on muscle not only helped you win the games, but made sure the other team gave up before yours did, blow for blow.I was fit in my late teens, strong. Then I began working. Wake up, get to work chair, remain in work chair until lunch, return until off work, go to another chair, drink heavily, stagger to a final chair or bed. Loop. You guys know the drill. Most likely you've been living it for decades now. Busy times. So I put off the most important thing in my life, my body, for the things I thought was the most important things in my life, work. Once I met my fiancee it was just all over. We indulged. Oh my did we indulge. I ballooned up and just didn't care. We were happy.In my late twenties I realized that enough was enough, I had hit 128kg at a height of 186cm. Something had to give since I started feeling my joints straining. Don't get me wrong, I was still strong since I had kept up at least a rudimentary work out schedule including push-ups and a variety of own body resistance training. But that amount of fat was straight up unhealthy and I knew where it would lead me.Said and done I began looking into diets. LCHF, low carbs high fat, cropped up on my radar and biologically I realized it would do wonders for me. And it did. I dropped like a rock from 128 to 92kg. Then I lost the will to live. The mere mention of bacon or fat made me gag and I just gave up. Now, you know the saying "it takes time to lose weight and it takes time to put the weight back on". It does. Ultimately it's just calories in, calories out. There are no shortcuts. While I had started paying more attention to my diet once the motivation of losing 30 kilos hit me I just didn't pay enough. Slowly I crept back up to around 100kg.Next I tried paleo which didn't have any of the benefits of keto but at least I didn't have to eat so much fat. Got myself down to around 92kg again then gave up on that as well. At this point something happened, I don't want to go into it but I realized that a drastic change was in order to solve a variety of health issues that had cropped up. We went vegan and it was.. pretty damn good. I had made jokes about vegans like everyone else so when I found myself being one, albeit not philosophically, and actually enjoyed it. Mind blown. For two years I stuck to a strict version of it and I felt outstanding. Weight was coming off too, eventually I ended up at 76kg and reached an old goal of mine of weighing less than I did when I was 19.Then issues cropped up. I was unable to stop the weight loss. It felt like I devoured entire rainforests every day yet the weight kept dropping. Once I crossed 70kg I was getting nervous. Anyone who conversed with me at that time will likely remember my vaguely hysterical pondering. At 65kg I reached what I call the "lulwut equilibrium". My BMI was so far into underweight that I had to change and I had to do it now. Fortunately my previous condition had reversed, on its own or due to veganism (still not sure about that) and I could consume a more plentiful range of protein. Annoyingly I had developed a layer of stomach fat that, despite my BMI, covered my once glorious sixpack.Like a moron I jumped on the opportunity and switched to what is referred to as the "carnivore" diet. It's a ridiculous term since humanity isn't carnivorous anymore. Pathetic to refer to yourself as one when your version of hunting prey is to lumber to the local shop, pick out plastic wrapped decaying scraps of meat that someone else has put in front of you then go home and spice the hell out of it. At best we're scavengers, not carnivores. No matter, I launched myself into that diet with vigor. And I felt like shite. Absolute shite. So I switched yet again to a balanced diet and that's where I am now.Now then. Did you read all of that? Ah, you skimmed most of it? Fine fine. Let's fast forward to my actual milestone. When I switched to a calorie dense diet I also resumed my old workout routine. It basically boils down to a 5x5 program with several added steps. My weeks look like this.MON: Barbell squats, overhead barbell press, deadliftsTUE: Bicycle crunches, stairs to heaven, ab-roll wheel, planksWED: Barbell squats, bench press, barbell rowsTHU: Bicycle crunches, military sit ups, planksFRI: Barbell squats, overhead barbell press, deadlifts + bicep crunch, french pressSAT+SUN: Rest. Long walks if possible.MON+WED+FRI is the main routine and they always rotate week to week but remain in that layout. I'm currently considering replacing one of the stomach days with aerobics of some variety and adding.. yoga(?) to the weekend. I just have zero experience with doing either. Anyway, the 5x5 program basically functions like this: every time you complete 5 sets of 5 reps you finish that workout and add 2.5kg to the weight, 5kg for deadlifts, until you hit your absolute maximum and fail in doing 25 reps in total. If you fail then you keep pushing that weight until you do complete it, then you resume adding weights.Through my entire voyage of weight gains and drops I never realized just how much of my lean muscle mass had been consumed by my body as it was next to starving. I could easily bench far in excess of my bodyweight back in my teens, now it was a struggle to just deadlift it. But I finally hit my goal and I haven't plateaued, I suspect I will be able to continue adding weight until the next goal of 100kg deadlifts. This will be an accomplishment since I've only managed to regain around 7kg of weight, most of it being pure muscle mass, for a total of 72kg.Now that this epic post is done I will stick to just adding updates of what I can push in each exercise. Felt like I wanted to get this out of my head and on paper.. bits. What a bizarre experience life is. How our priorities get mixed up and muddled. No matter, back on track now. Do you even lift bro? Yes I do.anders@tonfeldt.se (Anders Tonfeldt)Dissecting my amiga childhoodhttp://anders.tonfeldt.se/Dissecting-my-amiga-childhood
http://anders.tonfeldt.se/Dissecting-my-amiga-childhoodI just finished uploading a few videos of me dissecting one of my amiga 500s. It struck me just how much our view of technology has changed, yet how little the actual technology has changed. In many ways our technological progression has even reversed.Back in those days a new computer could mean an entirely new architecture, custom dedicated chips, entirely new input methods and, of course, massive leaps forwards in raw processing. What exactly do we get these days? 8% better performance. A bit more diskspace. Once in a blue moon maybe an interesting new connector and underlying technology (really quite fascinated by usb-c). Underwhelming doesn't even begin to describe it.The pioneering spirit is dead. Its grave has been cemented over and a basketball court serves as its gravestone. Don't get me wrong, I get it. Developing CPUs and GPUs is -expensive-. So expensive that we've pretty much ended up with two behemoths to pick between, intel and amd. Throw in nvidia as a competitor to amd when it comes to GPUs as well.Exciting. I can pick between x86 and.. x86. Between radeon and geforce. Man, building computers today sure is a thrilling experience. To be even more petty; if I hear one more person brag about how deep their understanding of technology runs because they can slot pci-e cards into their pre-designed, pre-mounted, clearly marked sockets I will bludgeon my inner child to death with a boredom stick.There's more to my reasoning than just a sense of elitism and illusionary superiority however. Since the amount of choices we have is limited to one or maybe two in rare cases people of today, and more importantly the youth of today, has no reason to ever look outside that narrow viewframe. Attempting to discuss the architectures themselves is impossible since they never have, nor do they have any reason to, tried anything besides x86. Even trying to broach the subject of instruction sets is impossible unless you're talking to an engineer.Programmers of today seem to just vaguely know what the heap and stack is. It's so abstracted that they have no reason to learn anything beyond what is the latest buzzword they can throw around. Not just no reason but it would actually be a detriment for them to spend the time to learn what their own code actually does since the employers value the buzzwords, not deep understanding.I keep hearing we live in the "age of choice" yet for every gadget launched it seems the amount of choices decrease. 5000 different cellphones all running the same hardware and one or two operating systems.A part of me keeps telling me that I'm just entering the "grumpy old fart" phase of my life and that "life wasn't better before". But it outright frightens me when we're grooming entire generations of youth into this mindset, meanwhile outsourcing actual fabrication (and in most cases, design) to other parts of the world. What exactly would happen if you took the seas of javascript and c# developers and tried to get them to solve a mission critical device. What if the device controlled societal services. Essentials.Our technology isn't just stagnating because of disinterest, it's stagnating because future generations will reason that they have no reason to advance the technology itself, they just need to learn the latest abstraction of an abstraction of an abstraction of the hardware. Then keep insisting that their customers buy the 8% faster version because their stack is 9% slower in each iteration.anders@tonfeldt.se (Anders Tonfeldt)Javascript's lack of control and utter smoothnesshttp://anders.tonfeldt.se/javascript-lack-of-control-smoothness
http://anders.tonfeldt.se/javascript-lack-of-control-smoothnessWhile javascript bears a large part of the blame for ruining the functional interface of the web it does truly boggle my mind how simply one can implement complex, third party solutions with it. I just added disqus to this blog and it took 30 seconds of copy+pasting and changing two environmental variables. That's outstanding in every sense of the word.Now, comments are mostly useless since you'll get one out of three types in 0.99 of the cases. Either trolling, requests/demands for help or indignent outrage. However I still figured it'd be useful since I occasionally get e-mails with questions about posts where I was unclear. If one person takes the time to e-mail me then a hundred has had the same question but just couldn't be arsed. This way they can more easily.. be arsed. And I get some help in making my posts clearer.It does amaze me how willingly we hand over total control of aspects of our digital life to nameless corporations however. I know that all of my disqus comments will either be 1) removed 2) made unavailable or 3) gated behind a paywall eventually. One of the three will happen. It is the inevitability of SAAS and closed-source in general.Yet in this case I'm sort of fine with it since I don't particularly care either way. As long as people can easily tell me when I'm being uncelar then they've served their purpose and our corporate overlords can do whatever they want with them after that.anders@tonfeldt.se (Anders Tonfeldt)130 lines bloghttp://anders.tonfeldt.se/130-lines-blog
http://anders.tonfeldt.se/130-lines-blogAfter not updating my blog for two years I figured a change was in order. But.. why make something simple when it can be awkward?Two hours, 130 lines and this blog is complete. Custom backend. Old posts migrated. Not a single new word blogged. But at least it's better than no updates at all for two years, right? Christ, it's even uglier than the old one.(I'm back.)anders@tonfeldt.se (Anders Tonfeldt)WS2811 LEDs / neopixels, cap them all!http://anders.tonfeldt.se/ws2811-neopixels-cap-them-all
http://anders.tonfeldt.se/ws2811-neopixels-cap-them-allI just facepalmed harder than I have in years. I've been working with ws2811 through hole rgb leds, they're usually referred to as neopixels these days. For some reason strips of the stuff would work great, but the regular led format would blink or flash the wrong colour every now and then.Driving myself nuts in the process I tried -everything- going so far as plugging my bench power supply into another room and even changing out the prototype board. Then I realized I had broken the cardinal rule, if there's voltage in then cap it!If your leds are flashing or blinking erratically every now and then then simply put a 0.1uf bypass cap on its vin and ground. It'll stabilize its drain preventing timing errors.Do -not- be tricked by the data signal getting mangled by the 2811s, apparently that's normal. I spent oh so much time trying to clean up the signal as it got passed from led to led to no avail. Below you can see the data-in for the first led in the chain indicated by the blue/ch1 line. As you can see, very clean due to the resistor. But then the second led's data-in, yellow/ch2, is spiking. This seemed like an obvious problem to me, but it wasn't. It was just the drain.Cap dem inputs!

anders@tonfeldt.se (Anders Tonfeldt)Atari rebooting Alone in the darkhttp://anders.tonfeldt.se/atari-rebooting-alone-in-the-dark
http://anders.tonfeldt.se/atari-rebooting-alone-in-the-darkAlone in the dark is the origin of the tank-controlled, horror survival genre that Resident Evil and Silent hill later made truly popular. I loved the first AITD. Absolutely loved it. It was my first exposure to the genre that sparked a lifelong passion. But.. I hated the other two games. It went from an eerie and utterly bizarre, lovecraftian mansion to.. pirates and zombie cowboys? Terrible. Dreadful even. Kind of like the movie adaptions.The series has already been rebooted once with the 2008 re-imagining. For some reason it was pretty much universally disliked. I was never quite sure why, it had horror, you were alone and you were in the dark. But it was open-world'ish and sandbox'y. Two terms that do not mix well with us survival horror junkies.I'm looking forward to the (re-)reboot. Sort of doubt it'll arrive for linux so I'll probably have to watch a let's play for it. Maybe not though, dead island was just ported for linux with almost no fanfare at all. A back-catalogue title being ported out of the blue? Good times folks, good times.anders@tonfeldt.se (Anders Tonfeldt)No more backlog of games!http://anders.tonfeldt.se/no-more-backlog-of-games
http://anders.tonfeldt.se/no-more-backlog-of-gamesHoly.. For the first time in 26 years I haven't got a backlog of bought games to play. It all started back in the C64 days when I got access to more games than I simply had time to play through, at the tender age of 6. Since then it's snowballed and gotten worse and worse, at one point I had a backlog of over 400 games.For the last three years (years!) I've intentionally avoided watching movies or reading books. Always favouring completing games on my backlog. When I worked I watched "Let's plays" of games I wanted to consume but didn't find enjoyable enough to actually play (be it because of flawed mechanics or otherwise). Now I'm done.I just finished "Hero of the kingdom", which is a cute RPG/adventure game designed for Hidden object and casual players. It was the very last game on my backlog. This is just.. amazing. I know nobody else will care. Most people would simply have ignored their backlog when it reached a size like this. I probably should have done that too but.. freedom! Freedom to buy and play one or maybe two games at a time. Finally.Games completion listanders@tonfeldt.se (Anders Tonfeldt)