Progressing in our projects

Progressing on our projects can sometimes be hard, especially on bigger ones. Here are a few tricks I found to help me move forward.

The first thing to do, is to define the general idea of what we want as a final result. Depending on the size of the project, it can be as simple as a few sentences, to many pages for bigger projects. As example, we will take this very article, so my general idea would be that I want to tell readers about tricks to help them progress in their personal projects.

Once we have defined what we want to do, we need to define the tasks that need to be done. For example, if we take this actual article, the tasks would be something like:

  • Define the general idea
  • Write paragraphs
    • Introduction
    • Define the general idea
    • Divide the work into small tasks
    • Estimate the duration of tasks
    • Do the work
    • Conclusion
  • Translate to french
  • Reread and correction
  • Upload to website
  • Reread and correction

Again, depending on the size of the project, there can be very few or a lot of tasks. As a general rule though, each task should represent a single concept that can be accomplished fairly easily (even a complex task can be divided into multiple simple tasks). In some cases, a task could also be redivided into many other sub-tasks.

Now that we have a set of small tasks, it is quite easy to estimate how much time each task will require. Assigning a duration to each task facilitates the actual scheduling of the work in our already busy schedule. For example, if I take the task of translating my article in french, I would say that it would take about 30 minutes. This is an estimation, it just needs to be precise enough so that it can be realistic, I personally round by quarter hours, so a 5 minutes task is rounded to 15 minutes. It is preferable to over-estimate, so that most of the time, the tasks will take less time, which is a lot more motivating than exceeding.

At this point, we know exactly what we have to do, and how much time it takes to do it each parts. All that is left is to actually do the work, there is no magic trick here, we have to kick our butts. But if we have correctly done the previous steps, working is now a lot easier, because our planning gives us a clear path to follow. Continuing with my example, this is the part where I would be writing the article, obviously.

An important thing to note is that our project is very likely to change in some ways along its implementation. So the ideas, tasks and durations that we have defined will inevitably be affected. We have to keep in mind that everything we defined by following the previous steps is not a contract that we have to follow perfectly. If something changes, whatever it is, all we have to do is to adjust our plan, and we are good to go. Again with my article example, while writing it, I could feel that I would be more at ease expressing myself about the subject in french first, and then to translate it to english. All I have to do is to modify my planning to replace “Translate to french” by “Translate to english” and maybe adjust the duration to one hour instead of 30 minutes if I feel like I will need to do more research for appropriate translations. And then I’ll continue writing, but in french.

Progressing in our projects is all about laying a solid foundation, by defining what the project is actually about, to ease its execution, instead of just stumbling at each step trying to make unstructured progress.

Distraction as an efficiency tool

No, this is not a mistake, I think that using distraction can help us be more efficient in some cases. In fact, there is a chance that you already do it in a way or another.

Have you ever done something while watching TV or listening to the radio? Probably, then you already know about it, but let me explain why I think that it can be more of an helping matter than a nuisance, if used appropriately.

Many people listen to music or to the radio while driving a vehicle and doing repetitive tasks. Hearing music or someone talking distracts us a little from the boringness and makes us fall in “automatic” mode. So instead of concentrating directly on what we are doing, and how much it sucks doing it, our mind wanders somewhere else, making the situation a little more bearable.

The “automatic” mode is exactly what we want to achieve here, which is about finding a balance between being able to work efficiently on our tasks, while being distracted enough so that we forget about it.

In my case, when I try to work on some of my projects, especially the ones about visual creation (drawing, 3D design, etc), this kind of distraction is quite useful, because it is really hard for me to stay concentrated on it, which makes my progress slow. So I watch videos while drawing, but not any videos, the kind where I’m not required to constantly look at it. What it does is that until the end of the video, I will be sitting there, so for this duration, I have no other choice but to draw. Using a fun distraction while doing something that is less fun, or hard, helps me do it longer than I would normally.

It also makes me feel good about myself. Because if I take the previous example, I specifically choose videos that I would have watched anyway on their own. So when I manage to do two actions at the same time, that I would have done separately anyway, I feel efficient. I get the impression that I can finally begin to catch up with all the stuff I want to do, instead of just adding more stuff on the pile.

But as I already said earlier, to really benefit from distraction, we have to choose one that is appropriate according to the task we are doing. Some distractions will require too much attention or be incompatible with what we want to accomplish. If I’m writing for this blog, I usually listen to music, because it doesn’t require me to understand what is going on and I can just listen to it passively. On the other hand, watching anime or Youtube videos while writing prevents me from both writing my text and understanding the video, making both activities meaningless. This will probably require some trial and error on your part to find out what distraction fits with which activity, but once you do, it is easy to just continue doing it.

Of course, working on two things at the same time will make our progress slower than concentrating on a single one at a time. But it can likely be canceled-out by being able to work for longer periods of time without stopping.

Obviously, I would only recommend this method for tasks that are not dangerous in nature, watching movies while cutting wood is a bad idea, you would want all your attention to be directed at the main task. We also don’t want the distraction to take too much place, or else we will just end up being distracted and get absolutely no work done.

So as contradictory as it may seem, distraction can indeed be useful, if we manage to calibrate it correctly with our work.

Being unable to finish our projects

For some people, like myself, completing projects can be hard for many reasons. Sometimes we can simply lose motivation or interest in the project. Other times we lack inspiration to keep going forward, or we find something that captivates us more. And some other times, we don’t even know why we can’t advance further.

An interesting thing that I recently noticed, is that I often block at a precise point in the project. This point is when I have to make an important decision, a choice that will affect everything that follows. It happens when I have already invested many hours in the project, enough so that a potential error or bad decision could make it worthless, and restarting from zero is not desirable or practical.

Basically, more often than not, I get stuck because I’m too scared to make a decision, and suffer the consequences associated with it. So my response to that fear is to stop working on the project altogether. Which ironically, turns out having the same effect than what I was scared of in the first place…

It can’t really be avoided, because there will always be something that doesn’t go as planned in pretty much everything we do, so the answer is not about eliminating choices. In many cases, especially in creative work, there is not necessarily a good or bad solution. Although the choice we make will affect the outcome of the project and it can challenge our habilities or force us to use new methods. This is not a bad thing, because it will make us progress in our craft by forcing us to learn things we didn’t consider.

Furthermore, many of the reasons for abandonning projects that I mentionned at the beginning, such as the lack of motivation, interest and inspiration, could be unconsciously caused by that fear of making a bad decision, making the overall project seem less interesting.

But even knowing that, fighting fear is hard, and I can’t see much solution to overcome it other than just pushing ourselves to make decisions and take risks. But if you too are stuck with this fear, then becoming aware of it is already a step in the good direction, which could potentially lower the actual fear.

Electric bikes

As soon as I saw an electric bike for the first time, I knew that it was a bad invention.

The electric bike is the best way to exercise without getting in better shape, here’s why:

If we own a standard bicycle and ride it, we will need to pedal when the road is perfectly leveled, and when we have to go up a hill. But the intensity will be greater when climbing a hill, because we have to fight against the gravity that wants us to go back down. On an electric bike, we will also have to pedal on a leveled road and when climbing a hill, but both at the same intensity. This is where the problem comes, we never have to make more efforts to adjust to the difficulty of the road, we just have to keep a steady rhythm and everything will be fine.

What makes us in shape is getting our body out of its comfort zone, so that it has to adapt by making our muscles stronger and more enduring, and by doing the same thing with our heart (cardio-vascular endurance). But if we keep the same rhythm from start to finish because the bike is doing half of the work for us, then we could just be walking and we would be getting the same results, which are nonexistent.

In a way, we are tricking yourself into thinking that we are exercising, without actually doing the work. You know those people who get off their bike to walk beside it as soon as they see a hill, then riding an electric is basically the same thing while still sitting on the bike.

As much as I hate the very concept of it, I can still perceive some utility out of this thing. For example, even though I have never seen it in application where I live, it seems that some people deliver stuff on bike, so for these people who already put in their fair share of effort, such bicycle would be more than welcomed by their joints. Another good use would be for someone who is recovering from an injury, for which a standard bike would put too much stress on the body.

So this kind of bike has its use, although I would personally consider it a marginal/specialized product, for very particular uses and cases where the good old bicycle would be too much. Other then that, sweating and feeling discomfort is part of the experience, if we are not having them while riding our bike, then we are not getting better, we are just stagnating.

SQLite command-line queries

SQLite provides a nice command-line interface for managing databases, but what if we need to run queries from a script? If you have been trying to call SQLite from a Bash script with the “-init” argument, in quest of running SQL queries from a file to the database, you would have also found out that SQLite stays in interactive mode, forcing you to watch the console and exit each time. This becomes a problem once we have many (potentially large) query files that have to be run one after the other, such as when we need to build and rebuild a test database.

So if you are here, your script probably contains something like this:

sqlite3 -init query1.sql mydatabase.db
sqlite3 -init query2.sql mydatabase.db
sqlite3 -init query3.sql mydatabase.db

And each individual command would leave you in interactive mode, forcing you to close it each time with “.exit” for the script to resume its work.

SQLite also allows us to use the input redirection operator to direct file content (or a query directly written in single-quotes) as input. Like this:

sqlite3 mydatabase.db < query1.sql
sqlite3 mydatabase.db < query2.sql
sqlite3 mydatabase.db < query3.sql

This will redirect the content of each file directly into the database without any need for manual intervention.

If you need more information on using SQLite in command-line, then visit their official documentation at https://sqlite.org/cli.html.

Arch Linux is awesome

Arch Linux is a Linux distribution that is made specifically for x86-64 computers (the standard desktop computer that uses a Intel or AMD CPU). I’ve been using it for many years and even though it is ranked in the top 20 on distrowatch.com, meaning that it is quite popular among Linux users, I still wanted to talk about it.

Arch Linux is not too hard and not too easy, so I would consider it being somewhere in the middle, allowing it to be a really versatile distribution. What I mean by this is that it doesn’t hold us by the hand like the more mainstream distributions would do, but it also doesn’t go too deep into the stuff that is relevant only to the experts (while still letting us the possibility to do it if we really want to).

Why is it easy?

The fact that we don’t have to care about compilation of the packages that we install and all the stuff related to it. Some distributions rely quite heavily on compilation to install software, and unless we are interested in optimization and know a lot about the inner workings of the process, it may seem like a waste of time to recompile the applications on every update. Some applications, like music and video players, web browsers and office suites take many hours to compile. While we can still use the computer at the same time, its performances will be reduced due to the compilation requiring a lot of processing power. But Arch Linux is not one of those, the packages are already pre-compiled and optimized for the system. Also, most if not all of the “standard” Linux conveniences are there by default, so anyone with prior Linux/Unix experience will be able to use it.

Why is it hard?

We have to rely quite a lot on the command line, at least to build the whole system. No installer is included with it, so we have to install the system by strictly using the command line to do so, but don’t worry, there is a guide to help us. Once we are done with the installation, we end up with a basic system without any graphical interface, and it is up to us to decide how to mold that system to our needs. Making it as complex, powerful or simple as we want/need it to. But even if we install a graphical interface, most of the maintenance stuff will, by default, have be done from a console or terminal. This means that we need to know the basic Unix/Linux commands and some more, and also to be at ease working with configuration files. Naturally, all this takes more time than simply clicking on a button that do everything automatically behind the scenes.

An interesting feature of Arch Linux, is that it is a rolling distribution, meaning that if we regularly update the system, we are always up to date with the latest version of the OS. There will be no need to format the disk and reinstall the latest release of the system because there is no “release”. Keep in mind that if you use it as your main desktop computer, it may still become bloated from years of daily use just as any system would.

There is one more reason why I would recommended Arch Linux, even for beginners (if they are interested in learning Linux). This reason is the Arch Linux Wiki website, if you already use Linux and have searched about Linux stuff on the internet before, you probably already ended up on it, even if it isn’t the distribution that you use at the moment. Because there is so much information about so many things, it is a gold mine of information. If a software or package is available for the system, and that its installation requires anything more than just calling the package manager, there will most likely exist a page explaining the steps necessary to have it working. So even if you are a Linux beginner, just this Wiki site has enough information for you to survive on Arch Linux, provided that you are willing to do some reading and finding answers by yourself.

Musicality

I restarted playing music a few months ago after many years of not doing much, and I realised something important. It didn’t come directly from playing my instrument though, but from learning more about music theory.

What I realised is that music is not defined by the instruments or tools used to create it, but by its ability to sound musical, no matter if it was made by a guitar, a piano, a computer or a set of spoons.

As EDM and electronic music in general are becoming more and more popular, we hear people say things like “this is not real music because they just sit in front of a computer and don’t play any instrument”, and I think that it doesn’t make any sense to say such things. Because no matter how we make the music, we get access to the same audible frequency range and the same set of basic rules. Which means that we have access to the same old notes, chords and scales that a piano or any ensemble of instruments would.

For people that don’t know much about music theory, this means that some sound frequencies fit well together and some others don’t depending on the “space” that separates them. So a chord that sounds good on a piano will also sound good on a guitar, and it will also sound good on whatever computer with whatever sound effect, because they are based on the same frequency logic.

With that little knowledge, we can now say that making music is not about playing an instrument, but rather about building sequences of sound frequencies (“notes”) in a way that is pleasing to the ear of the listeners (music is generally made to sound good, although there are exceptions). So in the end, as long as the rules are acknowledged by the creator (consciously or not), it doesn’t matter if the sounds were produced from a physical instrument or from an electronic device.

It is very possible that someone may not like electronically produced sounds and prefer the sound of “real” instruments, and this is perfectly fine. But it would be wrong to label electronic music as inferior to traditional music because of the process and tools used. Good electronic music producers, just like good traditional musicians, have to work many hours to find the best ways to make their music sound good. They may or may not know music theory, but it doesn’t stop anyone from making pleasing sounds. Although, it is all in the ears, someone with a well trained ear will be able to make good music, no matter by which means they create it.

If we took a Beatles song, and recreated its melodies and rhythms into a DAW software (Digital Audio Workstation), the song would most likely sound very different, and some people may like it and some others may not. But the overall feel of the song would be the same, because the music stays the same.

What I am trying to say with all this is that good music is not necessarily music that we like. Even though I don’t consider myself a fan of 70’s/80’s/90’s rock music in general, it is hard for me to not sing along when I hear a Bon Jovi’s song on the radio. Do I listen to this music at home when I can listen to anything else I want? No, but these songs have something “catchy” about them, and now that I know a little more about music theory, I’m able to understand that it all comes from a right combination of notes at the right moment. While we could argue about if Bon Jovi is or isn’t “good”, or that we like it or not, there is no denying that the band itself (and possibly the sound engineer(s)) did something right to make songs that were this popular.

So for any type of music, electronic or traditional, the same processes and methods apply, it involves a lot of trial and errors and a lot of time invested to come to the end result of something that sounds good. In that way, I think that all musicians should at least be respected for their efforts, even if we don’t appreciate their creations.