Jekyll2023-09-18T14:52:25+02:00http://localhost:4000/feed.xmlRandom things from random placesI'm Jor, and this is my website, nothing more, nothing less. Nothing is regularly scheduled here. Hope you like it!
If you're looking for a hire, check [this](/resume) out.
Jor BashllariLooping in Youtube2019-04-18T00:00:00+02:002019-04-18T00:00:00+02:00http://localhost:4000/life/19/youtube-loops<p>Here’s a funny pastime: find how many videos it takes to go back to the first video.</p>
<p>Extra: try it with different accounts.</p>
<p>Extra extra: keep track of the time watched and/or total video time.</p>
<p>Extra^3: use a VPN or, if you’re broke and feeling statistically average, Tor.</p>
<p>Aside: my ‘funny’ is seldom ‘haha’ and more like ‘oh wow’ or ‘I need an adult’.</p>Jor BashllariHere’s a funny pastime: find how many videos it takes to go back to the first video. Extra: try it with different accounts. Extra extra: keep track of the time watched and/or total video time. Extra^3: use a VPN or, if you’re broke and feeling statistically average, Tor. Aside: my ‘funny’ is seldom ‘haha’ and more like ‘oh wow’ or ‘I need an adult’.Thoughts on thoughts on words and trust2019-04-04T00:00:00+02:002019-04-04T00:00:00+02:00http://localhost:4000/life/19/thoughts-on-thoughts-on-words<p>Being decent with only one of the three, I’ve seen some pretty weird things
these past two weeks. For one, <a href="https://sfk.flossk.org/sfk19">SFK</a> begins today, and I wish I could push this
post without a proper connection. Second, the Epitech pedagogical staff is
coming and going like spring rains and I have no idea why. The current DPR
doesn’t seem that bad, but we’ll see. At the very least, there’s a focus on
maintaining what currently exists, rather than shoving up some random *.js and
trying to fix problems with that…</p>
<p>My yearly nose-periods have recently started, and I’d like to explain to
everyone that it’s (a) not a problem, (b) even if it were, it’s only mine and
nothing relevant to you, and (c) of course I didn’t go to the doctor about the
same issue for seven years straight! How come I never thought about that?<br />
Sometimes I feel like this is all either a script to look concerned (and I feel
I’ve started doing this too) or it falls into the ‘small talk’ bucket.</p>
<p>Whatever the reason, it seems that almost everyone is happier or less surprised
when told that the doctor told me it’s harmless than when I just tell them the
same thing without the ‘doctor’ reference, and based on what information
I explicitly give, they might as well be a Doctor of Philosophy.</p>
<p>I don’t seem to shake off this idea that people (me included, probably) give
more credibility to claims when giving a half-assed reference, which for all
intents and purposes can easily be a lie, than when showing the full path to
the source. Long story short, this kind of trust scares me, not about
friendships and other interactions where communication itself is more important
than the content being discussed, but in cases where a <em>‘How did you learn
this?’</em> is a crucial question, such as <strong>any case when I’m in goddamn school
trying to goddamn learn</strong>.</p>
<p>I’ve seen this thing happen with social media coverage of events and other
grassroots advertising, both of which seem more effective when shared by people
in some kind of relationship (romantic, work, friendship, anything beyond
‘acquaintance’). I think I understand that this happens in order to be a bit
more efficient by offloading some of the research and fact checking to our
peers, yet when everyone does this, there’s not much actual checking going on.</p>
<p>Let’s hypothesize I share some article somewhere. Looking at the frequency at
which I post, which for our case would be seldom, I would either shoot up into
the beginning of my friends’ or followers’ feed, if the platform has some form
of frecency calculation in its algorithm (a la Reddit), or it would never show
up. From what I know thus far, the vast majority follows the first route. Now
let’s look at the possible options by reading the title (<em>of course</em> nobody
reads the article if the title doesn’t pique their interests or clash with
their core ideas and beliefs in an argumentative manner – /s just in case).
Either it is a technically-focused piece of information, news about something
relevant to me, a piece of art, or something I find genuinely interesting <em>and</em>
that is unrelated to my interests.</p>
<p>If there’s a compelling reason to spend time, the currency of the twenty-first
century, on the work at hand, then there’s one more click on my post, which
means more probable future clicks. Disregarding factors such as time of
posting, demographics, age and culture, and the fact that it may be just
another old-fashioned rickroll, chances are it will do pretty well, no matter
how much the clicker learned or enjoyed, since, for all that matters to the
platform, the link was clicked, therefore it was interesting. What would cut
down on the spam generated this way is either</p>
<ul>
<li>a manual moderation system (not feasible for platforms with personal spaces,
sort of like the Facebook wall),</li>
<li>a reporting system
<ul>
<li>paired with the moderation system (most common)</li>
<li>or automated (a la Youtube), or</li>
</ul>
</li>
<li>tracking time spent on the hyperlink, either
<ul>
<li>via in-house tracker scripts that look at the time between the click and
returning to the platform site/app</li>
<li>or with trackers on the other site (a la Facebook and G+ “share” “buttons”)</li>
</ul>
</li>
<li>“democratic” voting
<ul>
<li>with positive or negative reactions (HN, Reddit, etc., forums)</li>
<li>positive-only (old FB likes, retweets)</li>
<li>or something else</li>
</ul>
</li>
</ul>
<p>Quite a bit of those are in use, huh?</p>
<p>While quite efficient, this kind of “thought outsourcing” is dangerous, for
that thought is what leads our actions, and frankly, we’re all still glorified
monkeys. Once is happenstance, two is circumstance, twenty is a tragedy, and
a million is statistics.</p>
<p>But anyway, how was your day?</p>Jor BashllariBeing decent with only one of the three, I’ve seen some pretty weird things these past two weeks. For one, SFK begins today, and I wish I could push this post without a proper connection. Second, the Epitech pedagogical staff is coming and going like spring rains and I have no idea why. The current DPR doesn’t seem that bad, but we’ll see. At the very least, there’s a focus on maintaining what currently exists, rather than shoving up some random *.js and trying to fix problems with that… My yearly nose-periods have recently started, and I’d like to explain to everyone that it’s (a) not a problem, (b) even if it were, it’s only mine and nothing relevant to you, and (c) of course I didn’t go to the doctor about the same issue for seven years straight! How come I never thought about that? Sometimes I feel like this is all either a script to look concerned (and I feel I’ve started doing this too) or it falls into the ‘small talk’ bucket. Whatever the reason, it seems that almost everyone is happier or less surprised when told that the doctor told me it’s harmless than when I just tell them the same thing without the ‘doctor’ reference, and based on what information I explicitly give, they might as well be a Doctor of Philosophy. I don’t seem to shake off this idea that people (me included, probably) give more credibility to claims when giving a half-assed reference, which for all intents and purposes can easily be a lie, than when showing the full path to the source. Long story short, this kind of trust scares me, not about friendships and other interactions where communication itself is more important than the content being discussed, but in cases where a ‘How did you learn this?’ is a crucial question, such as any case when I’m in goddamn school trying to goddamn learn. I’ve seen this thing happen with social media coverage of events and other grassroots advertising, both of which seem more effective when shared by people in some kind of relationship (romantic, work, friendship, anything beyond ‘acquaintance’). I think I understand that this happens in order to be a bit more efficient by offloading some of the research and fact checking to our peers, yet when everyone does this, there’s not much actual checking going on. Let’s hypothesize I share some article somewhere. Looking at the frequency at which I post, which for our case would be seldom, I would either shoot up into the beginning of my friends’ or followers’ feed, if the platform has some form of frecency calculation in its algorithm (a la Reddit), or it would never show up. From what I know thus far, the vast majority follows the first route. Now let’s look at the possible options by reading the title (of course nobody reads the article if the title doesn’t pique their interests or clash with their core ideas and beliefs in an argumentative manner – /s just in case). Either it is a technically-focused piece of information, news about something relevant to me, a piece of art, or something I find genuinely interesting and that is unrelated to my interests. If there’s a compelling reason to spend time, the currency of the twenty-first century, on the work at hand, then there’s one more click on my post, which means more probable future clicks. Disregarding factors such as time of posting, demographics, age and culture, and the fact that it may be just another old-fashioned rickroll, chances are it will do pretty well, no matter how much the clicker learned or enjoyed, since, for all that matters to the platform, the link was clicked, therefore it was interesting. What would cut down on the spam generated this way is either a manual moderation system (not feasible for platforms with personal spaces, sort of like the Facebook wall), a reporting system paired with the moderation system (most common) or automated (a la Youtube), or tracking time spent on the hyperlink, either via in-house tracker scripts that look at the time between the click and returning to the platform site/app or with trackers on the other site (a la Facebook and G+ “share” “buttons”) “democratic” voting with positive or negative reactions (HN, Reddit, etc., forums) positive-only (old FB likes, retweets) or something else Quite a bit of those are in use, huh? While quite efficient, this kind of “thought outsourcing” is dangerous, for that thought is what leads our actions, and frankly, we’re all still glorified monkeys. Once is happenstance, two is circumstance, twenty is a tragedy, and a million is statistics. But anyway, how was your day?NixOS2019-02-13T00:00:00+01:002019-02-13T00:00:00+01:00http://localhost:4000/tech/19/nixos<p>Cool little thing, this distro. It’s like you’re baking a bootable ISO every
time you upgrade, but other than that, it’s awesome. Maybe even the upgrade
part is doing me a favor: Arch updates are more of a <code class="language-plaintext highlighter-rouge">moon-buggy</code>-esque pastime
than system-wide changes. Maybe I needed a switch. Anyhow, these months after
school I decided to go (almost) full NixOS. The VM worked fine, the 32 bit
build didn’t, so I couldn’t test it on my old laptop. Still, the fact that such
an “underground” (not my words) distribution actually has 32 bit builds
surprised me.</p>
<p>Something with compiling Firefox’s Spidermonkey and then something about not
having enough memory (swap enabled) for the nix daemon during big package
compilations, <del>which seems to be on the works for the next release</del>
<a href="https://github.com/NixOS/nixpkgs/issues/36799">currently fixed</a>, prevented me
from doing proper performance testing, as is custom for 2006-era laptops.
I then overwrote the whole Arch partition and the install went quite smoothly
(maybe the lack of LVM/LUKS helped, maybe not).</p>
<p>The first cool thing about NixOS is the configuration file: every difference in
the system is defined on a single file, every package, every different compile
option, every running service, every partition, bootloader and kernel option.
From there, the Nix package manager also packages the configuration files for
all other programs in a separate “package” (these are called derivations and
have a .drv extension). After editing the configuration file, all you need to
do is run <code class="language-plaintext highlighter-rouge">nixos-rebuild switch [--upgrade]</code> and all changes will take effect
either immediately or after a reboot (say, bootloader configs), after updating
all non-fixed packages (you can specify which package versions you want and
this is perfect for production machines and multiuser systems, where some users
might need different software versions).</p>
<p>The second (and most important) cool thing one will notice is the nix language.
Every built package has been created following the same declarative language,
including the system configuration (<code class="language-plaintext highlighter-rouge">/etc/nixos/configuration.nix</code>) and the
per-user configurations (via
<a href="https://nixos.wiki/wiki/Home_Manager"><code class="language-plaintext highlighter-rouge">home-manager</code></a>). I wanted to get my
toes wet with Haskell when it comes to functional programming, but it seems
I had to learn some in order to user NixOS.</p>
<p>Third, this kind of specification allows for scary orchestration and
customization. Ansible, Saltstack and the like all go out the window, as the
system just <em>is</em>, there is no point in using imperative forms and shuffling
files in various locations (although there is a way to order a package
install). Entire folders of shell scripts and Makefiles can be safely thrown
out, since one could just edit either the expression directly from the store,
or add/customize an attribute/option via <code class="language-plaintext highlighter-rouge">packageOverrides</code>. We have to come
back to the previous part of system rewrites and point out that the /etc folder
is also often nuked (especially boot files). If you want to keep
a configuration, store it in /etc/static and symlink to the proper place <strong>in
/etc only</strong>. The filesystem tree is very different: each package is stored in
/nix/store/<hash>-<package name=""> and the respective derivation has a .drv at
the end. This also means that inside each package there might be a bunch of
./lib or ./usr subdirectories with documentation and service files and whatnot</package></hash></p>
<p>Nix, on the other hand, is a different beast. It not only expects to be the
only package manager in the system in the case of NixOS, but actually enforces
this (installing Python packages via <code class="language-plaintext highlighter-rouge">pip</code> or gems via <code class="language-plaintext highlighter-rouge">gem</code> is pointless as
you won’t be able to run them without much hassle). On the other hand, it can
also coexist with other package managers, say DNF or APT, if installed on
a distro different from NixOS. It can also change that distro <em>into</em> NixOS if
you want. All this seemingly pointless fluff, although quite useful for quick
migrations, requires Nix to take a different approach to packaging: if
a derivation identifiable by its hash isn’t found on the public cache
(something like a big public repo), then it is <em>transparently</em> built following
the appropriate nix expression. This makes Nix something between Arch’s ABS/AUR
and Gentoo’s (together with all the BSDs) port(age) trees, but <em>betterer</em>.</p>
<p>I’ve tried to write an expression for
<a href="https://github.com/seanh/terminal_velocity">terminal_velocity</a>, but it seems
I’m in too deep and will have a go with user environments instead.</p>Jor BashllariCool little thing, this distro. It’s like you’re baking a bootable ISO every time you upgrade, but other than that, it’s awesome. Maybe even the upgrade part is doing me a favor: Arch updates are more of a moon-buggy-esque pastime than system-wide changes. Maybe I needed a switch. Anyhow, these months after school I decided to go (almost) full NixOS. The VM worked fine, the 32 bit build didn’t, so I couldn’t test it on my old laptop. Still, the fact that such an “underground” (not my words) distribution actually has 32 bit builds surprised me. Something with compiling Firefox’s Spidermonkey and then something about not having enough memory (swap enabled) for the nix daemon during big package compilations, which seems to be on the works for the next release currently fixed, prevented me from doing proper performance testing, as is custom for 2006-era laptops. I then overwrote the whole Arch partition and the install went quite smoothly (maybe the lack of LVM/LUKS helped, maybe not). The first cool thing about NixOS is the configuration file: every difference in the system is defined on a single file, every package, every different compile option, every running service, every partition, bootloader and kernel option. From there, the Nix package manager also packages the configuration files for all other programs in a separate “package” (these are called derivations and have a .drv extension). After editing the configuration file, all you need to do is run nixos-rebuild switch [--upgrade] and all changes will take effect either immediately or after a reboot (say, bootloader configs), after updating all non-fixed packages (you can specify which package versions you want and this is perfect for production machines and multiuser systems, where some users might need different software versions). The second (and most important) cool thing one will notice is the nix language. Every built package has been created following the same declarative language, including the system configuration (/etc/nixos/configuration.nix) and the per-user configurations (via home-manager). I wanted to get my toes wet with Haskell when it comes to functional programming, but it seems I had to learn some in order to user NixOS. Third, this kind of specification allows for scary orchestration and customization. Ansible, Saltstack and the like all go out the window, as the system just is, there is no point in using imperative forms and shuffling files in various locations (although there is a way to order a package install). Entire folders of shell scripts and Makefiles can be safely thrown out, since one could just edit either the expression directly from the store, or add/customize an attribute/option via packageOverrides. We have to come back to the previous part of system rewrites and point out that the /etc folder is also often nuked (especially boot files). If you want to keep a configuration, store it in /etc/static and symlink to the proper place in /etc only. The filesystem tree is very different: each package is stored in /nix/store/- and the respective derivation has a .drv at the end. This also means that inside each package there might be a bunch of ./lib or ./usr subdirectories with documentation and service files and whatnot Nix, on the other hand, is a different beast. It not only expects to be the only package manager in the system in the case of NixOS, but actually enforces this (installing Python packages via pip or gems via gem is pointless as you won’t be able to run them without much hassle). On the other hand, it can also coexist with other package managers, say DNF or APT, if installed on a distro different from NixOS. It can also change that distro into NixOS if you want. All this seemingly pointless fluff, although quite useful for quick migrations, requires Nix to take a different approach to packaging: if a derivation identifiable by its hash isn’t found on the public cache (something like a big public repo), then it is transparently built following the appropriate nix expression. This makes Nix something between Arch’s ABS/AUR and Gentoo’s (together with all the BSDs) port(age) trees, but betterer. I’ve tried to write an expression for terminal_velocity, but it seems I’m in too deep and will have a go with user environments instead.5 days to OSCAL2018-05-14T16:14:00+02:002018-05-14T16:14:00+02:00http://localhost:4000/life/18/5-days-to-OSCAL<p>OSCAL is nearly here, the practice exams are almost over with 4 finals to go
and absolutely no goal score in mind, and a fully running website complete with
CD is up for grabs. Life is good. I’m hoping there won’t be much walking to be
done, since my left leg has a mind of its own and it doesn’t seem to be in the
mood for shuffling about in summer heat. I even have a workshop to yip-yap on
during noon (double time, but there’s still a lot to talk about). There’s
a camping trip delayed for this week, but there’s nothing bribing a Senate
can’t do.</p>
<p>I’ll have to be extra careful to pick up some spicy project for at least until
June 20th while I’m technically at school not racking up absences (or maybe
not) and devouring bags of sunflower seeds from special places. Until then, ^Z!</p>Jor Bashllariand a lot to go onRamblings part eye eye2018-04-16T23:23:00+02:002018-04-16T23:23:00+02:00http://localhost:4000/updates/18/ramblings-pt-2<p>I’ve been asked multiple times about how to make a decent FOSS music server as
minimal as possible, and people are rarely happy when told to RTFM. I have come
to some sort of a conclusion that not all people I talk to have all the
patience in the world to make their tools work as they want them to, or know
how they want them in the first place (mostly the 1337 h4xx0r image many have
from hearing “I use (GNU/)Linux”; I feel this is a bit more than just
a problem, and the fact that I’m a picky prick on what I touch and use doesn’t
help, but this isn’t quite what I wanted to write about). That’s next: setting
up an <a href="https://www.musicpd.org/">MPD</a> server and installing a client (probably Cantata or MPDroid,
ncmpcpp — and other TUI apps — are out of the question), together with
a simple overview of <a href="http://beets.io/">beets</a> and <a href="https://picard.musicbrainz.org/">Picard</a> (both are library managers based on
the <a href="https://musicbrainz.org/">MusicBrainz</a> database/service).</p>
<p>On the other hand, OSCAL is nearing and I know what I’m talking about out
there, but something needs to be prepped up. I guess this will <em>probably</em> be
<em>some sort of</em> roadmap:</p>
<ol>
<li>Finish with OSCAL and totel</li>
<li>Set up a music server</li>
<li><code class="language-plaintext highlighter-rouge">git</code> the hang of Pandoc</li>
<li>TL;DR-ify Ansible during the summer</li>
</ol>
<p>In the meantime, I’m still fidgeting with Vim to get it to do what I want in
4 keypresses and 1 second at most. I’ll definitely show the setup in detail to
get some beginners off the ground, but please don’t just copy and paste. Please
<a href="http://learnvimscriptthehardway.stevelosh.com/">Learn Vimscript the Hard Way</a>.</p>Jor BashllariTODOs, roadmaps, prepsRandom updates I feel I need to post2018-02-14T20:51:00+01:002018-02-14T20:51:00+01:00http://localhost:4000/life/18/updates<p>So, now I’m a CTO, possibly in addition to simultaneously being a CEO in the
near future as things are going, have a singing lightning-thrower to build, my
laptop’s screen is bugging me with a big bright spot right in the middle, and
I have an essay to write, but that’s fine, because I’m fine. I even started
listening to the Ender’s Saga this week. Life is good. It feels as if this is
more of a diary of mine to keep me in check rather than a place to share
interesting stuff, but as all y’all might have figured out, I need this.
I can’t even look at my handwriting and some of you may know it, so a diary
would be digital-only, just so I could be able to read it at a later date.</p>
<p>I’ve received a bunch of emails about RSS problems and decided to try my site
out with <code class="language-plaintext highlighter-rouge">newsboat</code>, and I can safely assume it’s a failure everywhere. Many
other posts from Jekyll users confirm this, so Jekyll is pretty much out of the
question for the self-hosted piece I’m building. I’m sorry for setting this
aside, but I have more pressing issues at hand. <code class="language-plaintext highlighter-rouge">elinks</code> and <code class="language-plaintext highlighter-rouge">w3m</code> work fine
for normal CLI browsing, so there’s a decent workaround. Don’t expect me to
churn out daily (or even weekly) articles.</p>
<p>As for the Nextcloud tutorial, the draft has remained untouched from sometime
around December and will remain that way up until May, to say the least. Send
me an email if you want help. I’ll find some time to spare while throwing
random links your way. I promise there will be much more fun stuff after this
school year’s end, no matter where I get accepted. I’m currently thinking of
making a CLI journey for beginners and some nifty old software advertising here
and there, a la <a href="http://inconsolation.wordpress.com/">Inconsolation</a>, but I would quickly run out: Vim is my
workplace, from mail and notes and vi-style browsing to writing and webdevving.
Finishing the SSTC’s code with a code generator with MIDI files as input would
be a great pastime indeed, right after we document everything and remain sane
despite any unplanned contact with the arcs. I’ve been looking forward to
making a mechanical keyboard, too, something like <a href="https://github.com/adereth/dactyl-keyboard/">Dactyl</a> or <a href="https://www.reddit.com/r/MechanicalKeyboards/comments/7iu8bc/p_i_made_a_thing/">Redox</a>.</p>
<p>I think I’ll explain some dotfiles next time. For the next four months or so,
this blog will be more of a venting box for me and barely anything else. Until
then, cheers!</p>
<hr />
<p><strong>Edit:</strong> After a considerable meditation session in the meditation room on the
meditation box, I think I’ll just explain the dots in the repo’s README and cut
it short. I’ll be working on the coil during the next few months, while logging
whatever I do with the website of what we’re trying to start up. It runs on
<a href="https://wagtail.io/">Wagtail</a> and this choice is only made so that I can spend more time <del>biting
my nails in frustration</del> getting used to Django. There’s not much to be done
in the way of site design, though.</p>Jor BashllariRead if you can't kill time in any other wayOld year’s solutions2018-01-03T23:48:00+01:002018-01-03T23:48:00+01:00http://localhost:4000/life/18/old-years-solutions<p>I’m done with all the college applications, almost all important exams and,
most important, the year. It was fun being around and, although a decent chunk
of work was put into CYA-only documents, that was somehow fun too. I got a new
laptop (!), a startup (!!) and a bicycle wheel’s metal parts (<b>!!</b>), all
for $15.</p>
<p>Now, it wasn’t all that willy-nilly, but you wouldn’t want to sit and read the
bad parts (neither do I want to write), so I’ll try to keep it as
power-user-friendly as possible.</p>
<h2 id="embrace-the-unix-philosophy-when-working">Embrace the UNIX philosophy when working</h2>
<p>Everything must do one thing and it must do that thing well. This shouldn’t be
applied as-is to humans, but the essence is still the same:</p>
<ul>
<li>focus on one task and finish it;</li>
<li>use what you have learned to finish <strong>that single</strong> task;</li>
<li>if need be, learn just enough to complete it as efficiently as possible;</li>
<li>after completing it, log everything you may need and forget it.</li>
</ul>
<p>This includes any and all tasks: to make this just a bit more meta, adopt
a separate system to manage them. Methinks GTD (<a href="https://en.wikipedia.org/Getting_Things_Done">“Getting Things Done”</a> by
David Allen) is enough and I’ll have to practice it a little more. Anyway,
bookmark the Wikipedia page and put it somewhere visible (add a MOTD,
perhaps?); you can give it a skim every now and then. That’s what I’ve done
for the past four months or so. Remember, you are trying to build a habit on
which most of your professional life will depend on, so you <strong>will</strong> have to
invest time and effort. To ease switching between two tabs, I’m putting
a condensed version of the condensed version of Allen’s ideas here.</p>
<blockquote>
<p>Follow the 5 GTD workflow stages: capture (information and details about the
task), clarify/process (what <em>you</em> have to do to complete), organize (the
steps needed to complete it), plan (on how to do it), and engage(<a href="http://listenonrepeat.com/?v=lCscYsICvoA#Palpatine_Do_It_(10_Hour_Loop)">do it</a>).
Keep it as simple as possible. It’s the only case you will want to have
a horrible hack as a solution.
Do not overengineer. Go to the first character of this line and reread. This
was the hardest for me.
Think big. Find out what you want to do in life, then, as you go down in
scale, figure out what to eat for breakfast.
Having a clear goal in mind helps, no matter how stupid it may be.</p>
</blockquote>
<p>Get <code class="language-plaintext highlighter-rouge">taskwarrior</code> or <code class="language-plaintext highlighter-rouge">todotxt</code>, <code class="language-plaintext highlighter-rouge">rofi</code>, bake some bash magic and that part is
done. I have a <a href="https://github.com/alter2000/.dots/tree/master/bin/dofi">similar script</a> in my dotfiles repo, but it needs fixing and
some standardization. As of now, it’s compatible with neither tool. Anyone
rewriting it, please make a PR. :heart:</p>
<h2 id="make-the-terminal-your-home-and-the-keyboard-your-slippers">Make the terminal your home and the keyboard your slippers</h2>
<p>This includes loving plain text files, which belongs to the previous part, but
I’m more concerned with leaving the keyboard to use a pointer (any kind of
mouse, basically: trackpads, pressure thingies I don’t know the name of, balls,
mice, you name it), unless the keyboard <em>is</em> the pointer.</p>
<p>Find out how to befriend <code class="language-plaintext highlighter-rouge">tmux</code> and use a consistent set of keybindings.
Although my current window manager is <a href="https://i3wm.org">i3</a>, tmux remains a valuable tool,
especially when paired with a bottom-flush terminal window. I personally use
Vim as my text editor, so anything with a modal approach and vi-like
keybindings is a plus for me. I don’t think vi-mode command editing is worth
it, though. If you prefer doing finger gymnastics by the Emacs rules, go ahead.
Just stay consistent. Leaving navigation to your subconscious means making as
few major muscle movements, so look up how to be lazier.</p>
<p>The point above also means that text files and directory structures are the
best organizational tools, but remember that the best tools are the most used
ones, whatever happens. If you don’t have to share your todo-s or need
interoperability, you can’t force other people to change. If you have to share,
use what everyone else is using.</p>
<h2 id="remove-all-the-things">Remove ALL THE THINGS</h2>
<p>Ok, this sounds like it is about minimalism and many won’t like it, but
seriously, if something doesn’t integrate well with what you have and what you
need, it’s probably not worth the RAM it might take. Somehow I managed to go
from wiggling windows around (good old Compiz always has a place in my childish
heart) and fiddling with <strong>T H I C C</strong> GNOME bars, to a barebones setup with
only 10 core executables. A VCS can manage versions of things and those things
can be virtually anything: my dotfiles, my passwords, my website and more are
stored in git repos. I have a home cloud that needs no Nextcloud, just some
decade-old software. Find how you can confuse yourself less when switching
programs and doing daily tasks. For me, at least, window management and bloat
have made sitting in front of a computer not fun, but this doesn’t align with
my fun times of yore, so I’ve removed those tasks.</p>Jor BashllariHappy holidays, everyone!Pointless rant2017-12-18T00:48:00+01:002017-12-18T00:48:00+01:00http://localhost:4000/life/17/ramblings<p>Sometimes I feel like I’ve stayed where I am for the past year, as if nothing
had changed, not just around me. I still remember everything more as a déjà vu,
than as actual past events. Life is great when I don’t have a quantifier, when
past and present flows freely and you don’t mind how time flows with it, even
though feelings fleet past, leaving but a husk that, by itself, always feels
alive, until burnt. There’s this soft, chilling wind passing by. This should be
life, from what I’ve been told. Weird; where is <em>the</em> life?</p>
<p>Sure, it’s within us. The intestinal flora is a blessing from nature. I’m not
talking about that life, though.</p>
<p>Why does everyone have to do something in order to become someone? Why can’t we
have a society free of all prejudice? Would that raise problems when it comes
to interaction? Are those problems bigger than those solved?</p>
<p>I do want to leave this place. I do dream of a decentralized world of plenty.
I still need to feed myself and sleep, though.</p>
<p>Something inside tells me I shouldn’t post this kind of content, but that’s the
whole point of not bothering to think about the future without no-term goals.
I’m sorry if you, dear reader, had to wade through this, but there’s nothing
interesting in here. I don’t even think I’ll have time for the other parts of
the clickthrough, with all the projects and everything. Now I even have an
opportunity to design a full-fledged e-commerce website, together with everyone
I could gather for the other business parts.</p>
<h1 id="why-do-i-have-to-tell-everyone-who-i-am-to-define-and-limit-my-being-to-less-than-8-bits-per-piece-of-information-to-pretend-to-work-hard-toward-paving-my-path-when-i-know-that-pavement-will-be-not-much-more-than-a-distraction-to-what-i-will-choose-to-do-later">Why do I have to tell everyone who I am, to define and limit my being to less than 8 bits per piece of information, to pretend to work hard toward paving my path when I know that pavement will be not much more than a distraction to what I will choose to do later?</h1>
<p>I think I should just set up a complicated todo folder and break every task
down to dust. I don’t know, I think I should probably retry that. <em>Now what
convention is perfect for this *particular* use case?</em></p>Jor BashllariI feel useless, but that's okayLiving on EDGE2017-09-16T20:00:00+02:002017-09-16T20:00:00+02:00http://localhost:4000/life/17/living-on-edge<p>We all know technology has gone far enough for us to look at all the
cats we want to, help cure cancer and create cancerous communities, and
more. Data transfer and storage prices have dropped like eggs from my
bicycle, while usage naturally keeps increasing.</p>
<p>Some of us are unlucky enough to live on places the holy hand of 3G (not
even wired broadband) has yet to bless. Of course the natives have
adapted, but my habitat is quite different. I got to live for a month
(and counting) with barely any cell phone signal, and EDGE on that rare
occasion. 3G was out of the question, and the closest internet café was
roughly an hour off-road drive away. Sure, jumping on the car when
absolutely necessary is a viable option, but I have neither a license
nor a car. Hitching a ride? Sure, if there’s any. So I had to do what
every human has to do: adapt <sup><em>GASP</em></sup></p>
<p>The week before leaving I stocked up on entertainment of all sorts: music,
memes (I delegated this to a friend for the element of surprise), films,
books, offline games and some more practice exercises for the SAT. “I have
3 GB to waste on Reddit and people,” - I thought. It seems I should’ve
thought about the return trip and headphones breaking along the way.</p>
<p>/clickbait</p>
<h2 id="but-how-is-carrier-limited-data-related-to-weak-slow-connections">But how is carrier-limited data related to weak, slow connections?</h2>
<p>For one, downloading images through EDGE connections is a pain, especially
when there’s some sort of forest between the phone and the cell tower. The
same image download would need to be restarted more than once. Instant
messaging is no longer instant, just fast enough to create confusion for
others and you have to rely solely on linking the message you’re referring
to. Webmail? What is this sorcery? Even text-only email is too much. Oh, and
when you get home your Arch laptops will have an update the size of a Windows
10 update waiting for you.</p>
<h3 id="1-save-stuff-for-later">1. Save stuff for later</h3>
<p>Make a website scraper and store your memes for later, find books and manuals
you’d want to read and take one or two films/seasons on an SD card, download
a bunch of <strong>offline</strong> games and geocache files and find something a bit more
useful to do out there.</p>
<h3 id="2-dont-surf">2. Don’t surf</h3>
<p>Spare yourself the pain of downloading whole pages and automate saving some of
them (especially useful when you have signal where you usually sleep). Use
something like <a href="https://www.httrack.com/">WebHTTrack</a> or cook a script with <code class="language-plaintext highlighter-rouge">wget</code> or <code class="language-plaintext highlighter-rouge">curl</code> And don’t
visit <a href="https://youdontsurf.reddit.com">/r/youdontsurf</a> even on 3G. If necessary, use a <strong>text-based</strong> web
browser. My go-to is ELinks, with Lynx a close second. Pair it with your image
viewer of choice and you’re good to go (hint: graphs don’t scale well with
ASCII art).</p>
<h3 id="3-be-comfortable">3. Be comfortable</h3>
<p>Patience isn’t endless, after all. Don’t lie on your bed flinging your phone in
the air, hoping to get one last packet out of the connection, but don’t sit on
branches or hot sand either. Roam around and find the places with the strongest
signal, map them as GPX waypoints (I usually pick -80dB and higher) and hope
the weather is on your side.</p>
<h3 id="4-forget-about-the-world">4. Forget about the world</h3>
<p>You’re disconnected and this situation is almost always only temporary. If
you’re unlucky enough to live in this situation daily then all these tips are
probably second nature to you.</p>
<p>Find some other activity or explore a new hobby (offline, of course). Take
actual care of yourself, go walking or running or swimming or whatever, just
move. I have to say, this one was hard for me, mainly because of the scorching
sun. Walking around in a forest under the (arguably faint) moonlight isn’t that
dangerous as long as you make noise and can tell where local predators may
live. Take care, even when going out at night in populated areas.</p>
<h3 id="5-have-fun">5. Have fun</h3>
<p>Time flies when having fun. Just don’t lock yourself up unintentionally.</p>Jor BashllariOr, "How I had another epiphany"Nextcloud - what is it?2017-08-14T16:14:00+02:002017-08-14T16:14:00+02:00http://localhost:4000/tutorials/17/nextcloud-tutorial<h2 id="the-why">The why</h2>
<p>I’ve been frowned upon one too many times when suggesting other means of file
storage besides WhatsApp (or whatever the correct capitalization is) group
chats and USB drives floating around. For some reason, most of my classmates
are fine with using a chat platform as cloud storage and nobody would even
spend less than ten minutes creating a new Google account strictly for communal
use. Personally, I’m fine with the current situation too: spam stays only on my
phone and I get to manually delete the whole folder after backing up only what
<strong>I</strong> need.</p>
<p>Yes, this is selfish.</p>
<p>Yes, I am indifferent to their problems and I couldn’t care less.</p>
<p>Everybody knows I’m an egotistic spawn of Satan that is <del>cursed</del> blessed by
him to cure everyone’s MS Office maladies. I actually like this status quo,
even though it allows people to just dismiss me with my “technobabble” (<em>Open
the installer, click “Next” 5 times and reboot</em>)</p>
<p>Although I’ve definitely recommended Google Drive and Dropbox more than once as
a cloud storage provider, I’ve done so to people with the technological literacy
of a 6 year old, and I can prove that a 6 year old can log into an Ubuntu
session, start their favorite game, open local and Youtube videos and update
their computer. Fortunately, I have successfully managed to show some of the
latter the ethical issues with third-party providers (even Nextcloud-based
providers; in the end you are giving your data away in good faith that the
company will actually follow the agreement and there is no way to prove it).</p>
<p>With enough spare time I decided to make a series on how to get a Nextcloud
server up and running on an old computer with no fancy setups (one HDD, one
partition and a swapfile, running Ubuntu Server) and explain every step. After
all, this is made for absolute beginners who have only seen a CLI on TV.</p>
<h2 id="what-is-nextcloud">What is Nextcloud?</h2>
<p>From <a href="https://en.wikipedia.org/wiki/Nextcloud">Wikipedia</a>:</p>
<blockquote>
<p>Nextcloud is a suite of client-server software for creating and using file
hosting services. It is functionally similar to Dropbox, although Nextcloud
is free and open-source, allowing anyone to install and operate it on
a private server. In contrast to proprietary services like Dropbox, the open
architecture allows adding additional functionality to the server in form of
applications.</p>
</blockquote>
<p>And before you ask,</p>
<blockquote>
<p>Nextcloud is an actively maintained fork of ownCloud.</p>
</blockquote>
<p>I hope that clears out a bit of confusion.<br />
What are the benefits of it over, say, GDrive?<br />
First of all, <strong>you</strong> own the hardware, the data <em>and</em> the software.<br />
And what’s the fuss about having all those things?<br />
As I said in the last post, the four freedoms.</p>
<p>Here in Albania, though, uptime (the amount of time the server is up - running
and doing its job) is a problem, mainly because of the costly, yet patchy
electric supply and high bandwidth prices. As for hardware prices, I’m not
sure, but I know that buying a new server is more expensive per unit than
buying a datacenter’s worth. Personally, peace of mind is more expensive than
both. The rest is mainly technical issues that can be overcome by pressing the
right buttons.</p>
<p>I am not making this tutorial about OwnCloud, mainly because of two reasons:
Nextcloud is fully free, together with the core extensions, and OwnCloud has no
Sia integration (we’ll get to this later) as for now.</p>Jor BashllariThe introduction of a series on the FOSS self-hosted cloud alternative