X11 Must DIE

Unix, C, computing like it's 1980.

Month: October, 2014

When life DOESN’T reflect art.

t43

life is not a t43

As my last post may have indicated, life gets to be really hectic from time to time.  During my last few weeks, I accidentally stumbled upon a ‘moment of clarity’ as I’ve heard them called.  For me, it was when I realized that while I know exactly what I need as far as technology is concerned, life in general is a whole different scenario.

So, as a result, I have started what is probably going to be a long-term effort to de-bloat my life a bit.  As I tend to do a pretty decent job of only installing what I plan to use, I have been spending the time to look at what I ‘actually WANT to use…in life.’

Essentially, overextending yourself is a result of picking up projects and appointments that do not align with the ‘design philosophy’ that you had in mind.  When someone asks me to help out on working with something, quite often, I agree to do so if it seems like a simple thing to do.  The problem is that then I begin to suffer from ‘feature creep’ in my life.  All of those little commitments and promises add up, and then in the effort to manage them all, concessions in quality and single-minded purpose are made.  Life ends up bogging down because we take on too much, and then have to put aside something to do something else.

While I won’t go into details about my personal plan, as it only applies to MY priorities, I guess that I’d like to stress that it only makes sense that if you’re going to be minimalistic in one aspect, that it would probably serve you well to apply that to other aspects of life as well.

“Doing nothing is better than being busy doing nothing.” – Lao Tzu

Perhaps a vacation is in order.

For what it’s worth, I thought I’d explain the long absence of regular posts.

I’ve recently been working about 60 hours a week.  I work in an IT/Engineering field, and when I get done, the last thing that I want to do is sit down in front of a computer and play with software or discuss it.  I have gotten into the habit of simply getting done with my work and when I get home, I’ll go to the gym, go fishing, or pretty much anything that doesn’t involve computers.

So, if there are long breaks in reviews or discussions, suffice it to say…I am probably just doing something else. 🙂

Cool toy: binary-clock

binclock

Pictured running lower right.

I take it on assumption that if you read my blog, you’re probably familiar with Kmandla’s current one, but assuming that this one slipped under your personal radar, I thought I’d share it as just a fun little ncurses program to spice up your desktop.

Source is at https://github.com/JohnAnthony/binary-clock and it requires only libs you’ve probably already got if you build curses programs at all.  Easy to make, easy to run.  It keeps time, in binary.  What’s not to love?

Beyond that, the author added a suggestion that if you find the program useful, then please donate to www.meningitisuk.org or your local meningitis charity.  Perhaps we should all consider not only donating, but adding short lines about worthwhile charities to FOSS program documents to help raise funds for things that really do matter.

The Case for Simplicity

cthulu

 In our monthly meeting (this almost implies some kind of professionalism that doesn’t actually exist) at the linuxbbq irc, the subject of obfuscation came up.  While we’ve often discussed avoiding brittle algorithms just to catch edge cases, the flip to this would be that any implementation (ANY of them) should be easy enough to understand that the users who would fall under ‘edge case’ should be able to figure out how to modify things to suit their needs.

I’ve seen simple programs written to be confusing and complex programs written to be easily understood.  The latter of which should honestly be the goal of any programmer.  I cannot even begin to stress how important being clear and concise is.  While it makes troubleshooting your own work easier, it also helps anyone who might have a project based on similar concepts, those who fork your project for their own purposes, and even for people who are just looking to understand how something works.  A well written example can often be more educational than an explanation.

James spoke about the usefulness of well placed white-space and commenting, and how breaking things up into digestible portions makes it easier on someone to make sense of even if they are unfamiliar with the language.  For FOSS projects that are written to be simple, this can allow the user to not only use but modify your work to fit their particular purpose.  I personally believe that this allows a project to grow organically to fill needs.

I simply don’t understand why someone would not look for the simplest way to present a concept.  It’s also worth mentioning that shorter isn’t always simpler.  It’s better to be verbose without adding layers of abstraction if at all possible.  If I’m missing some advantage to making code hard to understand, then please share it with me.  Until such time as a good reason for making things more complex than they should be is presented to me, then I will make it a personal goal to make sure that anything I do is easy to understand and modify.

Unix Koan that Pidsley suggested. 🙂