<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>Nduli's World - Random</title><link href="https://blog.jnduli.co.ke/" rel="alternate"/><link href="https://blog.jnduli.co.ke/feeds/random.atom.xml" rel="self"/><id>https://blog.jnduli.co.ke/</id><updated>2022-11-30T00:00:00+03:00</updated><entry><title>Handling Noise in My Head</title><link href="https://blog.jnduli.co.ke/handling_noise_in_my_head.html" rel="alternate"/><published>2022-11-30T00:00:00+03:00</published><updated>2022-11-30T00:00:00+03:00</updated><author><name>John Nduli</name></author><id>tag:blog.jnduli.co.ke,2022-11-30:/handling_noise_in_my_head.html</id><summary type="html">&lt;p&gt;I complain and anger myself a lot. I'll have an internal dialogue that loops
over the same points, making me feel worse and worse. I'll sometimes write down
why I'm so angry or anxious, and find out my thoughts aren't as important as I
wanted to believe.&lt;/p&gt;
&lt;p&gt;This is &lt;cite&gt;Chatter …&lt;/cite&gt;&lt;/p&gt;</summary><content type="html">&lt;p&gt;I complain and anger myself a lot. I'll have an internal dialogue that loops
over the same points, making me feel worse and worse. I'll sometimes write down
why I'm so angry or anxious, and find out my thoughts aren't as important as I
wanted to believe.&lt;/p&gt;
&lt;p&gt;This is &lt;cite&gt;Chatter&lt;/cite&gt;, where our brain gets stuck in negative thought loops, usually
about a past event e.g. something someone told me (rumination) or about the
future e.g. what will happen (worry).&lt;/p&gt;
&lt;p&gt;I subconsciously like this feeling and sometimes catch myself looking for
something to complain or be angry with. I'll look for someone to validate my
feelings, having a one sided conversations about my problems and complaints. I
won't notice solutions they suggest since I'm too fixated on my problems. Later
on, when I reflect on what they said is when I'll see their solution and angle.&lt;/p&gt;
&lt;p&gt;What seems to work for me is:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;cycling. When I reach some point of exhaustion, I stop thinking and my mind
calms down for the rest of the ride.&lt;/li&gt;
&lt;li&gt;writing. This makes the fuzzy thoughts less so, and I see what the problem is,
rather than feel them.&lt;/li&gt;
&lt;li&gt;smiling: Forcing myself to smile makes me look at my thoughts from a different
angle, and I've found myself laughing at some of the thoughts I had.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Other ways I've read that might work are:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;distanced self talk, where instead of using I/me while thinking I use my
name or other pronouns like you, he, she.&lt;/li&gt;
&lt;li&gt;practice meditation and mindfulness&lt;/li&gt;
&lt;li&gt;do something else that takes my focus from the rambling thoughts like color
naming, count, recite, run, tidying up, taking a walk.&lt;/li&gt;
&lt;li&gt;Talking/Writing. Thoughts tend to be abstract and unordered and verbalizing
these helps generate meaning from the thoughts.&lt;/li&gt;
&lt;li&gt;&lt;dl class="first docutils"&gt;
&lt;dt&gt;Practice changing my perception:&lt;/dt&gt;
&lt;dd&gt;&lt;ul class="first last"&gt;
&lt;li&gt;Reframe thoughts (cognitive defusion), for example, &amp;quot;life is meaningless&amp;quot;
becomes &amp;quot;I'm having a thought that life is meaningless&amp;quot;&lt;/li&gt;
&lt;li&gt;Train myself to recognize a negative thought I fall on, and consciously
create a new thought that's based on reality to replace it (Cognitive
Behaviour Therapy).&lt;/li&gt;
&lt;li&gt;Instead of trying to change my internal state, accept it with kindness.
Change internal dialogue to 'Its hard to feel this way but I can get
through this' instead of blaming myself for anxiety.&lt;/li&gt;
&lt;/ul&gt;
&lt;/dd&gt;
&lt;/dl&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="section" id="references"&gt;
&lt;h2&gt;References&lt;/h2&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference external" href="https://nautil.us/how-to-quiet-your-mind-chatter-238149/"&gt;https://nautil.us/how-to-quiet-your-mind-chatter-238149/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="https://www.forbes.com/sites/alicegwalton/2017/02/28/8-science-based-tricks-for-quieting-the-monkey-mind/?sh=59a4f7b81af6"&gt;https://www.forbes.com/sites/alicegwalton/2017/02/28/8-science-based-tricks-for-quieting-the-monkey-mind/?sh=59a4f7b81af6&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
</content><category term="Random"/></entry><entry><title>Asking For Help</title><link href="https://blog.jnduli.co.ke/asking_for_help.html" rel="alternate"/><published>2022-08-27T00:00:00+03:00</published><updated>2022-08-27T00:00:00+03:00</updated><author><name>John Nduli</name></author><id>tag:blog.jnduli.co.ke,2022-08-27:/asking_for_help.html</id><summary type="html">&lt;p&gt;I get and send bad questions. To avoid this, I write my questions in my editor,
review and then copy them to the platform e.g. slack, email. My questions are
better, which makes me wonder if there are other changes that could further
improve my questions.&lt;/p&gt;
&lt;p&gt;A lot of …&lt;/p&gt;</summary><content type="html">&lt;p&gt;I get and send bad questions. To avoid this, I write my questions in my editor,
review and then copy them to the platform e.g. slack, email. My questions are
better, which makes me wonder if there are other changes that could further
improve my questions.&lt;/p&gt;
&lt;p&gt;A lot of great resources exist online, and here's a checklist I've made for my
questions.&lt;/p&gt;
&lt;p&gt;Before I consider asking a question, ask:&lt;/p&gt;
&lt;ol class="arabic simple"&gt;
&lt;li&gt;What do I want? Avoid thinking that the solution in mind is the problem. I
can tack on the failed solution to the question if need be. This prevents
&lt;a class="reference external" href="https://xyproblem.info/"&gt;the XY problem&lt;/a&gt; when I'm making the question.&lt;/li&gt;
&lt;li&gt;Am I forcing my experience, knowledge or the technology I know to the problem (i.e. &lt;a class="reference external" href="https://en.wikipedia.org/wiki/Einstellung_effect"&gt;einstellung&lt;/a&gt;?&lt;/li&gt;
&lt;li&gt;Spend time making the question before reaching out to someone. This prevents
&lt;a class="reference external" href="https://nohello.net/en/"&gt;sending a hello with no context&lt;/a&gt;, since I have
the question to add after the greeting.&lt;/li&gt;
&lt;li&gt;Do my research, and note down all the findings I've got. This helps when
adding details to the question.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;For example, I built an image on a server, but failed severally because the
server ran out of memory. I spent a lot of time trying to figure out how to
limit docker memory, but this wasn't the goal. Following the above process could
have helped.&lt;/p&gt;
&lt;ol class="arabic simple"&gt;
&lt;li&gt;What did I want? I wanted a custom image on the server.&lt;/li&gt;
&lt;li&gt;Am I forcing the technology I know or the solution I've thought out? Yes I
was. The server ran out of memory severally and I tried to find ways to
limit the memory while building the image. I didn't even stop to consider
that there would be another option to get this image in.&lt;/li&gt;
&lt;li&gt;Spend time making the question before reaching out to someone. At this point
I realized that I was solving the wrong problem, and decided to find other
options for what I wanted.&lt;/li&gt;
&lt;li&gt;Do my research and note down all findings. While researching the original
problem, I found that I can load up a locally build image to a server by
using docker load, which solve the problem, hence no need to ask.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Once I've done the above and the problem persists, I make and refine the question by:&lt;/p&gt;
&lt;ol class="arabic simple"&gt;
&lt;li&gt;Having meaningful subject headers.&lt;/li&gt;
&lt;li&gt;Starting with the goal, then the steps I've taken, hence I ensure others will
know if my steps were wrong or if there were other options I didn't consider.&lt;/li&gt;
&lt;li&gt;&lt;dl class="first docutils"&gt;
&lt;dt&gt;Editing the question to be short but informative. I can include:&lt;/dt&gt;
&lt;dd&gt;&lt;ul class="first last"&gt;
&lt;li&gt;the environment this occurred (if relevant)&lt;/li&gt;
&lt;li&gt;the symptoms in chronological order&lt;/li&gt;
&lt;li&gt;the research done&lt;/li&gt;
&lt;li&gt;a way to reproduce the error (if possible).&lt;/li&gt;
&lt;li&gt;screenshots if its a UI bug&lt;/li&gt;
&lt;/ul&gt;
&lt;/dd&gt;
&lt;/dl&gt;
&lt;/li&gt;
&lt;li&gt;Trimming down code snippets and test cases to the smallest bug-demonstrating version.&lt;/li&gt;
&lt;li&gt;Avoiding open-ended questions by being explicit in what I want. The less
effort my request needs the likelier I'll get a response e.g. 'Can someone
explain X?' forces someone to create a detailed explanation while 'Can
someone provide a pointer to a good explanation of X' means they only send
you to a relevant blog post.&lt;/li&gt;
&lt;li&gt;Writing in clear, grammatical and well spelled language.&lt;/li&gt;
&lt;li&gt;Avoiding yes or no questions.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Once you have the question, then:&lt;/p&gt;
&lt;ol class="arabic simple"&gt;
&lt;li&gt;Look for a relevant public channel. Avoid private ones or personal messages
since public ones ensure more people see the question and learn from it.&lt;/li&gt;
&lt;li&gt;Follow up with a brief note on the solution to the thread. Upvote helpful
answers and accept any that solved the problem.&lt;/li&gt;
&lt;li&gt;Don't ask questions in ongoing threads since those not following the thread
will not see it.&lt;/li&gt;
&lt;li&gt;Be courteous, use please and 'thanks for your attention', etc.&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="section" id="references"&gt;
&lt;h2&gt;References&lt;/h2&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference external" href="http://www.catb.org/esr/faqs/smart-questions.html"&gt;http://www.catb.org/esr/faqs/smart-questions.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="https://en.wikipedia.org/wiki/Einstellung_effect"&gt;https://en.wikipedia.org/wiki/Einstellung_effect&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="https://xyproblem.info/"&gt;https://xyproblem.info/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="https://nohello.net/en/"&gt;https://nohello.net/en/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
</content><category term="Random"/></entry><entry><title>My Opinions on expenses</title><link href="https://blog.jnduli.co.ke/my_opinions_on_expenses.html" rel="alternate"/><published>2022-06-04T00:00:00+03:00</published><updated>2022-06-04T00:00:00+03:00</updated><author><name>John Nduli</name></author><id>tag:blog.jnduli.co.ke,2022-06-04:/my_opinions_on_expenses.html</id><summary type="html">&lt;div class="section" id="cheap-items"&gt;
&lt;h2&gt;Cheap items&lt;/h2&gt;
&lt;p&gt;I read &lt;a class="reference external" href="https://www.johndcook.com/blog/2020/07/25/worst-tool-for-the-job/"&gt;this article about buying the cheapest tool first&lt;/a&gt;, and if I
use it until it breaks, then I can buy the most expensive one. I've tried to
apply this to my purchases, and I've realized that I am sometimes okay with the
cheap things I've bought …&lt;/p&gt;&lt;/div&gt;</summary><content type="html">&lt;div class="section" id="cheap-items"&gt;
&lt;h2&gt;Cheap items&lt;/h2&gt;
&lt;p&gt;I read &lt;a class="reference external" href="https://www.johndcook.com/blog/2020/07/25/worst-tool-for-the-job/"&gt;this article about buying the cheapest tool first&lt;/a&gt;, and if I
use it until it breaks, then I can buy the most expensive one. I've tried to
apply this to my purchases, and I've realized that I am sometimes okay with the
cheap things I've bought&lt;/p&gt;
&lt;p&gt;For example, I wanted a laptop, and saved up Ksh 150K for it, but chose to try
out an older thinkpad model first. I bought a refurbished thinkpad t440 for Ksh
30K and I love it. It has most of the things I need and great linux support. The
only gotcha is playing AAA games, but this led me to trying out niche games and
I've found some hidden gems. If this laptop ever breaks, I'll get a similar one.
I don't see the point of spending 5 times the amount on something that is
marginally better (for my needs that is).&lt;/p&gt;
&lt;p&gt;Sometimes the most expensive item is difficult to maintain, especially when
parts need to be replaced. When we moved into our home, we bought the most
expensive shower head our electrician recommended, and it worked for a year
before the heating element broke. The electrician tried to find a replacement,
but couldn't, so we bought a new shower head. But this time we got the lower
priced ones that are more common. This also happened with my brother's laptop
(an ultrabook), where he'd accidentally poured water on the keyboard, and it
needed to be replaced. It took weeks to find a replacement, and it was costly.&lt;/p&gt;
&lt;p&gt;I now purchase cheap items mostly because:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;It provides a chance to see if I need it or not.&lt;/li&gt;
&lt;li&gt;The cheap item are sometimes capable of what I need.&lt;/li&gt;
&lt;li&gt;The cheap items are sometimes easier to repair.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I avoid cheap items that have too many features for the price though e.g. a
convertible laptop, with a touch screen, support for a digital pen, light weight
and more. At that price point, these features don't make sense and there are
some shortcuts made e.g. poor build quality.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="impulse-purchases"&gt;
&lt;h2&gt;Impulse purchases&lt;/h2&gt;
&lt;p&gt;I sometimes get an urge to buy something I've seen, because seeing causes my
brain to find uses for it. For example, I'll see a camera and start imagining
all the cool photos I can take, while ignoring that I rarely take pictures on my
smart phone. Being aware of this helps a bit, especially when it comes to places
I avoid (ref: atomic habits).&lt;/p&gt;
&lt;p&gt;Supermarkets and malls may be designed with this in mind. In malls, I easily get
lost when looking for a particular shop, meaning that I see a lot more things
that triggers the impulse. I try to avoid malls and look for alternatives. When
shopping, I make a list and stick to it, avoiding cues from the supermarket.&lt;/p&gt;
&lt;p&gt;I use leetblock and adblockers on my computers to block websites that provide
these cues. This makes it really hard to visit them.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="experiences-vs-things"&gt;
&lt;h2&gt;Experiences vs Things&lt;/h2&gt;
&lt;p&gt;I also liked &lt;a class="reference external" href="https://write.as/harold-lee/theres-a-phrase-going-around-that-you-should-buy-experiences-not-things"&gt;this article on buying things not experiences&lt;/a&gt;,
and learnt that there's a blurry boundary between items and experiences, in that
there are experience like things e.g. owning a workshop, and there are
thing-like experiences e.g. an instagrammable vacation. Experiences are
preferred because of limits in our lives e.g. we don't have enough space for
them, or it could be a way to show that we're better in a world of material
abundance, hence the 'buy experiences not things' mantra.&lt;/p&gt;
&lt;p&gt;This ignores that we can get things that can provide multiple life changing
experiences over the course of their ownership, so long as they're carefully
chosen. A naive example would be to purchase a gaming rig rather than making
payments at a gaming shop. This provides multiple chances to explore games you
enjoy, playing with friends and even meeting random people online. Another
similar example provided is owning a large living room, which provides a change
to host friends and expand your network.&lt;/p&gt;
&lt;p&gt;So where possible, consider the experiences of making a purchase, rather than
just brushing it off as materialism. This though means I should also be aware of
the biases mentioned in the previous section, and I try to balance both of
these.&lt;/p&gt;
&lt;/div&gt;
</content><category term="Random"/></entry><entry><title>PC Assembly and Motorola C Plus Fix</title><link href="https://blog.jnduli.co.ke/pc-assembly-errors-and-motorola-c-plus-fix.html" rel="alternate"/><published>2019-05-26T00:00:00+03:00</published><updated>2019-05-26T00:00:00+03:00</updated><author><name>John Nduli</name></author><id>tag:blog.jnduli.co.ke,2019-05-26:/pc-assembly-errors-and-motorola-c-plus-fix.html</id><summary type="html">&lt;p&gt;I assembled my first PC this month. It took me a full Saturday for this,
and I blame it on the case I got. I cheaped out on it, and ended up
taking a lot of time setting things properly inside it. Here is the &lt;a class="reference external" href="https://pcpartpicker.com/user/jnduli/saved/#view=CMgBZL"&gt;build&lt;/a&gt;. Some of the
mistakes …&lt;/p&gt;</summary><content type="html">&lt;p&gt;I assembled my first PC this month. It took me a full Saturday for this,
and I blame it on the case I got. I cheaped out on it, and ended up
taking a lot of time setting things properly inside it. Here is the &lt;a class="reference external" href="https://pcpartpicker.com/user/jnduli/saved/#view=CMgBZL"&gt;build&lt;/a&gt;. Some of the
mistakes I made include:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Cheaping out on the case. This made it really difficult to add
various parts. I also gave up on cable management.&lt;/li&gt;
&lt;li&gt;Bought too many fans. The case only supports two fans (of which it
comes with both).&lt;/li&gt;
&lt;li&gt;I didn't have a proper monitor that capitalizes on the PC power.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I really like the build though, and I'm using it to play games and for
some machine learning. I also got to find out that steam support on linux is
really great (the PC runs linux btw).&lt;/p&gt;
&lt;p&gt;I also did my first screen replacement this month. I own a Motorola Moto
C Plus, and its touch screen had stopped working completely. I ordered one
off ebay, and got around to replacing it. The process was
surprisingly easy. For tools, I was lucky to have everything I needed,
which was a screw driver set, tweezers and a heat gun.&lt;/p&gt;
&lt;p&gt;Here is the video guide I followed:&lt;/p&gt;
&lt;iframe width="690" height="388" src="https://www.youtube.com/embed/AkOWL2akBtk" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen&gt;&lt;/iframe&gt;</content><category term="Random"/><category term="projects"/></entry><entry><title>Courage To Be Disliked: A Review</title><link href="https://blog.jnduli.co.ke/courage-to-be-disliked-a-review.html" rel="alternate"/><published>2019-02-13T16:20:00+03:00</published><updated>2019-02-13T16:20:00+03:00</updated><author><name>John Nduli</name></author><id>tag:blog.jnduli.co.ke,2019-02-13:/courage-to-be-disliked-a-review.html</id><summary type="html">&lt;p&gt;Courage to be disliked is a book that explains Adlerian psychology. It
does so in the form of a dialog, between a student and a master. Here
are the various ideas I got from reading the book:&lt;/p&gt;
&lt;div class="section" id="etiology-vs-teleology"&gt;
&lt;h2&gt;Etiology vs Teleology&lt;/h2&gt;
&lt;p&gt;Etiology is when someone focuses on the past, and uses …&lt;/p&gt;&lt;/div&gt;</summary><content type="html">&lt;p&gt;Courage to be disliked is a book that explains Adlerian psychology. It
does so in the form of a dialog, between a student and a master. Here
are the various ideas I got from reading the book:&lt;/p&gt;
&lt;div class="section" id="etiology-vs-teleology"&gt;
&lt;h2&gt;Etiology vs Teleology&lt;/h2&gt;
&lt;p&gt;Etiology is when someone focuses on the past, and uses past experiences
and events to explain what has currently happened. The text is heavily
against this, since it provides an easy way out of various problems that
occur in life. The book however emphasizes on teleology, which is where
one focuses on the now, and tries to find out why various things have
happened. A good example of this is when one goes to the doctor, who
doesn't try to figure out what past event caused some disease, but
rather focusses on the current symptoms and treating the current
ailment.&lt;/p&gt;
&lt;p&gt;The biggest problem with etiology however, is that it can lead to self
determinism. This is where one believes that how their life
progresses has already been determined by events in the past, and that
nothing can change this.&lt;/p&gt;
&lt;p&gt;Teleology also provides a new insight into various events and reactions.
For example, people tend to blame some reactions on their anger, as
though it was a separate entity from themselves. However, anger is a
tool that can be used to achieve some goal. A good example of this is
when a mother is angrily scolding their child. If the mother receives a
phone call, she'll put the anger away and calmly receive the call.
Afterwards, she becomes angry again and continues to scold the child.
This shows that the mother is using anger as a tool against her child.&lt;/p&gt;
&lt;p&gt;Teleology also provides a means of understanding why changing one's
lifestyle seems difficult. People tend to remain in their lifestyle
because it's comfortable and easy to predict. Lifestyles may also
provide good explanations for some decisions one has made. For example,
someone who dreams of becoming a novelist yet their job keeps them too
busy. A teleological explanation of why the novelist doesn't quit would
be that s/he is using the job (instead of quiting and focussing on the
novel) because he is actually afraid of criticism of his novel or that
s/he may produce inferior writing. Later on in their lives, they will
use the reason of old age for this too.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="weakness-and-strength"&gt;
&lt;h2&gt;Weakness and Strength&lt;/h2&gt;
&lt;p&gt;Key emotions that tend to help people become better are the feeling of
inferiority and the pursuit of superiority. They help support one's
striving for growth. However, when these feelings become a hindrance,
they develop into complexes. The inferiority complex occurs when one
uses their feelings of inferiority as an excuse in life.  For example,
one can claim that they cannot be successful because they are
uneducated, and therefore won't try to overcome this obstacle. The
superiority complex is whereby one has the feeling of inferiority but
doesn't have the strength to strive for growth. They compensate for this
by associating with people or things they feel are superior e.g. some
brands of clothes or some celebrities.&lt;/p&gt;
&lt;p&gt;Weakness can make one strong and powerful. For example, the baby can
control the parents because it is weak. Some people tend to cling to
their weaknesses so as to get some hold of people. If someone tries to
help them overcome their weakness, they use the fact that the other
party cannot possible understand their feelings as a deterrent.
However, in doing so, they become slaves to their weaknesses and end up
unable to survive without this.&lt;/p&gt;
&lt;p&gt;Going through life as though it is a competition is another form of
weakness. This is because if competition is at the core of one's
interpersonal relationships, one will start viewing people as enemies
who must not be underestimated. This makes the world a scary place to
live in.&lt;/p&gt;
&lt;p&gt;Also when having a discussion with someone, the moment it becomes a
power struggle, one should step down. This is because the conversation
has derailed from that of providing information/opinion to that of
winner and losers. Also, avoid criticizing the other party just because
you think you're right, otherwise the conversation will degenerate into
a power struggle.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="life-tasks"&gt;
&lt;h2&gt;Life Tasks&lt;/h2&gt;
&lt;p&gt;Another interesting concept introduced in the book is that of tasks. An
individual has three main classifications of tasks:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Task of friendship&lt;/li&gt;
&lt;li&gt;Task of work&lt;/li&gt;
&lt;li&gt;Task of love&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Separation of tasks is whereby one decides to what point one's own tasks
go, and from which point the tasks become another person's. Once this is
done, one should do their own tasks to the best of their ability, and
only lend a hand to others when needed. However, one should be careful
not to encroach on another person's territory. To help with this, one
needs a good way of figuring out ownership of a task. An indication of
this is who will eventually benefit if the task is done.&lt;/p&gt;
&lt;p&gt;In interpersonal relationships, it is the individual's task to believe
in the other party. How the other party behaves with regard to said
belief is not the individual's task. So if the other party takes
advantage of you, that is still their task. If one feels the
relationship is becoming problematic, it should be severed (which is the
individual's task).&lt;/p&gt;
&lt;p&gt;It is also one's task to live one's life the best way one believe in. The
judgement passed by people about one's life is not one's task. This
therefore means one is free to do as one pleases. In fact, freedom can
be defined as being disliked by other people.  This is because being
disliked by others is proof that one is living life as one would please,
not trying to satisfy others.&lt;/p&gt;
&lt;p&gt;Furthermore, if a task is beyond one's capability, one needs to accept
this and move forward in doing what one can do (self acceptance) thus
one avoids lying to oneself. This is counter to self affirmation, where
one uses phrases like 'I can do it', when something is cleary beyond
one's ability. A good example for this is in exams, where if someone
fails they will either say 'I was unlucky this time' (self affirmation)
or accept what they got and try to improve for the next exam (self
acceptance).&lt;/p&gt;
&lt;p&gt;People try to be special because they cannot accept their normal selves.
They therefore equate being normal with being incapabale. However, with
self acceptance, once accepts their ordinary selves. One should then
have the courage to be normal.&lt;/p&gt;
&lt;p&gt;The problem with aiming to be special (having lofty goals) is that one
views life like climbing a mountain, where if they do not reach the
peak, they have not reached their &amp;quot;real life&amp;quot;. This means they are not
living in the present. The greatest life lie of all is in fact to not
live here and now. A better alternative is to view life as a series of
moments, without a destination. This way, one ends up living their &amp;quot;real
life&amp;quot; every day, every hour and every minute.&lt;/p&gt;
&lt;p&gt;&amp;quot;Life in general has no meaning. Whatever meaning life has must be
assigned to it by the individual.&amp;quot;&lt;/p&gt;
&lt;/div&gt;
</content><category term="Random"/><category term="book"/></entry><entry><title>Summary of 2018</title><link href="https://blog.jnduli.co.ke/summary-2018.html" rel="alternate"/><published>2018-12-31T19:00:00+03:00</published><updated>2018-12-31T19:00:00+03:00</updated><author><name>John Nduli</name></author><id>tag:blog.jnduli.co.ke,2018-12-31:/summary-2018.html</id><summary type="html">&lt;p&gt;This year has been meh for me ;( The highlights for the year include:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Completing course work for my masters class&lt;/li&gt;
&lt;li&gt;Starting research on Renewable Energy Systems and how best to size
them and control this system.&lt;/li&gt;
&lt;li&gt;Active participation in various communities I managed to join
especially Urban Perspective and NaiLUG …&lt;/li&gt;&lt;/ul&gt;</summary><content type="html">&lt;p&gt;This year has been meh for me ;( The highlights for the year include:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Completing course work for my masters class&lt;/li&gt;
&lt;li&gt;Starting research on Renewable Energy Systems and how best to size
them and control this system.&lt;/li&gt;
&lt;li&gt;Active participation in various communities I managed to join
especially Urban Perspective and NaiLUG.&lt;/li&gt;
&lt;li&gt;Achieved most of the fitness goals I had intended to achieve at the start of
the year. Key amongst these is jogging at least 3 times a week.&lt;/li&gt;
&lt;li&gt;I also started doing some investments this year, mostly passive. Part
of my investment strategy had been in agribusiness (active
invesetment) this year, but things did not go too well of that front.
At least I achieved some level of financial literacy this year, and
have a better strategy for the oncoming year.&lt;/li&gt;
&lt;li&gt;I attended my first _ruracio_ this year. It was a unique experience
merging traditional culture with modern expectations.&lt;/li&gt;
&lt;li&gt;I had my first trip outside Nairobi. I managed to visit Naivasha and
Elementaita on an unofficial class trip. I realised I like to travel
(hopefully this will remain true) and will endeavour to visit more
places next year.&lt;/li&gt;
&lt;li&gt;Managed to sort out internet at home. This by far had the most impact
on my life this year. Having to use the internet without limits (as
had been initially the case with the bundles options I was having with
Telkom) was really refreshing. I could now experiment more, play with
more technologies and not have to think about effects of data on my
wallet.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I also managed to read some really interesting books this year, like
Deep Work and Lauren Ipsum. I didn't get to my goal of 20 books and I'm
blaming this on my loose concentration. This is whereby I'll leave a
half finished book if and when I get something more interesting. I hope
to improve on this next year.&lt;/p&gt;
</content><category term="Random"/><category term="random"/></entry><entry><title>2018 So Far</title><link href="https://blog.jnduli.co.ke/2018-so-far.html" rel="alternate"/><published>2018-08-03T19:00:00+03:00</published><updated>2018-08-03T19:00:00+03:00</updated><author><name>John Nduli</name></author><id>tag:blog.jnduli.co.ke,2018-08-03:/2018-so-far.html</id><summary type="html">&lt;p&gt;This year so far has been tough.&lt;/p&gt;
&lt;p&gt;I thought I would have read around 10 books by now but I'm barely
half that mark. Most of the books are mostly fiction, but at least
I've got some variety this time. The books I've completed so far
are:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;'The Worthing Saga' …&lt;/li&gt;&lt;/ul&gt;</summary><content type="html">&lt;p&gt;This year so far has been tough.&lt;/p&gt;
&lt;p&gt;I thought I would have read around 10 books by now but I'm barely
half that mark. Most of the books are mostly fiction, but at least
I've got some variety this time. The books I've completed so far
are:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;'The Worthing Saga' by Orson Scott Card: This is a really
interesting read, although I disagree with what I think is the
core message of this book. This is that someone has to suffer so
that they can enjoy life fully, otherwise their lives are empty.&lt;/li&gt;
&lt;li&gt;'Deep Work' by Cal Newport: This has to be the best book I've
read this year. It will be even better if I can manage to put
the advice in this book into practice. It explains the concept
of concentrating on one's work and the advantages it adds to
one's life. This concept comes with various examples of people
that have applied deep work in their practice to successful
extents.&lt;/li&gt;
&lt;li&gt;'The Princess Bride' by William Goldman: The feel-good-book of
the year. The story just flows and its told in a weird way where
the author occassionally adds commentary to provide context or
sometimes give spoilers in the book.&lt;/li&gt;
&lt;li&gt;'Lauren Ipsum' by Carlos Bueno: This book is aimed at kids but
is really awesome. Its various puns and analogies to computers
were really cool.&lt;/li&gt;
&lt;li&gt;'The Great Hunt (Wheel of Time Book 2)' by Robert Jordan: This
series does get really interesting in book 2. The first book was
a bit dull but this picks up the pace to tell a great tale of
the Dragon.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Some books I've started reading but yet to complete are:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;'Professor Frisby's Mostly Adequate Guide to Functional Programming'
by Brian Lonsdorf: This explains functional programming concepts
using javascript. This has to be the book that got me interested
in functional programming, especially when the author explained
currying and composing. That was literally mind-blowing.&lt;/li&gt;
&lt;li&gt;'LearnYouAHaskell' by Miran Lipovaka: Decided to learn a purely
functional language after getting through some chapters of
Mostly Adequate. I'm barely done with the third chapter and I'm
reall liking this way of thinking.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I haven't blogged as much as I thought I would this year.
Basically the idea was to blog on what I was doing so that it
acts a means of documentation for my future self. I find it easier
to read my own words especially when its from a concept I had
forgotten about. The good thing is I have a lot of new things I've
learned, so I really need to pull up my pants. Some topics I've
really got into include:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Robotics: I'm thinking of making a javascript tool that will do
the forward kinematics, inverse kinematics, robotic dynamics
(Euler-Lagrange and Newton-Euler) and motion planning. I think
doing this will cement the knowledge I've got a bit more.&lt;/li&gt;
&lt;li&gt;Functional programming: Not sure of what to do, but I think I'll
look for a pet project that I can implement using haskell.&lt;/li&gt;
&lt;li&gt;Model Predictive Control and Advanced Control: These are some
really dope units I'm doing in my Master's program. Its mostly
theoretical, but I have to find something practical to use these
in. I mean, just thinking about these concepts puts a smile to
my face.&lt;/li&gt;
&lt;li&gt;Hybrid Energy Systems: This is what I want to focus on for my
Masters' thesis though I'm still looking for a gap here.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For the &lt;a class="reference external" href="http://comics.jnduli.co.ke"&gt;comic site&lt;/a&gt;, I just
realized my art isn't that good. I think this has to do with
self-bias, where immediately after drawing something, I looked at
it and saw that it was good. But months later (when the feeling of
achievement has waned), I look at them objectively and I'm shocked
that I found them good. I've been looking at various videos and
trying to practice. This is something I intend to become better
at.&lt;/p&gt;
&lt;p&gt;I'm also in my second semester for masters in Mechatronics
Engineering. The course work is pretty interesting but difficult.
The killer feature though is the research work, more specifically
the research proposal. This becomes more impossible with every
passing day especially finding a viable gap. I had some things I
really wanted to get into, so I started digging in and reading
papers. I ended up (still do) frustrated and angry at myself
because I mostly couldn't understand these papers. And when I
finally get a paper I somehow understand, I can't find any gap to
fill. This has been going on for the past three months and its
maddenning. I've thought that there must be a better way to do
this, but this is the process my institution takes. I get my own
gap, and write a proposal around it (with barely any feedback or
help). So right now I'm just shooting in the dark and hoping
something comes up.&lt;/p&gt;
&lt;p&gt;For personal projects, &lt;a class="reference external" href="mradi.jnduli.co.ke"&gt;Mradi&lt;/a&gt; is coming up
nicely. Development has slowed down though in recent months.
Hopefully I will manage to finish this product soon. I also started
working on some financial tool called Staafu. It should basically
help one plan for retirement by maximizing investments and
reducing risks.&lt;/p&gt;
</content><category term="Random"/><category term="random"/></entry><entry><title>Summary of 2017</title><link href="https://blog.jnduli.co.ke/summary-of-2017.html" rel="alternate"/><published>2018-01-01T15:00:00+03:00</published><updated>2018-01-01T15:00:00+03:00</updated><author><name>John Nduli</name></author><id>tag:blog.jnduli.co.ke,2018-01-01:/summary-of-2017.html</id><summary type="html">&lt;p&gt;2017 was an interesting year in my life. I achieved a lot during
this time despite starting off on a low note. It started off on a
low note because following my graduation(2016), I was abit
confused with my life. Things however became better as the year
progressed.&lt;/p&gt;
&lt;p&gt;I …&lt;/p&gt;</summary><content type="html">&lt;p&gt;2017 was an interesting year in my life. I achieved a lot during
this time despite starting off on a low note. It started off on a
low note because following my graduation(2016), I was abit
confused with my life. Things however became better as the year
progressed.&lt;/p&gt;
&lt;p&gt;I got my first job as a systems engineer at Koko Networks. I
learnt a lot while I was there: circuit design, firmware
development, managing and motivating teams and engineering
operations in general. The team at Koko was really helpful and
great. For that, I am grateful.&lt;/p&gt;
&lt;p&gt;I also made my first production circuits this year. The first was
a simple LED multiplexing array that was used to display various
texts. The second was a simple auto-agriculture kit for Aura
Engineering. These projects made me learn a lot about Kicad and
how to deal with PCB manufacturers.&lt;/p&gt;
&lt;p&gt;I was also an active contributor in the GrabCad community. I
uploaded a total of 20 models in 2017. I have learnt a lot about
using Solidworks and Inventor for design. I've experimented on
using FreeCAD in doing some design work and I'm impressed by the
many features it has. I want to do a lot more using FreeCAD
because I'm a huge open source enthusiast.&lt;/p&gt;
&lt;p&gt;In development, my first ever &amp;quot;serious&amp;quot; open source contribution
was accepted and merged to the main source tree. It was to add
support for rstcheck to vim-ale. Vim-ale is a vimscript linting
engine. I also made a comic site system in django that currently
runs on my server at &lt;a class="reference external" href="https://comics.jnduli.co.ke/"&gt;comics.jnduli.co.ke&lt;/a&gt;. For big projects, I started on
Mradi (an organisation system) which is still incomplete. Mradi's
tech stack uses: VueJS, ansible, django in the process.&lt;/p&gt;
&lt;p&gt;As far as infrastracture is concerned, I got to learn and use
ansible. Writing playbooks is fun, and automating steps is an
interesting challenge. Most of my projects currently have an
ansible config that helps in set up and configuration of various
tasks.&lt;/p&gt;
&lt;p&gt;Reading this year has been fruitful. The highlight of my year in
reading was completing the Foundation Trilogy by Isaac Asimov. It
taught me a lot about politics, economics and society. I also have
a huge catalog of unfinished books: Learn Vimscript the Hard Way,
The Art of Unix Programming and Thinking in Systems. These are
really great books that I should have completed.&lt;/p&gt;
&lt;p&gt;My participation in Urban Perspective (a bookclub) and Nailug
(Linux User Group) was also encouraging. I got to know so many
interesting people, learn from them, critique some ideas and
socialize.&lt;/p&gt;
&lt;p&gt;Finally, I got the PAUSTI scholarship. This was a pretty trying
moment for me because it meant I had to stop working and leave my
colleagues at Koko. This was a tough decision to make and leaving
Koko was a low point for me in 2017.&lt;/p&gt;
&lt;p&gt;2017 was a great year. That was my summary of the year, and now I
can see through 2018.&lt;/p&gt;
</content><category term="Random"/></entry><entry><title>Zealot B570 Bluetooth Headset</title><link href="https://blog.jnduli.co.ke/b570-zealot-headset-review.html" rel="alternate"/><published>2017-12-22T15:00:00+03:00</published><updated>2017-12-22T15:00:00+03:00</updated><author><name>John Nduli</name></author><id>tag:blog.jnduli.co.ke,2017-12-22:/b570-zealot-headset-review.html</id><summary type="html">&lt;p&gt;I got the zealot b570 a couple of months ago. I have been using it
since then and it has not disappointed. In fact, I really like
this headset. I'm also a bit clumsy, so it's been subjected to a
rough time, and its still working well.&lt;/p&gt;
&lt;div class="section" id="pros"&gt;
&lt;h2&gt;Pros&lt;/h2&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Bluetooth capable …&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;</summary><content type="html">&lt;p&gt;I got the zealot b570 a couple of months ago. I have been using it
since then and it has not disappointed. In fact, I really like
this headset. I'm also a bit clumsy, so it's been subjected to a
rough time, and its still working well.&lt;/p&gt;
&lt;div class="section" id="pros"&gt;
&lt;h2&gt;Pros&lt;/h2&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Bluetooth capable&lt;/li&gt;
&lt;li&gt;SD card slot&lt;/li&gt;
&lt;li&gt;OK battery life&lt;/li&gt;
&lt;li&gt;I can listen to audio over mini usb and over 3.5 mm jack. I
prefer using the mini usb option, so that's a plus.&lt;/li&gt;
&lt;li&gt;Good audio quality&lt;/li&gt;
&lt;li&gt;Really durable. I've never had a head set that lasted more than
3 months. But this was primarily due to the 3.5 mm jack getting
cut / broken.&lt;/li&gt;
&lt;li&gt;The control buttons are located at a good location.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section" id="cons"&gt;
&lt;h2&gt;Cons&lt;/h2&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;The headset was really tight and painful to wear. To fix it, I
stretched it for some days and it worked well.&lt;/li&gt;
&lt;li&gt;The LED lights are really annoying. I wish there were an option
to disable these.&lt;/li&gt;
&lt;li&gt;I don't use the FM mode, so it kind of disappoints me when I'm
switching modes and the noise from the FM mode comes up.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
</content><category term="Random"/><category term="product"/><category term="review"/></entry><entry><title>Airtel Money and Paypal</title><link href="https://blog.jnduli.co.ke/airtel-money-and-paypal.html" rel="alternate"/><published>2016-12-20T20:50:00+03:00</published><updated>2016-12-20T20:50:00+03:00</updated><author><name>John Nduli</name></author><id>tag:blog.jnduli.co.ke,2016-12-20:/airtel-money-and-paypal.html</id><summary type="html">&lt;p&gt;Registering on Paypal with Airtel Money Card&lt;/p&gt;</summary><content type="html">&lt;p&gt;Note: This article is outdated. I haven't used these steps in a few years.&lt;/p&gt;
&lt;p&gt;Paypal is an online means of paying for goods and services. It is
especially useful when working with sites like ebay, where some
sellers flat out only want payments through paypal.&lt;/p&gt;
&lt;p&gt;Airtel Money is a competitor to Safaricom's Mpesa. What makes me
use it is that they have the Airtel Money card, which is really
easy to get and use. They are also cheaper than Mpesa. Anyway,
more on that later.&lt;/p&gt;
&lt;p&gt;So I decided I wanted to use my airtel money card with paypal. I
then registered on the Paypal site. Paypal then make a withdrawal
from my account. The purpose of this transaction is so as to
confirm that I am the owner of the card, that is, the money
transacted is not lost.&lt;/p&gt;
&lt;p&gt;So the transaction has a description with a unique 4 digit code.
The only way to access that number is from a bank statement for
the card. &lt;/p&gt;
&lt;p&gt;Unfortunately airtel money cannot provide that information. They
were rather unhelpful here and I had to physically visit their
stores before they gave me that information.  So you
have to visit Chase Bank( in Kenya). Remember to carry your
National Id and the Airtel Money card. They will print for you the
bank statement at no charge and give it to you.&lt;/p&gt;
&lt;p&gt;Once you have the statement, get the unique transaction number,
complete your registration on Paypal, and wallah! You can now use
your card through paypal.&lt;/p&gt;</content><category term="Random"/><category term="money"/></entry></feed>