Burnout isn't about work...

A few weekends ago, I found myself doing absolutely nothing. I didn't watch movies or shows, read reddit, have any meaningful conversations or even eat. I took naps to escape reality and slept-in as much as I could, much to my detriment with even more fatigue and tiredness.

I thought I was having a routine depressive episode but I realized that my mood wasn't actually that bad. However, I really did want to do nothing other than sleep, complain and stare out the window. Nothing was interesting.

My creativity and brainpower was sucked out me until it was completely depleted. What really happen?

I often blamed work for this but I'm still functioning there and considered a high performing employee. I always have the energy to do something there, but come home all of it disappears.

While some say burnout is clinically similar to depression, I'm not that sure. Depression is quite a constant uniform feeling of hopelessness, dread, negative thought patterns and perhaps a physiological aspect. Burnout doesn't exhibit itself when have to work, it's when you don't.

For most of us, work is our liveliness, it's literally what keeps up alive, income and passion. We put all our effort into it because we have to otherwise we're not meeting deadlines or that next performance review won't be so good. You're forced to perform.

When the pressure is off, the mental energy spent to do work depletes any sense of motivation left for any hobbies, relationships and so on. At home, you don't have deadlines or clients to meet or sales pitches to satisfy. All those obligations are gone, you're free to decide for yourself save your errands like groceries and laundry, though even those can be neglected sometimes.

The end result is fatigue and self-neglect.

Unlike depression, burnout probably has no major physiological causes thought it's effects maybe. Neglecting your body with lack of food and exercise won't help the lack of motivation and low energy.

Few resources have presented reliable treatments for burnout. I don't think it exists because everyone experiences it in a different way. One solution may work for another but would make another's burnout even worse.

One constant factor between all these 'treatments' however I noticed is breaking the routine of life. Things won't improve if you do the same thing everyday. You to have things to look forward to whether it's exciting times or times for rest. I can be really anything.

For me, for example, I'm an introvert-extravert hybrid (leaning more on the introverted side). I like doing things alone but I need to go out and chat with people. I need to go out and enjoy the views, the restaurants, the malls, the parks and so on. Knowing these things are coming gets me excited, even a chat at a coffee shop. Being locked in drives me nuts but sometimes I want to be locked and left alone.

For others, vacation time might help 'recharging ones batteries' though one must be careful as vacation can be equally as tiring. Especially long trips and vacations relying on heaving planning full of activities.

I noticed that others simply like to retreat and escape. Binge on TV shows and movies, spend hours on Reddit and read fiction novels. That's also breaking the routine if all you do is work.

There really isn't a single solution for burnout and I really can't say I found the ideal one for me. I hate to say it, but the best solution is trial and error. My solutions ranged from changing the colour temperature of the lights at home to going on more meetups. Some did help and others didn't.

I don't believe that burnout is about self-worth or how one views one's self at an organization. That may be effect of burnout but not the cause. The reason for burnout is simply fatigue, lack of energy and motivation and one must find the way that works for them to help them restore that energy.

Please post in the comments in how you recover from low-energy energy and burnout? How did you keep the fire burning when you get home?  Do you hit up the gym, cook a fancy new meal, or take a day or two off and spend the day watching Netflix? These discussions are key to understanding this relatively new concept and how treat it.

How to Program and Make Software

Learning software development is one of the most frustrating endavours you can partake in. You see these sophisticated web apps and advanced operating systems and you want to do like them. You want to make a great triple-A game with your own amazing story. However, few realize the amount of effort into making these. These pieces of software are built by big teams with dozens of members who spent the past 5 years churning out code.

On top of that, it's not just about writing and understand code, but it's about writing it in a way that it can be re-used, easy to read and understand years down the line and easy to fix and maintain. Yes, you can make something work by copying code you don't understand and having a big giant mess of spaghetti, but it's not something that you call software engineering. At best, you're a script kiddie.

Like in any field, you need to start really small. Writing command line applications that add two numbers. Understanding the very fundamentals of how computing actually works, how code is converted into something the CPU understands.

Many want to become computer scientists and software engineers, but I honestly don't believe that academia is the best route for this. The knowledge they offer is often out-dated and doesn't really apply to the real world. In school, you get these lab exercises with perfectly commented code but when you start your job, things are really different and way more messy. Yes, you might need a degree for you next job, but an Arts or Math degree will get you far enough. To build software, you need to be passionate about it and teach yourself. You need to get deep into the books and learn by reading other people's cryptic code. Unlike other fields that have been the same for centuries, software changes every day. Just look how often your phone apps get updated and changed. It's not just about trends, it's about constant improvements.

Don't be discouraged when something doesn't work, keep trying until you get the results you want. Keep re-inventing the wheel until it is a well-oiled machine. You won't get there in a few days but trust me the ramp up will be quicker than you think.

You need to pick a path before you start on your adventure. Do you want to write games, cool web apps for budgeting or how about an advanced modeling and simulation library? Just like any other field, there are specializations and you can be good on as many as you want. The secret is time.

When someone asks me about where to start, I usually throw this list of resources with books and websites. Somewhere in there, you'll find something that tickles your fancy and will get you started on your programming adventure.

No Excuse List

http://noexcuselist.com/

There's a lot of free programming courses in there if you prefer lectures and interactive exercises instead of reading. Codeacademy and O’Reilly are really popular.

Freely available programming books

https://ebookfoundation.github.io/free-programming-books/books/free-programming-books.html

Basically anything related to computer science can be found here. There's even some IT related books in the list. Updated all the time.

Awesome Awesomeness

https://github.com/bayandin/awesome-awesomeness

A meta-list of useful libraries for different programming languages. Before trying to code something on your own, see if there's a library that does it already.

Pick your preferred method of learning and you'll on your way to make whatever you want. The sky is the limit, or perhaps your imagination.

The Million Dollar App Idea

If you're a mobile developer, this almost certainly happened to you. A friend or relative makes you swear to secrecy about what he's going to tell you next. His secret idea will change the world and make millions. He comes up with the idea (usually like Uber but for X) and you do all the development work, split share 50/50.

Most people think that coming with an idea is hard, but it isn't. Everyone has a ton of ideas all day long, many of them ridiculous and some few genius. However, execution is the difficult part: development, marketing, building a company and so on. That sucks in every available time slot in your day as you try to make your idea into reality.

What's worse however is most of these ideas fail. Startups get a ton of investment money that is sunk into nothing. People quit their jobs hoping their new business will let them retire early. None of this really happens.

People are mesmerized by what they see in the media. A teenager who made a soundboard app makes millions and buys a mansion at age 17. Another makes thousands of dollars in ads from his YouTube videos or Twitch streams. However, all of this is a form of survivorship bias.

How many Twitch streams are watched by virtually nobody compared to the few famous ones. Pennies are made from most YouTubers who put ads up. The reality is that these successful people are the exception not the norm, they can almost attribute their success to luck.

I've seen people with no fame make excellent content and vice-versa. Producing good work isn't guaranteeing success. Not the best product is always the one that makes it to market. If we can call it that, fate, results in success.

However, to succeed, one must play the lottery game and hope to make it there. You can't beat the odds if you don't try. But don't approach the idea with naivety, but actually study what people want. Notice how informercials sell mundane things you never thought of and they sometimes make great success even if their products are garbage.

Think of a problem that you actually experience day to day. Something that bothers you and perhaps others. Maybe finding a solution to that would increase your success. Don't just imitate another streamer or blogger, because they succeeded out luck mostly. You need to do something novel that no one has ever thought of yet, and maybe, just maybe, you'll be making a few bucks.

When working on a project, your goal shouldn't be fame or money, but rather passion and learning. That growth is so much more valuable as the new skills you learn can be put into use somewhere else, maybe in a job that actually makes money.

My Computing Setup

Everyone (or maybe just me) is interested in what people of different livelihoods use as a computing setup. Think I'm crazy, there's actually a website (uses this) all about this, interviewing relatively famous people about what they use to do their jobs, write their books, photography, create apps and so on.

I've always liked the laptop form-factor because it allows me to work from anywhere in the home, or if I want to do something elsewhere, I easily can. However, I also like sitting at a desk with a big screen and a comfortable sitting position. To get the best of both, I'd purchase laptops with a docking station that would allow me to use my laptop normally and then plug it into a docking station connected to a big screen, laptop, keyboard, etc.

Lenovo ThinkPad Mini Dock Series 3. A very common docking station compatible with many ThinkPad laptops.

Laptop

I went through a slew a laptops from Dell and Lenovo and right now I've settled on a Dell XPS 9560. It's a good balance between portability, style and enough power for gaming, something I'm avid of. The grunt also helps with compiling large software projects and multi-tasking.

A brief overview of the Specifications of the Beast.

Display

I really wanted something unique to do my work on, simply for the desire of being different (and self-conceited). The main attraction is the screen. I originally got a 24" 2K monitor but it had display connectivity issues and it made me angry enough that I wanted to go to extremes; get a giant 40" 4K TV and get that working properly.

To get a 4K TV working at a proper resolution and refresh rate, you need to take some special things into consideration. First, the TV must support chroma 4:4:4 subsampling, which means no compression is used to display pixels on the screen. Otherwise, text appears blurry but movies and games will look acceptable. Some cheaper TV brands don't have it and each manufacturer has a different way of enabling this feature. I recommend this excellent write up by Rtings about it .

This method allows for 4K@60 Hz (a good refresh rate for gaming and regular desktop usage) but requires HDMI 2.0 or newer. You'll either need to make sure your system supports it (most newer video cards support it but laptops usually don't). I was able to procure a USB-C to HDMI 2.0 adapter for my Dell laptop to get the image to display to my liking. My work laptop, an early-2015 MacBook Pro needs an active (passive won't work) DisplayPort to HDMI 2.0 adapter and a patch for macOS Sierra. Finally, you may need a high-bandwidth HDMI 2.0 cable that is rated for 18 Gbps but you may already have a high quality HDMI quality cable laying around that supports 4k@60Hz just fine. Try before you buy something new.

Keep in mind that TVs are often not designed for low latency or gaming so do some research beforehand to ensure that you screen meets your latency sensitivities. Rtings is my go-to source for this but otherwise other websites found with a quick Google query have useful information too.

The behemoth display itself. 

You really don't need multiple screens with this kind of setup unless you're working at NASA. A 4K display is like the equivalent of four 1080p screens stacked together. Very often, I'll have a small lonely window sitting in the window while I idle around browsing the web. You'll never want to maximize anything as scanning your eyes across a meter of pixels can be tiring.

Input

In terms of input, my route is a bit non-traditional. I really like ThinkPad keyboard with their TrackPoint. It allows me to move the pointer without moving my hands from the home row, though research has proven it to be one of the slower input methods. It's more of a comfort thing for me. I've owned many ThinkPads in the past so I got used to the layout of the keys but I miss the 7-row layout. I'm not very picky about the switch. I like both rubber domes (provided it's not mushy) and mechanical keyboards. I do enjoy the clicky MX blue switch very much, just wish they made a TrackPoint with those.

ThinkPad and Trackball combination.

I prefer a trackball mouse over the regular one because it allows me to move the pointer without actually moving the device. It takes time to get used to but I got to the point where I can play first-person shooters with it. It is very comfortable to hold and fits well in the hand. However, be prepared to clean the sensors for the ball regularly like you did in the good old days of ball mice with mechanical sensors.

Docking

Business style laptops usually come with a very practical docking station that allows to just slot the laptop into this slab and your screen, keyboard and mouse are all connected automatically. Dell didn't have this option so I opted for a stand and a Thunderbolt Dock with a Thunderbolt Connector. It allows me to easily plug everything with a single cable for both charging and connecting external devices. It's not as seamless as a traditional dock but this is the best I can get with this laptop.

Dell Laptop docked in its stand with a Thunderbolt Connector

For my work computer, when I occasionally work remotely, not that I have an excuse since the office is 4.7 km away, I have a few external plugs to connect my MacBook. I just need power, DisplayPort and USB to plug in and I'm ready to go. I have a switch to alternate between the Keyboard and Mouse from main laptop to the MacBook. It's pretty easy to setup and switch between systems.

The MacBook ready for work with just a few plugs.

LED Lighting

The pièce de resistance for me is the LED strip that runs under the screen. It allows for a very atmospheric look on the desk and makes things look a bit less sterile. The colour and brightness can be adjusted along with automatic colour changing. It looks especially great in low lighting though it can get distracting and sometimes I turn it off. It's more of a party piece to show off more than anything else. I purchased the kit from Ottawa LED

An animation of the LEDs slowly changing colours. I find it very mesmerizing and impresses the ladies (OK, maybe not) 

Operating System

In terms of software, pragmatism trumps ideology for me. I don't care about the operating system debates or what software is superior to another. The right tool for the right job and that is what you're supposed to use. I use Windows, macOS and Linux on a daily basis; each one has it's sublime moments and pain points.

At home, I use Windows 10 mostly for gaming. Virtually any kind of software is available for Windows and security has gotten better since Windows Vista but it's still a massive target for malware. Software development is feasible but you really want something more powerful than cmd.exe and PowerShell. With the new Windows Subsystem for Linux, the gap is starting to be filled but it still needs more work to become something production ready. Customizability is also another point, while there are Stardock tools and .dll hacks to get your own custom themes, they are a bit fiddly and don't always work as expected. You can get alternative shells but you'll usually be stuck with explorer.exe if you want things to behave properly. Not to deny you can get a very attractive Windows Setup with the right tweaking. In terms of device driver support, Windows is a clear winner because manufacturers write software for the most popular target. Not to mention that Windows has become pretty stable and has great architectural principles. What other operating system allows you to switch display drivers on the fly with WDDM. Not to say that things are perfect with the infamous BSOD.

My Windows Desktop

At work, I was given a MacBook running macOS Sierra. The aesthetics and consistence are second to none and things look so cohesive. The polish is amazing and though it's not something I'd use everyday, I definitely see the appeal. As a bonus, because it's a Unix-like operating system, you get all the POSIX commands out of the box, great for software development. They're the BSD flavours instead of GNU but it's hard to tell the difference. A man page will explain the differences for you and it's sufficient for me. Otherwise, just like Windows, everything just seems to work like multiple displays support, automatic sound output switching and fast boot times. I believe that in terms of plug and play support, macOS is the superior OS. I just wish you weren't stuck with the default look (I know a dark theme is in the works). Customization is a weak point in macOS. Switching between Command and Ctrl for keyboard shortcuts causes me fatigue as I switch between systems and I feel that the Windows taskbar system is superior to the Dock. I just want to see what I'm running, not everything that I've pinned down there. Admittedly, those big icons look gorgeous.

My work macOS setup. I've hardly done any tweaking and it looks pretty great.

For both work and home, I use Linux on servers and virtual machines. For the server, it is an excellent operating system, reliable and dependable. Amazing scripting capabilities and development tools up the wazoo. If I need something that will run my docker swarm without a hitch, Linux will do it for me. It's a testament that even Microsoft Azure let's you run Linux on their VMs. However, don't get me started about the Linux desktop. It's been a running joke that the current year is the year of the Linux desktop, but we'll never get there. Even the most user-friendly of distros like Ubuntu will eventually require you to use the command line to do something. Say get a second display with a different DPI working with xrandr, when on the other operating systems that start with W and M, it just works. Distros like Arch and Gentoo require a deep understanding of how an operating system works. It's a great hobby, but it's not fun when you need to get work done but a recent update borked your GPU driver for the third time and now you're just staring at a blank screen. However, when it comes to customizability, there is no contest. The most beautiful desktops are on Linux and there is so much variety. Stability would be nice for those desktop apps. I was an avid Linux user for 5 years but when I got a full time job and was studying, I didn't have time to maintain the system anymore. Nothing will able to replace Compiz Fusion for me or the excellent i3 window manager however. If you got time to tinker and computing is your hobby, you can't go wrong with Linux. Controversially, I actually quite like systemd, it's well done from an architectural point of view but it does not follow the Unix philosophy. But GNU/Linux is not Unix. Almost every distro has adopted it and it's a good sign as maybe Linux is moving to a unification movement as that's what we need for a successful desktop. Just look at macOS, it's basically a single-unified Unix distro and look how popular it is.

My souped-up Arch Linux i3 Desktop running in VMWare. One thing you can't argue about, Linux is cool.

Software

I'm not very picky about software, I just want something that works fast, efficient and does the job well.

For browser, I use Google Chrome but Firefox works just as well and so does the more obscure ones like Vivaldi. There's so much choices for web browsers and things are getting a little more standardized with WebKit and Blink (though we might have another IE era again). Extensions are common between most browsers but Firefox is the winner when it comes to customization (what other browser lets you change the colour of the tabs and their shape?). However, for some reason, Google Chrome feels the most responsive for me.

For music, this was a hard one for me. I tend to listen to quite a bit of a lot of obscure music. Google has the largest collection of music but I'll admit the recommendation engine needs some work, not that I was satisfied with any recommendation engine so far from Spotify or otherwise. Last.fm was close but it sometime still had unrelated tracks in my playlist but it's too bad they removed the radio feature. With the new YouTube Music, you get access to the largest collection of music on the Internet, everything is there. The recommendation engine is based on the YouTube Mix engine which so far has been providing good recommendations. I'm excited to see them merge Google Play Music with YouTube music.

Microsoft OneNote has to be my favourite piece of software in existence. The freeform nature of writing document really allows me to organize my thoughts in a way that makes sense in my brain. The autosave feature is the icing on the cake on top of the cloud synchronizing. I've enhanced my version with OneNote Gem for some extra goodies. I use OneNote as a loose todo-list and for drafting some of my compositions like this blog post.

I use the Microsoft Office suite because it is undeniably the most stable and feature rich out of all the paid options. While LibreOffice might be a functional free alternative, it's hard to compare. Look how much easier it is to write equations in Word compared to Writer, there's no contest. Disclaimer, I am paying for an Office 365 subscription.

For my backups, I use Macrium Reflect for a full disk image back up saved on a network drive. It's pretty headache free and it just does daily backups in the background without any fuss. For my really important files, everything goes into OneDrive but I've used Dropbox before and it's worked just as great. I use OneDrive because it comes with my Office 365 subscription with 1 TB of storage. I can't say I had a good experience with Google Drive though as the Desktop client was really unstable and sometimes my files didn't make it onto the remote storage.

For software development, it's a combination of tools. For Virtual Machines, I use VMWare Workstation mostly because I'm used to it and it has really good guest utilities. VirtualBox is great too but it's missing some features like having support for VT-x extensions within a guest. I do like the interface of VirtualBox better though. I use IntelliJ and Android Studio for Java-based development but I've had no problems using Eclipse. For me, the only real difference is the keyboard shortcuts and IntelliJ feeling a bit more polished. For light editing, it's mostly a mix of Visual Studio Code and Notepad++. Visual Studio Code has good plugins for auto-completion for various languages but nothing beats Notepad++ for a quick edit of a small script file, it's just so much lightweight than Electron-based Code. ConEmu is my go-to choice for Terminals, it's just so much more sophisticated than Command Prompt with the ability to start different shells, tiling and themes.

For budgeting, I like to use You Need A Budget. I was a PocketSmith user for a long time but it was a bit too cumbersome for my needs. I'm sure advanced budgeters would love the projection feature and all the fine tuning but I just need to categorize and shift money around. YNAB does the job but for some others all they need is a spreadsheet.

For games, my choices are pretty boring. I like sandbox and simulation games. Think Flight Simulator, Assetto Corsa and BeamNG.drive. I also enjoy my Tycoon games and have a slew of retro games for times when I need something simpler to play.

I use Renoise for music production. Even though it's one of the stranger DAWs, I find the sequencing arrangement to be much more intuitive than the timeline-based system. Most people will disagree with me, it's just a matter of taste. Unlike classic trackers, Renoise is very modern with VST support and ASIO4All.

For writing books, I like Scrivener due to the way it allows me to easily draft documents. However, I have to admit that OneNote or Word is just as well suited for the job but the folder arrangement for chapter and export abilities make it indispensable.

For 3D Modeling for the 3D printer, I use Autodesk Fusion 360. I'm not an expert modeler so I find it simple enough to make basic models. It has tools to make things like extrusion, holes and so on very simply and allows to define precise measurements. I know Blender allows for more sophisticated designs, one day I'll get there.

For electronics and microcontroller stuff, I like using Frizting to design the circuit which is a very basic tool for doing so. Theirs is nothing special about it, it's basically a fancy diagramming tool. For programming the micro-controller, I use what almost everyone else uses, Arduino IDE. It has syntax highlighting, auto-completion and easy way to send code to the micro-controller, what else do you need?

Finally, for system tools, I have a basic RainMeter system to show basic stats about my system. I had to write my own plugins to display additional sensors from HWiNFO but that's about it. On macOS, I use iStatMenus which is a great tool to display system info on the fly in the menubar. Good way to keep tabs on the system when npm is pulling in dependencies and compiling dependencies while taking 100% CPU and turning my laptop in a toaster oven.

Window Management

I like minimalism so my desktop is as empty as possible. A simple wallpaper with no desktop icons. A tray with almost no icons. A simple RainMeter display in the corner. My taskbar has no pinned apps and is made to display on apps that are running with nice labels instead of the default dock style. I am using Taskbar Tweaker to allow me to use the scroll wheel to switch between apps.

For organizing my windows on Windows and macOS, I use Divvy which allows me to have a pseudo-tiling arrangement on my screen. Since I have a giant 4K screen, it comes in handy to arrange the mess that my desktop becomes. On desktop Linux, I love i3 and nothing will ever replace it for me. The ability to arbitrarily define layouts is genius and I will never ever find a replacement for other operating systems. Also tiling window manager just looks cooler than anything else.

My messy desktop organized into neat tiles. A great way to keep your workflow in check.

Phone

My phone is a lot less fancy than my desktop. I'm still rocking a OnePlus 2, which is about 3 years old now. However, I have installed a custom ROM called Resurrection Remix for additional customization. I won't go into details but it's just for small quirks like having the volume slider only adjust the media volume. I've also rooted it so I can install an AdBlocker on the phone. Finally, I'm using Franco Kernel to downclock the processor to squeeze out an extra bit of battery life out of the phone.

My Phone following the same minimalist theme as my Computer.

In order to save money on an expensive phone plan, again, Canada has the most expensive phone plans in the world, I have a data only plan designed for tablets. I use a VoIP.ms line for my phone calls and I haven't noticed any difference in terms of call quality. I can also get cheap international calls with one of those Betamax clones. At the end, my phone bill rounds up to 30$ a month. I'm using Bria as my softphone client.

Finally, one thing I'm very proud of is that I have a phone in the kitchen also connected to VoIP using a Cisco SPA3102 gateway. It is an outbound only phone, but if the lobby intercom rings, both my cellphone and kitchen phone go off. Like this, if I can't answer the lobby from my cellphone, someone at home can answer it instead.

My phone doesn't get much use other than communication through WhatsApp and Telegram and navigation. I also use it to read books using Moon Reader+ Pro. I sync my books from OneDrive to the phone using FolderSync.

Parts

Conclusion

What my setup looks like as a whole. In general, I'm pretty pleased with the result, took me about 6 months to get to this point but it was a really fun endavour. 

Everyone has a different setup and some may have very simple setups because they don't care much about computing but as a hobbyist I like to have something to be proud of. Just like a car enthusiast wants to tune their car for the pride of it, I do the same with my most expensive hobby, computing.

Please feel free to share links or short descriptions in the comments on your setup. What do you think of my setup? Is it too boring? Where can I get ideas to inspire me with more intricate setups? All opinions are welcome.

 

Endothalmic Adaptance

Henceforth a model of endothalmic adaptance emerges from resistifying anticouplers, one can understand the comprehensive theory of pluridimensional cystors. In all scenarios, the suspendation of maxima-based theoria causes the eloption of famnistic verifiable visiothermic systems. Whereas the examples herein are based on systematic mediocracies, their validity still lies within the thalmus of integration.

All starts with the pseudo-automatic of grammarial variances in a multiversal with a higher panametric velocitors. The variabation explains the dimenstionality of all existances, no model currently outlies a suspense-based hypothesis relying on capacitrons and transistrons.

The nanometric and femtometric divisions occur in natural organical stators presented by hospictacular exothalmic adaptences adapted to multivariant divisionation of all automatronic variabulations poorly understood by scientific communiti.

This theory envisions an explanation for the quarkic submolecular anti-physics producing an encompassing viewance on existory exhibitors for the production of an omnithermal motoric force. Therefore, all theories and hypothisiac tractance can be accounted for.

The endothalmic adaptance view can be summarized in these simple equations parametrized with mathematronic on a philosophist creatance.

Endothalmic Adaptance Equation.png
Endothalmic Adaptance Equation 2.png
Endothalmic Adaptance Equation 3.png