commit 5e0cbb070baf898dcfbc6afe8612ebe8db9a7233 Author: Nicolás Ortega Froysa Date: Thu Nov 12 10:08:48 2020 +0100 Initial commit. diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..375dc52 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +# ignore generated site +output/ diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..5dbc765 --- /dev/null +++ b/Makefile @@ -0,0 +1,15 @@ +.PHONY: pages blog all clean + +pages: + mkdir -p output + find pages -type f -name '*.cfg' -print0 | sort -zr | xargs -0 saait + cp nicolas@ortegas.org_pub.asc style.css favicon.png output/ + +blog: + mkdir -p output/blog + find blog/posts -type f -name '*.cfg' -print0 | sort -zr | xargs -0 saait -o output/blog/ -t blog/templates/ + +all: pages blog + +clean: + rm -rf output diff --git a/blog/posts/2016-05-18-hello-world.cfg b/blog/posts/2016-05-18-hello-world.cfg new file mode 100644 index 0000000..52b25a1 --- /dev/null +++ b/blog/posts/2016-05-18-hello-world.cfg @@ -0,0 +1,5 @@ +filename = 2016-05-18-hello-world.html +title = Hello, World! +description = A brief introduction to my blog. +created = 2016-05-18 +updated = 2016-05-18 diff --git a/blog/posts/2016-05-18-hello-world.html b/blog/posts/2016-05-18-hello-world.html new file mode 100644 index 0000000..0ce2110 --- /dev/null +++ b/blog/posts/2016-05-18-hello-world.html @@ -0,0 +1,4 @@ +

Welcome to my blog. In the most recent update of my website I decided to create a blog along with all my other content. I hope to keep this blog less personal and more oriented towards technology, but we will see how things play out.

+ +

All my normal content will still be available on the website, I'm just adding a blog to the list.

+ diff --git a/blog/posts/2016-05-19-ethical-giving.cfg b/blog/posts/2016-05-19-ethical-giving.cfg new file mode 100644 index 0000000..7adfed7 --- /dev/null +++ b/blog/posts/2016-05-19-ethical-giving.cfg @@ -0,0 +1,5 @@ +filename = 2016-05-19-ethical-giving.html +title = Ethical Giving +description = Ethical tech gifts from the FSF. +created = 2016-05-19 +updated = 2016-05-19 diff --git a/blog/posts/2016-05-19-ethical-giving.html b/blog/posts/2016-05-19-ethical-giving.html new file mode 100644 index 0000000..f084df3 --- /dev/null +++ b/blog/posts/2016-05-19-ethical-giving.html @@ -0,0 +1,10 @@ +

Recently I came across this link on 'ethical giving' by the FSF. This is a rather good gift guide for those of us who are advocates for Free Software, as it gives a basic guide to those we love who may be a little less knowledgable in terms of technology.

+ +

I believe that it does a very good job at covering various types of devices from routers, to laptops, to 3D printers, and so on. The site is also very simple and easy to understand for our less techy loved ones, and has an amazing feature for when you look at the 'buy' section of each category the non-free option has the 'avoid' button, which has the great functionality of not being functional, helping the visitor, as thick-headed as they may be, avoid buying the non-free option.

+ +

Therefore, I fully encourage all of you to use this as a definitive gift guide for your loved ones.

+ +FSF Ethical Tech Giving Guide + +

EDIT 2016/12/02: It turns out that this is an annual thing (or something of the sort) so here's a link to the 2016 FSF Ethical Tech Giving Guide. I do not plan on updating this again, so be sure to look for it yourself next year. Also, notice how in the URL for the previous year it put `v6' and this one says `v7'? That probably means that next year's will be `v8'.

+ diff --git a/blog/posts/2016-05-20-do-you-like-it-better-here-or-there?.cfg b/blog/posts/2016-05-20-do-you-like-it-better-here-or-there?.cfg new file mode 100644 index 0000000..44d07ae --- /dev/null +++ b/blog/posts/2016-05-20-do-you-like-it-better-here-or-there?.cfg @@ -0,0 +1,5 @@ +filename = 2016-05-20-do-you-like-it-better-here-or-there?.html +title = Do You Like It Better Here or There? +description = My take on a stupid question. +created = 2016-05-20 +updated = 2016-05-20 diff --git a/blog/posts/2016-05-20-do-you-like-it-better-here-or-there?.html b/blog/posts/2016-05-20-do-you-like-it-better-here-or-there?.html new file mode 100644 index 0000000..8395d4c --- /dev/null +++ b/blog/posts/2016-05-20-do-you-like-it-better-here-or-there?.html @@ -0,0 +1,38 @@ +

Having lived in both the U.S. and Spain for quite some time I receive the +very popular question that anyone who has lived in another country knows +and dreads: "Do you like it better here or there?". Given, you might get +this question even if you have just visited another country or (if you live +in the U.S.) simply having lived in another state. It really is an annoying +question, so please stop asking it. Unless we went to a literal dump we +are going to like different parts of each.

+ +

That aside, there is something I would like to say about when people ask +this to me in Spain specifically. I have received that question in both the +U.S. and in Spain, but it feels a little different when they ask in Spain. +This is mostly because of the Spanish inferiority-complex. Most Spanish +people feel (even if they do not tell you directly) that Spain is behind +the rest of the world in just about every way possible, when that simply +isn't true, every country has its pros and cons. So when they ask me "Do +you like it better here or there?" I can always hear a tone of +self-disappointment, which pisses me off. They don't know what I'm going to +say! I might say that both the U.S. and Spain suck balls! But no, they +assume that I'm going to say that the U.S. and just about every other +country is better than them in just about everything except flamenco... +Which doesn't make sense because some of the best flamenco dancers, +singers, and guitarists are actually Japanese. Damn, if you're going to +find something that your country is good at, at least make sure it's +correct! Hey, Spain is 3rd in tourism world-wide! So every time a Spaniard +asks me this question it makes me feel bad. Mostly since one of the only +good things I can say about Minnesota (the state I lived in while I was in +the U.S.) is that its nice and quiet even in the city (most likely because +everyone has frozen to death or defected to Canada at the thought of a +Trump presidency, that or their all drooling about a 'First Woman +President'). How am I supposed to meet your expectation that Spain is so +terrible when I don't have many bad things to say? Sure, things could be +better (a lot better), but I hate this self-hatred bullshit.

+ +

Basically, stop asking these questions, and don't think your country is +better or worse than others at almost everything just because your economy +is shitty or doing well because you import Asians to do all the mentally +challenging work (U.S. *nudge, nudge*).

+ diff --git a/blog/posts/2016-05-23-the-television-is-cancer.cfg b/blog/posts/2016-05-23-the-television-is-cancer.cfg new file mode 100644 index 0000000..4320e6f --- /dev/null +++ b/blog/posts/2016-05-23-the-television-is-cancer.cfg @@ -0,0 +1,5 @@ +filename = 2016-05-23-the-television-is-cancer.html +title = The Television is Cancer +description = A rant about the damn TV. +created = 2016-05-23 +updated = 2016-05-23 diff --git a/blog/posts/2016-05-23-the-television-is-cancer.html b/blog/posts/2016-05-23-the-television-is-cancer.html new file mode 100644 index 0000000..cbccfb5 --- /dev/null +++ b/blog/posts/2016-05-23-the-television-is-cancer.html @@ -0,0 +1,50 @@ +

If there is one thing that I have noticed in both the U.S. and Spain which +annoys me the most, it's the addiction there is to the television. Of +course, by television I am not only referring to the physical TV unit but +also when watching TV programmes (or YouTube series for that matter) on an +electronic device such as the TV, phone, laptop, or whatever you can watch +endless hours of meaningless content on. It has reached the point that +the television basically controls most peoples' lives. People will change +their daily routine just to watch a series, something that I find +extremely excessive. People let the TV series control their lives and let +it determine when they eat, when they sleep, what activities they do, it's +basically like a job... except you get nothing out of it except for a +temporary numbness that distracts you from your real-life problems (huh, +sounds like an addiction, doesn't it?).

+ +

However, I personally don't care if someone wants to do such a thing to +themselves, it's your choice how much you want to destroy your life on +pointless content which won't help you get anywhere in life. My issue is +when people want to impose it as part of the already pathetic _small talk_ +which consists of nothing more than pointless statements that just about +anyone can agree with because they're extremely objective! (unless you are +talking to a 'Social Justice Warrior' in which case whatever you say is +somehow disagreeable and makes you a horrible person). So since people have +finally discovered that 'small talk' has a lack of substance to it +(seriously, how much substance can you get from sports and other extremely +simple topics of conversation) they decided that it should be filled with +even more insubstancial information by saying how amazing a TV series is +and how great a certain scene was, how much they hate a certain character, +and how the newer season isn't as good as the older one. Again, stuff that, +for the most part, everyone agrees with!

+ +

So, how does this affect me? Because when I meet someone new the first +thing they try to talk to me about is the newest season of who knows what +show that everyone likes nowadays, and I have to respond with "What's your +favorite GNU/Linux distro?" or "What's your opinion on the Chinese +economy?" (you know, topics with a little more relevance and importance in +the world).

+ +

Now, of course, this isn't all TV programmes, there are some (mostly +documentaries) which have a lot of interesting and important content, and +it's not that I hate anything that doesn't teach you something either, I +love anime, there's very little material of importance in most anime. +My issue is when people make their lives revolve around what they watch and +force me into it because that's the only thing they know enough about to +have a so-called 'in-depth conversation' about (when in reality it's not +even in-depth considering their level of knowledge of the actual shows +they're watching in terms of cinematography).

+ +

So, please, keep your bad TV habits to yourselves unless mutual interest is +explicitly stated, in which case go full throttle ahead.

+ diff --git a/blog/posts/2016-05-25-small-talk.cfg b/blog/posts/2016-05-25-small-talk.cfg new file mode 100644 index 0000000..7437057 --- /dev/null +++ b/blog/posts/2016-05-25-small-talk.cfg @@ -0,0 +1,5 @@ +filename = 2016-05-25-small-talk.html +title = Small Talk +description = +created = 2016-05-25 +updated = 2016-05-25 diff --git a/blog/posts/2016-05-25-small-talk.html b/blog/posts/2016-05-25-small-talk.html new file mode 100644 index 0000000..77ccb1f --- /dev/null +++ b/blog/posts/2016-05-25-small-talk.html @@ -0,0 +1,31 @@ +

In my post about the television I mentioned very briefly the issue of +'small talk'. First, I would like to make it clear that I am not talking +about SmallTalk +language, but rather the social phenomenon where two or more people begin +a conversation on some of the most pointless and dull topics ever. It's +always a topic that for the most part everyone can agree with and is +therefore a pointless conversation. It's always about the weather, who +won the latest sports event, what popular events are coming up, and (if +you're Spanish) the most recent corruption scandal. Never any analysis, +never any discussion, and most of all there should never be +disagreement! Because for some reason disagreeing on something with +someone else is 'a bad thing'. I disagree with people all the time, these +people mostly being my friends! So how are you going to tell me that +disagreeing with someone on something will make a relationship between two +people go downhill? I'd rather discuss and disagree with someone on an +in-depth topic than constantly agree with someone that it's a rainy day +outside and that the forecast is looking better for next week.

+ +

Of course, I do understand that you can't just go up to someone and start +talking about Keynesian economics, you have to find out if they have any +interest in economics first. What I hate is when people start using small +talk for all their conversations with another individual. By the +second time we meet we should already be able to get started with the +deeper stuff. We don't need to keep rescratching the surface, it's time +to get the shovel and dig deep.

+ +

But for some reason people are afraid of disagreement, they don't want to +march into uncharted waters where their opinions are at stake of being +disproven by reason and evidence (in which case your opinions are most +likely either wrong, incomplete, or unfounded to begin with).

+ diff --git a/blog/posts/2016-05-26-the-new-era-of-script-kiddies.cfg b/blog/posts/2016-05-26-the-new-era-of-script-kiddies.cfg new file mode 100644 index 0000000..2ef70a5 --- /dev/null +++ b/blog/posts/2016-05-26-the-new-era-of-script-kiddies.cfg @@ -0,0 +1,5 @@ +filename = 2016-05-26-the-new-era-of-script-kiddies.html +title = The New Era of Script Kiddies +description = Rant about scripting languages and the people that use them. +created = 2016-05-26 +updated = 2016-05-26 diff --git a/blog/posts/2016-05-26-the-new-era-of-script-kiddies.html b/blog/posts/2016-05-26-the-new-era-of-script-kiddies.html new file mode 100644 index 0000000..e05cde2 --- /dev/null +++ b/blog/posts/2016-05-26-the-new-era-of-script-kiddies.html @@ -0,0 +1,53 @@ +

The world of technology has little by little been taken over by the web, +which (in my opinion) isn't necessarily a bad thing. What I don't like is +that the main languages in the web are scripting languages that allow bad +practices and, to some extent, encourage them. It wouldn't be so bad (at +least for me) if this were limited to JavaScript on the client-side. My +issue is that scripting has advanced even to the servers. Sure, you can +use JSP, which is nice because it's a compiled language and it's more or +less strict as to its mentality and paradigm, but Java isn't that popular +in the web, what's popular are languages such as Python, Ruby, and +JavaScript (because someone thought it was a good idea to put JS on the +server).

+ +

You see, at least at first when mobile phones started to become popular, +they all use Java or some other stricter language, heck, you can program +Android apps in C++ if you wanted to (although I wouldn't recommend it). +Now companies figure that they can just make a web app and it will be just +the same as having a mobile app, they'll just have to go to the website to +see it. This, although true, limits the possible jobs of all developers +to mostly web monkey work, where you pay less attention on functionality +and more attention on aesthetics, which some people may enjoy, but I +sure don't.

+ +

Essentially, scripting (and by scripting I mostly mean JavaScript, you +Python and Ruby devs can calm down a bit) is allowing normies to begin +entering our field without learning any good practices, or even the +foundations of programming. Stop making it easier for people who don't care +about the beauty of programming to get into programming, they don't deserve +it. Why should someone who has no wish to learn of the beauty of painting +enter a business where they will be painting?

+ +

Of course, I have no problem with them entering our industry, so long as +they actually make an effort to learn good practices and choose a +standard for their language. Otherwise you might be reading two +JS projects from two different people, and the paradigms are so different +you might think that's a whole different language! When I learn C++ I know +that every C++ program will have essentially the same mentality to it.

+ +

I often get the impression that people who learn scripting languages are +the same people who started off with game-makers because they didn't want +to have to program the whole thing.

+ +

Of course, this is all a matter of opinion, I personally don't mind the +essence of what scripting is, I just don't like the fact that it has +basically no standards, and if it does, the language's interpreter doesn't +enforce them (I believe the HTML & CSS are partly to blame for this, seeing +that the browser often takes care of most errors your so lazy ass doesn't +have to fix them). It's not the computer's (or in this case, the web +browser's) to interpret what I mean (even though it is called an +interpreter), its job is to read my code and if something is not standard +or doesn't make sense, it doesn't fix it for me, it gives me a big fat +error in bold red text that tells me "Hey, this code is shitty, you +should change that!".

+ diff --git a/blog/posts/2016-06-05-resources-for-learning-x86_64-assembly.cfg b/blog/posts/2016-06-05-resources-for-learning-x86_64-assembly.cfg new file mode 100644 index 0000000..594b1e3 --- /dev/null +++ b/blog/posts/2016-06-05-resources-for-learning-x86_64-assembly.cfg @@ -0,0 +1,5 @@ +filename = 2016-06-05-resources-for-learning-x86_64-assembly.html +title = Resources for Learning x86_64 Assembly +description = Links for learning x86(_64) assembly. +created = 2016-06-05 +updated = 2016-06-05 diff --git a/blog/posts/2016-06-05-resources-for-learning-x86_64-assembly.html b/blog/posts/2016-06-05-resources-for-learning-x86_64-assembly.html new file mode 100644 index 0000000..fbefa69 --- /dev/null +++ b/blog/posts/2016-06-05-resources-for-learning-x86_64-assembly.html @@ -0,0 +1,56 @@ +

I guess this will be a post of mine that will actually be useful for +something...

+ +

So lately, if you've seen my Github you +can see that I've been learning some x86 assembly, specifically x86-64 (you +know, because I run a 64-bit version of the Linux kernel). But I found that +there aren't many people interested in x86-64 (which isn't saying much +considering I'm talking about Assembly, much less x86-64 Assembly), but I +was able to find some information, get some help, and a nice digital book +that teaches you x86 Assembly (not x86-64, please keep that in mind).

+ +

The first of the resources is the book, which a friend of mine, +@ComradeKeys suggested to me, called +Programming from the Ground Up +by Jonathan Bartlett. This book will teach you a lot of the basics of the +Assembly language and how to work with it, but it's only written for x86 +32-bit. However, that doesn't mean that it's hard to port to x86-64, in +fact if you look at my Github you'll see +that I've been porting some of the examples to x86-64 using the new +registers and word sizes (I've worked on getting some of the new x86-64 ABI +in there but that's taking its time since I'm still new to Assembly in +general). So you should be able to use that link for help.

+ +

Of course, something else that I noticed had changed were system calls. The +first thing I should point out is that instead of doing the `int $0x80' you +instead use the `syscall' command to call the Linux kernel. But you'll also +notice thhat the registers to use aren't the same and that the call numbers +aren't the same (yeah, 1 is no longer exit, but write), so I had to look +this up and found this link +which gives a very nice and complete list of system calls, most of which +you will most likely never use. This link also answers the question of +which registers to use as parameters for the system calls, just look at the +top of the table provided (%rax, %rdi, %rsi, etc.). With this you should +have a pretty good idea of what's going on.

+ +

However, one problem that I came up with was when I tried using the stack, +which is why I would like to point something out that is very important, +remember that x86-64 uses quads which are 8 bytes instead of 4 like +longs are (this means instead of using `movl' you use `movq'). I say this +because I had this issue when porting one of the examples from the digital +book mentioned earlier and I had to ask a question on StackOverflow about +it that can be found here.

+ +

Of course, then there's the ABI, which you can pay attention to or not if +it's just a small project, but it's a good idea to learn it. For this I +have a couple links, one is the actual x86-64 ABI +from the x86-64 website (yeah, I know right, these people have a website?) +and another much smaller version which is a University of Chicago +x86-64 Instructions and ABI +handout. Both are nice resources, just that one is a lot shorter than +the other.

+ +

With this you have some nice resources to start out with, and I'm pretty +sure there are more, but this is what I have to offer you. I hope this +post is helpful.

+ diff --git a/blog/posts/2016-06-06-why-i-hate-the-web.cfg b/blog/posts/2016-06-06-why-i-hate-the-web.cfg new file mode 100644 index 0000000..319575a --- /dev/null +++ b/blog/posts/2016-06-06-why-i-hate-the-web.cfg @@ -0,0 +1,5 @@ +filename = 2016-06-06-why-i-hate-the-web.html +title = Why I Hate the Web +description = A rant about web technologies. +created = 2016-06-06 +updated = 2016-06-06 diff --git a/blog/posts/2016-06-06-why-i-hate-the-web.html b/blog/posts/2016-06-06-why-i-hate-the-web.html new file mode 100644 index 0000000..124dd31 --- /dev/null +++ b/blog/posts/2016-06-06-why-i-hate-the-web.html @@ -0,0 +1,60 @@ +

I would first like to point out a couple things before starting my rant, +first of which is that I am talking about the web, not the internet. To +simplify this distinction for the non-techies who might be reading this, +the web is what you see in your browser (like this web page, unless you're +RMS and you read this by downloading the HTML), while the internet is +any sort of connection between two or more machines (including the web). +Second is that there are parts I like about the web or more so being a user +of the web, but what I'm focusing on here is mostly having to do with why I +hate web development, not so much the web in and of itself.

+ +

So, to get straight to the point, I hate aesthetics, I much prefer to focus +on functionality and the "Does this work?" of things rather than the +"Does this look pretty?". That's not my job, in fact, I'd argue that it's +no one's job, developers make something functional and marketing sells the +half-assed hurried piece of shit as if it were the most important invention +since the print-press. But for some reason in web development people seem +to care a lot less about functionality and a lot more about aesthetics, and +I believe that this has to do with the fact that the web is purely +graphical. Being purely graphical it gets attention from a lot of people, +including those who pay more attention to how their tool looks than "Is +this working correctly?". Not only that, but it's impossible for you to +create a CLI (command-line interface), that wonderful world where people +can stop paying attention to X and Y locations of buttons and more on if +the damn thing works correctly.

+ +

At least in fields such as C++ or even Java the focus is still a little +more focused around functionality, but this is because both can be used to +create plain CLI applications and are often used for that purpose. Heck, +a lot of people even create engines, and there's no aesthetics there. +Meanwhile, in languages such as JavaScript you can't do that, sure you can +create an engine, but you can't create any CLI applications, can you. +JavaScript was made to simply modify HTML from the client instead of the +server doing it and sending it to the client, and all HTML does is markup a +graphical environment in your browser.

+ +

However, another cause I can see for this is which is more probable is that +the web has become popular. A lot of important and valuable inventions in +history that ended up gaining popular use lost any value they had as they +started to be used by idiots with no respect for the pain that went into +the damn thing and complain when they see something that looks weird or +they run into a small little bug that they could just avoid (yet, they +never want to contribute and fix the thing), and they end up using it to do +the same stupid things they did before but now with the new technology. You +need not look any further than the TV that you most likely own. That bit of +technology was created to educate people, to send information via video to +thousands of people, and how are we using it? To watch the Kardashians... +If I were the creator of the TV I would want to commit suicide for creating +such a device that allows for such content that it lowers the IQ of the +viewer a few points every time they see it. So what happened with the web? +Well, it became popular, and the same idiots that made the TV what it is +today decided to start invading the new frontier that was made for creators +and intellectuals and turn it into a place where the only thing that +matters is 'Muh convenience!' and 'Muh entertainment!'.

+ +

Now, putting that aside, I still use the web (obviously, I have a website) +and there are still positives to the web if you know where to go to avoid +'normies' who make into the hell-hole that it is currently. Want to know +where those places are? Get off your Facebook and Twitter and start going +to the less popular sites where your friends most likely don't hang out.

+ diff --git a/blog/posts/2016-07-04-game-website-app-creators.cfg b/blog/posts/2016-07-04-game-website-app-creators.cfg new file mode 100644 index 0000000..03754da --- /dev/null +++ b/blog/posts/2016-07-04-game-website-app-creators.cfg @@ -0,0 +1,5 @@ +filename = 2016-07-04-game-website-app-creators.html +title = Game/Website/App Creators +description = Ranting about 'creator' software. +created = 2016-07-04 +updated = 2016-07-04 diff --git a/blog/posts/2016-07-04-game-website-app-creators.html b/blog/posts/2016-07-04-game-website-app-creators.html new file mode 100644 index 0000000..f44f28a --- /dev/null +++ b/blog/posts/2016-07-04-game-website-app-creators.html @@ -0,0 +1,57 @@ +

A topic that I am very disturbed about are Game/Website creators. These +programs are what I consider is helping to destroy the technology industry. +Not only is this causing for more people to be able to create mediocre apps +(games, websites, or otherwise) and therefore lowering programming salaries +and the chances real programmers have of obtaining a job, but it also +promotes shitty code leading to bloated projects.

+ +

The first aspect is that these 'creators' are destroying the industry for +real programmers (not people who think they're programmers because +some mobile app creator helped them make a stupid clock app that they put +on their phone). This is because it is allowing more people who have no +respect for the field to enter and create shitty apps. More people +entering the field means less work for real programmers and the little +work that may be found will be for lower wages (something that for now the +programmer master race has been able to avoid because of the few people +who want to get involved in programming due to its intense logic and, in +some cases, mathematics).

+ +

The second aspect is that it leads to shitty code and terrible performance. +This is because these creators turn whatever is put into their GUI into a +real programming language which then gets compiled or interpreted. The +issue with this kind of cross-compiling is that it makes the code a lot +uglier and a lot messier. A good example of this without even looking +at creators is the HaXe Programming Language, which I +had used for a while to make Flash games (before thinking I'm stupid for +using Flash please take into account that this was before JavaScript became +such a powerful language that you could easily write games with it, before +HTML5 came out). With HaXe you don't actually compile, you cross-compile +into another language and that language then gets compiled or interpreted. +Now, if you look at the code that is generated by HaXe in the other +language (as I have) you will see that it is very unnecessarily messy. +This isn't hard to understand why it creates something so messy, just think +how you would actually do something like this, that cross-compiles to +another language, it's not a very easy task. Same goes for the creators, +they turn whatever you created in the GUI to a programming language and +along with it comes a ton of unnecessary code that will just take up more +memory and make performance slower. In this aspect, can I blame them? No. +But that doesn't justify it being a replacement for the programming the +damn app yourself.

+ +

Finally, even though one could say "It helps others get interested in the +field.". This is wrong, very much so. How can one say that it will help +others gain interest in the field if they're not even doing anything about +the field (that is, they're not programming). If you're using a creator +you obviously don't care about the field, since you're trying very hard to +avoid all the hard stuff that goes along with creating decent apps. Instead +of learning it all, hard and easy, you learn something that does the actual +programming for you ('game maker make me a game') instead of having genuine +interest in making something nice.

+ +

To put it this way, I'm fine if you use a website creator, for example, to +make a personal website of yours (just don't expect me to debug that shit +when things to wrong, 'cause I don't want to have to go through one very +long line of HTML and CSS). Other than that, no game creators and +no app creators. All these do is ruin the the programming industry and +turn code quality down, performance down, and wages down.

+ diff --git a/blog/posts/2016-07-05-why-i-am-a-gpl-advocate.cfg b/blog/posts/2016-07-05-why-i-am-a-gpl-advocate.cfg new file mode 100644 index 0000000..ae67e50 --- /dev/null +++ b/blog/posts/2016-07-05-why-i-am-a-gpl-advocate.cfg @@ -0,0 +1,5 @@ +filename = 2016-07-05-why-i-am-a-gpl-advocate.html +title = Why I Am a GPL Advocate +description = Why I support licenses like the GPL and the copyleft movement. +created = 2016-07-05 +updated = 2016-07-05 diff --git a/blog/posts/2016-07-05-why-i-am-a-gpl-advocate.html b/blog/posts/2016-07-05-why-i-am-a-gpl-advocate.html new file mode 100644 index 0000000..4b9f947 --- /dev/null +++ b/blog/posts/2016-07-05-why-i-am-a-gpl-advocate.html @@ -0,0 +1,69 @@ +

I am very much a GPL advocate, and the more I get into programming the more +I favour the GPL licenses. I have many reasons for this, some of them +applying to myself personally, but others that are applicable at a larger +scale as to how it benefits software creation in general. However, I +will start out with how I came to use Free Software and why I ended up +with the mentality towards software licenses I have today.

+ +

For 15 years all I really used were Mac computers, which are Unix based +systems but still proprietary. It's not practical to imagine I would know +or care about something like licensing or ethics during this time, I don't +believe I arrived at the age of reason until I was around 15, and although +some of my personality and beliefs have changed since then, my thoughts +have not strayed much from what they were at that age. When I was 15 I got +my first personal laptop that I could use for my own purposes. It was an +old laptop that my dad used to use for work, but for work he always used +GNU/Linux, and the laptop did not have Windows, and even if it did it was +an old 32-bit computer with 1GB of RAM (I ended up adding another GigaByte +to that). Even if I wanted to use Windows on there I couldn't because it +wouldn't run as quickly as GNU/Linux. So this was the first time I ran +GNU/Linux as a main OS. At this point I didn't care too much about Free +Software, but I was well on my way to being a Free Software advocate, as my +political ideology had moved very much left-ward where Free Software can +almost be considered the licenses of the left-wing.

+ +

After a few years of running GNU/Linux I started to get rid of all the +Apple products I had (because Apple makes it hard as hell to use their shit +with anything else that isn't their shit, mostly being the damn iPod I had +which didn't like syncing with my GNU/Linux machine until I found a +half-assed hack that got me to fix that shit). At one point I came to the +conclusion that the reason why Apple products (along with others) did not +play well with others is because they are non-free and do not allow people +to create programs that work with their shit (because that means you're +using someone else's stuff instead of their shit). After this pissed me off +I personally decided to stop using non-free software as much as I could to +the point where now the only non-free software on my computer are some +wireless drivers that I need for my laptop.

+ +

While I used GNU/Linux I also started to get into programming, which is +where I was exposed to software licenses. Since I was on an old shitty +computer I couldn't really do much gaming, but I could do a lot of +programming, so I ended up programming small games that I could play. +But when the time came to choose a license I decided on the GPL, reason +being (at the time) that I want people to be able to learn from my code, +but I don't want people to take advantage of me by grabbing whatever code I +create and making it proprietary and then improving upon it, as that would +essentially be stealing my foundations and building on top of it without +giving back. So I sided with the GPL licenses.

+ +

However, those are only personal reasons that I had at the time, there are +more reasons that do not affect me personally but are important at a larger +scale. This being that GPL promotes people to contribute and promotes +collective improvement to a project instead of everyone making their own +version of the wheel. If I create code that is useful and then share it +someone else can use that code to make something that's even better and +then someone else upon that continuously improving the software. Meanwhile, +with other licenses such as MIT or BSD people can simply take your code and +make whatever improvements they make proprietary forcing everyone else to +have to reinvent that wheel. Of course, attribution license defendants will +say that many times these entities do return code to its original source, +and although that is true, I would rather not rely on the good will of a +few nice people, but rather force everyone to share what they have in order +to assure that progress can be fluid and continuous.

+ +

I believe that the GPL licenses create a more educational environment and +that they allow for more progress following the scientific philosophy of +building upon the shoulders of giants. With that mentality I believe we can +get much further than what could be created with each of us going our own +separate ways without having any knowledge of what the other has done.

+ diff --git a/blog/posts/2016-07-18-my-favorite-firefox-addons.cfg b/blog/posts/2016-07-18-my-favorite-firefox-addons.cfg new file mode 100644 index 0000000..df6fac2 --- /dev/null +++ b/blog/posts/2016-07-18-my-favorite-firefox-addons.cfg @@ -0,0 +1,5 @@ +filename = 2016-07-18-my-favorite-firefox-addons.html +title = My Favorite Firefox Addons +description = A list of addons I use. +created = 2016-07-18 +updated = 2016-07-18 diff --git a/blog/posts/2016-07-18-my-favorite-firefox-addons.html b/blog/posts/2016-07-18-my-favorite-firefox-addons.html new file mode 100644 index 0000000..c4ccf9d --- /dev/null +++ b/blog/posts/2016-07-18-my-favorite-firefox-addons.html @@ -0,0 +1,87 @@ +

I use Firefox on a regular basis as my default browser, and something that +I really enjoy about it is the vast number of addons (especially for +developers) which can be hard to find anywhere else. These addons range +from privacy guards, to custom CSS themes across all websites, to other fun +little addons that just make my life easier. So here goes a small list of +my favorites.

+ +

Expire history by days: This one took me a while to find. Basically, I want my history to be +auto-deleted, but I don't want it all deleted (which is why I didn't +just use private browsing mode). This is because I use my browser history +often to look up things I did previously. So what this addon does is to +delete history after a certain amount of days. Firefox by default already +deletes your history after a certain amount of pages, but that's too +unreliable for me, I'd rather know the number of days.

+ +

uBlock Origin: It's like an ad-blocker, but free-software and more. It also protects your +privacy and has filters for malware domains as well as other things. Since +I've been using this I still haven't seen any ads, so the quality is at +least as good as the normal ad blockers (not taking into account how it +does more).

+ +

Privacy Badger: This addon protects your online privacy (given the right habits) by +blocking ads that may be tracking you along with other trackers that you +may not be aware of. It does this through disabling JavaScript and cookies +to keep your online identity safe.

+ +

Tab Groups: Firefox recently got rid of one of my favorite features, the tab groups. +Luckily this guy decided to make a plugin for it! Now I continue to have +tab groups which I used before.

+ +

Random Agent Spoofer: This is definitely a favorite of mine. Basically, when you send an HTTP/S +request to a server you also send a header to the server exposing details +about your OS, browser, resolution, architecture, etc. Many sites can use +this to their advantage by tracking your specific header information across +multiple sites (among other things, of course). Random Agent Spoofer will +change your online identity to a large variety of presets (from desktops, +to mobiles, to game consoles) with a ton of different browsers and browser +versions. You can also set it so that it will change your identity at +intervals (or random intervals) or even every time you send a request. You +can also use it to disable several other things that may be used to track +you (just look in the Options tab and start blocking stuff). Be aware that +you may experience some strange things while browsing, as many sites will +think you are a mobile device, or you may have disabled special fonts, or +some other option, so be aware of the options you disable.

+ +

NoScript: This nice little addon disables JavaScript by default, and you have to +enable them manually by domain. This can be used to disable unwanted +JavaScript that may be tracking you (or in general just making your browser +slow). You can choose the 'Enable Scripts Globally' option in the menu, but +that would defeat the purpose of having it.

+ +

Stylish: I was suggested this addon by a friend. This addon can be used to override +a site's CSS and replace it with your own style. In my case I love dark +styles since it's easier on my eyes, so I got the 'Solarized Dark +Everywhere' style. It makes every site much easier to look at.

+ +

Self-Destructing Cookies: As the name indicates, this addon destroys your cookies. Cookies can often +be used to track you (as long as the cookie matches, it's the same user). +Therefore this addon will destroy cookies in one of three different +instances (that is defined by you):

+ +

You determine this setting by page (it's not applied globally), and the +default for all pages is always the first, 'after you close its tab'.

+ +

VimFX: Last but certainly not least, is VimFx. As you can guess by its name, it +allows me to use the Vim keyboard shortcuts but in Firefox (well, a little +modified since it's for a browser and not an editor). I really enjoy this +because I don't like having to use my mouse for just about anything. The +feature I use the most is the 'follow' command (using the 'f' key) which +will bind all the links visible in the browser to a key (or key +combination) that when pressed will follow that link.

+ +

This is something amazing for someone like me who hates using the mouse, +now I barely ever use it at all (I already use keyboard shortcuts for most +other applications I use).

+ +

I hope this was helpful for some people. These are definitely some of the +best plugins I've come across.

+ +

EDIT 2018/06/24: You may have noticed that some of these addons no longer work with newer versions of Firefox. This is why I've moved to Waterfox, which keeps the old addon system.

+ diff --git a/blog/posts/2016-07-22-new-website-design.cfg b/blog/posts/2016-07-22-new-website-design.cfg new file mode 100644 index 0000000..ec5968e --- /dev/null +++ b/blog/posts/2016-07-22-new-website-design.cfg @@ -0,0 +1,5 @@ +filename = 2016-07-22-new-website-design.html +title = New Website Design +description = +created = 2016-07-22 +updated = 2016-07-22 diff --git a/blog/posts/2016-07-22-new-website-design.html b/blog/posts/2016-07-22-new-website-design.html new file mode 100644 index 0000000..1b73194 --- /dev/null +++ b/blog/posts/2016-07-22-new-website-design.html @@ -0,0 +1,6 @@ +

As you can see I've changed up the site quite a bit. Now we're back to running on PHP (no longer using Jekyll). I enjoy this theme much more as it reflects my interests (I put all that I can in the terminal, I'm writing this very post in the terminal using the Vim editor) and it also stands against the picture pretty websites that you see nowadays. You will not see anything on this site that is not pure text, it may be underlined, bold, or a hyperlink, but it will be text, like in a terminal (not the Enlightenment terminal, though, that thing's weird as fuck). Of course, the source to my website is still available on Github and it's all up to date.

+ +

Despite moving towards a system that I had to program myself and now having to write my posts in HTML with a little PHP at the beginning and end, this will actually make it easier for me to upload the posts. Previously with Jekyll I had to upload three different files every time I wanted to post something (the index page, the feed.xml, and the post itself), now, although I do not have an atom feed, I only have to upload the new post because the PHP automatically detects it and adds it to the list (Jekyll was not running on my server).

+ +

Either way, I plan on keeping this for quite a while since it looks cool, was easy to make, and is pretty sustainable long-term. Again, don't expect to see any pictures here, if I add pictures it will be links to the picture located on either this server or an external one (I want to keep the theme going, so nothing but text will be on the actual pages).

+ diff --git a/blog/posts/2016-07-25-my-favorite-vim-plugins.cfg b/blog/posts/2016-07-25-my-favorite-vim-plugins.cfg new file mode 100644 index 0000000..5ea4e42 --- /dev/null +++ b/blog/posts/2016-07-25-my-favorite-vim-plugins.cfg @@ -0,0 +1,5 @@ +filename = 2016-07-25-my-favorite-vim-plugins.html +title = My Favorite Vim Plugins +description = +created = 2016-07-25 +updated = 2016-07-25 diff --git a/blog/posts/2016-07-25-my-favorite-vim-plugins.html b/blog/posts/2016-07-25-my-favorite-vim-plugins.html new file mode 100644 index 0000000..ba39505 --- /dev/null +++ b/blog/posts/2016-07-25-my-favorite-vim-plugins.html @@ -0,0 +1,20 @@ +

I've already made post about my favorite Firefox addons, so this one is dedicated to my favorite editor, Vim. Most people's first encounter with Vim is always a bad one (even mine), but once I got used to it's weird key bindings and commands I got used to it and now I quite enjoy it, especially with all of its plugins available that are very easy to install with a plugin called Vundle, which can be used to install all the other plugins by simply providing a link to their git repository (since most of these plugins tend to be on GitHub). So here it goes.

+ +

Vim-Fugitive: This plugin is great since it allows you to work with Git from within Vim, that is, you can commit, switch branches, push, or anything really, all from within Vim.

+ +

Command-T: This plugin is nice since this makes it easier to navigate files, all you need to do is run `t' and you'll get a list where you can search for files within your project by name.

+ +

YouCompleteMe: What would I do without 'YouCompleteMe'? As you can probably guess by the name this plugin autocompletes. It searches through your document and files you've opened in the session to help you autocomplete your code (or even writings, I often find myself autocompleting long words on essays and even these blog posts). So, basically, this is a must have.

+ +

Nerd Commenter: This is a nice plugin that will help you comment your code. It has many keyboard shortcuts for different kinds of commenting (block, single line, etc.), and it adjusts the character which it uses by file based on the language the file is in. Pretty nice when you have to comment a lot of stuff, just highlight them in visual mode and use the keyboard shortcut.

+ +

vim-cmake: I work a lot with C++, and because of that I have to deal a lot with CMake compiling. So why not compile my code from within Vim? With this plugin I simply run ':CMake' and then ':make' and it compiles my code. This command will search downward for a build/ directory in which it will run `cmake ..' (../ being where the CMakeLists.txt file is).

+ +

vim-ant: Well, I already have a vim-cmake, so why not ant too? I also work with Java every now and then, and ant is one of my prefered tools for doing my compiling (I've never really looked into Gradle), so this script runs the build.xml for your Java project from within Vim!

+ +

Trailer-Trash & Bad-Whitespace: These two make a perfect pair. The first one, Trailer-Trash, points out in red any trailing whitespaces. I hate those things, they're extra characters that I don't even know that they're there. Now I can see them, and with Bad-Whitespace I can delete all of them in one command (which, in a sense, defeats the purpose of seeing them, but oh well).

+ +

vim-sprunge: I work in collaboration with other people, and sometimes I need to share snippets of code I have not yet commit, but going to a pastebin in the web browser is a bit of a pain in the ass. So this plugin exists so I simply have to run a command and it will give me a link to a file on Sprunge where my code has been posted for my comrades to see it. I don't even have to exit Vim.

+ +

Of course, I use more than these, but these are the ones I like the most. I will most likely end up installing way more in the future, but these are truly useful.

+ diff --git a/blog/posts/2016-07-31-my-first-superficial-impressions-of-freebsd.cfg b/blog/posts/2016-07-31-my-first-superficial-impressions-of-freebsd.cfg new file mode 100644 index 0000000..d013f44 --- /dev/null +++ b/blog/posts/2016-07-31-my-first-superficial-impressions-of-freebsd.cfg @@ -0,0 +1,5 @@ +filename = 2016-07-31-my-first-superficial-impressions-of-freebsd.html +title = My First Superficial Impressions of FreeBSD +description = Tried out FreeBSD, these are my thoughts. +created = 2016-07-31 +updated = 2016-07-31 diff --git a/blog/posts/2016-07-31-my-first-superficial-impressions-of-freebsd.html b/blog/posts/2016-07-31-my-first-superficial-impressions-of-freebsd.html new file mode 100644 index 0000000..ec2d973 --- /dev/null +++ b/blog/posts/2016-07-31-my-first-superficial-impressions-of-freebsd.html @@ -0,0 +1,8 @@ +

I have recently decided to run FreeBSD inside of a VM to try it out (because why not?). Of course, the first thing I was wondering when I got it installed was "Where's the GUI?". I didn't necessarily panic since I know how to deal with the command-line, and BSD seems to also use Bash (or some other Unix shell). So after getting a GUI installed I continued to check out FreeBSD (I wanted to try out BSD because I wanted to try compiling the DMUX project on a BSD system). I noticed that apparently FreeBSD had done an extremely basic install, only installing the bare necessities, which in my book is a pretty big plus (something I'm going to start doing with Debian from now on with their net installs).

+ +

Another thing that they do that I found rather interesting is how they have the ports packaging system so you can compile things from source rather than installing a pre-compiled binary (which you can still do, but through the pkg package manager). I found this quite amusing, but ended up finding it to be a waste of time (since I don't necessarily care too much for compiling absolutely everything I download), so I continued using the pkg package manager. But this does show a certain amount of consistency with a Free Software ideology, and it wouldn't be too bad to implement a system similar to it (which might already exist, I haven't tried Gentoo out yet) in which the package manager downloads the source, compiles it, installs the binary, and deletes the source except if specified otherwise. It would most likely take longer for larger projects (you tell me how long it would take to download and compile the Firefox source), but it would be pretty cool, especially for educational purposes at a school.

+ +

Of course, if there's one thing that annoyed the hell out of me it was that Clang is the default compiler instead of the GNU compilers. I get that BSD likes the cuck licenses and the Clang has certain features that I too must acknowledge as very useful (such as suggestions when you get a compiler error as to how to fix the problem), but why can't we all just work on a common project? Separating into multiple projects is just a pain in the ass, and why haven't the GNU compiler developers copied this functionality yet? Are there legal issues? I don't see how with an attribution license, if anything the GNU people just don't want to meddle with the Apple/BSD people and vice versa (quite understandable, but not very pragmatic or reasonable from a programmer's perspective and not a political one). Apparently, after looking stuff up, I found out that the GNU compilers used to be default, but FreeBSD for some reason decided to switch to Clang (again, most likely political reasons). But whatever, I can change my default compiler if I want, not a big deal.

+ +

So overall I've had a very positive experience with FreeBSD, especially with how they have a very minimal install of their OS. I would not use it as a primary OS, since regardless of how much I like how they do things there are just not as many applications for their OS, as well how they do not make the amount of effort that other OSs like Debian make to separate free software from non-free software. However, if I were ever to have the opportunity to run this as a home server I would definitely try that out (might try installing it on my Raspberry Pi).

+ diff --git a/blog/posts/2016-08-13-strict-compilers.cfg b/blog/posts/2016-08-13-strict-compilers.cfg new file mode 100644 index 0000000..32ecfb0 --- /dev/null +++ b/blog/posts/2016-08-13-strict-compilers.cfg @@ -0,0 +1,5 @@ +filename = 2016-08-13-strict-compilers.html +title = Strict Compilers +description = Why I think it's important to use a strict compiler. +created = 2016-08-13 +updated = 2016-08-13 diff --git a/blog/posts/2016-08-13-strict-compilers.html b/blog/posts/2016-08-13-strict-compilers.html new file mode 100644 index 0000000..9ab483e --- /dev/null +++ b/blog/posts/2016-08-13-strict-compilers.html @@ -0,0 +1,8 @@ +

For almost a year now I've been working on the DMUX project along with some other people. The leader of the project, Brigham Keys, since the beginning has put in place a strict compiler in order to assure the highest code quality for us to work on avoiding bugs since step one. This means the compiler bitches about everything. Any small issue that there might be this compiler will whine to you. However, I have come to see this as a superior way of writing code, by doing this we are avoiding having to deal with many bugs (along with avoiding heap allocation whenever possible it avoid us having any major problems) and I would greatly encourage people to use strict compilers in order to avoid these things, much more if you're working in a group and especially if you're teaching people how to program.

+ +

Looking back, a strict compiler would fix a lot of things that have frustrated me in the past. For example, when I was in high school I was a teacher's assistant for the technology teacher and he had me and my friend correct exams of the programming students. What I found painful was when students would create variables and never use them!!! Basically, the definition of inefficiency, you're taking up resources, holding memory, that you don't need to have. I understand if maybe you don't understand how to use inline functions, or how to optimize your code in general, even I have issues with that, but creating a variable and never using it is an obvious case where there should be a compiler error, you're taking up memory without using it. So this frustrated me a lot back then, but if these kids were using a strict compiler from the start (they were learning Java, but even Java can be strict if you pass the right flags) then it would help them to break these habits.

+ +

I will admit that it's a pain in the ass, especially when I'm developing for Ubuntu and something goes wrong, mostly because the code works on my computer (Debian Testing), Brigham's computer (Fedora), and our other comrade's computer (Arch), yet it fails on Ubuntu. I don't know what Ubuntu is doing, but they need to cut this crap out. If it weren't for the fact that between normies they're the most used distribution we would simply just stop supporting it (because I don't want to have to deal with their bullshit), but unfortunately the better quality doesn't always win majority support even for the same price (which, in this case, is free as in gratis).

+ +

So, in conclusion, please start using strict compilers, that way we can also weed out the normies that program for money rather than for fun (someone with genuine interest would be willing to program despite any complaints by the compiler).

+ diff --git a/blog/posts/2016-08-17-tox.cfg b/blog/posts/2016-08-17-tox.cfg new file mode 100644 index 0000000..c7bd658 --- /dev/null +++ b/blog/posts/2016-08-17-tox.cfg @@ -0,0 +1,5 @@ +filename = 2016-08-17-tox.html +title = Tox +description = +created = 2016-08-17 +updated = 2016-08-17 diff --git a/blog/posts/2016-08-17-tox.html b/blog/posts/2016-08-17-tox.html new file mode 100644 index 0000000..be718a6 --- /dev/null +++ b/blog/posts/2016-08-17-tox.html @@ -0,0 +1,12 @@ +

It's sad that out of all the types of software out there the one that is developed the least or given the least importance in terms of its freedom respecting alternatives is precisely the ones that we care about the most, applications such as our video/voice chat. This is not to say that there aren't such alternatives, seeing that this post is about precisely one of those alternatives, but it is sad that they don't have the popularity that software such as Firefox or GNU/Linux have. Therefore I would like to talk about Tox. There are other alternatives such as Ring, but I personally prefer Tox and have actually used it for video chatting (qTox, that is). Ring seems to have many features and is more organized, but I've had many issues with it so I'm not going to necessarily talk about them, just be aware that they're another freedom respecting alternative.

+ +

First I would like to point out that I use qTox. Now, what does this mean? Well, there are multiple Tox clients, because it's not a unified project. So in this post I will be talking about my experiences exclusively with qTox, the one that I have installed. Not all Tox clients have the same features, so I'd like to make it very clear that I'm only talking about qTox. If you want to know about any of the other clients simply go to this link and choose your favorite. Just make sure to take a look at their features first and make sure they have what you're looking for.

+ +

So, the first question I'm guessing is how good does it actually work? This is a typical question by people who don't care too much about their freedom, but I'm willing to answer with great pleasure. qTox works great. I've actually had video calls with people in the U.S. from Spain and it's worked just fine. The only problem that really exists is if one of you aren't wearing headphones, in which case at least one of you is going to get an echo, but this is an issue that's hard to solve and that even Skype has issues with sometimes (though much less). So video chat works just fine, which is what most people use it for.

+ +

Another great feature it has is encryption, it will encrypt your information being sent and received in order to avoid eavesdroppers on your calls. This applies to calls, video, and chat. Something that many other services don't provide (or at least not making it one of their top priorities). There's also the p2p (peer-to-peer) aspect of it, meaning that there's not an intermediary server in the middle that receives all your messages and video streams to spy on you. Instead Tox connects directly to the other person whenever sending information. This has its disadvantages, mostly being that if both participants in the chat are not online then any messages sent will have to wait until both participants are online. This makes sense because of the p2p nature, so it's something I at least am willing to deal with.

+ +

Another important feature is how Tox doesn't actually use usernames to find other users, but rather an ID that you have to share directly with the people you wish to add as a contact. This can sound inconvenient at first, but in reality it's actually much more convenient than usernames. Why is that? Because I don't have to search between the 20 different people called 'John Brown' or the other 30 that have some username with 'johnny' in it and then a bunch of numbers. This ID is exact. Not only that but part of it is replaceable. Let's say that someone you don't like associating with has found your ID and constantly harasses you with contact requests. You can press a button and a part of your ID will change and that person will no longer be able to find you because your ID is different. Great against spammers, right?

+ +

Because of this, I suggest that everyone switch to Tox, or at least to something like Ring, just please stop using non-free shit like Google Hangouts or Skype, and I'll be damned if you ask me to use fucking Facetime. Which reminds me, I should do a post on why I hate Apple. I've probably shown quite a bit of hatred towards them in my blog before (and much more compared to my hatred of Microsoft). So look forward to a post hating on Apple.

+ diff --git a/blog/posts/2016-08-20-my-loathing-of-apple.cfg b/blog/posts/2016-08-20-my-loathing-of-apple.cfg new file mode 100644 index 0000000..435c586 --- /dev/null +++ b/blog/posts/2016-08-20-my-loathing-of-apple.cfg @@ -0,0 +1,5 @@ +filename = 2016-08-20-my-loathing-of-apple.html +title = My Loathing of Apple +description = The origins of my hatred for Apple. +created = 2016-08-20 +updated = 2016-08-20 diff --git a/blog/posts/2016-08-20-my-loathing-of-apple.html b/blog/posts/2016-08-20-my-loathing-of-apple.html new file mode 100644 index 0000000..2f9a6bb --- /dev/null +++ b/blog/posts/2016-08-20-my-loathing-of-apple.html @@ -0,0 +1,12 @@ +

I hate Apple, and I've had many shitty experiences with them. Aside from how they are spying on you being part of PRISM, in general they are assholes to anyone who wants to use their products in combination with anyone else's. Let me explain my experiences that I have had with Apple.

+ +

For the first 15 years of my life I was an Apple user, using iPods, iPads, iMacs, and iShits. I was exposed to stuff like GNU/Linux at school (because the Spanish school system actually uses ethical software, sadly only because they can't afford proprietary shit, but whatever), especially with Debian GNU/Linux because that's what my dad ran for work, but I still used mostly Apple products. However, at 15 I got my first personal laptop, which was a shitty Dell Inspiron something or another, all I remember is it was a 32-bit with 1GB of RAM, so obviously I installed GNU/Linux on it, specifically Debian GNU/Linux (at the time I had stable since my dad was the one helping me to install it). So I had my own computer, but my music player was still an iPod... Why was this a problem? Because damn iPods didn't want to sync with jack shit that wasn't damn iTunes. I had to do some shit like using my family's Apple Mac (non-free software) to turn off the journaling on that thing and then every now and then I had to do it again because the iPod noticed!!! Unlike some other music players where I can drag and drop my files.

+ +

That was not the only issue, but it was the first. After that I started realizing how my family (except my dad) who all used Apple applications could not communicate with anything of mine. Imagine being isolated (technologically) because you use a less shiny piece of hardware that costs significantly less. That's exactly how it was with me and my family. So I continued to hate it, especially when I went to school with my laptop and the school (who used Apple) gave me files that were Apple specific! Dick move for a public school. And so these events continued as I couldn't cooperate on shit with just about anything because of 'muh iShits'. It got to the point where I basically refused to use anything Apple, and it didn't help that one year the school starting giving all the students iPads. At least this time they were thinking "What if a student's computer can't run our software on it?" as compared to the previous times where they basically said "You can go fuck yourself!". But even then, what about my freedom? Ignoring my principles of free software which I had at the time. I basically left that machine at my house and never brought it to school in order to prove a point. Every time they said to do something on the damn iPad I would do it on my machine using free software.

+ +

So, that's how I left the realm of Apple, but once I was out I was glad to have left. Looking from the outside in all I see is mindless zombies fighting over a damn phone!!! I swear, Apple fanboys are the worst along with bronies. There is no reason for you to get the damn phone a week before everyone else for a higher price. Just let all the other idiots get the expensive one a week earlier while you (the 'smart' one) waits patiently until the price goes down... to about half a fortune instead of an entire one. Seriously, you get nothing out of Apple products that you can't get out of others for much less money. But of course, we all need to show off how much money we have (or, how much money we can suck out of our working class parents) to pay for a piece of shit phone that does the same thing as the other one that costs 70% less. But Apple has some way of convincing their fanboys that their iShit is special and better than everyone else's because it has a logo of an apple with a bite taken out of it on the back. So you're saying I can tattoo an apple to my nuts and these fanboys will start obsessing over it? Also, just because I'm saying fanboys doesn't mean this doesn't apply to women, or even men that are older. Heck, from what I've seen Apple has two main markets, teenagers who act like hipsters and adults in their mid-life crisis who are already throwing money everywhere (also, a lot of old people have Apple, not because they bought it themselves, but rather because their children who are in their mid-life crisis bought it for them, they really don't give a shit themselves).

+ +

Worst is with my poor grandparents, one of their children (you know who you are) bought them an iPad and a Macbook, but the poor souls don't know any better, so now they don't know that if they want to hold on to those family photos better continue to buy expensive Apple products when that breaks. I'm still waiting for something to break so I can intervene first and have them use free software, it also helps that I'm physically closer to them than 'that family member' is. The day will come... just hope it arrives a little faster (-_-). Soon they'll be saying "Bye bye Apple, hello Debian!" (no way I would install Ubuntu considering that even they have done some shady shit recently).

+ +

So now you know my story. I hate Apple, I hate them even more than I hate Microsoft and their bullshit, in the case of Apple it's just personal. So if you ever know me, or already do and never knew this, don't get me anything Apple. It might be harsh but I would probably end up either asking you for the receipt or at the very most saying thank you and then stashing it somewhere in someone else's house where it can't track me (damn PRISM!!!). Speaking of gifts, if you're reading this and wondering what to get me now that you can't buy me the latest iShit, please refer back to my blog post on Ethical Giving which uses the FSF's guide to finding an ethical technological gift for someone.

+ diff --git a/blog/posts/2016-08-25-what-is-lacking-in-education?.cfg b/blog/posts/2016-08-25-what-is-lacking-in-education?.cfg new file mode 100644 index 0000000..3a3ac67 --- /dev/null +++ b/blog/posts/2016-08-25-what-is-lacking-in-education?.cfg @@ -0,0 +1,5 @@ +filename = 2016-08-25-what-is-lacking-in-education?.html +title = What Is Lacking in Education? +description = A contrast and suggestions for the American and Spanish educational systems. +created = 2016-08-25 +updated = 2016-08-25 diff --git a/blog/posts/2016-08-25-what-is-lacking-in-education?.html b/blog/posts/2016-08-25-what-is-lacking-in-education?.html new file mode 100644 index 0000000..56c62ad --- /dev/null +++ b/blog/posts/2016-08-25-what-is-lacking-in-education?.html @@ -0,0 +1,31 @@ +

This is a question that is asked quite a lot, and although I don't have a definitive answer, I do have a few things that I believe to be very important that are being disregarded when it comes to the education of a student. Some of them are already being implemented by some school systems (in some cases it's only at certain schools), but I am not completely sure as to whether they are actually doing what I am going to expose here and if those results can be comparable statistically with those of a normal school. Either way, here are some things that I believe need to be improved. Also, in this list are things that are both common and specific, and they are based on my experiences with the American and Spanish educational system, therefore I will divide this into common issues, Spanish issues, and American issues.

+ +

Common Issues

+

0. Technological Literacy: Yes, I actually started with 0 for this one, if there was some basic technological literacy you would know why (if you already do, you're doing a good job). It pains me that in this day and age where technology is at the foundations of our society, where everyone owns some sort of computer (yes, your phone counts as a computer), and where if there were a catastrophe that destroyed all digital technologies society would basically fall apart, that people know little to nothing about technology (that is, if you're one of those people that once you get an error or warning message you call tech support you're part of the problem, everyone knows you look that up in a search engine first, or I suppose I should speak in your terms, Google it!). Since we live in such a society it is very important that we learn the fundamentals of programming. Our society is not dependent on the fine arts, but it is on digital technologies. If art goes away we're still all here, the world is a much uglier place, but we're all still civilized. If digital technologies go away we're all fucked. This is not to say that a basic education in art shouldn't be obligatory, I just think that technology deserves more time than art does (it's sad when the amount of obligatory classes for art and technology are the same). Everyone should know what the fuck a file format is and that you can't just copy a binary from a Mac machine to a Windows machine and expect that shit to work. They should also know the difference between a text editor and a word processor (like the difference between Notepad and Microsoft Word, for those of you who don't know those terms). So please, fix this.

+ +

1. College Entrance Exams: This is one of the stupidest things I've ever seen. Why is it that for every other public educational institution I can just get in as long as I've passed the previous year, but college is somehow a special snowflake that requires a damn entrance exam? Yes, I'm talking about ACT, SAT, Selectividad, and all that bullshit. It should be as simple as "Oh, you passed the last year of high school? Here are some colleges you can go to. Pick a few, we'll see which one you get into, then you're off on your way.". But no, fuck that, we want to annoy the shit out of people with standardized tests. I understand wanting a standardized test, but please stop it with the fucking entrance exams.

+ +

2. Teachers as Guides: If there's one thing I love about most programmers is that we're pretty much all self-taught and have genuine interest in the field (with a few exceptions being those who never write code unless it's for class or for work, you guys can fuck off). However, this can also apply to other fields, and I've found that it's extremely beneficial, as it allows you to learn at your own pace and with much more enthusiasm. So, basically, what should teachers do? Well, instead of telling you "Hey, learn this for next week" instead they should say "Oh, you're interested in doing 3D Game development? Well I know a few resources to get you started with game development in general and then you can slowly make your way to your goal!". Of course, I would see this working better in a university context rather than a primary school one where everyone says "I want to be a firefighter!". This also helps weed out those who don't actually have any interest, those will be the people who say "I don't know what to do.". Essentially, the teachers will be there to guide you to your objective rather than creating your objective and then dragging you there while you struggle with it all.

+ +

3. Homework Shouldn't be Mandatory: Yes, please stop this. I get it for stuff like elementary school, and a little for middle school, but in high school the students should have enough maturity to know whether they are familiar with a subject enough to need to do the homework or not. Homework should definitely be suggested, telling the students what exercises that they could do to practice, but it should not be mandatory.

+ +

Spanish Educational Issues

+

0. Selectividad: I've already gone over college entrance exams, but this one is just horrifying. Do you know how much stress students get over this thing? Please take it down a notch! I mean, I know Spain is going to end up getting rid of this, but damn, it's fucking horrifying. I've had friends who've taken this and they were extremely stressed not only studying, but also waiting for the results. Please bring this down a notch before a bunch of people start committing suicide over it.

+ +

1. Student Privacy: Teachers in Spain, please stop pointing out the students that are not doing their school work, for all you know they already know the shit you're teaching and don't feel like doing homework which supposedly is something to remember what you did in class. Luckily students aren't graded on that shit.

+ +

2. Extracurricular: This is something that the American system takes to an extreme, but at least they have them. Spanish schools need to promote and even host educational extracurricular activities. A programming club, a medieval literature club, a political analysis club, anything that's educational, just please add it. This allows students who have productive interests outside of what they're learning to have a place to express those with other people they know and to do things together.

+ +

NOTICE: There are most likely more things that I could point out, it's just been a long time since I've been in the Spanish educational system, I guess I'll see more this year and have more complaints, might make another post for that.

+ +

American Educational Issues

+

0. Grammar: Teach your students some fucking grammar!!! Do you know how bad the grammatical knowledge of the American population is compared to that of foreigners in the English language? It's complete shit! I go to school and no one knows what the fuck an adverb is, or a possessive, or a predicate, or any basic grammatical concepts. How am I supposed to explain that in Japanese a sentence's structure is subject (sometimes called object)-predicate-verb if they don't know what any of those are? How the hell did any of these kids play Madlibs when they were children? Did they guess what words to use? Please teach the American children some damn grammar so they can understand how fucking shitty their own language is.

+ +

1. Too Fucking Easy: Do you want to know how many times I actually studied for a test while I was in high school? I'll give you a hint, you can count them on one hand. Ready? I studied a total of two times. That is, I studied only for two different tests. Want to know why those don't count? Because they weren't even American tests, they were International Baccalaureate tests, which are made by people in another country. So for American tests I studied a total of zero times. So, what grades did I tend to get? Well, on tests I could get anywhere between D+ to B (there were exceptions on both ends of course, but this is what there normally was). Pretty average grades for someone who never studies. I get that failing never feels good, but some people have to fail, in this case it was me. Fix this shit!!! If I can pass all your damn tests without studying once then your system has a big gaping flaw. And if you're thinking that it's just because I'm naturally bright or something like that then you're wrong, in Spain if I didn't study for a test I was basically asking to fail. I'm not sure there is a way to fail in the American system. Also, remember how I said that the Selectividad was too hard? Well ACT is basically the polar opposite. I took that exam with no preparations because I knew that it didn't matter in my case for going to college since I was going to Spain and not the U.S., so I didn't study and I only took the exam half seriously, yet I ended up getting a score of 24 (which is pretty average). Want to tell me how this shit happens? I don't study, I take the test without really giving a shit about the results (that is, not motivation whatsoever), and yet I get an average score? How do Americans struggle with this shit?!?!?! Please fix this educational system, there's too much wrong with it.

+ +

2. Stop 'Making Learning Fun': No, just no. Learning is fun if the student thinks it's fun, not if you butcher it into a game rather than a lesson. When I learn programming I think it's fun, not because they teach it to me in a fun stupid little game, but rather because I actually genuinely enjoy learning how to program. If the student wants to learn they will, and if they don't it won't matter how many ways you butcher the lesson they still won't learn shit from it. You don't make learning fun, you make the student think that the field itself is fun, not by butchering the field but by having them see how it's interesting. If they don't find it interesting that's not your fault as a teacher, it's their flaw as a student. It's the student who is failing at his/her job.

+ +

3. School Is for Education: First, this is not a bash on all extracurricular activities, the educational ones are great. This is mostly on stuff like school dances, senior events, and all that shit. Yes, they're fun, and I fucking enjoyed them, but do I think they belong in a school? No. Do I think that public money should be put into funding these? No. If the students want to organize a student dance at the recreational center I have no problem, that's fine, but don't expect the school to waste time and resources for this, and don't use it as a fucking excuse to be lazy at school or not attend it!. Too many times have I seen people who skipped school because of a dance or some school event (including myself since I knew the teachers weren't going to do anything since there would only be 5 students in class that day). School is not a social club, it's not where you go to hang out with your friends, it's a place where you go to learn to be a productive member of society (something that a lot of educational systems fail at since there are so many unproductive people who when asked for their hobby they say "I like to watch Netflix."). So stop expecting schools to entertain you and start learning that school is a job, like all jobs there are times when you can chat, but most of it is work.

+ +

4. Homework Should be Less of Your Grade: I'm one of those people that believes that tests should be essentially your entire grade, or at least something like 80% of it. I've heard the argument people have put as to why homework and projects should be worth more points, and I find it stupid and flawed. Their reasoning is that not everyone is good at taking tests and therefore certain students have advantages. First of all, please show me a proper scientific study demonstrating this. The Eastern Asian countries have very test based scoring systems and they rank highest on almost all the charts! Please explain to me how this works. Besides that, the reason why I believe tests are more important is because if you cannot properly explain the why and how of something in written form then you truly do not understand it. Meanwhile, on homework and projects you can easily just copy work from somewhere else, which isn't necessarily bad if you're reading through the work and attempting to understand it, but there's no guarantee of that happening. With projects there's also the common case of the lazy ass who doesn't contribute to the project and yet gets the same grade as you. Meanwhile, in a test you are in a controlled environment where the teacher can see exactly what you know. The teacher shouldn't expect you to know data, but rather he/she should be testing you on whether or not you know how to work with data that is given. I distinguish between knowledge and intelligence. Someone who is knowledgable is someone who knows many things, someone who is intelligent is someone who knows what to do with information that he/she has or is given. So someone can be knowledgable and still stupid (basically, your computer is fucking stupid, but it's knowledgable as fuck). So stop adding so much importance to homework.

+ diff --git a/blog/posts/2016-09-02-the-https-hype.cfg b/blog/posts/2016-09-02-the-https-hype.cfg new file mode 100644 index 0000000..a139655 --- /dev/null +++ b/blog/posts/2016-09-02-the-https-hype.cfg @@ -0,0 +1,5 @@ +filename = 2016-09-02-the-https-hype.html +title = The HTTPS Hype +description = +created = 2016-09-02 +updated = 2016-09-02 diff --git a/blog/posts/2016-09-02-the-https-hype.html b/blog/posts/2016-09-02-the-https-hype.html new file mode 100644 index 0000000..69842a9 --- /dev/null +++ b/blog/posts/2016-09-02-the-https-hype.html @@ -0,0 +1,12 @@ +

Recently I've seen a lot of hype around everyone wanting to use HTTPS for absolutely everything, which is very understandable for sites like social networks and especially for financing websites. However, it's gotten to the point where people want an HTTPS website for no reason, for example, this site having an HTTPS protocol would serve no purpose. HTTPS only encrypts your connection to a server, but that's only useful if personal information or logins/passwords are involved. This website gives neither personalized pages nor requires any logins/passwords, therefore any reason to add HTTPS support to my website that I have seen makes no sense.

+ +

So it seems like the hype over HTTPS is simply a blind belief that "because it's HTTPS it's secure and private", when in reality my website gives away no sensitive information through HTTP that it wouldn't give away through HTTPS. If you want to protect your identity online then HTTPS won't do anything, you want to be using the Tor Browser to hide your online identity. The only things that might be exposed are things like your HTTP header, which I don't feel bad for you if you're not using an identity spoofer like I mentioned in my blog post about my favorite Firefox add-ons.

+ +

So usually this wouldn't bother me that much, people do stupid things for no reason all the time. The problem with it this time is that it seems people are beginning to not trust sites that do not have HTTPS even though they may be like mine where there is no reason to use it, and it wouldn't surprise me if browsers began to adopt a 'HTTPS-only' policy soon because of this (seeing that users matter more than actual reasonable arguments most of the time).

+ +

You know a site that does need HTTPS? My comrade bkeys' website. He has logins, uploads, and a shit ton of other stuff that should be encrypted. Not only that, but because he has HTTP login forms which Firefox will soon be marking as unsafe which might cause some issues as this HTTPS hype progresses for him, they'll probably end up banning such connections.

+ +

Basically, HTTPS is a good thing in general, but stop trying to force it down website admins' throats.

+ +

EDIT 2017/03/06: I have recently changed my views on this issue, and have another post on this.

+ diff --git a/blog/posts/2016-09-30-educational-software.cfg b/blog/posts/2016-09-30-educational-software.cfg new file mode 100644 index 0000000..2102395 --- /dev/null +++ b/blog/posts/2016-09-30-educational-software.cfg @@ -0,0 +1,5 @@ +filename = 2016-09-30-educational-software.html +title = Educational Software +description = +created = 2016-09-30 +updated = 2016-09-30 diff --git a/blog/posts/2016-09-30-educational-software.html b/blog/posts/2016-09-30-educational-software.html new file mode 100644 index 0000000..c37dcd6 --- /dev/null +++ b/blog/posts/2016-09-30-educational-software.html @@ -0,0 +1,8 @@ +

This last week I've been taking my university classes and we've started taking practice classes as well, where we apply the theory we've learned. In my programming class it's programming in C++ (they use Code::Blocks with the MinGW compiler), which is nice (I was expecting them to be using Visual Studio, so it's a nice surprise). However, for my math class we're using Mathematica. Although I can get it for free by checking out the installation disc at the library and get a license through my student e-mail, it's still an ethical issue for an advocate of Free Software. I've been searching all over for a good alternative to Mathematica that is Free Software, and although I've found some wonderful alternatives (such as SAGE and Mathics), none of them are able to view/edit Mathematica Notebook files (which is surprising considering it's plain text).

+ +

However, the root of the problem does not lie with these alternatives for not being able to process proprietary formats, but rather with the educational facility (in this case the University of Jaen) for supporting such software and not allowing students to use a more ethical alternative (such as those mentioned previously) which have about the same capabilities. This is especially problematic since what this tells me is that they're teaching you a tool rather than the concepts behind the tool. If they were teaching the concepts behind the tool then using a different (more ethical) one would be perfectly fine as long as the concepts learned in theory are applied correctly. However, this is clearly not the case. Instead these classes are doing nothing but to make the students dependent on a specific software (and anon-free, extremely restrictive one at that) rather than something more accessible such as those alternatives mentioned before.

+ +

Though it may be a good question to ask, "Why is it so important for schools to use free software?". I believe that the reason is rather obvious. Considering the Four Essential Freedoms of Free Software, it is quite clear that these are all freedoms that should be promoted in an educational environment. The first freedom allows for the students to experiment, to attempt to break the program, to learn it and learn from it to the fullest, and the second is immensely important for programming students as it allows you to see how the program works on the inside and change/hack it to learn from it. The first two freedoms are very important to an educational environment, especially one where the students are studying programming (as we are).

+ +

In this sense, I consider it very important that students have the opportunity to use free software alternatives, and would even argue that the default software used in class should always be free software in order to help the students learn and improve (or at least give them the opportunity to do so).

+ diff --git a/blog/posts/2016-10-06-adobe-flash-needs-to-die.cfg b/blog/posts/2016-10-06-adobe-flash-needs-to-die.cfg new file mode 100644 index 0000000..c0467ab --- /dev/null +++ b/blog/posts/2016-10-06-adobe-flash-needs-to-die.cfg @@ -0,0 +1,5 @@ +filename = 2016-10-06-adobe-flash-needs-to-die.html +title = Adobe Flash Needs to Die +description = +created = 2016-10-06 +updated = 2016-10-06 diff --git a/blog/posts/2016-10-06-adobe-flash-needs-to-die.html b/blog/posts/2016-10-06-adobe-flash-needs-to-die.html new file mode 100644 index 0000000..117deaf --- /dev/null +++ b/blog/posts/2016-10-06-adobe-flash-needs-to-die.html @@ -0,0 +1,10 @@ +

It's slow, it's inefficient, it's buggy, it has memory leaks, it no longer supports GNU/Linux, and it's proprietary as fuck. Ladies and gentlemen, it's Adobe Flash.

+ +

One of the few great decisions Apple has ever made was when the decided to get rid of Adobe Flash on the iPad, and thanks to that and a number of other factors (such as the heavenly arrival of HTML5, CSS3, and modern JavaScript frameworks) Adobe Flash has been losing influence on the web to the point that it's getting harder and harder to see it anywhere, especially since you can now program anything in JavaScript and it will be faster, more efficient, and integrated with the browser (unlike Adobe Flash which requires a plugin). This is true to the extent that not so long ago I uninstalled the Flash plugin from my computer and mostly everything works just as it did before.

+ +

However, it seems that there are still some places where Adobe Flash is still present, and those niches need to die, now. Nowadays we are in the era where such terrible technologies are no longer needed and we can more than get by on JavaScript (even though I don't particularly like how the language is structured as compared to my wonderful C++ and Java). So why are we still settling for Adobe Flash? Is Adobe bribing people to continue to use their products in fear that they'll start losing market? They already have Photoshop, they should be content with that.

+ +

What's even worse are these websites where the entire website is in an Adobe Flash app. That's right, not just a section of a page, not just a webpage, but the entire fucking site. These sites need to be burned, meaning the machines hosting those VPSs need to be confiscated, disassembled, crushed, and melted. Who has so much time on their hands that they are going to go through the hassle of writing an entire website in Adobe Flash? Seriously, who thinks of this as a good idea?

+ +

In any case, stop making Flash shit, it's a waste of time and it's only going to become obsolete (which I guess is strange coming from someone who has an all text website that is built with PHP, but at least my website with render without a fucking plugin).

+ diff --git a/blog/posts/2016-10-08-why-i-use-cc-by-nd.cfg b/blog/posts/2016-10-08-why-i-use-cc-by-nd.cfg new file mode 100644 index 0000000..99f8d71 --- /dev/null +++ b/blog/posts/2016-10-08-why-i-use-cc-by-nd.cfg @@ -0,0 +1,5 @@ +filename = 2016-10-08-why-i-use-cc-by-nd.html +title = Why I Use CC-BY-ND +description = My reasons for using CC-BY-ND on my writings. +created = 2016-10-08 +updated = 2016-10-08 diff --git a/blog/posts/2016-10-08-why-i-use-cc-by-nd.html b/blog/posts/2016-10-08-why-i-use-cc-by-nd.html new file mode 100644 index 0000000..746b48c --- /dev/null +++ b/blog/posts/2016-10-08-why-i-use-cc-by-nd.html @@ -0,0 +1,8 @@ +

If you look at my essays in the writings section of my website you'll notice that they're licensed under a CC-BY-ND license, which is not a free culture license. Seeing that I fully support free culture I feel the need to explain why I use NoDerivatives on my essays specifically.

+ +

First I would like to point out that although these works are licensed as NoDerivatives, you still have the right to distribute and even to quote my essays as long as you attribute my original work properly and do not modify/manipulate the text or section of the text that you use. Therefore the only right that is lacking is the right to modify my works and distribute those modifications.

+ +

As for my reasoning behind this licensing, the reason is simply that I don't want my own writings to be used against me through manipulation. These writings are a representation of my opinion, and if it were under a ShareAlike license such as other works of mine then someone would be able to manipulate my essay to say something that I do not agree with and then properly attribute me, therefore misrepresenting what I my actual opinion is, and although they would be required to state the changes they made and the readers would be able to compare to my own works, many people would not care to look at the changes or compare with the original, and therefore I do not wish to allow for modifications of my essays. With other works, such as music, programs, stories, etc. I always use free culture licenses because they are not necessarily representations of my opinion. This blog is the only exception to this because it is licensed along with the rest of my website, which is under the CC-BY-SA 4.0 International. Therefore I find it justified that I use a NoDerivatives license on my essays.

+ +

Again, although derivatives are not permitted, there is still the ability to distribute and even commercialize my works, but not to make any derivatives based upon it.

+ diff --git a/blog/posts/2016-10-27-avoiding-youtube-non-free-javascript.cfg b/blog/posts/2016-10-27-avoiding-youtube-non-free-javascript.cfg new file mode 100644 index 0000000..e416dd6 --- /dev/null +++ b/blog/posts/2016-10-27-avoiding-youtube-non-free-javascript.cfg @@ -0,0 +1,5 @@ +filename = 2016-10-27-avoiding-youtube-non-free-javascript.html +title = Avoiding YouTube Non-Free JavaScript +description = Technologies you can use to watch YouTube videos without having to visit the actual website. +created = 2016-10-27 +updated = 2016-10-27 diff --git a/blog/posts/2016-10-27-avoiding-youtube-non-free-javascript.html b/blog/posts/2016-10-27-avoiding-youtube-non-free-javascript.html new file mode 100644 index 0000000..479686b --- /dev/null +++ b/blog/posts/2016-10-27-avoiding-youtube-non-free-javascript.html @@ -0,0 +1,12 @@ +

First I would like to mention that there are free alternatives to publishing media (even videos) such as the Up1 service (which currently is currently down on its main page, but you can access another instance of it at share.riseup.net), unsee.cc, and GoblinRefuge (a MediaGoblin instance that allows up to 1GB size uploads). Therefore if you're going to publish media try using one of those first (GoblinRefuge is the closest thing to YouTube in terms of how public the media is).

+ +

Now, as for avoiding using YouTube's website, I've found two programs that can be used to watch YouTube videos without having to visit the website. The first is `mps-youtube' (might also be called `mpsyt', that's the name of the Debian package, at least). This is a CLI program that lets you browse and download YouTube videos without having to visit the site. It gives you a set of commands which can be used to search, download, and play YouTube videos all from the command-line. It's quite advanced and should allow you to avoid using YouTube all together. I myself haven't truly explored all of its functionality yet (I mostly just use it to look up some quick videos), but expect it to be missing some of the website's functionality (duh).

+ +

The other option has to do with when you're given a YouTube link. To my knowledge mpsyt can't necessarily watch videos based on a URL (again, I haven't explored all of its features yet), and there's always that friend who's going to be sending you YouTube links, yet you don't want to click them. So you can simply use `youtube-dl'. It's a very common tool that you can use to download YouTube videos (along with videos from other sites, a friend of mine downloads his porn using youtube-dl from websites that do a shitty job at hiding the video's URL) and can even do things such as convert to other formats and extract audio from the files. Therefore, whenever someone sends you a YouTube link just run `youtube-dl ' and you'll never have to visit YouTube again.

+ +

With this it's relatively easy to live without running YouTube's non-free JavaScript. Although from now on any media you want to upload you should do so through the more ethical alternatives mentioned before.

+ +

UPDATE 2018/06/24: I was recently made aware of HookTube, which is a website that keeps your viewing of YouTube videos away from YouTube, is lighter, and is still easy to use.

+ +

UPDATE 2020/03/19: I forgot I had this post, but I guess late is better than never. Basically, HookTube has faced legal action from YouTube and had to resort to using normal embeds. It's still good as a lightweight alternative to YouTube, but not for privacy. If you want the privacy features HookTube used to have then I suggest using Invidious instead.

+ diff --git a/blog/posts/2016-11-15-studying-for-my-c++-exam.cfg b/blog/posts/2016-11-15-studying-for-my-c++-exam.cfg new file mode 100644 index 0000000..c3d27f6 --- /dev/null +++ b/blog/posts/2016-11-15-studying-for-my-c++-exam.cfg @@ -0,0 +1,5 @@ +filename = 2016-11-15-studying-for-my-c++-exam.html +title = Studying for My C++ Exam +description = Interesting things I've found about C/C++. +created = 2016-11-15 +updated = 2016-11-15 diff --git a/blog/posts/2016-11-15-studying-for-my-c++-exam.html b/blog/posts/2016-11-15-studying-for-my-c++-exam.html new file mode 100644 index 0000000..dc85b75 --- /dev/null +++ b/blog/posts/2016-11-15-studying-for-my-c++-exam.html @@ -0,0 +1,4 @@ +

Today (in an hour and a half of me writing this) I have a practice exam on C++ programming. However, while all other students are studying loops, conditionals, array,s, and structures, I (obviously) am not. Instead I found a magnificent website containing a bunch of obscure C++ features that I plan on using in the exam (at least those I can use for a class that hasn't even studied functions yet, much less pointers). One of the ones I'm most fond of (and that I did not think about before reading this page) is how an array is simply a pointer to a direction in memory (on the stack or the heap) where variables are stored. This is obvious once you think about it, but it has implications. This means that the array variable is holding the memory address to these variables, so this can no be used to create obscure syntax. Especially since the square brackets actually just do a sum to calculate the address and then point to that address, that is, `myArray[3]' is the same as `3[myArray]'. And what's more, remember how arrays are just pointing to different locations in memory (kind of like all variables, really)? Well, this means that you can just as easily do `*(myArray + 3)' and it will do the same exact thing. If anything this last one is more explanatory of what is actually going on, seeing that it's pointing to a memory address where the variable is located and it is put in a much more explicit manner.

+ +

So yeah, I plan on using this for my exam. Why? So the teacher can see that this is child's play for me and that I should not be wasting my time on this when I could be creating something more important (like working on my hundreds of projects on GitHub and GitLab).

+ diff --git a/blog/posts/2016-11-22-for-tabs.cfg b/blog/posts/2016-11-22-for-tabs.cfg new file mode 100644 index 0000000..d7c7353 --- /dev/null +++ b/blog/posts/2016-11-22-for-tabs.cfg @@ -0,0 +1,5 @@ +filename = 2016-11-22-for-tabs.html +title = For Tabs +description = Defending the use of tabs for coding. +created = 2016-11-22 +updated = 2016-11-22 diff --git a/blog/posts/2016-11-22-for-tabs.html b/blog/posts/2016-11-22-for-tabs.html new file mode 100644 index 0000000..52de298 --- /dev/null +++ b/blog/posts/2016-11-22-for-tabs.html @@ -0,0 +1,8 @@ +

It's time for me to get involved in one of the most polar debates among programmers, even more polar and controversial than Vim vs. Emacs, which is tabs vs. spaces. In the Vim vs. Emacs debate many programmers tend to get left out and don't care because they('re noobs and) use GUI editors. While in the tabs vs. spaces debate, unless you only program in Assembly (and even then) or some obscure language that doesn't use indentation (or you just don't use indentation, in which case you are either retarded or a dick), you have used either one for your indentation and can most likely know what the hell the conversation is about.

+ +

To start off I am in favor of tabs. I'm not too religious about it, but if we're going to use spaces then it's gotta be 4. I actually don't have too many problems with using spaces, especially since my Vim has a plugin to detect indentation. However, if I am to choose how indentation is done then I choose tabs over spaces any day. My reasoning for this is simple: if tab characters are used then everyone gets to see the indentation they prefer. Remember how I said that if I use spaces it has to be 4? Yeah, that's because my tab size is set to 4. If tabs are used then I get to see a 4 column indentation, someone else gets to see a 2 column indentation, and someone else can see an 8 column indentation. Typically this is seen as a disadvantage of tabs, however I see it as advantageous since every programmer gets to see their code in the way they want it. Some may complain that they have to get used to pressing the tab key instead of the space bar, but to them I say that they should've setup their editor to convert tabs to spaces from the beginning instead of having to hit the space bar 4 times just to indent a line of code.

+ +

One disadvantage that must be acknowledged is that this makes the `columns' number on your editor almost useless (since it counts tabs as only one column). However, I do not see this as important since all you really need is the line number and the compiler will tell you at what point on that line (in terms of the code on that line) the error/warning is coming from. No need for columns.

+ +

Basically, tabs allow each programmer to see things how they want to and be more efficient (since they'll be able to see all projects with the same indentation so long as they use tabs or the same number of spaces as there are columns in their tabs). Therefore, by using tabs everyone gets to see the code the way they want to and no one has to pass code back and forth between a styler. So let's stop the indentation size dictatorship of spaces that stops the hacker from seeing the code the way they want and work towards a tabs future so every hacker can read the code how they want to!

+ diff --git a/blog/posts/2016-11-28-the-importance-of-libre-games.cfg b/blog/posts/2016-11-28-the-importance-of-libre-games.cfg new file mode 100644 index 0000000..0aa0b5e --- /dev/null +++ b/blog/posts/2016-11-28-the-importance-of-libre-games.cfg @@ -0,0 +1,5 @@ +filename = 2016-11-28-the-importance-of-libre-games.html +title = The Importance of Libre Games +description = Why it's important to have libre games as well as other applications. +created = 2016-11-28 +updated = 2016-11-28 diff --git a/blog/posts/2016-11-28-the-importance-of-libre-games.html b/blog/posts/2016-11-28-the-importance-of-libre-games.html new file mode 100644 index 0000000..f50cb2f --- /dev/null +++ b/blog/posts/2016-11-28-the-importance-of-libre-games.html @@ -0,0 +1,10 @@ +

Games form a very important part of our lives, even if it's not necessarily computer games you do play some sort of games (although I would guess that most who read my blog would play some sort of computer game, mobile games included since mobiles are a type of computer). Games give us a way of spending some time that we have to kill, either alone or together with others. This means that freedom in gaming is extremely important.

+ +

Usually gaming is one of those industries where free software has not yet been able to gain a foothold, yet I believe it is a very important industry to promote free software in to be able to relieve those of us (stallmanites) who wish not to use any non-free software are left with almost no decent games to play in the free world (unless we want to play 20 different versions of the same FPS game, like AssaultCube, Xonotic, Red Eclipse, OpenArena, Alien Arena etc., basically Quake-based games). It's really hard to find good libre games mostly because the free software movement in gaming is still extremely young.

+ +

Because of this many free software advocates are tempted to either get a Windows drive, run a virtual machine with Windows on it, or install something like Steam on their computers. This is problematic since this is a lot of non-free software, instead there should be an effort to promote free software among game developers, and much more using free culture assets. This is one reason why I think that the DMUX project is so important, it's the creation of a new game (not another Quake remake) to promote free software in the gaming industry and prove that a free software model is possible in gaming (at least as long as a copyleft license is used).

+ +

To end this I would like to give a few examples of some good free/libre games that can be found in different genres. To start, the best FPS games I've found are Xonotic and Red Eclipse, AssaultCube is good if you have an old computer. Flare is a nice single-player RPG game that takes place in a fantasy world. I've heard that FreeCiv is a good Civilization-like game for TBS. Then there's 0AD and boswars are good RTS games. PlaneShift is a pretty good MMORPG game (it's also 3D!), also fantasy style, although they will soon be switching to the Unreal Engine, so I'd recommend looking out for that.

+ +

This is just a small list, and I'm sure there are many more and other genres I have not mentioned. If you know of any horror libre games then please e-mail me with the name and/or a link.

+ diff --git a/blog/posts/2016-11-29-non-free-firmware.cfg b/blog/posts/2016-11-29-non-free-firmware.cfg new file mode 100644 index 0000000..b3ff35a --- /dev/null +++ b/blog/posts/2016-11-29-non-free-firmware.cfg @@ -0,0 +1,5 @@ +filename = 2016-11-29-non-free-firmware.html +title = Non-Free Firmware +description = +created = 2016-11-29 +updated = 2016-11-29 diff --git a/blog/posts/2016-11-29-non-free-firmware.html b/blog/posts/2016-11-29-non-free-firmware.html new file mode 100644 index 0000000..9c93803 --- /dev/null +++ b/blog/posts/2016-11-29-non-free-firmware.html @@ -0,0 +1,10 @@ +

One of the largest struggles in the Free Software movement is that against non-free firmware. This is because firmware tends to be very difficult to replace, often completely tied to the hardware of the computer. Yet my opinion on the extension of freedom into this field is very iffy because of how firmware, by definition, is almost impossible to modify. Therefore the question is should we be as concerned about freedoms 1-3 with firmware? I would argue that freedom 0 is always important as it is what allows the user to use the program for whatever purpose, and therefore firmware is no more special in this regard.

+ +

For freedom 1, the freedom to analyze the code and change it, I believe that the first part of analyzing the code is important, as it helps to make sure that the software does what it says it does. However, the second part is a little less clear. Since it is firmware and cannot necessarily be changed that means that any changes made to the code are somewhat futile. However, it could be said that a change in the source-code is good for community improvements to the code or providing alternatives for someone else who has the resources to manufacture alternative hardware containing the modified firmware. So I leave that up in the air. In this sense freedom 1 is quite necessary for firmware.

+ +

Freedom 2 does not make much sense in terms of firmware since distribution of the firmware is just distribution of the hardware, which is already considered legal since it's not making a copy. So I would say that this kind of distribution is already protected by law in most countries with regards to firmware.

+ +

Freedom 3 is the tricky one. Taking into account what I said in the second part of freedom 1 it could sway either way. This freedom would essentially be the ability to manufacture alternative hardware that contains modified versions of the firmware. For this a community is extremely important. So this freedom, as well, is also very up in the air.

+ +

Of course, if possible it's always best to buy hardware that uses freedom respecting firmware. However, I do not see it as being as important as software in most cases, especially since firmware is not always changeable anyways therefore restricting freedom 1 by definition. That said, it is a different issue that manufacturers are putting more and more of the user's computing onto the hardware component itself and its firmware, and although this may yield more due to less load on the CPU it does take away power from the user and therefore the user's freedom. If the firmware simply does the minimal amount and then leaves most of the work to the drivers then the firmware being non-free is not as problematic so long as the drivers are freedom respecting. However, if the firmware is doing a good portion of the computing then it becomes rather problematic. These devices should be avoided at all costs since the user never has control over them.

+ diff --git a/blog/posts/2016-12-05-why-i-use-cli.cfg b/blog/posts/2016-12-05-why-i-use-cli.cfg new file mode 100644 index 0000000..368b259 --- /dev/null +++ b/blog/posts/2016-12-05-why-i-use-cli.cfg @@ -0,0 +1,5 @@ +filename = 2016-12-05-why-i-use-cli.html +title = Why I Use CLI +description = +created = 2016-12-05 +updated = 2016-12-05 diff --git a/blog/posts/2016-12-05-why-i-use-cli.html b/blog/posts/2016-12-05-why-i-use-cli.html new file mode 100644 index 0000000..5ed8cae --- /dev/null +++ b/blog/posts/2016-12-05-why-i-use-cli.html @@ -0,0 +1,12 @@ +

For those of you who don't know, CLI means Command-Line Interface. I'm a huge fan of using CLI over their GUI (Graphical User Interface) alternatives, to the extent that typically the only non-terminal windows I have open is simply one: my browser (IceCat). I would not like to switch my browser to CLI for various reasons, but everything else is. Everything else (e-mail, IRC, music, password manager, etc.) is all in the terminal. I do this for multiple reasons.

+ +

First one is that it's better performance. Instead of spending so many resources on other applications (like e-mail clients and music players, which tend to be rather heavy) I can reserve those resources for other applications, such as VMs or any heavy-duty program I may be running at that moment in time. Of course, I do have a small contradiction on this one which is that I use GNOME3 as my DE, which, for those of you who are not familiar with it, is a somewhat heavy DE. My excuse for this is simply that I'm used to GNOME and all of its nice keyboard shortcuts, that and its interface feels very natural and slick to me.

+ +

Another reason why I use CLI is to avoid using the mouse. Using the mouse usually takes me much more time than it does to type out a command or press a keybinding, and although GUI applications have keybindings, they are not as obvious or used as in the CLI alternative (sometimes you have to set the keybindings manually because they don't have defaults). Therefore CLI applications allow me to get work done much faster.

+ +

What I find to be much more important is that CLI is much less distracting. Being only text, no bells, no whistles, just text, I find it much easier to concentrate without notifications and beeps and noises everywhere. Of course, there are settings to disable these on GUI applications, but by default they tend to annoy the hell out of me, and I prefer to keep close-to-default options so when I switch computers I don't have many issues. It also helps that I put all of my applications that I usually have up in a TMUX instance, that way it only occupies one terminal window, but also I am not distracted by what may be happening in another TMUX window. However, when I used IceDove for e-mail, apart from annoying e-mail notifications, every time I switched workspaces to change my music, if I had new mail I would see that and get distracted by it, while now with Mutt inside the same TMUX instance as my music player I never have this problem.

+ +

If you're interested in moving applications of yours to CLI then here's what I use for my different tasks: e-mail - Mutt, IRC - irssi, password manager - pwman3 (I suggest getting it from `pip3' instead of the system package manager), music player - cmus, to-do list - tudu. I have all of these inside of a TMUX instance. If you want to use a CLI web browser then there are browsers such as links, lynx, elinks, and w3m, of which I have only tried links(2) and elinks.

+ +

Now, there are some drawbacks to this, of course. One of the drawbacks is learning to use the tools, they're usually not as intuitive, however I usually find this worth it since my productivity then goes up. The second is that this can somewhat scare people away from using GNU/Linux because they think (by seeing you/me) that if you want to use GNU/Linux you also have to use CLI, which is not necessarily the case (depends mostly on the distro and installation). However, I generally do not care for this aspect as much as to change my CLI habits.

+ diff --git a/blog/posts/2016-12-19-my-preference-for-c.cfg b/blog/posts/2016-12-19-my-preference-for-c.cfg new file mode 100644 index 0000000..424902e --- /dev/null +++ b/blog/posts/2016-12-19-my-preference-for-c.cfg @@ -0,0 +1,5 @@ +filename = 2016-12-19-my-preference-for-c.html +title = My Preference for C +description = +created = 2016-12-19 +updated = 2016-12-19 diff --git a/blog/posts/2016-12-19-my-preference-for-c.html b/blog/posts/2016-12-19-my-preference-for-c.html new file mode 100644 index 0000000..9136507 --- /dev/null +++ b/blog/posts/2016-12-19-my-preference-for-c.html @@ -0,0 +1,4 @@ +

Of all the programming languages my favorite in general is C. I'm fine with using other languages, but C is by far my favorite. The reason for this is that C is much closer to assembly than other languages which try to abstract it away from the developer. When programming in C you can see how the code would look in assembly just by looking at it, and it makes it easier to do performance improvements since you know what the code will look like more-or-less in assembly (with `-O0', of course). This makes it much easier for me to visualize how the computer is going to be managing the system's resources with my code and how it's going to run it, giving me much more control (something that I typically am attracted to in a programming language or in computing in general). Then there's also how the code in C is still low-level and is compiled to a binary, being much more efficient than an interpreted language. It is also quite basic, having a fewer variety of syntax which helps to make finding 'the best solution' much easier (unlike in C++ where there are 200 different ways to implement the same thing).

+ +

Of course, I do recognize that C is not best for every job, for example, for most desktop games I would prefer to use C++, since OOP languages seem to be better suited for games (or rather that gamedev itself fits the OOP paradigm very well), for any mobile app I'd obviously use Java, and so on. However, in general for a program I prefer C, seeing that it gives me more control over the computer, does not abstract me too far away from the assembly that is beneath, and does not bombard me with syntax and strange features.

+ diff --git a/blog/posts/2016-12-22-we-i3-now.cfg b/blog/posts/2016-12-22-we-i3-now.cfg new file mode 100644 index 0000000..a3fbe8d --- /dev/null +++ b/blog/posts/2016-12-22-we-i3-now.cfg @@ -0,0 +1,5 @@ +filename = 2016-12-22-we-i3-now.html +title = We i3 Now +description = I switched to using i3. +created = 2016-12-22 +updated = 2016-12-22 diff --git a/blog/posts/2016-12-22-we-i3-now.html b/blog/posts/2016-12-22-we-i3-now.html new file mode 100644 index 0000000..2bcff59 --- /dev/null +++ b/blog/posts/2016-12-22-we-i3-now.html @@ -0,0 +1,10 @@ +

So, in a previous post I spoke about how I use GNOME as my DE, and I explained that it's mostly because I didn't want to have to got through the hassle of setting up a more minimal WM to make it usable. Well, recently a friend helped me to setup a new WM, so from now on I'll be using i3, the tiled WM. I've found that this WM makes my life much easier than GNOME did, mostly because in this WM I can easily open terminals via `MOD+Enter' and I barely ever have to use the mouse. In fact, because I don't have to move around windows (which could be done with the keyboard in GNOME, but it took forever) I rarely use the mouse at all, that and I've configured everything to use the Vim key bindings (that is, instead of `jkl;', which are default, I use `hjkl').

+ +

Of course, there were a couple of things that I needed, since i3 doesn't automatically give you all the programs to make your computer work you will need to choose applications on your own. For networking I'm using wicd, it has GUI and CLI interfaces. I'm fine with keeping the GUI interface for that since I rarely have to touch it. For audio I've switched to using alsamixer and pavucontrol, however, with the volume being printed in the status bar I rarely have to use these.

+ +

These are simply the most essential applications, as for other stuff, I continue to use ibus for my Input Methods, but I've setup some key bindings within i3 for them (still use mozc for Japanese IME). I'm also using xpdf for PDF viewing and gpicview for image viewing. Since before I've already used mpv for watching videos, so that hasn't been a problem. Since I'm also used to the GNOME terminal I had to find another terminal emulator, so I ended up going with lxterminal which is pretty similar. Also, if you want a background you can use feh.

+ +

The reason why I chose most of this software is because they have relatively low dependencies, I did not want programs with large dependencies that go all over the place, much less GNOME or KDE dependencies. All these should be available in the Debian Testing repositories.

+ +

So yes, now the "Deathsbreed uses all CLI because he spends half his RAM on his DE" meme is over.

+ diff --git a/blog/posts/2016-12-24-books.cfg b/blog/posts/2016-12-24-books.cfg new file mode 100644 index 0000000..18b0e13 --- /dev/null +++ b/blog/posts/2016-12-24-books.cfg @@ -0,0 +1,5 @@ +filename = 2016-12-24-books.html +title = Books +description = My rant as to why books aren't as important as people say. +created = 2016-12-24 +updated = 2016-12-24 diff --git a/blog/posts/2016-12-24-books.html b/blog/posts/2016-12-24-books.html new file mode 100644 index 0000000..abb950a --- /dev/null +++ b/blog/posts/2016-12-24-books.html @@ -0,0 +1,14 @@ +

Nowadays we are very used to being pounded with the ever more popular idea that books are sacred and that anything digital is somehow impure (even if it's the same material but on a screen). This is something that has bothered me very much, especially as someone who does not read many physical books, but does read a lot of material online. And I'd like to point out that this belief is completely unfounded, and that, at least from what I see, the digital reading is being much more beneficial to society than the physical books.

+ +

To begin, if I am reading the same material but I'm doing it on my computer rather than with a physical book, what's the difference? Yes, I know that you tend to remember things better that are on paper (I've seen this on many articles online), however that does not change the quality of the content if the content is exactly the same. So if I'm reading something digitally cut the crap.

+ +

Then there is also the aspect of physical space and resources. Compare a ton of bookshelves to a single USB stick. The amount of physical space occupied by the USB stick is thousands of times smaller, heck, it's smaller than every single book on those shelves individually, and therefore is much more portable and much less space consuming (more living space). Then you must also consider resources, the thousands of millions of books that can fit on, say, a server in PDF format for people to download and view on their devices, and then delete when they're done with it. Think of a massive library accessible to the entire world at their fingertips and they don't even have to wait to check out the book. Now compare this to the physical books, even if it's a library they still occupy a lot more space and will use many more resources, especially since most people will want a book of their own and will end up getting copies of said book instead of checking it out. This ends up being much more wasteful.

+ +

There's also another aspect of these "reading books is better" people that I very much dislike. When I read on my computer I read a lot of useful information: news and Wikipedia articles, studies, documentation, essays, civilized discussions on advanced topics (well, maybe not that civilized, but at in depth for sure). Meanwhile, what do these people read in their books? Novels. Not even good quality ones most of the time. Often times it's shitty teenage drama novels. This kind of reading is not useful for anything except personal entertainment, and therefore is the same as simply watching the TV or playing a computer game (although at least with playing a computer game you actually do some thinking). If reading physical books means ending up like these people I'd rather not, these people are just as bad as those that get home and sit in front of the TV all day, there is no difference, the only thing that changed was the means of their entertainment.

+ +

So overall I think that this trend needs to die, or at least be a little smarter about how they market it and realize that there are people like me who read things digitally that are of much more use than their fiction reading.

+ +

Of course, I do enjoy physical books for some things, namely when reading philosophy, mostly because I like to underline and take notes, which on most digital devices is a pain in the ass compared to on a book. However, I'm fairly certain that a technology that does this book annotating better will arise, and at that point I will no longer have this preference since I can do it just as easily on my laptop.

+ +

So, next time you're about to tell some kids in a classroom about how "important it is to read from a book", just remember that some people read a lot more productive material online that those who read it from books.

+ diff --git a/blog/posts/2016-12-25-merry-grav-mass.cfg b/blog/posts/2016-12-25-merry-grav-mass.cfg new file mode 100644 index 0000000..ea56ed3 --- /dev/null +++ b/blog/posts/2016-12-25-merry-grav-mass.cfg @@ -0,0 +1,5 @@ +filename = 2016-12-25-merry-grav-mass.html +title = Merry Grav-Mass! +description = A secular celebration. +created = 2016-12-25 +updated = 2016-12-25 diff --git a/blog/posts/2016-12-25-merry-grav-mass.html b/blog/posts/2016-12-25-merry-grav-mass.html new file mode 100644 index 0000000..0725d27 --- /dev/null +++ b/blog/posts/2016-12-25-merry-grav-mass.html @@ -0,0 +1,8 @@ +

Merry Grav-Mass!

+ +

Today is the day that Isaac Newton, the man who discovered the laws of motion as well as having invented Calculus, was born. Many things that today we take for granted would not have been possible without his discoveries, and therefore deserves a day of recognition.

+ +

I believe that it is important to celebrate Grav-Mass in every household, as it raises children with a familiarity of science and mathematics, and perhaps even an interest in them. It is very important that children grow to understand what science is, what it means. In the media we often see science represented in the form of 'cool experiments', however this is not true. Science is not about making water turn to ice upon impact, or roasting marshmallows using electrical currents, or mixing baking soda with vinegar in a paper volcano, it's asking why those things happen. Everyone knew that gravity existed before Newton, obviously we were all attracted to the ground, however Newton, being the scientist he was, asked why it is so, what patterns it has, etc. Those questions are what science is about, not the 'cool experiments'.

+ +

There are many ways to celebrate Grav-Mass, the link above to Stallman's page on the holiday has some very common ways of celebrating the holiday. However, in my opinion, the most important part is making sure that this holiday you promote, talk about, and learn anything math related or science related and sharing with friends.

+ diff --git a/blog/posts/2017-01-07-getting-esperanto-diacritics-on-gnu-linux.cfg b/blog/posts/2017-01-07-getting-esperanto-diacritics-on-gnu-linux.cfg new file mode 100644 index 0000000..b09b8a1 --- /dev/null +++ b/blog/posts/2017-01-07-getting-esperanto-diacritics-on-gnu-linux.cfg @@ -0,0 +1,5 @@ +filename = 2017-01-07-getting-esperanto-diacritics-on-gnu-linux.html +title = Getting Esperanto Diacritics on GNU/Linux +description = +created = 2017-01-07 +updated = 2017-01-07 diff --git a/blog/posts/2017-01-07-getting-esperanto-diacritics-on-gnu-linux.html b/blog/posts/2017-01-07-getting-esperanto-diacritics-on-gnu-linux.html new file mode 100644 index 0000000..fd854dd --- /dev/null +++ b/blog/posts/2017-01-07-getting-esperanto-diacritics-on-gnu-linux.html @@ -0,0 +1,8 @@ +

Recently I've decided to start learning Esperanto alongside Japanese. I have my reasons for liking Esperanto, but this post is mostly on how to get the Esperanto diacritics (namely ĉ, ŝ, ĥ, ĵ, ǔ, and ĝ) on your keyboard for GNU/Linux. There are multiple ways of doing this, the ibus system has some Esperanto IMEs (like the x-system and h-system), but I've found those to be extremely annoying while typing (just try to use them, if you're used to typing using a Japanese IME for hiragana and katakana then this will annoy the fuck out of you). So instead I decided to use a method I used to use back in the day for getting Spanish tildes, dieresis, and the 'ñ' characters: Xmodmap. Basically I mapped a key I barely used (like the right `alt' and `shift' keys) to tilde and 'ñ'.

+ +

In this specific case I used `xev' to find out the `keycode' for my right `alt' key and then made a file in my home directory called `.Xmodmap' containing the line `keycode 108 = dead_circumflex' (make sure to change `108' with whatever your `xev' gives you for your dead key). After this just run `xmodmap ~/.Xmodmap' and it you will be able to use the circumflex by typing the right `alt' (or whatever you set it to) and then the character, such that `ralt+s' would give 'ŝ'. NOTE: you do not need to hold down the `alt' key, just press it once ;D.

+ +

It took me forever to get this figured out, so I'm hoping that this helps some other poor soul who does not want to look through the thousands of links saying "look at the KDE/GNOME docs".

+ +

UPDATE 19/03/2020: I've taken to using the US International keyboard layout instead of this hack, as it's much more effective and not as buggy. This just means changing your keyboard layout to US International via a tool like IBUS, whatever your DE uses - which is probably IBUS - or put it in your WM's init script as `setxkbmap us altgr-intl'.

+ diff --git a/blog/posts/2017-01-13-parabola-gnu-linux-libre.cfg b/blog/posts/2017-01-13-parabola-gnu-linux-libre.cfg new file mode 100644 index 0000000..3779f94 --- /dev/null +++ b/blog/posts/2017-01-13-parabola-gnu-linux-libre.cfg @@ -0,0 +1,5 @@ +filename = 2017-01-13-parabola-gnu-linux-libre.html +title = Parabola GNU/Linux-libre +description = +created = 2017-01-13 +updated = 2017-01-13 diff --git a/blog/posts/2017-01-13-parabola-gnu-linux-libre.html b/blog/posts/2017-01-13-parabola-gnu-linux-libre.html new file mode 100644 index 0000000..4e2fde4 --- /dev/null +++ b/blog/posts/2017-01-13-parabola-gnu-linux-libre.html @@ -0,0 +1,8 @@ +

Recently I have made a switch to Parabola GNU/Linux-Libre, one the free GNU/Linux distributions (the others use the standard Linux kernel which has non-free blobs for drivers, as well as distributing non-free firmware). I made the switch after receiving a WiFi adapter that respects freedom, since the only component of my laptop that required non-free drivers and firmware was my wireless card. The reason I chose Parabola of all the free distros is because Parabola has the most up-to-date packages (unlike, for example, Trisquel which is based on the Ubuntu LTS, or gNewSense which is based on Debian Stable).

+ +

The reason for switching to Parabola from Debian is because Debian, although it can be de-blobbed, I have not liked how they do their software segregation. One would think that `non-free' would be for non-free software or free software that depends on non-free software (unless they put the free part in `contrib', as they do with the AssaultCube package), yet when I was looking for the firmware for my wireless card I was surprised to find that it was in `non-free' along with all the others. I quickly began looking up the firmware to see if I could find source code and what license it was under. But no, the firmware is 100% Free Software, Debian just put them in a non-free package with other non-free software that are completely unnecessary forcing anyone who wants to use the free firmware to also download the non-free firmware along with it.

+ +

Another reason is because by using a free distro it is easier to promote Free Software, especially since there's nothing I could install from the repos that would be non-free. I also now have a very nice package called `your-freedom', which, if I were to install a non-free package, it will "conflict with `your-freedom'" and ask "Are you sure you would like to remove `your-freedom'?". Something that I find rather hilarious and funny, yet very useful so you don't have to worry about if a package is Free Software or not (because `your-freedom' will take care of that for you).

+ +

I still have not overwritten my Windows drive because I currently still need it for video conferencing (you know, to talk to family and friends), however I believe I found found a solution to this, and I will post about it later when I confirm it as a proper solution. Once I have confirmed it as a solution and have gotten my family and friends to switch to it I will be overwriting my Windows drive most likely with Trisquel.

+ diff --git a/blog/posts/2017-01-14-the-onion-router.cfg b/blog/posts/2017-01-14-the-onion-router.cfg new file mode 100644 index 0000000..25c055e --- /dev/null +++ b/blog/posts/2017-01-14-the-onion-router.cfg @@ -0,0 +1,5 @@ +filename = 2017-01-14-the-onion-router.html +title = The Onion Router +description = +created = 2017-01-14 +updated = 2017-01-14 diff --git a/blog/posts/2017-01-14-the-onion-router.html b/blog/posts/2017-01-14-the-onion-router.html new file mode 100644 index 0000000..920303d --- /dev/null +++ b/blog/posts/2017-01-14-the-onion-router.html @@ -0,0 +1,6 @@ +

As many may have noticed, unfortunately TOR has been presented by the media as solely a tool for illicit activities that most of us consider to be extremely alarming (ie child pornography, hit-men, counterfeit bills, etc.), when those of us who have used TOR (or do use it regularly) know that the TOR project itself has nothing to do with these activities, and more importantly that it can be used for our own privacy just as it can for those of the criminals. However, because of this association that has been pounded into their heads by the media (where every time it comes up it's because some illicit activity is being done through it) they are often afraid to even use it for navigating the clearnet (used when referring to websites in the clear that we are all used to, like this one) fearing that somehow that will involve them in illicit activities, despite this not being the case at all.

+ +

Therefore, whenever you may try to talk to people and try to convince them to use TOR the will often shy away due to its very negative image. So how do we talk to people about using TOR without scaring them off? Well, one 'alternative' is to simply talk about the alternatives, such as Freenet or I2P, however this still avoids TOR which is one of the largest of these anonymizing networks, and therefore the most secure/private. However, notice one thing, everyone knows of TOR as TOR, when in reality TOR is simply an abbreviation for "The Onion Router", a name by which barely anyone knows it. Therefore, I believe that a good solution would be to stop referring to it as TOR and to begin referring to it by its full name: "The Onion Router". Because people do not know it when referring to it as "The Onion Router" they will not be afraid of it as they are when they hear TOR, they will not be thinking that it will draw them into some illicit activity, and they will be more willing to listen because they haven't heard of it before.

+ +

Of course, this does not mean that now that you refer to it as "The Onion Router" they will automatically be interested in it, but it will lift one of the barriers to helping people protect their privacy.

+ diff --git a/blog/posts/2017-01-26-esperanto.cfg b/blog/posts/2017-01-26-esperanto.cfg new file mode 100644 index 0000000..ea98951 --- /dev/null +++ b/blog/posts/2017-01-26-esperanto.cfg @@ -0,0 +1,5 @@ +filename = 2017-01-26-esperanto.html +title = Esperanto +description = My recent interest in an artificial language. +created = 2017-01-26 +updated = 2017-01-26 diff --git a/blog/posts/2017-01-26-esperanto.html b/blog/posts/2017-01-26-esperanto.html new file mode 100644 index 0000000..8641c2b --- /dev/null +++ b/blog/posts/2017-01-26-esperanto.html @@ -0,0 +1,8 @@ +

Recently I started learning Esperanto, the universal second-language. It's a constructed language made with the purpose of being used as a second-language by everyone so that everyone could talk to each other while no one country having the advantage of it being their native language. Because of this the language is very simple to learn, the grammar is extremely simple and, most of all, consistent and logical.

+ +

After having played with it a little I already find it quite easy to formulate sentences with it, although this is mostly due to it being very similar to romance languages. However the grammatical rules still remain simple and easy to use (such as the lack of person, gender, formality (in Japanese), and number in verb conjugation, which makes conjugation very easy to memorize).

+ +

Personally, I believe that Esperanto has the potential of being a great universal language (better than English which is confusing, inconsistent, and provides an advantage to the US, UK, and Australia). I believe that if the EU, Russia, and China were to join together to make this the language used for all international affairs, and then teach it in everyone's respective country(ies) then the rest of the world would be forced to follow if they do not wish to get left behind. With everyone then learning Esperanto as a second-language we would no longer have to rely on translators for international politics and affairs, making international politics more accessible as well as less intimidating and without the risk of mistranslation. It would also avoid misunderstandings due to faulty translations or translations that do not take into account the context of a country, since everyone would be speaking the same language it eliminates most of those situations.

+ +

Essentially, any movement that wishes to be international I believe should work in Esperanto as a way to maintaining neutrality and universality.

+ diff --git a/blog/posts/2017-01-30-developers-as-an-audience.cfg b/blog/posts/2017-01-30-developers-as-an-audience.cfg new file mode 100644 index 0000000..1be5588 --- /dev/null +++ b/blog/posts/2017-01-30-developers-as-an-audience.cfg @@ -0,0 +1,5 @@ +filename = 2017-01-30-developers-as-an-audience.html +title = Developers as an Audience +description = +created = 2017-01-30 +updated = 2017-01-30 diff --git a/blog/posts/2017-01-30-developers-as-an-audience.html b/blog/posts/2017-01-30-developers-as-an-audience.html new file mode 100644 index 0000000..34d0b71 --- /dev/null +++ b/blog/posts/2017-01-30-developers-as-an-audience.html @@ -0,0 +1,8 @@ +

Often times us programmers are told that something we are creating is too complex, too techie, or too advanced for the average person and therefore it is our responsibility to make our programs easier to use for other people. This makes sense in certain circumstances where we are actually trying to make things for the average user, however this does not always need to be the case. Why must we always make our programs available to the average user? This limits our ability to create great functionality because we're too focused on UX (and, in some horrifying cases, sacrifice functionality in the name of UX). To me this is an issue, as programmers we do not always have to develop for an end user, especially if we are trying to create something that we think most other developers would find useful or cool/fascinating.

+ +

This also partly has to do with the lack of understanding by many who are not hackers and do not understand that those of us who are do these things for the joy of it, the joy of making cool stuff, the joy of tinkering with stuff to make it do something in an interesting/unexpected way. This is something that we hold dearly but is not understood by most people outside of our small niche. To us it's entertainment and even a lifestyle, but to them we should be making things to be used by them.

+ +

To put this in perspective for those who are not hackers, but are some type of artist: if you are a musician you create music that you find fun to play, or that the notes make an interesting melody when they are put together. If you are a musician who cares about music as an art, you do not care about the 'end-user', you make music because it's what you love, it's something that you find entertaining and time consuming. Same happens with hackers. We do not want to have to make programs only for end-users, typically we already do that at work. When we're doing our own stuff we're doing it for ourselves, and it should not matter if you can't use it, but you can appreciate the work that went into it and the amount of fascination that the hacker has for their creation despite most people not being able to understand it enough to use it. Perhaps no one will listen to your music, but you created something you're proud of, something that you are fascinated by, something that shows your passion for music.

+ +

Therefore, unless the hacker is at work and is creating a program specifically for the average user, let them make what they want, UX and all other factors are unimportant to them. The only thing that matters in their free time is their passion for what they're doing.

+ diff --git a/blog/posts/2017-02-20-parabola-with-lvm-on-luks.cfg b/blog/posts/2017-02-20-parabola-with-lvm-on-luks.cfg new file mode 100644 index 0000000..2f78f0a --- /dev/null +++ b/blog/posts/2017-02-20-parabola-with-lvm-on-luks.cfg @@ -0,0 +1,5 @@ +filename = 2017-02-20-parabola-with-lvm-on-luks.html +title = Parabola with LVM on LUKS +description = Installing Parabola with LUKS encrypted userland and home directories (although not the boot directory where the kernel is, sadly). +created = 2017-02-20 +updated = 2017-02-20 diff --git a/blog/posts/2017-02-20-parabola-with-lvm-on-luks.html b/blog/posts/2017-02-20-parabola-with-lvm-on-luks.html new file mode 100644 index 0000000..28333a7 --- /dev/null +++ b/blog/posts/2017-02-20-parabola-with-lvm-on-luks.html @@ -0,0 +1,67 @@ +

As of recently I have reinstalled Parabola with a LUKS encrypted partition containing both swap and root (I do not have a separate home partition). I found this to be a long and painful process, but I learned quite a bit from doing it. My current setup is as follows:

+ +
+Device     Mount  Type       File System
+/dev/sda1  /boot  Linux      ext4
+/dev/sda2  -      Linux LVM  LUKS
+
+LVol       Mount  File System
+lvolroot   /      ext4
+lvolswap   -      swap
+
+ +

This configuration does leave `/boot' vulnerable, however I do not have anything particularly important there (if you do you may want to look up how to use LVM on LUKS with `/boot' in an encrypted partition, I believe the ArchWiki has an page on this). I will continue to show you how to setup your configuration so that you can have a similar config (such as adding a `/home' partition or otherwise).

+ +

WARNING: I am not responsible for what the outcome of this is if you are following this. This is simply a light guide. Basically, this is a no warranty statement. It will most likely work, but I'm not going to guarantee anything.

+ +

I will start assuming you've already booted from the Parabola live CD (the main one, not the MATE one). I will also assume that the device you're installing to is `/dev/sda', please make sure you're using the correct device!. Last thing I want is an e-mail saying that my post caused someone to delete an important drive or something.

+ +

To begin will most likely want to secure your disk and assure that no information is left behind on it by overwriting the entire thing. You can do this by running `dd if=/dev/urandom of=/dev/sda bs=1M status=progress'. You can use `/dev/zero' instead as the `if', but beware that if `dd' misses anything then it will be evident that that block of information was not wiped and is relevant. This will take a while, so go make a coffee, go out for a walk, read a book, do something else for a while. I ran this on a 500GB mechanical hard drive and it took about an hour, you can approximate by looking at the progress information (the parameter of which I so generously provided, `status=progress', unlike most other guides) and decide what to do, if you have an SSD it may take less time.

+ +

Once you've come back for the hundredth time to finally see that it finished we can now begin with the partitioning. First, you'll want to run `cfdisk /dev/sda' (you can use whatever you want, that's just what I used) and choose the `dos' disk label (others may work, but `dos' is what I used, and `gpt' failed horribly for me). After this create a new primary partition of about 100M, Linux, and set the bootable flag for it (from now on it will be referred to as `/dev/sda1', same warning as before). Then allocate the rest of the space (or whatever you want) to a second primary partition which will be our LUKS encrypted LVM partition, make sure it's a Linux LVM type (from now on it will be referred to as `/dev/sda2', again, please make sure). After which write the changes and exit the program.

+ +

First let's get the boot partition out of the way. You only need to run `mkfs.ext4 /dev/sda1' (or ext2 if you prefer, but ext4 works for me).

+ +

Now it's finally time to get to the encryption. First make sure the kernel module is enabled: `modprobe dm-crypt'. Now you'll want to run a benchmark to see which encryption algorithm will work best with your computer, seeing that certain CPUs favor certain algorithms. You can see this by running `cryptsetup benchmark'. It is likely that aes-xts will be the best option in your case with a certain key size. You can now run `cryptsetup --cipher -s luksFormat /dev/sda2'. If indeed the best algorithm for your CPU is aes-xts then you can ignore the `--cipher ' argument, since it will use that by default, otherwise please refer to the docs or man pages. After this your `/dev/sda2' partition should be formatted with LUKS. We're half way there!

+ +

Now that you have the encrypted partition it's time to open it ('cause right now it's closed), and by open I just mean decrypt it, it will not be mounted (yet). Run `cryptsetup luksOpen /dev/sda2 . For ` you can put anything you want, I put `lvmcrypt' just to make it clear as to what it is (and that's how I'll refer to it in the rest of this post). Now you should be able to find the partition (or, rather, a link to your partition) in `/dev/mapper/' with the label you just gave it, and you can treat it just like any other partition, which is what we'll do for getting LVM setup on it. The following will be a list of commands to setup LVM with root and swap logical volumes:

+ +
+  # Load kernel module
+  modprobe dm-mod
+  # Setup LVM
+  pvcreate /dev/mapper/lvmcrypt
+  # Create the LVM group I use VolGroup0
+  vgcreate VolGroup0 /dev/mapper/lvmcrypt
+  # Create the swap partition
+  lvcreate -C y -L 4G VolGroup0 -n lvolswap
+  # Create root partition with the rest of the space
+  lvcreate -l +100%FREE VolGroup0 -n lvolroot
+
+ +

At this point all the partitions should be created and available in `/dev/mapper/' with names like `VolGroup0-lvolswap' (or whatever you put for the group and volume names). These are the volumes we'll be working with. Simply run:

+ +
+  mkfs.ext4 /dev/mapper/VolGroup0-lvolroot
+  mkswap /dev/mapper/VolGroup0-lvolswap -L swap
+
+ +

Or however you wanted to format them.

+ +

From this point on you can mount them however you'd like according to the Parabola installation guide. The only thing you need to be careful of is when it comes time to setup the kernel hooks and the GRUB settings. When it comes time to setup the hooks you'll want to your `/etc/mkinitcpio.conf' `HOOKS' variable to look something like this: `HOOKS="base udev autodetect modconf keyboard block encrypt lvm2 filesystems fsck"'. The main hooks here that you need are `keyboard', `encrypt', and `lvm2' (the order they're in compared to the other hooks is important). You'll also want to modify your `/etc/default/grub' to have the `GRUB_CMDLINE_LINUX_DEFAULT' variable look something like `GRUB_CMDLINE_LINUX_DEFAULT="quiet splash cryptdevice=UUID=:lvmcrypt"', where `' is the UUID of your LUKS partition which you can find via looking at the symbolic links in `/dev/disk/by-uuid/'.

+ +

If you have a swap partition then you will want to add a `resume' flag and hook to the prior. To do this in `/etc/default/grub' change it the variable to look like `GRUB_CMDLINE_LINUX_DEFAULT="... resume=/dev/mapper/VolGroup0-lvolswap"', and change the hooks in `/etc/mkinitpcio.conf' to look like `HOOKS="... encrypt lvm2 resume ..."'. With this hibernation should work just fine.

+ +

When you finish making the changes make sure to run `mkinitcpio -p linux-libre' and then for GRUB run `grub-mkconfig -o /boot/grub/grub.cfg'.

+ +

After you're done with all of the configuration and are exiting you'll have to properly unmount the volumes and close the encrypted device. To do this start by unmounting the volumes as would typically do when installing Parabola, and then run the following:

+ +
+  # Disable LVM
+  vgchange -an
+  # Close the LUKS device
+  cryptsetup luksClose lvmcrypt
+
+ +

You should now be able to reboot and startup your new LUKS encrypted Parabola system. I may have forgotten something, if so please send me an e-mail so I can correct it (see my contact page).

+ diff --git a/blog/posts/2017-02-21-encrypted-backup-drive.cfg b/blog/posts/2017-02-21-encrypted-backup-drive.cfg new file mode 100644 index 0000000..43e88fd --- /dev/null +++ b/blog/posts/2017-02-21-encrypted-backup-drive.cfg @@ -0,0 +1,5 @@ +filename = 2017-02-21-encrypted-backup-drive.html +title = Encrypted Backup Drive +description = How to create an encrypted backup drive using LUKS encrypted partitions. +created = 2017-02-21 +updated = 2017-02-21 diff --git a/blog/posts/2017-02-21-encrypted-backup-drive.html b/blog/posts/2017-02-21-encrypted-backup-drive.html new file mode 100644 index 0000000..e0b6a29 --- /dev/null +++ b/blog/posts/2017-02-21-encrypted-backup-drive.html @@ -0,0 +1,14 @@ +

In my previous post I demonstrated how to setup LVM on LUKS with Parabola GNU/Linux-libre. However, what good is an encrypted hard drive if your backups are completely vulnerable? So here's a small guide on setting up a LUKS partition on your backup device.

+ +

In reality it's basically the same as setting up LUKS for Parabola, but I'm not going to make you read all that just to get a LUKS partition setup on your external hard drive. Please note that I'll be referring to the external device as `/dev/sdb', if it's different for you use your device's path!

+ +

Alright, to begin you should probably clear the device by filling it with random data with `dd if=/dev/urandom of=/dev/sdb bs=1M status=progress'. This'll probably take a while depending on the size of your device and the speed at which you can write to it, so feel free to do something else meanwhile (for a long while).

+ +

Once that's done it's time to format it. Run `cfdisk /dev/sdb' and select the `dos' disk labelling (or whatever you want, I guess). You'll want to create a new primary partition, a Linux type should do just fine. Once it's formatted write the changes and exit.

+ +

Now, before creating a filesystem or anything we're going to format the partition you just created with LUKS: `cryptsetup luksFormat /dev/sdb1'. You can also specify other things like the encryption cipher and key sizes and stuff, at which point please refer to the documentation on the ArchWiki or something, but for most cases this should work just fine. This'll format `/dev/sdb1' with LUKS.

+ +

Now it's time to open the device in order to work with it as any other device. Run `cryptsetup luksOpen /dev/sdb1 ', where `dev-name' is the name you want the device to take in `/dev/mapper/'. At this point we can finally format it with a proper filesystem (that is, ext4): `mkfs.ext4 /dev/mapper/'. Now the device is ready for mounting and usage. Just make sure to always mount from `/dev/mapper/', not `/dev/sdb1'. Just make sure that when you want to remove the device that you unmount it first and then run `cryptsetup luksClose '.

+ +

Just remember that every time you want to mount the device you will have to run the `cryptsetup luksOpen ...' to mount and `cryptsetup luksClose ...' to dismount.

+ diff --git a/blog/posts/2017-03-05-change-of-heart-on-https.cfg b/blog/posts/2017-03-05-change-of-heart-on-https.cfg new file mode 100644 index 0000000..7918209 --- /dev/null +++ b/blog/posts/2017-03-05-change-of-heart-on-https.cfg @@ -0,0 +1,5 @@ +filename = 2017-03-05-change-of-heart-on-https.html +title = Change of Heart on HTTPS +description = Basically, forget everything I said before about "The HTTPS Hype". +created = 2017-03-05 +updated = 2017-03-05 diff --git a/blog/posts/2017-03-05-change-of-heart-on-https.html b/blog/posts/2017-03-05-change-of-heart-on-https.html new file mode 100644 index 0000000..9d0abc9 --- /dev/null +++ b/blog/posts/2017-03-05-change-of-heart-on-https.html @@ -0,0 +1,4 @@ +

A while back I wrote a blog post on HTTPS and how it is not necessary for all websites, however I have recently had a change of heart on the issue. Back when I wrote about it I did not think a step further which would have lead me to see the importance of HTTPS even for a static site like mine. You'll notice that you are connecting to this website via HTTPS currently, for all HTTP requests are redirected to the HTTPS. What's more, there is also a .onion address for my site so that you may connect to it without even leaving The Onion Router network (uk7ewohr7xpjuaca.onion).

+ +

The reason why even a site like mine should use HTTPS (and even a .onion address) is that the content of my site may be banned in certain countries (especially certain writings where I am quite critical with issues such as religion). However, this can even apply to those of us having even the most 'dull' of websites, let us not forget the ban on music in Mali, for that everything in my `/music/' and `/audio/' directories would be banned. For this reason it is important that we protect the content that the user is trying to access so that their ISP nor their government (nor any other entity) has access to such information.

+ diff --git a/blog/posts/2017-03-25-reasons-not-to-use-the-gpl.cfg b/blog/posts/2017-03-25-reasons-not-to-use-the-gpl.cfg new file mode 100644 index 0000000..31bd646 --- /dev/null +++ b/blog/posts/2017-03-25-reasons-not-to-use-the-gpl.cfg @@ -0,0 +1,5 @@ +filename = 2017-03-25-reasons-not-to-use-the-gpl.html +title = Reasons Not To Use the GPL +description = Why we should use the AGPL rather than the GPL. +created = 2017-03-25 +updated = 2017-03-25 diff --git a/blog/posts/2017-03-25-reasons-not-to-use-the-gpl.html b/blog/posts/2017-03-25-reasons-not-to-use-the-gpl.html new file mode 100644 index 0000000..1329b01 --- /dev/null +++ b/blog/posts/2017-03-25-reasons-not-to-use-the-gpl.html @@ -0,0 +1,14 @@ +

NOTE: I am explicitly referring to the GNU General Public License version 2 and 3 when I say GPL, it is not referring to other licenses such as the Lesser General Public License or the Affero General Public License.

+ +

If you are actively involved in the Free Software movement you are probably well aware of how the web is a treacherous place where non-free programs are constantly installed on your computer without permission by default. The most obvious of these is the JavaScript trap, however similar issues arise with, for example, plugins such as Java web applets. However, measures can be taken against these and are actively improving, such as LibreJS, which stops non-free non-trivial JavaScript files from running, one can also disable JavaScript and plugins on their browser to avoid downloading the malicious content.

+ +

However, this is only on the user-side on how to protect ourselves, but this also has consequences on the developer-side as well, more specifically if you are going to license any of your programs under GPL. This is something that concerns you even if you are not making a web application, and it concerns everyone who wants to put a GPL license on their next project.

+ +

To start, let me explain the difference between the GPL and AGPL licenses: AGPL was born because in the era of these web applications a flaw in the GPL was perceived where one could modify the source code of another person's back-end and run that modified copy in a production environment, yet because they are not distributing binaries per se they are not legally obliged to provide the sources. This is the case with web apps such as Wordpress. This change was not integrated into a GPLv4 or similar because some people (such as Wordpress) are fine with others hosting modified copies of their program and not providing sources. This is their choice. And this difference is quite obvious when we are looking at web applications, it is quite simple to understand the consequences and how you are affected as a developer. However, what happens when this does not apply to a web app? What's more, what happens when this applies to your client?

+ +

We are reaching the technological capability by which almost everything can be put on a web service (SaaSS, or more commonly referred to as 'The Cloud'), mostly through the means of web apps such as webmail, remote file storage, and even document editing. These remote services have ethical issues of their own (independently of whether or not the source code be available under a Free Software license). However, at the same time we are starting to see the capability of running our own desktop applications remotely via a web interface, and this is where the issues with the GPL come into play.

+ +

Let's say that you created a document converter to convert between multiple file types. It's a command line application where you simply input filenames as arguments, and since you are a supporter of copyleft, you license it under the GNU GPL (version 2 or 3, it does not matter). At this point someone can take your software, enhance it (perhaps by allowing it to convert to more file types), hook it up to a web front-end, and at this point they are now allowing your program to be used, while modified, and yet they are not at all obliged to distribute their modified copy. Through the web they have effectively bypassed your copyleft license restrictions.

+ +

The web seems to be a force actively working against the Free Software movement, and although we were happy at first, seeing that all the sources would be available to us since HTML, CSS, and JavaScript are all on the client-side and in plain text, we have seen that oppressors are finding new ways of making it harder use those. What's more, even our own applications that we write that are not intended for the web can be used against us. Therefore, in your next project, when you are thinking about using the GPL (again, version 2 or 3) please consider using the AGPL instead, as we are moving in a direction where it will be more and more needed.

+ diff --git a/blog/posts/2017-04-08-the-unused-potential-of-bitmessage.cfg b/blog/posts/2017-04-08-the-unused-potential-of-bitmessage.cfg new file mode 100644 index 0000000..f02fe83 --- /dev/null +++ b/blog/posts/2017-04-08-the-unused-potential-of-bitmessage.cfg @@ -0,0 +1,5 @@ +filename = 2017-04-08-the-unused-potential-of-bitmessage.html +title = The Unused Potential of Bitmessage +description = A post about an awesome e-mail replacement tool. +created = 2017-04-08 +updated = 2017-04-08 diff --git a/blog/posts/2017-04-08-the-unused-potential-of-bitmessage.html b/blog/posts/2017-04-08-the-unused-potential-of-bitmessage.html new file mode 100644 index 0000000..d8c0507 --- /dev/null +++ b/blog/posts/2017-04-08-the-unused-potential-of-bitmessage.html @@ -0,0 +1,22 @@ +

For quite some time now I've been using Bitmessage, an e-mail replacement that was made to protect user privacy based on the Bitcoin model. After using Bitmessage for quite some time I have come to see the many benefits it has compared to e-mail, namely in regards to privacy and ease-of-use.

+ +

To begin with, Bitmessage has no e-mail service provider, you don't need to register an account with a third-party just to get a Bitmessage address, and all the information is stored on your computer. This means that it is highly accessible to anyone who has the application. This also means that information can't be stolen from a central source (eg. GMail/Yahoo/OutLook/etc. servers) but rather they would have to have direct access to the machine in which you store your messages (which is hopefully protected by disk encryption).

+ +

Bitmessage is also automatically encrypted, as your Bitmessage address is essentially your public key. This means you no longer have to show people who to encrypt e-mails. What's more, Bitmessage can be easily contained and put on a USB device (or any other form of external storage) where you can use it from any computer that supports Python and has the correct modules (this device should also be encrypted since it will contain your messages that you have sent/received), meaning you wouldn't even have to teach people how to move their keys from one place to another. Worst comes to worst they can generate their addresses using a passphrase which would allow them to recreate their keys if necessary.

+ +

Bitmessage has the additional benefit of being anonymous, it works in a mesh network where information is encrypted and then sent off into the network until it is either received by the recipient or expires (I will talk more about expiring messages in a bit... maybe a few hundred bytes). When sending a message you can do so anonymously or revealing your own Bitmessage address, and even with your Bitmessage address there is no way to trace it back to you unless you give up your own identity (or someone has access to the device your Bitmessage is on). This makes it a very secure and anonymous method of communication.

+ +

Bitmessage also has chan(nel)s, which are like mailing lists but with less of a hassle. These chans can be as public or private as you want them to be. If you want to create a public chan you simply have to publish your chan's address and passphrase somewhere public so everyone can see. If you just want it for you and your friends/family then only give these two to them.

+ +

Now, as you can expect, there are some negative aspects to Bitmessage (as always, there is no perfect solution) that should be taken into consideration, however none of them have to do with your privacy.

+ +

As you can imagine, being a cryptographic method of communication, Bitmessage requires more system resources than you'd be used to for your every-day e-mail client. When I run Bitmessage it tends to consume about half as much RAM as IceWeasel (currently it's using up 300MB), and when running, since it is also relaying messages, reading incoming messages, decrypting new messages, etc., it tends to use a good amount of processing power when busy (nothing too noticeable for my computer, but if you're running a really old computer it may be).

+ +

Another issue that most people will not be used to is the TTL (Time-To-Live). Messages will only roam the network for a certain amount of time (typically 4 days, however you can set it to be shorter or longer). This is used so that messages aren't flowing around the network endlessly and therefore simply creating a bunch of noise and rendering the entire network useless. The longer the TTL the more processing power will be needed when sending the message (in order to ensure that people don't always send messages with very long TTLs). However, most people tend to see their messages (for anything) on at least a daily basis, so a 4-day TTL should be just fine.

+ +

One must also take precautions in joining publicly available chans, precisely because it is anonymous, like any other tool for anonymity and privacy, it is used for malicious purposes as well. You will typically not find anything bad unless you're looking for it (same rule that applies to 'the dark web'), just know that if you receive something you don't want then simply delete it and empty your trash (it's not the end of the world).

+ +

The biggest issue is convincing people to use it. Everyone and everything wants you to use an e-mail, whether you're signing up for services or communicating with a friend. There are attempts at making e-mail gateways, but this does not protect your friends, so it would be ideal if you would convince your friends and family to use it as well.

+ +

If you would like to try out Bitmessage you can send a message to the address I have on my Contact page, and I will get back to you as soon as I can.

+ diff --git a/blog/posts/2017-04-18-a-library-copyleft-license-combination.cfg b/blog/posts/2017-04-18-a-library-copyleft-license-combination.cfg new file mode 100644 index 0000000..0c063bf --- /dev/null +++ b/blog/posts/2017-04-18-a-library-copyleft-license-combination.cfg @@ -0,0 +1,5 @@ +filename = 2017-04-18-a-library-copyleft-license-combination.html +title = A Library Copyleft License Combination +description = +created = 2017-04-18 +updated = 2017-04-18 diff --git a/blog/posts/2017-04-18-a-library-copyleft-license-combination.html b/blog/posts/2017-04-18-a-library-copyleft-license-combination.html new file mode 100644 index 0000000..f63529f --- /dev/null +++ b/blog/posts/2017-04-18-a-library-copyleft-license-combination.html @@ -0,0 +1,12 @@ +

Recently I came across the Sleepycat License, which I believed to be a copyleft Free Software license that only requires any projects using the Sleepycat licensed software to disclose source code (not necessarily forcing any particular license on the user). I thought that this would be a great license for a library, since unlike the (A)GPL it doesn't force the developer using my library to use the same license (many people who like permissive licenses prefer to be able to choose their own license for their project), but at the same time whoever uses my library must at least disclose their source code (freedom #1... kinda). So I thought that with some slight modifications (since the license is also extremely specific to the BerkleyDB software) that the Sleepycat License would be a great license for libraries (better than GPL or LGPL). So after a very long discussion on the LibrePlanet-Discuss mailing list I figured out that the Sleepycat License wasn't exactly what I thought it was.

+ +

However, during the mailing list someone mentioned something about license proliferation, which got me thinking that perhaps instead of looking for some new obscure license maybe I could do this with existing licenses, using conditional dual-licensing. With this I thought of the GNU article on using (A)GPL instead of the LGPL for libraries. The two licenses in question are the LGPL and the (A)GPL. The LGPL has the advantage that it does not force any particular license on the developer using the library and remains copyleft with regards to the library's source-code itself, but it has a flaw that is fixed by the (A)GPL, which is that the LGPL can be used by non-free projects as well as free projects, which to some of us is not something that settles well with our concious. However, the (A)GPL forces the project using the library to carry the (A)GPL as well. So, both of these had elements that I wanted, but they both had drawbacks. With this I finally thought of a dual-licensing scheme that could work to have the best of both licenses. It consists in licensing your library with the (A)GPL and offering an LGPL dual-licensing (with static linkage) to any project licensed exclusively with FSF approved licenses.

+ +

Given this kind of dual-licensing this means that it is impossible for a non-free licensed project to use your library, while at the same time allowing free projects to use whichever license they wish. If the software is non-free then it will be forced to be free, if it is free then they can use the library to their heart's desire without having to change their project's license and not having to worry about legal issues of whether they can use a (A)GPL library with other kinds of licenses.

+ +

The one inconvenience this licensing scheme has for those who like permissive licenses is that any derivative of their work will also have to be free if they want to make use of my library. Although this is true, one must consider that the derivative work can choose between a large selection of free licenses, and if they only wish to borrow parts of the code that are independent from my library then they are able to do so. That is, let's say that I create a C++ networking library and use this licensing scheme. Someone uses my library in their game and licenses the game with the MIT License. Another party can still create a non-free derivative of the game so long as they get rid of the networking modules and replace them with a different networking library (which should truly be a small part of the game as a whole). Therefore it is not completely unattractive to use such a library for a permissively licensed project so long as the code is not absolutely reliant on the library using this licensing scheme.

+ +

All that aside, you may have noticed that I say "(A)GPL" a lot when referring to the first license which this scheme would use. This is because either of these two licenses (the AGPL or the GPL) will work just fine for this matter and will have about the same affect. However, I would personally suggest using the AGPL instead because it sends a clearer message about the intentions. Technically, if the license is only GPL then they can put their software on a server and have the user interact with it over the network (SaaSS) and they will not be forced to disclose the sources despite it being licensed with the GPL. By using the AGPL instead they can still do this technically (because of the dual-licensing) and even license the project under the MIT License, but it makes your intentions (if you do indeed think that server sources should also be shared) clearer to the user, although it will not truly have any legal effect. Therefore I would suggest using the AGPL despite this.

+ +

I believe that this licensing scheme solves the eternal problem in library licensing between copyleft and permissive licenses without compromising a good concious, more copyleft than permissive licenses (such as MIT), not as strict about how projects using the library license themselves (such as GPL), and no compromising on ethics by not helping in any manner a non-free project (such as LGPL).

+ diff --git a/blog/posts/2017-04-20-judgement.cfg b/blog/posts/2017-04-20-judgement.cfg new file mode 100644 index 0000000..2174d6b --- /dev/null +++ b/blog/posts/2017-04-20-judgement.cfg @@ -0,0 +1,5 @@ +filename = 2017-04-20-judgement.html +title = Judgement +description = What judgement is, and why it's not only normal to judge, but also necessary. +created = 2017-04-20 +updated = 2017-04-20 diff --git a/blog/posts/2017-04-20-judgement.html b/blog/posts/2017-04-20-judgement.html new file mode 100644 index 0000000..4b6d2f3 --- /dev/null +++ b/blog/posts/2017-04-20-judgement.html @@ -0,0 +1,10 @@ +

Too often have I heard people say that someone is "Judgemental", someone saying "Don't judge!", asking a friend "Would you judge me?". These are all extremely stupid phrases. Judgement is something extremely normal, it's not only human, but something that all animals do, and most importantly it is something that is completely necessary.

+ +

Judgement is something we need, something we do every day. When you say you like a particular dish or not you are judging the dish, when you choose between two alternate products at a supermarket you are judging them. Even if you use a random number generator to decide which to pick you made the judgement to use the random number generator and what numbers each of the products would be. However, one may believe that this does not apply when talking about people, that we cannot judge other people, however this is also wrong. Should we not judge murderers? Should we not judge thieves? We must no doubt judge these people, and we should also be able to judge one another.

+ +

What's more, judgement (and even prejudice, in certain circumstances) is necessary for our own survival. If I cannot judge someone's intentions how am I supposed to know if they mean me harm? If I cannot judge a friend's decisions how can I warn them if what they want to do is going to lead them down a dangerous road? If I cannot judge the ideas of my politicians how can I trust them to run a country? (Or must I trust them blindly?) If I cannot judge then my ability to survive (to judge the best decision to take in any given circumstance) is crippled.

+ +

I believe that this fad of 'non-judgement' comes from an insecurity that we feel, where we dislike being wrong, we dislike being told something opposed to our own opinions, beliefs, and ideals. It is normal to wish to reject that, but it is also childish and immature to let that take over your rational side. In all reality you are wrong about a great deal of things and so am I, what's more, no one knows the absolute truth about anything. However, luckily, we have wonderful tools called science and reason that let us get closer and closer to the truth, the only requisite is that we must be willing to accept that we may be wrong and must judge our opinions to find the most reasonable and most empirically backed hypothesis that will then turn into the theory accepted as a temporary truth until proven otherwise. This 'anti-judgement' trend is something that stops us, individually even, from improving. How am I supposed to improve myself if a third-party cannot tell me that I am doing something wrong? That something I am doing doesn't make sense? By not allowing others to 'judge' you (which in reality is simply not allowing them to express their judgement, they have already judged you) you are prohibiting your own self-improvement.

+ +

Therefore, please don't talk about judgement this way, it's annoying as fuck and you're making yourself look like a stuck-up prick who can't accept rational criticism. Instead listen to the other person's judgement, and if you don't care for their judgement then just ignore it, at least you listened.

+ diff --git a/blog/posts/2017-05-02-patch-files.cfg b/blog/posts/2017-05-02-patch-files.cfg new file mode 100644 index 0000000..481f85a --- /dev/null +++ b/blog/posts/2017-05-02-patch-files.cfg @@ -0,0 +1,5 @@ +filename = 2017-05-02-patch-files.html +title = Patch Files +description = Defending the use of patch files over pull request nonsense. +created = 2017-05-02 +updated = 2017-05-02 diff --git a/blog/posts/2017-05-02-patch-files.html b/blog/posts/2017-05-02-patch-files.html new file mode 100644 index 0000000..12df380 --- /dev/null +++ b/blog/posts/2017-05-02-patch-files.html @@ -0,0 +1,18 @@ +

Something that really annoys me about most repository hosts nowadays is that all of them are highly dependent on using pull-requests to contribute code, when originally all VCSs had (and still have) ways to contribute via patches (that and the `patch' command) which can be sent via e-mail. Now, I understand that having these changes more accessible to the public would be useful, and mailing lists aren't always best. However, why not simply use the same infrastructure of an issue tracker and apply it to uploading patch files? They would be organized just like pull-requests are, and would essentially be the same thing as a pull-request... except directly with a patch file instead of having to go through such a long process just to contribute to a repository.

+ +

So, why are patch files better than pull-requests? First of all, pull-requests are still useful if someone makes a real fork of a project (not what they're calling 'forks' nowadays which is someone making a copy just to modify something and then merge it back into upstream). However, if I am contributing to a project it is much easier and faster to make a patch file than to deal with web interfaces endlessly just to contribute two lines of code. When you make a patch file the process is as follows: clone the repository, make the change, create patch file, submit patch file. Easy, right? Now, let's look at this same process for pull-requests: 'fork' a repository, clone your 'fork', make changes, push changes to your 'fork', and finally create the damn pull request. Patch files have 4 steps, while pull-requests have 5. You may say "Well, but that's only one extra step, it's not that bad". Okay, but let's move forward.

+ +

Pull-requests almost always require you to work with web interfaces for a good part of it, and everything that uses web interfaces is slow as fuck compared to native desktop applications (like my VCS client which generates the patch file), especially if you are concerned about privacy and use TOR + blocked JS + a shit ton of privacy add-ons.

+ +

Also, pull-requests will always require you to create an account on said website, which is always a pain in the fucking ass (hence why Google and Facebook have been doing so well by allowing you to log in to other services using your Google/Facebook account... please never do this). Meanwhile, with patch files, even though one could hypothetically require you to create an account it is not strictly necessary. Patch files can be sent to mailing lists, e-mail addresses, or a web form can be created where one can simply upload a patch file no account (although perhaps asking for an e-mail for updates).

+ +

Patch files also help add to the decentralized nature of many VCSs, so one is not dependent on one particular platform (eg. GitHub, GitLab, NotABug, etc.). Instead, each person can host their own repositories where ever they fucking want to and contributors don't have to go through hell (ie. the web) and back just to contribute a couple lines to fix a minor bug.

+ +

This being said, I congratulate GNU Savane for not requiring fucking pull-requests like everyone fucking else (this is probably mostly because they also allow you to use a variety of other VCSs other than Git). Only issue I would have is that they require you to log in (and some other issues that they have in general, but that's besides the point). Based GNU wins the day!

+ +

Now, some of you may be saying "Well, we should use pull-requests because they're more user-friendly!". Fuck you. We're hackers, we should all be used to the command-line by now. That aside, why can't all these GUI clients work with patch files instead? Common GUI clients such as the GitHub client could easily be configured to create patch files and automatically upload them to GitHub (or where ever else). How difficult would it be to have a simple menu item that says "export patch"? So I don't see how 'user-friendliness' is an argument. Just because something in "in the web" doesn't make it user-friendly, and it doesn't make it more efficient either. What's more, sometimes the older tools are more useful than the new ones! Yet for some reason something being 'old' is somehow a reasonable excuse to dismiss it as an option.

+ +

The web is useful for some thing, namely broadcasting and making information public (information such as text, music, art, etc.). It's a great place for sharing. However, that doesn't make it a great work place. What is the web good for in terms of code? The web is a great place to post things like screenshots, samples, binaries, code samples, patch files, etc. But no one in their right mind should think that we should be editing code in our damn browsers. Pull-requests aren't for 'publishing' something, especially because they require you to 'fork' it. Therefore, it's not what we need in the web. Patch files are about publishing something, publishing changes in the code. What's the difference? The difference is that in the pull-request scenario one has the repository do the merging and has to 'fork' an entire fucking project while in the other a patch file is published to an issue tracker (you know, like in forum posts).

+ +

So please, stop promoting this cancerous disease known as "the pull-request". Patch files were perfectly fine. If you're going to write your own new repository hosting web framework or whatever, be sure to incorporate patch files. As I said before, pull-requests are good only if we're talking about real forks, not a 'fork' that someone made of a project to contribute 2 lines of code and then never touch it again.

+ diff --git a/blog/posts/2017-05-12-from-parabola-to-arch.cfg b/blog/posts/2017-05-12-from-parabola-to-arch.cfg new file mode 100644 index 0000000..cdf6a7a --- /dev/null +++ b/blog/posts/2017-05-12-from-parabola-to-arch.cfg @@ -0,0 +1,5 @@ +filename = 2017-05-12-from-parabola-to-arch.html +title = From Parabola to Arch +description = Why I switched from using Parabola GNU/Linux-libre to ArchLinux. +created = 2017-05-12 +updated = 2017-05-12 diff --git a/blog/posts/2017-05-12-from-parabola-to-arch.html b/blog/posts/2017-05-12-from-parabola-to-arch.html new file mode 100644 index 0000000..30677e2 --- /dev/null +++ b/blog/posts/2017-05-12-from-parabola-to-arch.html @@ -0,0 +1,10 @@ +

I have recently switched from Parabola to Arch. First of all, I would like to mention that this is not because I want to use any non-free software in the Arch repos or install non-free firmware and drivers for some pieces of hardware I may have (I am still using Linux-libre on Arch), but rather for other reasons that I would like to explain.

+ +

Firstly, the number one reason I am leaving Parabola is that the distro gets in my way too often. Mostly with its policy that anything that 'promotes non-free software' is non-free. I am an adult who knows every well what non-free software is, I can easily not install something that I see is non-free (namely for `pacaur', which would be so useful if only it were available on Parabola). This kind of blocking of any software that 'promotes non-free software' is useful for distros such as Trisquel, which are aimed at people who could hardly be described as tech-savvy, since these kinds of people do not necessarily know how to distinguish between free and non-free software (it's simply not something that's part of their daily lives). However, for experienced hackers like myself, this just gets in our way of quickly getting access to tools we want to use. It's nice when our OS doesn't constantly get in our way for these kinds of things. This is, in fact, the exact reason why I use Free Software to begin with and why I like GNU/Linux. I used to use Mac many many years ago, however I had almost no ability to make the computer do what I wanted it to, Apple products constantly worked against me and whatever I wanted to do with them (as if they had a mind of their own and purposely wanted to fuck me over), and I dislike that I am feeling this again with a GNU/Linux distro. Therefore, I would suggest that if you're an experienced hacker and get stressed when your OS gets in the way, don't use a free distro, they're aimed for newbs who are new to the idea of Free Software, not you.

+ +

Secondly, with all the respect in the world to the members of the Parabola community (they are very nice people, friendly, and helpful), the community itself is impossible to deal with. This issue does not involve me directly, despite how much I have been involved in it, but the Parabola community over the past few months has been aggravating the hell out of me and others by placing packages on the `your-freedom' blacklist (such as `qt5-webengine') with no proof. It started out as an issue with Chromium, claiming that Chromium was somehow non-free (apart from their 'promotes non-free software' thing). At first this wasn't bad, it was just one package, one small thing that affected no one in the Parabola community as far as we knew, but then there was a small bit of publicity on the Qt5WebEngine website that caused a small contained issue into a huge mess. Qt5WebEngine claimed it included "the entire Chromium framework", which, from the eyes of people who think Chromium is non-free, meant Qt5WebEngine is as well. So very quickly `qt5-webengine' (a package very much needed by a fuck ton of applications) got put on the blacklist. This issue was a few months ago... yet no evidence has been proposed that hasn't been shot down almost immediately for being either false, fixed, or simply outdated. And despite all evidence getting shot down, things continued in the direction where the Parabola community was questioning about forking Chromium and something else about Qt5WebEngine. In any case, they have ignored our criticism of them having a lack of (or rather, absolutely no) evidence and decided to continue to decide on a sentence for a suspect that has not yet been convicted. You can read more about the whole thing on the Parabola Dev mailing lists.

+ +

After this, I thought that I may be constructive in my criticism and create a means by which these situations could be avoided and things could actually get done. So I created a Quarantine Policy Proposal, and gladly welcomed anyone to edit it and give suggestions... except it was mostly ignored, the etherpad received practically no edits, and people continued to decide on the sentence of Qt5WebEngine. I have received quite a few compliments for the idea amongst those in the Parabola community, and although I'm glad they appreciate it, what I really want is for the damn thing to be implemented already, or at least something like it so that these kinds of issues don't continue to occur (and the current issue doesn't persist).

+ +

With this I say that I will most likely never return to Parabola, even if the Quarantine Policy is implemented, for the reasons I mentioned first in this post. However I would still suggest that the Parabola community start to pull its shit together and stop trying to shy away from having actual protocols. Debian is one of the largest community-oriented projects that is not controlled by a corporation in the background, and they have a ton of protocols and policies. If the Parabola community wishes to efficiently handle the challenges that await them in the future, it's time for them to start organizing themselves instead of leaving things as chaotic as they are.

+ diff --git a/blog/posts/2017-05-13-your-computer-your-computing.cfg b/blog/posts/2017-05-13-your-computer-your-computing.cfg new file mode 100644 index 0000000..451095d --- /dev/null +++ b/blog/posts/2017-05-13-your-computer-your-computing.cfg @@ -0,0 +1,5 @@ +filename = 2017-05-13-your-computer-your-computing.html +title = Your Computer, Your Computing +description = +created = 2017-05-13 +updated = 2017-05-13 diff --git a/blog/posts/2017-05-13-your-computer-your-computing.html b/blog/posts/2017-05-13-your-computer-your-computing.html new file mode 100644 index 0000000..b42d041 --- /dev/null +++ b/blog/posts/2017-05-13-your-computer-your-computing.html @@ -0,0 +1,10 @@ +

It pains me to see how often we end up 'just dealing' with our computer software being restrictive, how we say we dislike how a certain software functions and yet we just roll over and take the hit. Many of us are used to this kind of mentality, however, in the Free Software community a little less because we're granted choices, yet even there we find ourselves faced with software that does something we dislike, but we refuse to migrate simply because it would be 'inconvenient'.

+ +

The truth of the matter is, your computer is your property (or rather, it should be, in the case of those of you who run non-free software), this means that any time you roll over and take the hit you are letting someone else decide how to use your personal property. When you own something, like a bicycle, you are not told and controlled on how you use that bicycle, how to adjust the seat, whether or not to add a basket. It's your bicycle and you use it as you please and adjust it as you please because it is your personal property and belongs to no one else, nor does it affect anyone else how you adjust it.

+ +

This same principle with the bicycle applies to your computer devices (whether they be phones, tablets, laptops, desktops, etc.). How you configure your computer does not impact others, and it is your personal property, and therefore should have the right to do with it has you please. Including any software you use (hence why it is important that any software you use be free software).

+ +

Now, what if there is no way to configure the software to work exactly how you want it or no software alternative that fixes the issues of the previous? At this point you either fix it your self (if you are a hacker), ask a friend to fix it (if they are hackers and have the ability/time), or open a bug report asking for the ability to configure this setting on the software.

+ +

Again, any less than your computer working the way you want it to is a compromise on how you use your personal property.

+ diff --git a/blog/posts/2017-05-14-the-beauty-of-silence.cfg b/blog/posts/2017-05-14-the-beauty-of-silence.cfg new file mode 100644 index 0000000..41cb97a --- /dev/null +++ b/blog/posts/2017-05-14-the-beauty-of-silence.cfg @@ -0,0 +1,5 @@ +filename = 2017-05-14-the-beauty-of-silence.html +title = The Beauty of Silence +description = Defending silence over unnecessary noise. +created = 2017-05-14 +updated = 2017-05-14 diff --git a/blog/posts/2017-05-14-the-beauty-of-silence.html b/blog/posts/2017-05-14-the-beauty-of-silence.html new file mode 100644 index 0000000..8e9f081 --- /dev/null +++ b/blog/posts/2017-05-14-the-beauty-of-silence.html @@ -0,0 +1,6 @@ +

One thing I've always loved and come to appreciate more and more is the wonderful nothingness which is silence. It allows for people to be calm, where one can think clearly, be at peace with one's self and not be interrupted by one's surroundings. It truly is something beautiful.

+ +

However, sadly, there are few in this world who truly value silence. What's more, it seems that every time there is silence people consider it 'awkward', and try to fill it in either with conversation (which is not bad) or noise (which is horrifyingly repulsive compared to the sweetness of silence), typically from an electronic device such as a television, radio, mobile device, or other. To these people I ask: what is wrong with silence? Are you that afraid of 'loneliness'? After all, silence does make us feel more alone. Or perhaps is it that you feel that for some reason emptiness demands to be filled? In which case, why is it that you feel this need to fill the gap?

+ +

No matter what your reason, perhaps it is important that you learn to appreciate the calm in life. By filling the air with noise you do nothing but to perpetuate stress, tension, discomfort, and anxiety. This is fine if it only affects you, however when others are present you must not create such a damaging environment as it harms others (the same way you should not smoke tobacco around non-smokers). In the presence of others it must also be of common courtesy to respect silence, conversation, social interaction, productive sound (such as one playing an instrument), or any kind of productive behaviour.

+ diff --git a/blog/posts/2017-05-29-summer-album.cfg b/blog/posts/2017-05-29-summer-album.cfg new file mode 100644 index 0000000..3cd1f76 --- /dev/null +++ b/blog/posts/2017-05-29-summer-album.cfg @@ -0,0 +1,5 @@ +filename = 2017-05-29-summer-album.html +title = Summer Album +description = Update on the album that never gets released. +created = 2017-05-29 +updated = 2017-05-29 diff --git a/blog/posts/2017-05-29-summer-album.html b/blog/posts/2017-05-29-summer-album.html new file mode 100644 index 0000000..ce15c6e --- /dev/null +++ b/blog/posts/2017-05-29-summer-album.html @@ -0,0 +1,8 @@ +

Ever since before Ice in the Fall I've been working on an album called Summer. It's been a long time and I haven't really put much effort into making the album, sadly. However, I have recently begun to formulate it more, revise some of the lyrics and notes, along with the songs I had planned for the album to begin with (since the summer of 2013).

+ +

This album has taken me quite some time, and I've released two other albums since then, but this is mostly due to the complexity and work I have been trying to put into it. Unlike my first two albums, I wanted this one to be multi-track and less experimental. However, unlike Dreaming in Bytes, it is not simply me making up some interesting melodies in a digital audio studio program. This added complexity is what's been making it take quite a bit of time.

+ +

Because most of the songs were actually written and the ideas elaborated in summer of 2013 (and others a little later) the overall style will not be anything similar to my last album, but rather a more progressive rock, acoustic, and even psychedelic rock sound, as those were the kind of styles I enjoyed listening to and playing back then. I have also released a few demos that I've recorded over the years (in truth, most of them are from 2013 and 2014) you can listen to these to get a feel for what the album will sound like.

+ +

Like my other albums, this one will be published on Jamendo, but for those that download from this website there will be a 'Side 2' containing cover songs, the originals of which are either under a Free Culture license or have been passed into the Public Domain. Once I figure out which songs these will be I will post the track listing for the 'Side 2' on the page for the album (and perhaps a demo).

+ diff --git a/blog/posts/2017-06-21-humour.cfg b/blog/posts/2017-06-21-humour.cfg new file mode 100644 index 0000000..5f9697e --- /dev/null +++ b/blog/posts/2017-06-21-humour.cfg @@ -0,0 +1,5 @@ +filename = 2017-06-21-humour.html +title = Humour +description = The importance of humour in our societies. +created = 2017-06-21 +updated = 2017-06-21 diff --git a/blog/posts/2017-06-21-humour.html b/blog/posts/2017-06-21-humour.html new file mode 100644 index 0000000..b5dc003 --- /dev/null +++ b/blog/posts/2017-06-21-humour.html @@ -0,0 +1,12 @@ +

In many countries in the West xenophobia has been rising, yet I have not seen this kind of behaviour in Andalusia. This made me wonder why it was that in Andalusia people weren't as affected as in (for example) the rest of Europe or the USA. Of course, the only thing I can really compare to is the Mid-West in the USA, since that's the only other place I've lived. However, with this I've noticed one key difference between the two: in Andalusia humour is not limited while in the Mid-West humour must bend to what is considered 'socially acceptable'.

+ +

Humour, especially satire, serves the purpose of allowing us to look at things from a critical and comical perspective, but by using humour we also allow ourselves to look upon our own beliefs in this critical and comical way. It is also a sign that we can loosen up around someone, if I can tell jokes to a person then I feel more comfortable around them, I feel like I don't have to censor myself, free to speak my mind. This is very good for relieving tensions, since we'll feel more comfortable and amiable.

+ +

For this reason I feel that one of the elements relieving Andalusia from this rise in xenophobia is precisely that we have no problem making fun of the beliefs, customs, traditions, and stereotypes of other peoples. These kinds of things would be considered extremely offensive in places like the Mid-West, yet for Andalusia it's extremely normal. It's normal to hear racist jokes in Andalusia, it's normal to hear jokes about one's beliefs, it's normal to hear all of these things, yet Andalusians haven't shown any major signs of actual xenophobia towards immigrants. What's more, not only do Andalusians make fun of foreign cultures, traditions, beliefs, and stereotypes, but also (quite often) of their own, which to me shows the ability to laugh at oneself. This is then reflected when the immigrants themselves laugh at jokes about their own culture, and continue to make such jokes themselves.

+ +

However, another key aspect about the Andalusian humour is that, although it makes fun of traditions, beliefs, customs, and stereotypes, it's always done in a very general manner. If I make fun of Catholicism with my Catholic friend, I'm not insulting him, or attacking him, or even attacking his beliefs, but rather I am simply making fun of something abstract. This is where it should be pointed out that humour in Andalusia isn't used necessarily to hurt people or attack them, but rather just to have fun and joke around, but this also has to do with the person receiving the joke. They must understand that the joke is not directed towards them, that it is not an attack on them, but simply a way of showing friendship or amiability.

+ +

It is rare in Andalusia to find someone who has bad-intentions and expresses them in a subtle way, if someone dislikes you then you will know. In the Mid-West, however, this is completely hidden. People prefer not to show any signs of dislike towards another person, it's seen as 'rude', when in reality it just allows for the typical scenario where you act like you enjoy the company of another person, but in reality you detest it, and the more this person hangs around you (because you're acting friendly towards them) the more you detest them. What's more, since people tend to tell others about those who they dislike (while at the same time not telling that same person and acting friendly towards them) it creates a large web of ill-intention where no one will admit directly, but everyone feels the tension. Now combine this with the societal pressure to remain politically correct and watch what you say lest you hurt the other person's feelings. Looking at this from the situation of mass immigration, and you can clearly see how the stance taken in the Mid-West to silence any 'offensive' views or speech is quite damaging, and if anything causes people to become more frustrated than they might already be, and because they are not allowed to indulge in any sort of humour in order to relieve this tension and even build up amiable relationships with the immigrants because of it, we see that more and more people get agitated.

+ +

For this reason I think it is important that we do not limit humour nor speech, and instead we should embrace humour that is critical of our beliefs and opinions, to accept that stereotypes exist and for a reason. Otherwise we're only worsening the issue at hand.

+ diff --git a/blog/posts/2017-06-22-technology-literacy.cfg b/blog/posts/2017-06-22-technology-literacy.cfg new file mode 100644 index 0000000..7ac9b14 --- /dev/null +++ b/blog/posts/2017-06-22-technology-literacy.cfg @@ -0,0 +1,5 @@ +filename = 2017-06-22-technology-literacy.html +title = Technology Literacy +description = An overview of technology literacy in schools, and how kids nowadays know way less about computers than many would have you believe. +created = 2017-06-22 +updated = 2017-06-22 diff --git a/blog/posts/2017-06-22-technology-literacy.html b/blog/posts/2017-06-22-technology-literacy.html new file mode 100644 index 0000000..975f915 --- /dev/null +++ b/blog/posts/2017-06-22-technology-literacy.html @@ -0,0 +1,8 @@ +

It's quite annoying to hear, as it is for most techies, whenever people say that millennials are the 'technology' or 'digital' generation. Let's begin pointing out why this is wrong. When I ask a millennial to write a plain text file and they open a word processor, that's technological illiteracy; when I am told by a millennial that their internet was going slow so they upgraded their RAM, that's technological illiteracy; when a millennial doesn't understand that VLC can't play an iMovie project file (they copied the iMovie project file from a Mac computer to a Windows computer), that's complete technological stupidity. If you would like more information on why millennials are technological know-nothings you can visit this blog post which does an excellent job at explaining the issue. In reality, millennials are just as computer literate as our parents were television literate (ie. I know how to press the buttons to make it go on and off, but the day one minor thing doesn't work in exactly the same way I shit myself and have to call in tech support).

+ +

So, you may be asking "Why is it important that we have computer literacy in the first place?". The answer to which is quite simple: because you depend on it. When you depend on something, typically you learn enough about it so that when things go wrong you have a basic knowledge of it and aren't drooling like an idiot. Hence why in primary school we learn basic addition, subtraction, multiplication, and division (and many other things later on that are also fundamental to our ability to survive in society). If you depend on something you should at least have a minimal understanding of how to actually use it and how it works. The same way that when you get a car you learn the different parts of the car and how to check and make sure it's in shape, you still have to know how to check the oil and such.

+ +

So, what should people learn in order to be technologically/computer literate? I'm not going to ask that everyone be a programmer and learn to script, or that everyone learn how to compile things from source. However, there are basic concepts that people need to understand, such as how you actually connect to the internet, what the internet is actually about (which is a bunch of other computers we call servers that people connect to, and domain names being retrieved from DNS servers, and what the hell ports are as well as basic protocols like HTTP, HTTPS, and FTP), they should learn what a file format is, they should learn what an operating system really is (not what they're lead to believe by Windows and Mac which hide absolutely everything from you so you take things for granted), they should learn how to check the health of their system and use a resource manager to figure out why their OS is running slow, they should learn about directory trees so they can figure out what's actually taking up all their hard drive space, etc. This is absolute basic shit which people should be learning in schools as their basic education, and it wouldn't even take that long to teach, you could probably fit this into a one year course, and if there's space left over introduce them to the command-line so that they can see that by running the program in the command-line they get more information about why it crashes which can be given to developers so they have a better idea of why it crashed in the first place.

+ +

This is not something that's completely out-of-this-world, it's quite basic shit, and the fact that most people (especially millennials) don't know this stuff makes them extremely vulnerable to all sorts of scams and stupid decisions, and helps them to be convenienced pieces of shit who can't look things up on their own before asking for help (now that I mention this, perhaps the first thing they should learn is how to use a search engine to find a solution to their problem instead of asking the closest techie). I'm not asking for everyone to turn into computer wizards, I'm asking them to at least be able to detect more or less where a problem is coming from when they get an issue and for them to attempt to solve it themselves (via searching the problem first) before coming to people like me. If all I have to do in order to solve your issue is put your error in a search engine, that's something you could've done yourself.

+ diff --git a/blog/posts/2017-07-09-why-windows-sucks.cfg b/blog/posts/2017-07-09-why-windows-sucks.cfg new file mode 100644 index 0000000..636320d --- /dev/null +++ b/blog/posts/2017-07-09-why-windows-sucks.cfg @@ -0,0 +1,5 @@ +filename = 2017-07-09-why-windows-sucks.html +title = Why Windows Sucks +description = +created = 2017-07-09 +updated = 2017-07-09 diff --git a/blog/posts/2017-07-09-why-windows-sucks.html b/blog/posts/2017-07-09-why-windows-sucks.html new file mode 100644 index 0000000..b7011d9 --- /dev/null +++ b/blog/posts/2017-07-09-why-windows-sucks.html @@ -0,0 +1,16 @@ +

For those of you who use GNU/Linux or BSD (or basically any other UNIX-like system) this post will come as no surprise to you, but I still felt the urge to make it anyways. I currently do not run Microsoft Windows anymore, but I still have to use under certain circumstances for classes and such as well as constantly hearing from friends (who run Windows as their main OS for some stupid reason) and news articles about the newest stupid thing they've added to fuck over their users. So, let's get started on the bashing of the dead horse. (Why? Because it's fun.)

+ +
    +
  1. Forced Updates: One of the main things that frightens me about Windows is how easily they can shove shit onto your computer without you needing to give them any permission, and what's more, do so by force even taking up your own time when shutting down (or forcing you to shutdown). After having used GNU/Linux for 6 years and OSX before that, this entire thing seems stupid to me. If they're going to tell you what to do with your computer why not ditch them?
  2. +
  3. Obligatory Restarts for New Applications: For some reason Windows is such an incompetent OS that for many applications you have to restart the entire OS just to launch a newly installed application. This normally means that said application depends on modules or hooks with the system kernel (or at least that would be the case on a GNU/Linux system), in which case, why the fuck are so many applications dependent on the Windows kernel to run? The only times I've had to actually restart my system on GNU/Linux is if I installed a new kernel module/hook or I got an update to the kernel or one of its modules. Other than that I never have to restart my system.
  4. +
  5. Lack of Configurability: Something I've loved and gotten very used to ever since using GNU/Linux is the very high ability for configurability that I have. Generally in the UNIX world configurations are all put into configuration files with as many configuration options as possible. This is because this lessens the need to go into the actual source-code for a program and change something as simple as the colour for the UI. This and the OS itself tends to be very flexible in terms of what it allows you to do with it (the OS is basically just the bare bones and you put other shit on top of it, like a display manager, window manager, network manager, and everything else). This means that in GNU/Linux (and other systems like BSD) I have the ability to easily use whatever window manager I damn well please and configure my programs via configuration files to look and function the way I want them to without even having to mess with source-code. In Windows, on the other hand, none of this is possible, I'm stuck with what Microsoft wants to give me and that's it. Take into account that this isn't even an issue of GNU/Linux or BSD being free software/open-source, if all these applications were non-free I would still have a load of configurability over them.
  6. +
  7. No Package Manager: If you don't know what a package manager is, think of it like an app store. Now, in GNU/Linux basically all distributions have a package manager (there are even a few of them, like `pacman', `aptitude', and `dnf') which are very useful for multiple reasons. Firstly, they make it extremely easy to install new applications in an organized and easily removable and easy to update way, either from an online repository or from a package file you downloaded to your computer. But more importantly, they are a standard way of installing dynamically linked libraries, or shared object files (if you're on Windows, it's those `.DLL' files). Why is this important? Let's say that two programs use the same library (same version even), on GNU/Linux you would install the shared object file for that library and the two programs, and both programs would use the same file when executing. On Windows, on the other hand, you will install both applications and both of them will come with their own copies of the same exact file, and depending on how large this library is it can be a very large file. A typical example of this is with games. If you're a gamer and like playing Unity games, on Windows, for every Unity game you have on your computer there is a copy of the Unity shared object file for it. This means if you have 20 of these games, you've got 20 copies of the same exact file on your computer. What also differentiates a package manager from an app store (or at least the Microsoft and Apple ones) is that it makes it easy to install packages from 3rd party sources, as well as add unofficial repositories. Microsoft and Apple do not let you do this.
  8. +
  9. Special Snowflake Sockets: This is a bit more on the technical side, but why the fuck does Windows have to have its own socket code? Why can't it use UNIX sockets like everyone else? For every other major OS (MacOS, GNU/Linux and BSD) I can write practically the same code without the need of compiler macros, but once Windows is in the picture I am forced to fill my code to the brim with compiler macros for the special snowflake sockets. I can write one set of instructions for practically every other OS, but for this one OS, Windows, I have to write a special set of instructions for it all because otherwise I won't be able to port my software to the OS with the most users.
  10. +
  11. Shitty Command Prompt: I am unsure as to how long it's been since Microsoft decided to update their command prompt, but it feels like ages, because that thing is shitty as hell, especially their shell. Last I remember there's no tab completion for commands, at one point in time it had issues resizing, and it can't even use (n)curses. I can do a shit ton of stuff from the command line on a UNIX machine (even a MacOS machine), but on Windows I am limited as fuck. My choices are to either use the shitty command prompt or to use the shitty GUI that the developer of the program provided me with, neither of which are very appealing.
  12. +
  13. Ads Everywhere: There are ads fucking everywhere in Windows, especially starting at Windows 8, where you could find them in the 'start menu'. It gets worse when Microsoft decided to put ads in their file browser as well, especially considering loads of people don't know that you can install a different file browser. Now they're saying that it's because they've made Windows gratis and therefore they need a new way of generating revenue from the OS... except the ads started to hit hard with Windows 8 and it was Windows 10 that has become gratis. That and most GNU/Linux and BSD distributions are also gratis and they have no ads either. Heck, even the most of the applications (window managers, file browsers, menu apps, etc.) don't have ads.
  14. +
  15. Long Boot Times: Windows has the longest boot time I have ever seen in my entire life, which is probably why they've resorted to hibernation rather than actual shutdown. Don't misinterpret me, on GNU/Linux you can also get long boot times... if you use the heaviest display manager and desktop environments there are as well as having a shit ton of services startup on boot and a bunch of applications on autostart when you login. Other than that, it'll got faster than Windows given the same machine.
  16. +
  17. No Minimal Install: Something I love about Arch is that it is very very small and when I install it I tell it exactly what to install from the very beginning. Everything I have installed on my computer is there because I installed it myself. Many people really enjoy having minimal installations, it makes their system more lightweight, takes up less space, especially very handy if you're ever going to be doing anything that's extremely resource intensive (less resources being wasted on desktop environments and random applications you never use and more being used on your media editing or whatever you're doing). The closest thing Windows has to this (from what I've heard) is their server version of the OS, and even that comes with a shit ton of applications by default.
  18. +
+ +

This'll probably be it for the Windows bashing, but if you use MacOS/OSX, don't think you're off the hook, "Why MacOS Sucks" is coming very soon.

+ diff --git a/blog/posts/2017-08-13-the-google-memo.cfg b/blog/posts/2017-08-13-the-google-memo.cfg new file mode 100644 index 0000000..6230c2f --- /dev/null +++ b/blog/posts/2017-08-13-the-google-memo.cfg @@ -0,0 +1,5 @@ +filename = 2017-08-13-the-google-memo.html +title = The Google Memo +description = My opinion on the dubbed "Google Memo" that has been going around, and how to encourage more women to enter STEM careers. +created = 2017-08-13 +updated = 2017-08-13 diff --git a/blog/posts/2017-08-13-the-google-memo.html b/blog/posts/2017-08-13-the-google-memo.html new file mode 100644 index 0000000..48fd7b6 --- /dev/null +++ b/blog/posts/2017-08-13-the-google-memo.html @@ -0,0 +1,10 @@ +

Normally I dislike hopping onto bandwagons for this blog, but this is about a field that I am very involved in: the technology field. Recently a Google employee sent out an internal memo that later was published for the whole world to see (you can read the full memo here). This memo spawn much controversy, and so I wanted to see the memo itself.

+ +

Firstly I would like to bring up that the firing of this man is something that I consider completely unacceptable. People should not be fired for their personal opinions so long as they recognize that they are in a work environment and while at work only do so within the context of work (as this man has done). Otherwise we resort to the same kind of witch hunt that there was against Communists, Socialists, and Anarchists in the 50s.

+ +

After having read what was on the memo, I see no signs here of sexism, bigotry, anti-diversity, or anything of the sort. This man has respectfully and calmly proposed his suggestions as to why there are less women in the technology sector and (more importantly) how to fix it from within the limitations of Google. That is, he is not disagreeing on having more women in the technology sector, he simply disagrees on the causes and (by extension) the solutions. I believe that if this man were given a chance to have a rational conversation (which seems to be what he was looking for) rather than being insulted that he would have been very willing to listen to other people's opinions. This man has been very respectful and deserves the same respect in return, independently of how much you may disagree with his opinion.

+ +

As for my personal view on the matter, I am unsure of his biological arguments, however he seems to have linked to a few Wikipedia articles in his memo explaining this perspective on the matter. Despite this, I do believe that social pressure (on both women and men) has an affect on this matter. Women generally are not raised to have an interest in anything STEM (Science, Technology, Engineering, Mathematics), and therefore it is not surprising that there are less women in those fields. When I go to my Computer Engineering classes I see two girls in a class of about 60 people, yet the university is primarily an engineering university and tries very hard to get women into engineering. It's not that the university is discriminating against women, it's that these women were not raised to enjoy the abstract ideas, instead they were raised with dolls, make-up kits, art boxes, and so on, while their boy siblings were raised with Legos, science kits, handyman belts, and so on. Then, the fact that we do not raise boys with the other means that these 'girly' things end up being purely for girls, and therefore much easier to tie oneself to and identify with. Then, men are also never really introduced to arts and humanities and therefore end up dominating the STEM fields, while if they were exposed to them then they may end up taking more of the arts and humanities jobs.

+ +

The difference in proportion of women in STEM and men in arts and humanities is not something that can be solved at such a high level, not by companies like Google, and not by universities like my own. This is something that needs to be solved at a younger age by public schools and (most importantly) at home when raising children. What use does it make to have companies like Google make tech jobs more attractive for women when there aren't that many women even studying it in university? And what use does it make to have universities lower tuition for women in tech when not many women want to go into tech to begin with? The problem is much much deeper than these. Stop trying to blame administrators for being sexist and try looking at your own life and flaws. What are you training your daughter and son to like and enjoy doing? Why is your daughter going for a liberal arts degree while your son is going for a degree in civil engineering? Try fixing your own flaws and being consistent with your own ideas before trying to correct the behaviour of others. There are some minor inconsistencies that will always be there, but we must not stop trying to improve ourselves.

+ diff --git a/blog/posts/2017-09-04-why-macos-sucks.cfg b/blog/posts/2017-09-04-why-macos-sucks.cfg new file mode 100644 index 0000000..1a6a170 --- /dev/null +++ b/blog/posts/2017-09-04-why-macos-sucks.cfg @@ -0,0 +1,5 @@ +filename = 2017-09-04-why-macos-sucks.html +title = Why MacOS Sucks +description = +created = 2017-09-04 +updated = 2017-09-04 diff --git a/blog/posts/2017-09-04-why-macos-sucks.html b/blog/posts/2017-09-04-why-macos-sucks.html new file mode 100644 index 0000000..043d88c --- /dev/null +++ b/blog/posts/2017-09-04-why-macos-sucks.html @@ -0,0 +1,11 @@ +

As promised, a criticism of Apple MacOS (or whatever people are calling it nowadays), of course, this will mostly be mixed in with issues I have with Apple itself, and some of them may sound familiar (because they're the same as with Windows). I'd also like to note that I haven't seen or used a Mac computer for personal use for maybe 7 years, so the information I provide may be antiquated, or I may be leaving stuff out that they came up with recently (or simply I forgot because of how bad it was). So let's jump into this!

+ +
    +
  1. User Lock In: This is one of my largest complaints about Apple and all they do. At least with Microsoft they tend to have to make things compatible across the board or face the fact that no one will use their shitty software, but with Apple this just isn't the case (primarily due to the horde of zombies that follow them like a cult). When you buy a product from Apple, it will always work best with other Apple products, and give you complete and utter hell with anything else (unlike Microsoft which is just shitty overall). I believe I've mentioned this before, but the entire reason I started advocating for open-source, and later free software, is because of an Apple iPod that would not sync nicely with GNU/Linux because of some stupid journaling system that could only be disabled on a Mac.
  2. +
  3. No Choice in Desktop Environment: I believe I pointed this out with Windows too, but I like simple, basic, tiled window managers. I don't want a bunch of applications running in the background that I'm not at all going to use. It's a waste of my resources. Mac gives absolutely no choice in this from what I recall.
  4. +
  5. Not Package Manager Centric: I can't say that Apple doesn't have a package manager, it has homebrew (unlike Microsoft Windows that hasn't caught up in that regard yet). However, the package manager is almost exclusively used by developers, and therefore does not help in users using dynamically linked libraries for their programs rather than developers having to statically link everything (and therefore cause people to have 20 copies of the same version of a library on their computer). What's more, even the app store that exists is shit because Apple controls everything that appears there, you can't add extra third-party repos, nothing.
  6. +
  7. No Minimal Install: Just like Windows, I have never seen a minimal installation, and I've never seen a Mac in console mode which makes me question whether it even has one.
  8. +
+ +

As you can see, I have less complaints about Apple Mac than I do Windows, which is not surprising considering that Mac is a UNIX-like system based upon BSD. Still, I wouldn't use it.

+ diff --git a/blog/posts/2017-09-10-slow-and-happy.cfg b/blog/posts/2017-09-10-slow-and-happy.cfg new file mode 100644 index 0000000..37b7760 --- /dev/null +++ b/blog/posts/2017-09-10-slow-and-happy.cfg @@ -0,0 +1,5 @@ +filename = 2017-09-10-slow-and-happy.html +title = Slow and Happy +description = About living a slower and more relaxed lifestyle. +created = 2017-09-10 +updated = 2017-09-10 diff --git a/blog/posts/2017-09-10-slow-and-happy.html b/blog/posts/2017-09-10-slow-and-happy.html new file mode 100644 index 0000000..7b79b16 --- /dev/null +++ b/blog/posts/2017-09-10-slow-and-happy.html @@ -0,0 +1,14 @@ +

For someone like me, one of the most damaging aspects of the society we live in is the constant stress and anxiety we feel throughout our lives, how we rarely have the time to reflect, to stop and think for a while, or simply to do nothing (yes, I mean nothing). I believe there are multiple reasons for this kind of behaviour and stress, multiple reasons why we are extremely over our heads with no time for ourselves or those around us, and as one can read online, there are many that agree with me.

+ +

One of the things I seek in my life the most is leisure time, time where nothing is planned, nothing is structured, those free slots in my schedule where I can decide what I want to do in the moment. During this leisure time I have the ability to take part in a variety of activities that can allow me to express myself through different productive and creative mediums. This gives me lots of time to concentrate on things that I enjoy doing and can see the fruits of my own production. However, it seems that society is constantly working against me in this regard, wanting me to constantly do other things, and there are a few things in our daily lives that do this to us through various means. They work as time hoarders, distracting us from the passage of time and leaving us somewhat numb and divorced from reality (something that many enjoy at the end of a long work week to avoid having to deal with their stressful lives). These time hoarders work as opiates to pacify us, but only in the sense that we are left helplessly without time to ourselves, and the time, instead of being taken advantage of to enjoy it in something that will create long-term happiness, we take a dose of the opiate the pacifies in preparation for the next laborious work week.

+ +

The first time hoarder I see is social media, and it's not very hard to find multiple sources (including the New York Times and The Telegraph). These sources state that we spend, on average, about an hour of our time every day on Facebook at least. On The Statistics Portal an even higher average is shown for the worldwide demographic of social media users from 2012 to 2016 (which I can only assume will get larger as time passes) of 118 minutes a day, almost two hours of your waking day, which assuming one sleeps eight hours, is a whopping 12.29% of one's waking hours. Supposing that half of this time is spent during work hours ('cause some people will look at their social media during work), that's still a 12.29% of one's free time (which means that if you don't look at social media at work it may be worse). What's more, social media also has many negative effects in one's attention span and (quite importantly) psychology, as is explained by Cal Newport in his TEDx presentation. If you would like to free up a good chunk of time, delete your social media accounts or at least setup a lock on it by which you can only look at it for a certain amount of time each day (or a week might be better, 15-30 minutes a week).

+ +

Another huge time hoarder is the television, but not only in the form of the physical television set you may have in your living room (and hopefully not your own personal room), but also in the form of Netflix (which one watches on other screen devices) and even YouTube. On TV alone the US Bureau of Labour Statistics estimates that just over half of the average American's leisure time is spent watching the television. There is also another article by the New York Daily News that suggests that Americans watch an average of 5 hours of television a day (noting, of course, that it varies widely depending on age). This can be combined with YouTube, which on mobile devices alone people watch an average of 40 minutes daily. Netflix can also be time consuming (although it may have been incorporated into the previous statistic of television watching) with an estimated of 1.8 daily hours.

+ +

Adding all this together, the television, YouTube (and Netflix and any other passive video watching substitute), and social media, the hours quickly add up and much of our free time (if not all of it) is lost. However changing it isn't easy either, even I, who have left social media, despise the television, and only look up specific YouTube videos to watch (mostly being music, and this rarely), have a hard time divorcing myself from the stressfulness of society. All too often you are pulled into the stress of others, it becomes something toxic (and even contagious). This is inevitable considering that the only way out would be to leave society completely and form anew with like minded people, which isn't exactly a great idea for those of us who enjoy certain parts of society (like the internet). So for those of us who wish to get rid of this stress our solution is simply to live on the margins of society, giving for what we take, and minimizing any of the negative effects it has.

+ +

For people who are trying to leave this stressful life it tends to be quite difficult because of the addictiveness of these opiates. Cal Newport put it very well in his TEDx video, but what he says applies not only to social media, but also to these other time hoarders, that they are comparable to a slot machine in a casino (except in the case of social media we bring the slot machine with us everywhere all day long in our pockets). Television shows, ads, YouTube videos, Netflix series, social media, and all these other time hoarders are all designed to capture your attention and keep it for as long as possible. It's not surprising that this would be the case considering that the way these businesses make their money is precisely by doing that, and if they didn't work then they'd change their methods until it did. As such they are extremely addictive, and to an extent give you small highs of temporary, short-term happiness. However, this does not equate to actual happiness, nor something that will make you happy over long periods of time. Long-term happiness is most effectively achieved through productivity, creativity (real creativity, not "I use an Apple" creativity), and shared experiences. It does not take much to realize this. When one reaches a goal they feel extremely satisfied, and if this goal is something demonstrable (such as losing weight, getting off of tobacco or alcohol, writing a song, or creating a painting) one can even feel pride and continuously reminisce of this achievement, bringing happiness as one remembers what the have achieved. It may also help one to feel as though they have had a more fulfilled life, and therefore feel less worried about aging, or even death.

+ +

You can conclude from this what you will, and do what you please after reading this, but I'm pretty sure that if you free up some time in your day, and even do a little bit of nothing here and there, you'll end up feeling a lot happier with yourself.

+ diff --git a/blog/posts/2017-10-10-restructuring-the-blog.cfg b/blog/posts/2017-10-10-restructuring-the-blog.cfg new file mode 100644 index 0000000..b582a45 --- /dev/null +++ b/blog/posts/2017-10-10-restructuring-the-blog.cfg @@ -0,0 +1,5 @@ +filename = 2017-10-10-restructuring-the-blog.html +title = Restructuring the Blog +description = An explanation for any broken links. +created = 2017-10-10 +updated = 2017-10-10 diff --git a/blog/posts/2017-10-10-restructuring-the-blog.html b/blog/posts/2017-10-10-restructuring-the-blog.html new file mode 100644 index 0000000..d6cee9b --- /dev/null +++ b/blog/posts/2017-10-10-restructuring-the-blog.html @@ -0,0 +1,4 @@ +

I have recently restructured my blog so that there are now multiple sections dedicated to different topics. I have done this because I believe that my blog is too random all on its own (all in one big clump). Now there are different categories dedicated to different broad topics, each one has an RSS feed of its own. This (of course) is gonna break a lot of links, but with my website it's best just to remember the domain name and then find things from there. This is a personal website, so I feel no obligation to keep any kinds of backwards compatibility.

+ +

I hope this didn't inconvenience anyone, but oh well.

+ diff --git a/blog/posts/2017-10-13-software-used-in-summer.cfg b/blog/posts/2017-10-13-software-used-in-summer.cfg new file mode 100644 index 0000000..353af8e --- /dev/null +++ b/blog/posts/2017-10-13-software-used-in-summer.cfg @@ -0,0 +1,5 @@ +filename = 2017-10-13-software-used-in-summer.html +title = Software Used in Summer +description = A list of software I've been using to compose songs for the Summer album. +created = 2017-10-13 +updated = 2017-10-13 diff --git a/blog/posts/2017-10-13-software-used-in-summer.html b/blog/posts/2017-10-13-software-used-in-summer.html new file mode 100644 index 0000000..f44fc90 --- /dev/null +++ b/blog/posts/2017-10-13-software-used-in-summer.html @@ -0,0 +1,14 @@ +

As someone who moves around a lot, I dislike having to bring lots of equipment with me, this includes amplifiers, keyboards, etc. Therefore, what I prefer to do is the run software that simulates these. I have used software ZynAddSubFX and LMMS in previous albums, but I've also experimented before with tools that I'm using for the new album, Summer.

+ +

One of my primary tools with this album is Guitarix, a virtual guitar amplifier with many effects. In this sense, I find Guitarix to be a lot more useful than an actual amplifier, since it already comes with many effects that otherwise I'd have to get individual pedals for each new effect. What's more, since it works with JACK I'm able to plug in different sound inputs (including synthesizers) as well as choosing where to send the output of the program. I manage this through the QjackCtl, which makes plugging the different inputs/outputs very simple. In order to plug in the guitar I use a special cable that has a jack pin on one end and a USB connector on the other (no need for microphones with background noise).

+ +

For the percussion I've been working with the Hydrogen drum machine, which has proven itself simple for programming drum patterns, which is important for someone like me who isn't very big into drums, although while working on this album I've started to pay more attention to drums in similar music to that of Summer. I am also continuing my usage of ZynAddSubFX for any synthesizer work that's needed.

+ +

For the bass guitar I've simply been using my guitar and dropping the frequency an octave. With the acoustic recordings I've done so far it hasn't turned out exactly how I wanted it to, but it seems as though it works nicely with the electric guitar hooked into Guitarix, so I may be rerecording the bass for the acoustic songs in this album.

+ +

Of course, all final editing/mastering is done in Audacity. This tool has proven itself to be extremely effective overall for music editing.

+ +

Upon publishing the album I'll also publish a source tar ball like I did last time with Dreaming in Bytes. Here I'll be adding as much as I can so that my song can be remixed with ease (instead of having to do any sort of half-assed frequency cuts to extract a track from the song). This will most definitely include the audacity project for the songs, the hydrogen drum pattern files, and any presets that I can provide.

+ +

As an appended news on the album's progress, it's currently slowed down a bit, but I'm hoping to release it in time for the summer of 2018. It all depends on the time I have and when my creative juices begin to flow.

+ diff --git a/blog/posts/2017-10-14-full-disk-encryption-with-grub2.cfg b/blog/posts/2017-10-14-full-disk-encryption-with-grub2.cfg new file mode 100644 index 0000000..455ca6e --- /dev/null +++ b/blog/posts/2017-10-14-full-disk-encryption-with-grub2.cfg @@ -0,0 +1,5 @@ +filename = 2017-10-14-full-disk-encryption-with-grub2.html +title = Full Disk Encryption with GRUB2 +description = How to get full disk encryption with Arch using GRUB2. +created = 2017-10-14 +updated = 2017-10-14 diff --git a/blog/posts/2017-10-14-full-disk-encryption-with-grub2.html b/blog/posts/2017-10-14-full-disk-encryption-with-grub2.html new file mode 100644 index 0000000..2573f3d --- /dev/null +++ b/blog/posts/2017-10-14-full-disk-encryption-with-grub2.html @@ -0,0 +1,46 @@ +

A long time ago I figured out that GRUB2 has the capability of decrypting a LUKS encrypted partition therefore allowing for the `/boot' partition to be encrypted, however I haven't had the time to test it out until today. After that I decided it'd be a good idea to write a blog entry on how I did it, to help others and to serve as a reference for myself next time I want to do an install.

+ +

First, please note that I did all this while installing ArchLinux, but it should work just about the same for any manual installation of any distro. Also, some of the steps I explain here will be repeats of the post I did on LVM on LUKS encryption (where `/boot' is not encrypted so GRUB can boot the kernel).

+ +

NOTICE: In this post I will be using `/dev/sda' to refer to the device on which I want to put the encrypted partition, I will be calling my LVM container `lvmcrypt', the logical volume group `CryptGroup', the swap logical partition `swap', and the root logical partition `root'. Change any of these if you care to, feel free to customize.

+ +

Alright, so let's get to it!

+ +

Partitioning & Formatting

+

+My physical partitioning is quite simple, I have one partition (`/dev/sda1') set to be the entire disk, make sure the type is set to `Linux LVM'. After this you'll want to setup a LUKS partition using `cryptsetup'. First load the `dm-crypt' module via `modprobe dm-crypt', afterwards you can format the partition via `cryptsetup -s luksFormat /dev/sda1'. You can probably change come settings to it to choose different ciphers and such. In order to get some benchmarks for what cipher would be best for your system use `cryptsetup benchmark'. After formatting the partition you'll have to open it via `cryptsetup luksOpen /dev/sda1 lvmcrypt'.

+ +

Now to setup and format the LVM partitions. Simply follow the following commands:

+ +# Load kernel module
+modprobe dm-mod
+# Create physical LVM container on partition
+pvcreate /dev/mapper/lvmcrypt
+# Create LVM group
+vgcreate CryptGroup /dev/mapper/lvmcrypt
+# Create swap partition
+lvcreate -C y -L 4G CryptGroup -n swap
+# Create root partition
+lvcreate -l +100%FREE CryptGroup -n root +
+ +

Now you should have the following special files in your mapper: `CryptGroup-swap' and `CryptGroup-root'. These now need to be formatted:

+ + +mkfs.ext4 /dev/mapper/CryptGroup-root
+mkswap /dev/mapper/CryptGroup-swap -L swap +
+ +

After this point you can continue with your typical installation using `CryptGroup-root' and `CryptGroup-swap' until you reach the end of the installation where you need to configure a boot loader and custom kernel hooks.

+ +

Bootloader (GRUB2)

+

Firstly, make sure you're using GRUB2, older versions of GRUB do not have the decrypt functionality. You'll want to edit the `/etc/default/grub' file. Uncomment the line that says `GRUB_ENABLE_CRYPTODISK=y'. This will allow GRUB to decrypt the partition in order to find the kernel.

+ +

Kernel Hooks

+

Just like in LVM on LUKS, the kernel will need to decrypt as well (not only GRUB). For this you will want to edit the command line parameters of Linux in `/etc/default/grub' to look like this: `GRUB_CMDLINE_LINUX_DEFAULT="quiet splash cryptdevice=/dev/sda1:lvmcrypt root=/dev/mapper/VolGroup0-root resume=/dev/mapper/VolGroup0-swap"'. This will tell the Linux kernel where the kernel, root, and swap are. Since we have the root in an LVM container you will also have to set `GRUB_PRELOAD_MODULES="part_gpt part_msdos lvm"'.

+ +

You will also have to edit the kernel hooks in `/etc/mkinitcpio.conf' to look like this: `HOOKS="base udev autodetect modconf keyboard block encrypt lvm2 resume filesystems fsck"'. The important hooks here are `keyboard', `encrypt', `lvm2', and `resume'.

+ +

Final Remarks

+

Please note that you will be asked for your password twice, once by GRUB (to find the kernel image to boot) and another by the Linux kernel (to boot the entire OS). If you notice that anything here is incorrect or that something should be fixed, contact me from my contact page and I'll edit this post.

+ diff --git a/blog/posts/2017-10-15-disagreement-without-hate-disagreement-with-respect.cfg b/blog/posts/2017-10-15-disagreement-without-hate-disagreement-with-respect.cfg new file mode 100644 index 0000000..0215151 --- /dev/null +++ b/blog/posts/2017-10-15-disagreement-without-hate-disagreement-with-respect.cfg @@ -0,0 +1,5 @@ +filename = 2017-10-15-disagreement-without-hate-disagreement-with-respect.html +title = Disagreement without Hate, Disagreement with Respect +description = A reflection on the confusion between disagreement and hatred in today's politics. +created = 2017-10-15 +updated = 2017-10-15 diff --git a/blog/posts/2017-10-15-disagreement-without-hate-disagreement-with-respect.html b/blog/posts/2017-10-15-disagreement-without-hate-disagreement-with-respect.html new file mode 100644 index 0000000..788283a --- /dev/null +++ b/blog/posts/2017-10-15-disagreement-without-hate-disagreement-with-respect.html @@ -0,0 +1,12 @@ +

I believe that in recent years the situations we've seen politically have gotten worse, people have become polarized, they are shifting towards extreme actions which do nothing but to worsen the situation. More and more I am finding that any form of political disagreement is automatically considered a reason to loathe a person, and therefore disregard them and all that they say. What's more, I believe that it is because we are not seeing each other as people, but rather as a compilation of ideas that this occurs (a rather platonic way of viewing things), when in reality if I change my opinions, my ideas, or anything about myself, I am still the same person, and therefore am I more than the ideas that I have, rather I am a compilation of the actions I have taken in the past leading up to this point in time. I may change my behaviour and no longer agree with my past actions, but I am still that person.

+ +

I believe that one issue that contributes to this behaviour is that when we discuss our opinions with others we assume that it's going to only go one way: us convincing the other party that we're right. In reality this rarely ever happens precisely because of this mentality (because the other person has it as well). This means that neither side is willing to actually listen and analyze the argument of the other party with regards to their own, and therefore cannot even evolve their own argument, which will forever remain at an elementary state because it has never been challenged and therefore never tested to defend itself. I have found when talking to friends and family of mine that disagree that a better mindset to have with this isn't to want to convince them, but rather to have my discussion simply serve as a way for me to evolve my own argument. In all likelihood, you will never be able to convince them of your argument, and therefore the most you can get out of such a conversation is to improve your own by challenging your own ideas and reforming them to the new counter-arguments you encounter.

+ +

When arguing with someone else you shouldn't see them (or their argument) as stupid just because you disagree with it either. In their minds it makes as much sense as your argument does in yours. They have lived through circumstances which led them to believe that the way things work is so, the same way you have. Yes, there are those that actually do very little philosophising of their ideas, but those that do not challenge their ideas end up having just as pathetic ideas. One must also consider that someone may be right for the wrong reasons (hence why people of very different schools of thought may agree on certain issues). If you actually listen to what is being said you may find that the argument makes sense from a different perspective, or perhaps if it were slightly modified.

+ +

Another key element is tolerance. Unfortunately the word tolerance has been distorted to mean agreeing with someone or letting them have their way. This is not tolerance as I've known it, and it simply leads to contradict itself, since with that meaning in order to tolerate one thing one must be intolerant of another. One can disagree, and actively work against an idea, and still be tolerant of people with this idea. I myself am an atheist, and I believe that religion is something that can too easily be made into something harmful, and therefore would take any opportunity to diminish the presence of religion in public life. However, I tolerate it in the sense that I respect those that are religious as the human beings that they are, and I do not see them as inferior nor stupid for their beliefs. If they wish to say a prayer at the table while I'm around I do not mind, because it does not affect me. In this sense, I am being tolerant of their beliefs without agreeing and while actively and vocally being against these beliefs.

+ +

However, real tolerance demands compromise and dialogue, something that is becoming extremely scarce as people become more and more polarized in their beliefs. The fact of the matter is that if multiple large portions of a population disagree on something then rather than one side opposing their views on the rest, a compromise should be attempted first, and in a compromise both sides will have to lose something in exchange for something that they want. This is very difficult with bipartisan societies (or with partisans in general), since there are only two sides both automatically define their opinion as the opposite as the other's, and any compromise is seen as collaborating with the enemy or simply forming part of the enemy's side, and therefore imposition of one's own opinions is the only method that's considered. I remember that some years ago the issue of gay marriage was being considered in the United States, and the conservatives were stating that they did not want gays to marry because they considered it a religious institution (which historically it has been, but in recent years even atheists get married, so it isn't really the case), and therefore that it would be corroded by gays being able to marry. Of course, liberals advocated for marriage so that gays could have the same rights as straight couples that get married. As a compromise the idea surged that a new institution be created for gays that gives the same rights as marriage but is not called marriage nor would it have the same religious connotation. The liberals, rather than accepting this as a decent compromise (gays would have the exact same rights as married straight couples) they saw this as some form of discrimination (rather than a compromise) and refused to accept it, when for all practical purposes the form of marriage that the gays would have would be exactly the same as that of the straights. This compromise indicates to me that those that came up with it did not hate gays, but rather simply wanted to protect what they saw as a religious institution. Instead, the liberals decided to impose their ideas on everyone else by bringing the issue to the supreme court (rather than having it passed through congress like laws are supposed to). I may be in favour of gays' rights to marry, but I must admit that the conservatives in this circumstance were the ones searching for compromise and doing the right thing and were willing to be tolerant of gays, while the liberals simply refused to negotiate and imposed their opinion.

+ +

The fact of the matter seems to be that neither side now is tolerant of the other, and therefore such a situation can only continue to escalate into more violence.

+ diff --git a/blog/posts/2017-11-08-user-friendliness-and-modern-tech.cfg b/blog/posts/2017-11-08-user-friendliness-and-modern-tech.cfg new file mode 100644 index 0000000..692cf8d --- /dev/null +++ b/blog/posts/2017-11-08-user-friendliness-and-modern-tech.cfg @@ -0,0 +1,5 @@ +filename = 2017-11-08-user-friendliness-and-modern-tech.html +title = User-Friendliness and Modern Tech +description = +created = 2017-11-08 +updated = 2017-11-08 diff --git a/blog/posts/2017-11-08-user-friendliness-and-modern-tech.html b/blog/posts/2017-11-08-user-friendliness-and-modern-tech.html new file mode 100644 index 0000000..55f8a74 --- /dev/null +++ b/blog/posts/2017-11-08-user-friendliness-and-modern-tech.html @@ -0,0 +1,8 @@ +

I have to admit that I'm probably not the best example of what is considered user-friendly (since I use i3 with terminals everywhere, CLI versions of a bunch of applications, etc.), however I do know what is considered user-friendly, primarily because I am a techie in a family of a lot of non-techie people (basically I'm my family's tech support). From this I've found that a lot of the things that we believe are user-friendly are actually just new and popular but nobody actually knows how to use them (hence they tend to be misused and people get frustrated when things go wrong).

+ +

In this sense, the worst technology in existence is The Cloud. A technology which does not actually simplify a lot of people's lives, especially that of the elderly (those who I have to help the most often with their tech problems). There is a general rule, not only in technology, but in any kind of form of organization of data/tasks which states that the more complex the system the higher risk of failure (of things going wrong). Well, The Cloud is one of the most complex systems out there. Instead of people putting their files on external devices which have very little risk of failure, they are storing it on another computer, routing the information through several computers in order to get there. Hence I usually have to deal with network errors or The Cloud not working the way it should be. In this sense, the most user-friendly solution is actually for people to store information on external drives and then send it over to each other via e-mails or via some sharing service, but its primary storage should not be in The Cloud, but on this external device.

+ +

Another thing, I don't care what anyone says, Mac and Windows are not user-friendly (sometimes for different reasons). First, let's start with a Windows-only issue: it just doesn't work. Windows crashes, it's buggy, you have to constantly reinstall drivers, it gives you errors for the stupidest of things. This is not user-friendly. Secondly, both of these operating systems are completely unstable in terms of their interfaces. Somehow, these companies (Apple and Microsoft) believe that by updating the interface (and forcing everyone to find everything again) that this somehow means the OS is modern and new. All it means is I have to spend another 10 minutes finding a button that they moved from point X to point Y for my grandparents. This lack of stability may seem harmless, but it's annoying and unproductive. For this, the solution is simple: install a GNU/Linux distribution (like Debian Stable or Ubuntu LTS) with a generally stable and non-changing interface, such as MATE, Xfce, or Cinnamon, anything that doesn't constantly change interfaces to prove that it's new and flashy.

+ +

I'm saying this because it's sad that every time I go on break and return to my home, my family has new issues with their software failing because the developers changed something stupid or they made it way more complicated than it needs to be. It's fine for people who like changes, but don't tell me that shit's user-friendly and then get everyone to buy it as if it were so.

+ diff --git a/blog/posts/2017-11-17-from-firefox-to-palemoon.cfg b/blog/posts/2017-11-17-from-firefox-to-palemoon.cfg new file mode 100644 index 0000000..0f485ee --- /dev/null +++ b/blog/posts/2017-11-17-from-firefox-to-palemoon.cfg @@ -0,0 +1,5 @@ +filename = 2017-11-17-from-firefox-to-palemoon.html +title = From Firefox to Palemoon +description = Switching to Palemoon for more addon compatibility since Firefox 57 (Quantum). +created = 2017-11-17 +updated = 2017-11-17 diff --git a/blog/posts/2017-11-17-from-firefox-to-palemoon.html b/blog/posts/2017-11-17-from-firefox-to-palemoon.html new file mode 100644 index 0000000..b0a5b3c --- /dev/null +++ b/blog/posts/2017-11-17-from-firefox-to-palemoon.html @@ -0,0 +1,4 @@ +

I'll keep this brief and to the point.

+ +

Recently Firefox 57 (Quantum) was released, and with it most of my favorite addons became incompatible. Because of this I have left Firefox in favor of Palemoon (a more stable project that doesn't care so much about appealing to masses). Palemoon is a Firefox fork which focuses on performance, its UI is very similar to the old Firefox UI, so it's rather familiar. Most of my older addons also work with it, either on their own (such as uBlock Origin) or with the help of Moon Tester Tool, which installs addons regardless of the target application version specified. It also has a nice dark theme for the browser as well as a community with many people who have switched from Firefox to Palemoon.

+ diff --git a/blog/posts/2017-12-20-my-recent-dislike-for-oop-languages.cfg b/blog/posts/2017-12-20-my-recent-dislike-for-oop-languages.cfg new file mode 100644 index 0000000..874dbe1 --- /dev/null +++ b/blog/posts/2017-12-20-my-recent-dislike-for-oop-languages.cfg @@ -0,0 +1,5 @@ +filename = 2017-12-20-my-recent-dislike-for-oop-languages.html +title = My Recent Dislike for OOP Languages +description = +created = 2017-12-20 +updated = 2017-12-20 diff --git a/blog/posts/2017-12-20-my-recent-dislike-for-oop-languages.html b/blog/posts/2017-12-20-my-recent-dislike-for-oop-languages.html new file mode 100644 index 0000000..df58798 --- /dev/null +++ b/blog/posts/2017-12-20-my-recent-dislike-for-oop-languages.html @@ -0,0 +1,12 @@ +

Recently I have found myself disliking OOPLs , and I'd like to explain my reasoning for this. I'd also like to note that this may not necessarily apply to all OOPLs or uses of them, but it does apply to those which I am familiar with (primarily C++ and Java).

+ +

At my university the teachers use a lot of C++, in the Fundamentals of Programming class (teaching the absolute basics, like variables, loops, conditionals, data types, structures, etc.) they used C++ even though the features they were using were just as easily available on C. Then in the OOP class I had the next term they continued to use C++, this year it's used for my Data Structures class and next term I'll be using Java for the Artificial Intelligence course. OOPLs seem to be extremely popular, at least at my university. However, because of this and having to work with them a lot in a stricter project environment (versus my experience with solo projects or small cooperative projects), and with it I've come to see some reasons for disliking them.

+ +

First of all, it adds an extra layer of abstraction away from assembly and therefore the machine. Even though I fully acknowledge that C++ is just as capable of being low-level as C, it's also true that the way C++ is used (if it is to be used correctly) abstracts the developer further away from the end product (the binary) and therefore in an educational environment what tends to happen is most students see their code and simply think it is some kind of magic (despite us having learned assembly in previous courses). This often leads them to get confused as to how the program is actually functioning, creating a maze of code in which it can be extremely difficult to find a bug, or even integrate it with other code without massive amounts of code restructuring.

+ +

Another issue I find (which is probably rehashed from Linus Torvald's critique of C++ that I read a long time ago) is that software written in OOPLs are often very fragile, depending very much on a specific design and methodology for coding, whilst other paradigms (such as procedural or functional) are simple enough that they somewhat guide the developer into a certain common methodology and coding style (after all, what other method is there to organize functions). Because of this OOPLs require a lot more planning, making sure that every developer in the team follows the model proposed.

+ +

Finally, OOPLs tend to create what I call bureaucracy: class A only has access to class B and asks it for variable i via a method, but class B doesn't actually have this variable, it needs to ask for it from class C who actually has the variable in question. These kinds of situations happen constantly in object oriented projects once they get large enough due to variable and function ownership. This bureaucracy, unless solved with inline functions, will inevitably create bloat in the code unless the compiler can manage to optimize it. This will also add many more lines of code to an otherwise simple issue of retrieving a variable.

+ +

As I mentioned before, there may be exceptions to this with certain languages, my experience is mostly with Java and C++, but I believe this is a paradigm issue. This doesn't mean that OOPLs aren't useful, but I dislike them compared to a much simpler C.

+ diff --git a/blog/posts/2018-01-02-waterfox.cfg b/blog/posts/2018-01-02-waterfox.cfg new file mode 100644 index 0000000..17dd5f8 --- /dev/null +++ b/blog/posts/2018-01-02-waterfox.cfg @@ -0,0 +1,5 @@ +filename = 2018-01-02-waterfox.html +title = Waterfox +description = My switch to Waterfox as my main browser. +created = 2018-01-02 +updated = 2018-01-02 diff --git a/blog/posts/2018-01-02-waterfox.html b/blog/posts/2018-01-02-waterfox.html new file mode 100644 index 0000000..4adabae --- /dev/null +++ b/blog/posts/2018-01-02-waterfox.html @@ -0,0 +1,10 @@ +

For any of you that have been using Firefox for quite some time now with your abundance of addons, you've probably noticed that most of them are no longer compatible with the newest Firefox 57 (Quantum). This is because Firefox has changed their addon system.

+ +

For me this was a big issue, considering that a couple of my favourite addons were not available with the new Firefox version and the developers had no intentions of updating them (these being Random Agent Spoofer and VimFX). So at first I did what most people did and tried to find alternative addons, unfortunately none of them seemed to fit. For Random Agent Spoofer there wasn't any addon that would change profiles at random intervals, and with the VimFX alternatives there weren't any that quite fit (which is quite important considering how essential that addon is for my web navigation).

+ +

Because of this I decided to ditch Firefox in favour of one of its forks: Palemoon. This solved the issue for the Random Agent Spoofer, but not VimFX, so I used Palemoon for a bit with Vimperator, which was also not exactly what I was looking for but it was at least similar enough to VimFX.

+ +

Then, one day I posted a screenshot of my browser on #gnu in reference to something about pastebin, and someone noted that I use Palemoon. I mentioned that I wanted to use the older addons and I was recommended the browser Waterfox. It's a fork of the modern Firefox with full compatibility for my addons and they have already mentioned that they are going to try to maintain support for the older addons.

+ +

Therefore, as of now, I'm a Waterfox user. If you use Arch you can find Waterfox in the AUR.

+ diff --git a/blog/posts/2018-01-13-ideas-for-improv-ii.cfg b/blog/posts/2018-01-13-ideas-for-improv-ii.cfg new file mode 100644 index 0000000..e4c61cb --- /dev/null +++ b/blog/posts/2018-01-13-ideas-for-improv-ii.cfg @@ -0,0 +1,5 @@ +filename = 2018-01-13-ideas-for-improv-ii.html +title = Ideas for Improv II +description = My influences from heavier psychedelic rock (stoner rock) and ideas it has given me for a possible Improv II. +created = 2018-01-13 +updated = 2018-01-13 diff --git a/blog/posts/2018-01-13-ideas-for-improv-ii.html b/blog/posts/2018-01-13-ideas-for-improv-ii.html new file mode 100644 index 0000000..fb51256 --- /dev/null +++ b/blog/posts/2018-01-13-ideas-for-improv-ii.html @@ -0,0 +1,6 @@ +

As of lately I've been delving deeper into what is the psychedelic rock genre, looking for inspirations, and I've come across a subgenre called stoner rock. I've mostly been listening to bands such as Half Gramme of Soma, Samsara Blues Experiment, and Wet Cactus. Because of this I've been playing around a lot with fuzz pedals and effects with it in guitarix, but I feel as though to me the genre of stoner rock is something more improvised that just lets me go with the flow.

+ +

Of course, the biggest issue with improvised albums is precisely that the music is improvised, but I like my direction to more complex music with multiple instruments and tracks, I don't want to just create an improvised guitar peace, so I've been working on recording both myself on the guitar with a drum machine, and hopefully I will eventually be working with synthesizers as well. So hopefully once I get this figured out I will be releasing an Improv II with a sound that's similar to stoner rock, at least with regards to the guitar.

+ +

This should not be interfering with my progress on Summer, in fact I still have a few songs in Summer that I have not completely figured out yet, and therefore may use elements of stoner rock for these songs.

+ diff --git a/blog/posts/2018-03-01-i-hate-licensing-but-im-glad-its-there.cfg b/blog/posts/2018-03-01-i-hate-licensing-but-im-glad-its-there.cfg new file mode 100644 index 0000000..d739c36 --- /dev/null +++ b/blog/posts/2018-03-01-i-hate-licensing-but-im-glad-its-there.cfg @@ -0,0 +1,5 @@ +filename = 2018-03-01-i-hate-licensing-but-im-glad-its-there.html +title = I Hate Licensing, but I'm Glad It's There +description = +created = 2018-03-01 +updated = 2018-03-01 diff --git a/blog/posts/2018-03-01-i-hate-licensing-but-im-glad-its-there.html b/blog/posts/2018-03-01-i-hate-licensing-but-im-glad-its-there.html new file mode 100644 index 0000000..24a4475 --- /dev/null +++ b/blog/posts/2018-03-01-i-hate-licensing-but-im-glad-its-there.html @@ -0,0 +1,8 @@ +

Coming from someone who uses the GPL constantly this seems kind of strange or even contradictory, but I do actually dislike licensing. It's part of that self-serving bureaucratic system of intellectual property that simply drives me nuts.

+ +

In general, with a lot of my works, I really couldn't care less about attribution. I see it as something more of a way of showing gratitude, and that often it can be a hassle (hence why it's a symbol of gratitude). However, what I really do care about is people distributing all derivatives under a free license, since that is what allows the code or art to grow and mature, as well as being simple courtesy (you benefited from code or art that was made public, you should allow others to benefit from the same freedoms you had). This is why I am also glad that licensing exists (otherwise I wouldn't be able to use the GPL in the first place).

+ +

Another issue that constantly arises with licenses are license compatibility issues (even amongst free software/culture licenses). Where you are unable to use a tool because the licenses will conflict either with your own code or (worse yet) another dependency. What's more, keeping track of all the different licenses and the requirements that each of them has also ends up being a huge hassle.

+ +

Generally, when it comes to knowledge and intellectual property, I care less about who made something and more about what that thing is. This is of course an issue in a world where special privileges may be given to those who invent a certain thing (but those that spend hours working away at it receive no such favour). However, I believe that in an ideal world we would simply share knowledge for the sake of others and expand upon it, keeping it in the public domain.

+ diff --git a/blog/posts/2018-03-18-hosting-my-own-git.cfg b/blog/posts/2018-03-18-hosting-my-own-git.cfg new file mode 100644 index 0000000..a41f04b --- /dev/null +++ b/blog/posts/2018-03-18-hosting-my-own-git.cfg @@ -0,0 +1,5 @@ +filename = 2018-03-18-hosting-my-own-git.html +title = Hosting My Own Git +description = About my migration away from code hosting services, hosting my own git server. +created = 2018-03-18 +updated = 2018-03-18 diff --git a/blog/posts/2018-03-18-hosting-my-own-git.html b/blog/posts/2018-03-18-hosting-my-own-git.html new file mode 100644 index 0000000..65c8a52 --- /dev/null +++ b/blog/posts/2018-03-18-hosting-my-own-git.html @@ -0,0 +1,6 @@ +

I have recently put up my own git hosting instance on the VPS at git.themusicinnoise.net. Essentially, I'm getting tired that I have repos in 3 different places, so I finally decided to bring them all into one, and with that to kill another bird with the same stone: getting rid of the need for me to navigate web UIs. Something that annoyed me with GitLab, Github, NotABug, and alike, is that they make use of web interfaces for tasks like pull requests, creating repos, issue trackers, etc. when most of these can be done with the same tool: a mailing list. I've already gone over this before in my post on patch files. What's more, now to create new repos I can just use a script I have made.

+ +

Point is, from now on all my repos that I have chosen to maintain (that is, those I care about) are on that server, and they can still be accessed via Git, but if you wanna send patches or issues then you'll have to send them to my e-mail. If any of them form a community I'll create a mailing list for them.

+ +

UPDATE 2020/03/19: I've given up on maintaining my own git server. Currently I'm still using GitLab, but I may end up switching to fossil as an alternative to git depending on how things go.

+ diff --git a/blog/posts/2018-03-18-the-farm.cfg b/blog/posts/2018-03-18-the-farm.cfg new file mode 100644 index 0000000..a2b7a97 --- /dev/null +++ b/blog/posts/2018-03-18-the-farm.cfg @@ -0,0 +1,5 @@ +filename = 2018-03-18-the-farm.html +title = The Farm +description = Idea for a lifestyle free from oppression of rent, wage, and debt. +created = 2018-03-18 +updated = 2018-03-18 diff --git a/blog/posts/2018-03-18-the-farm.html b/blog/posts/2018-03-18-the-farm.html new file mode 100644 index 0000000..9948e3d --- /dev/null +++ b/blog/posts/2018-03-18-the-farm.html @@ -0,0 +1,2 @@ +

Maybe half a year ago a friend and I were talking about owning one's own labour as well as working less, and we were trying to figure out the way to work less and live more while at the same time own more of one's own labour. This is when we came upon the idea of The Farm. Essentially, the idea is to accumulate currency and eliminate debts until we are able to create our own self-sustaining farm, in which we provide as many of our resources as possible, and those we cannot provide ourselves through agriculture or otherwise, we would obtain them through trade in which we obtain the objects of trade through our own labour which we own (instead of working for someone else, we would work for ourselves). This friend is Brigham Keys. Recently he has created a page where we will accumulate knowledge necessary to create this farm. If you are interested then bookmark the page, if you have knowledge to contribute then send an e-mail to Brigham or contact me through the information provided on my contact page.

+ diff --git a/blog/posts/2018-06-27-blog-upgrade.cfg b/blog/posts/2018-06-27-blog-upgrade.cfg new file mode 100644 index 0000000..68c3fd6 --- /dev/null +++ b/blog/posts/2018-06-27-blog-upgrade.cfg @@ -0,0 +1,5 @@ +filename = 2018-06-27-blog-upgrade.html +title = Blog Upgrade +description = About recent the changes in my blog's interface. +created = 2018-06-27 +updated = 2018-06-27 diff --git a/blog/posts/2018-06-27-blog-upgrade.html b/blog/posts/2018-06-27-blog-upgrade.html new file mode 100644 index 0000000..51e854d --- /dev/null +++ b/blog/posts/2018-06-27-blog-upgrade.html @@ -0,0 +1,6 @@ +

Recently I've decided to change how my blog works to make it easier to manage. Now I'm using databases to store my posts. Using a database has provided me more versatility than simple PHP files, which is what I used before. This has also drastically diminished the amount of files necessary for my blog as well as certain redundancies that were annoying the hell out of me.

+ +

With this I've been able to add other stuff, like a post description, as well as not having to choose between categories and a unified RSS feed. This also means that it'll be very easy to add new things, since the DB automates a lot of things for me, and I'd only have to edit a few files instead of all my posts like I would have before.

+ +

Yes, I realize this breaks links from before, but whatever, I do this a lot, and my domain is still the same.

+ diff --git a/blog/posts/2018-09-01-summer-update.cfg b/blog/posts/2018-09-01-summer-update.cfg new file mode 100644 index 0000000..6b773fa --- /dev/null +++ b/blog/posts/2018-09-01-summer-update.cfg @@ -0,0 +1,5 @@ +filename = 2018-09-01-summer-update.html +title = 'Summer' Update +description = An update on my progress on the album 'Summer'. +created = 2018-09-01 +updated = 2018-09-01 diff --git a/blog/posts/2018-09-01-summer-update.html b/blog/posts/2018-09-01-summer-update.html new file mode 100644 index 0000000..75622ec --- /dev/null +++ b/blog/posts/2018-09-01-summer-update.html @@ -0,0 +1,4 @@ +

Over the course of this summer I've been working a lot on the album 'Summer', primarily on the song "Linda's Open Doors". Currently I believe I've made a final draft of the song. Currently I have three more songs that I can finish before the end of the summer, of which two of them only require for me to record the vocals, and one of them requires vocals and a synthesizer. After this I'll only be missing 4 other songs (so half the album will be ready). I am currently considering releasing in the summer of 2019.

+ +

I have not updated any of the audio files for "Linda's Open Doors" on the webpage, and I won't release the final version of the song on the website until I release the album. However, I will be releasing the final versions of "Where Are You?" and "Late Night Thoughts" before the release of the album.

+ diff --git a/blog/posts/2018-12-08-getting-more-women-in-technology.cfg b/blog/posts/2018-12-08-getting-more-women-in-technology.cfg new file mode 100644 index 0000000..5ab4c69 --- /dev/null +++ b/blog/posts/2018-12-08-getting-more-women-in-technology.cfg @@ -0,0 +1,5 @@ +filename = 2018-12-08-getting-more-women-in-technology.html +title = Getting More Women in Technology +description = An elaboration on the solutions proposed in my post on the Google Memo. +created = 2018-12-08 +updated = 2018-12-08 diff --git a/blog/posts/2018-12-08-getting-more-women-in-technology.html b/blog/posts/2018-12-08-getting-more-women-in-technology.html new file mode 100644 index 0000000..8bcd732 --- /dev/null +++ b/blog/posts/2018-12-08-getting-more-women-in-technology.html @@ -0,0 +1,14 @@ +

I've gone over before in my post about the Google memo, on how our current way of encouraging women to take STEM courses is failing. Here, rather than focusing on the Google memo itself, I'd like to suggest how this issue can be fixed.

+ +

Firstly, it's very obvious by the statistics that computer science specifically is what's having problems attracting women, despite all the efforts that have been made in the last decade to encourage more women to enter the field of computer science, it seems to either have a negative effect or no effect at all (since statistically speaking, based on those numbers, you could not say it's been working). So what has been our strategy so far in this field? Well, most of it has taken the form of your typical market strategies (i.e. subsidizing tuition costs for women taking certain fields, giving tax breaks to companies to hire more women, etc.). Fact of the matter is, women still don't like tech, and it seems that less and less of them do since around the mid-80s.

+ +

So, since we know that the percentage of women in the field of computer science was rising up until the mid-80s, when it lagged behind the rest of the STEM fields where women went on to represent nearly 50% of the field, what happened there? Well, as the NPR article above pointed out, a major change took place in computing during that time in which computers went from being a professional tool to do fast calculations and simulations, to being a household electronic device, but more importantly, a gaming station for kids, specifically being placed in the "boy's toys" section in supermarkets. It is speculated that this may have been a major influence on the percentage of women in tech today. Had it been put in the "girl's toys" section, the tech field might have been taken over by women and we'd be wondering how to get more men into the field!

+ +

Now, simply because you play with something (in this case, a boy plays with a computer) doesn't mean you gain an interest in how it works underneath and start to tinker with it. However, it does increase your chances of obtaining these interests. This may be anecdotal, but I can say that many of the people I know in my degree joined because they play video-games in their free time and they wanted to be a part of that, and I don't doubt that such is the case of most people in tech (if not video-games, something else). Hell, it's what got me into computers (as well as the 90s movie Hackers, which I now look back on in shame due to how unrealistic it is).

+ +

Knowing this, it seems quite evident to me that we should not be trying to attract more women into the field when it's already too late for them and they've already developed a personality, likes & dislikes, but earlier in their development when they're children. Therefore, the first and most important responsibility falls down to the parents (as in most cases). Parents should introduce their girls to computers and even computer games. The parents (especially the mother, who serves as the female role model) should also take a little interest in tech (or simply the sciences) to encourage this behavior. When the girl is old enough, teach her to use a program like Scratch, a software from MIT that helps children learn the basics of logic and programming while making fun games. Maybe when they're a teenager do some family projects with a Raspberry Pi or a Pine64.

+ +

Now, of course, although the most important place to foment technology would be at home, it's also very important that it be encouraged at school, not at high school level (where people have already started to develop their own personality, likes & dislikes), but in elementary school and especially in middle school. Make it mandatory to have a computer literacy class (which, by the way, need not be programming, generally most people are extremely computer illiterate regardless of gender), have extracurricular activities in which students get to program some basic things in Scratch or (for more advanced students) Greenfoot.

+ +

Now, taking all this into consideration, it's important to remember that our goal is to bring more women into tech, not discourage men from it. It's fine to create activity groups related to tech that are women specific, since women may require a different motivations than men to join the field. However, supposing there is an instance where men are the minority (say there's a school where only a few boys are interested in tech versus tens of girls) it is important that the women also be inclusive of the men. We're not rivals, we're comrades, and comrades help each other.

+ diff --git a/blog/posts/2019-01-12-arm-the-future-of-free-software.cfg b/blog/posts/2019-01-12-arm-the-future-of-free-software.cfg new file mode 100644 index 0000000..e2d29d3 --- /dev/null +++ b/blog/posts/2019-01-12-arm-the-future-of-free-software.cfg @@ -0,0 +1,5 @@ +filename = 2019-01-12-arm-the-future-of-free-software.html +title = ARM, the Future of Free Software +description = An introduction into the world of ARM computers and why ARM may be the future favorite architecture of free software supporters. +created = 2019-01-12 +updated = 2019-01-12 diff --git a/blog/posts/2019-01-12-arm-the-future-of-free-software.html b/blog/posts/2019-01-12-arm-the-future-of-free-software.html new file mode 100644 index 0000000..db434af --- /dev/null +++ b/blog/posts/2019-01-12-arm-the-future-of-free-software.html @@ -0,0 +1,10 @@ +

The ARM CPU architecture, although quite old (first introduced in 1985) has only recently started to pick up steam, currently competing in the CPU market with Intel and AMD. Its primary advantage is its low power usage and low up-front cost compared to the other two, and therefore it has a lot of potential for embedded devices. Hence why currently the primary markets where you can find ARM booming are mobile and embedded CPUs. However, the line started to blur with the introduction of the Raspberry Pi, where techies and classrooms began to actively develop on the Raspberry Pi's ARM CPU. It continued to expand as potential was seen to use ARM in small netbooks (more commonly referred to as Chromebooks) to achieve similar gains as had been achieved in mobile, and since mobile was already using ARM, there would be little friction in putting a mobile-like OS on a netbook and allowing users to install mobile applications. Perhaps most interestingly, ARM has started to enter the realm of supercomputing, which catches the eye considering how ARM's CPU frequency hasn't been very fast up until recently.

+ +

Of course, this is only a history as to why ARM has been booming recently, but why is it important to the free software movement? Simply put, it's because although certain parts of ARM boards may remain proprietary (especially in terms of firmware), there are ARM boards that demonstrate significant gains in freedom compared to the x86 series (Intel or AMD), especially with the i.MX series, which has an embedded Vivante GPU that runs on freedom respecting drivers (a massive leap forward in terms of free software, especially for those of us used to NVidia cards where you either use the proprietary drivers or conform with a buggy reverse engineered Nouveau driver). There are also many ARM boards that have free (as in freedom) BIOS/UEFI firmware, which should be a relief from having to either flash Libreboot onto your x86 Thinkpad yourself or buy a computer directly from Minifree (and the others) at an outrageously high price. Instead, it will work freely out of the box.

+ +

Now, despite ARM not being popular in the realm of laptops and desktops, there are already many companies who are beginning to sell freedom respecting laptops and boards. There is the MACCIATObin which is an ARM board with high performance that could be used as a desktop or high-performance server. For the neckbeards reading this there's also the up-and-coming MNT Reform (which awesomely comes with an SIM-card slot). As for mobiles, although nowadays there are a lot of ARM mobiles, there aren't many that truly respect your freedom, but Purism has made the Librem 5.

+ +

An issue that some people may have with using ARM (in the context of laptops/desktops) is architecture compatibility. However, this only applies if we're talking about non-free software. First of all, most operating systems have already been ported to ARM a long time ago, especially OSs such as GNU/Linux and the free BSDs (i.e. FreeBSD, OpenBSD, NetBSD, etc.). As for software, if it's free software it's likely already ported to ARM, or one could simply compile it. In reality, ARM is much more accessible from the free world than it is from the proprietary.

+ +

All this considered, it's not certain that ARM will lead the way in software freedom, but currently it provides much more freedom in drivers and even firmware than x86 providers do. To make things better, this freedom comes out of the box instead of through reverse engineering and buggy hacks. Also, as another pro, most non-free applications are not ported to ARM, and therefore it gives you a technical excuse not to use them instead of the "muh freedom" argument that (as most of us free software supporters have discovered) annoys the hell out of our relatives and friends.

+ diff --git a/blog/posts/2019-02-25-productivity-and-quality-of-life.cfg b/blog/posts/2019-02-25-productivity-and-quality-of-life.cfg new file mode 100644 index 0000000..1d6857f --- /dev/null +++ b/blog/posts/2019-02-25-productivity-and-quality-of-life.cfg @@ -0,0 +1,5 @@ +filename = 2019-02-25-productivity-and-quality-of-life.html +title = Productivity and Quality of Life +description = A reflection on the current contradiction between productivity and quality of life in modern society. +created = 2019-02-25 +updated = 2019-02-25 diff --git a/blog/posts/2019-02-25-productivity-and-quality-of-life.html b/blog/posts/2019-02-25-productivity-and-quality-of-life.html new file mode 100644 index 0000000..bd7fb44 --- /dev/null +++ b/blog/posts/2019-02-25-productivity-and-quality-of-life.html @@ -0,0 +1,10 @@ +

A common core ideal of our modern societies has become productivity, being able to produce more in less time. We value a person being a productive member of society, we prefer technologies that allow us to produce more with less work. Although this is not necessarily a bad ideal, without other more human values to guide it we end up with our current state, where we produce for the sake of producing rather than to make our lives easier.

+ +

Despite the exponential improvement of technology (especially digital) over the past few decades our workload has not gotten thinner, and we find ourselves more stressed, depressed, and even lonely (despite the internet) than ever. The very same technology that we were told would make our lives easier and more leisurely has added more work onto our plates, despite the lack of actual need to produce so much. We keep ourselves constantly connected to our work through our mobile devices, and the time that once was for us to leave work, go home, and spend time with family, friends, and neighbors is now contaminated.

+ +

It's not as though we need such constant connection to the work place. To say that we need to be so productive, that such measures are necessary to sustain ourselves is simply a lie. For your average Joe there is very little need to be so productive (unless we consider using his labor to accommodate the lifestyle of another necessary). Ultimately it all comes down to a massive misuse of technology.

+ +

This becomes self-evident when we take a look at the controversy over automation. In any sane society where resources were managed properly, automation would be celebrated, as it would mean that we can work less (as it would no longer require so much work to produce the same amount). Instead of using this automation to allow people to work less hours and spend more time at home, the workers being replaced must now find another job where their man hours can be used to produce even more than before. But to what end?

+ +

I'm not suggesting that we use automation to abolish work entirely, work is what drives us, what gives us purpose, allowing us to come home and feel accomplished. Instead, I believe we should use this automation and increased productivity to produce the same, work less, spend more time at home with our loved ones, and improve our social, psychological, and physical health.

+ diff --git a/blog/posts/2019-06-13-blog-break-is-over.cfg b/blog/posts/2019-06-13-blog-break-is-over.cfg new file mode 100644 index 0000000..01f34ee --- /dev/null +++ b/blog/posts/2019-06-13-blog-break-is-over.cfg @@ -0,0 +1,5 @@ +filename = 2019-06-13-blog-break-is-over.html +title = Blog Break Is Over +description = I'm back to blogging. +created = 2019-06-13 +updated = 2019-06-13 diff --git a/blog/posts/2019-06-13-blog-break-is-over.html b/blog/posts/2019-06-13-blog-break-is-over.html new file mode 100644 index 0000000..4216e94 --- /dev/null +++ b/blog/posts/2019-06-13-blog-break-is-over.html @@ -0,0 +1,4 @@ +

I haven't posted on my blog for quite a while, but there's a reason for this. As you may have noticed, the paths for my website have changed (again), this is because I've changed the underlying framework for my website to make it more manageable (instead of a jury rig). In doing so, I haven't gotten the functionality to post blog articles to work until now.

+ +

Now that everything's finally setup, I have quite a few topics that I'd like to write articles about, so you can look forward to that.

+ diff --git a/blog/posts/2019-06-13-new-cooking-category.cfg b/blog/posts/2019-06-13-new-cooking-category.cfg new file mode 100644 index 0000000..4b48c1c --- /dev/null +++ b/blog/posts/2019-06-13-new-cooking-category.cfg @@ -0,0 +1,5 @@ +filename = 2019-06-13-new-cooking-category.html +title = New Cooking Category +description = +created = 2019-06-13 +updated = 2019-06-13 diff --git a/blog/posts/2019-06-13-new-cooking-category.html b/blog/posts/2019-06-13-new-cooking-category.html new file mode 100644 index 0000000..26a1436 --- /dev/null +++ b/blog/posts/2019-06-13-new-cooking-category.html @@ -0,0 +1,4 @@ +

I love food, it's one of the most important things in my life. However, not all food is the same, and some are better than others. What's more, food, or more specifically cooking, carries with it a much more important element than just sustenance and pleasuring our taste-buds: it is the expression of our cultures and values throughout thousands of years. The diets that we have developed in older civilizations (e.g. the Mediterranean, the Middle East, India, South-East Asia, etc.) are optimized throughout millennia to adjust to our specific climates, ecosystems, and ways of life. Therefore, it is very painful to watch as we lose we lose our traditional cooking as it becomes professionalized, where instead of having home-cooked meals, we'll eat at a restaurant or buy ready-made foods.

+ +

For posts in my new cooking category I will attempt to collect recipes for meals that have ingredients commonly found in the Mediterranean climate (although perhaps with some exceptions). Have a nice meal!

+ diff --git a/blog/posts/2019-06-16-colloquial-measurement-systems.cfg b/blog/posts/2019-06-16-colloquial-measurement-systems.cfg new file mode 100644 index 0000000..d82eff4 --- /dev/null +++ b/blog/posts/2019-06-16-colloquial-measurement-systems.cfg @@ -0,0 +1,5 @@ +filename = 2019-06-16-colloquial-measurement-systems.html +title = Colloquial Measurement Systems +description = Reflections on the use of different measurement systems. +created = 2019-06-16 +updated = 2019-06-16 diff --git a/blog/posts/2019-06-16-colloquial-measurement-systems.html b/blog/posts/2019-06-16-colloquial-measurement-systems.html new file mode 100644 index 0000000..9a7d98d --- /dev/null +++ b/blog/posts/2019-06-16-colloquial-measurement-systems.html @@ -0,0 +1,12 @@ +

In the US there seems to be strong sentiments going both ways on whether or not to use the Universal Metric System (e.g. meters, grams, litres, etc.). It's worth noting that the US Government has already switched to using the Universal Metric System and that the currently existing Imperial System is actually defined by the Universal System. However, I don't think it's appropriate to say that Americans should replace the Imperial System with the Universal System, at least not completely.

+ +

What I suggest is not that the Imperial System become obsolete and be discarded, but rather that its use be limited to colloquial measurements. This is, in fact, how most countries using the Universal System operate, they'll use the Universal Metric System for official measurements, but when it comes to every-day tasks things will be measured using more human measurements.

+ +

To understand this, we first have to look at why it's important to have colloquial measurement systems. In our day-to-day lives, we often do not have a frame of reference for units such as meters, grams, or litres, since these are based on objective and verifiable measurements (the size of a meter, for example, is defined as "the length of the path travelled by light in a vacuum in 1 / 299,792,458 of a second"). It is, instead, much easier to measure things based on readily available sizes, such as a foot, or an inch (more or less the distance between the two knuckles of your thumb), etc.

+ +

It's also worth noting (as I mentioned before) that this is something common in many countries who have adopted to the Universal Metric System. In Spain it's quite common for handymen to refer to the size of something by how many "fingers" it is (measured by the width of one's finger).

+ +

Colloquial measurements are especially helpful in making manual projects (such as wood-working and typical handyman repairs) much more accessible to the masses.

+ +

All in all, I think this approach is much more productive than the "either or" mentality that is currently dominating the subject now in the USA. Both should be maintained, but each in contexts where they are most appropriate (please, stop using Imperial Measurements in engineering and science classes).

+ diff --git a/blog/posts/2019-06-16-more-settings-less-locale.cfg b/blog/posts/2019-06-16-more-settings-less-locale.cfg new file mode 100644 index 0000000..e5cd2e0 --- /dev/null +++ b/blog/posts/2019-06-16-more-settings-less-locale.cfg @@ -0,0 +1,5 @@ +filename = 2019-06-16-more-settings-less-locale.html +title = More Settings, Less Locale +description = Why using locale to define all the settings isn't always a good idea. +created = 2019-06-16 +updated = 2019-06-16 diff --git a/blog/posts/2019-06-16-more-settings-less-locale.html b/blog/posts/2019-06-16-more-settings-less-locale.html new file mode 100644 index 0000000..e0ebb61 --- /dev/null +++ b/blog/posts/2019-06-16-more-settings-less-locale.html @@ -0,0 +1,4 @@ +

I speak and use American English for all my computing because it's the English I grew up with (plus, it's typically the most complete language for any software package). Therefore, my locale is almost always set to en_US. This is fine for the most part (especially since most of my applications are quite minimal and configurable), but recently I've installed GNOME Calendar to start scheduling my week and found that the week starts on Sunday in GNOME Calendar. Now, although I was born in the USA, I've spent many years in Spain and have become accustomed to the week starting on Monday (which makes sense since we call Saturday and Sunday the "weekend" and not the "weekends"). So I went into the settings (which are very lacking) and did not find any setting to have the week start on Monday instead of Sunday. When I looked this up it turns out GNOME Calendar chooses which day the week starts on based on your locale, so I'd have to either change my locale to en_GB (therefore changing my language settings everywhere on my system to British English, and using the British Pound as the default currency) or put up with the Sunday first week format.

+ +

This is the problem with locales. Although it works for people who use all the settings from one country (typically people who have only lived in one country their entire lives) it sucks for having any kind of complex configuration. In my case, I want my language to be in American English, my dates to be in YYYY/MM/DD format, and my currency to be in Euros. Yet, there is no locale that will configure with all these settings. And this is probably a small part of the list. What are the solutions? Either more customizable locales (which would be a pain in the ass since locales have already been pretty standardized) or applications can have more robust settings. Of the two, the easiest to work on right now is the latter.

+ diff --git a/blog/posts/2019-06-16-pybitmessage-sucks.cfg b/blog/posts/2019-06-16-pybitmessage-sucks.cfg new file mode 100644 index 0000000..7acfa82 --- /dev/null +++ b/blog/posts/2019-06-16-pybitmessage-sucks.cfg @@ -0,0 +1,5 @@ +filename = 2019-06-16-pybitmessage-sucks.html +title = PyBitmessage Sucks +description = Why I've stopped using Bitmessage. +created = 2019-06-16 +updated = 2019-06-16 diff --git a/blog/posts/2019-06-16-pybitmessage-sucks.html b/blog/posts/2019-06-16-pybitmessage-sucks.html new file mode 100644 index 0000000..be05612 --- /dev/null +++ b/blog/posts/2019-06-16-pybitmessage-sucks.html @@ -0,0 +1,8 @@ +

Recently I've removed my Bitmessage address from the contact page of my website, and there's a reason for this. I'd like to start by saying that my complaints here are directed at PyBitmessage (the official Bitmessage client), not Bitmessage itself as a technology.

+ +

If you run any Linux distro that isn't using running software from 5 years ago (*cough* Debian Stable *cough*) and you use PyBitmessage you should already know what I'm going to be ranting about (or if not, you'll learn why your PyBitmessage has had problems working recently). The issue at heart is that PyBitmessage refuses to update their dependencies. The client uses Python 2 and Qt4. The issue with this is that the support for both these technologies is being dropped or has already been dropped (Python 2.7, Qt4 is mentioned in the article). This means there will be no bug fixes, and (more importantly) no security updates! The stated reason by a PyBitmessage developer is that "Windows XP is still a supported platform for PyBitmessage. However Windows XP (and Vista) is missing from Qt5's Supported Platforms ...".

+ +

This attitude demonstrates that they are more concerned with platform support for an OS that is old, unsupported by its developer, and part of the PRISM program, than with keeping the software itself up-to-date and as secure as possible. This kind of behaviour is not one that should be expected from developers of a program meant to be secure and private.

+ +

Therefore, until PyBitmessage updates to Qt5 and Python 3, or a new client appears (hopefully one with a CLI), I will not be able to read anything from Bitmessage.

+ diff --git a/blog/posts/2019-06-17-mnt-reform-adopts-i.mx8.cfg b/blog/posts/2019-06-17-mnt-reform-adopts-i.mx8.cfg new file mode 100644 index 0000000..f981341 --- /dev/null +++ b/blog/posts/2019-06-17-mnt-reform-adopts-i.mx8.cfg @@ -0,0 +1,5 @@ +filename = 2019-06-17-mnt-reform-adopts-i.mx8.html +title = MNT Reform Adopts i.MX8 +description = The MNT Reform team to adopt i.MX8 for the re-introduction of the Reform. +created = 2019-06-17 +updated = 2019-06-17 diff --git a/blog/posts/2019-06-17-mnt-reform-adopts-i.mx8.html b/blog/posts/2019-06-17-mnt-reform-adopts-i.mx8.html new file mode 100644 index 0000000..4038c84 --- /dev/null +++ b/blog/posts/2019-06-17-mnt-reform-adopts-i.mx8.html @@ -0,0 +1,4 @@ +

For a while now I've been following the progress of the world of ARM computing, especially relating to personal computing. One of the projects I've been following is the MNT Reform (which I mentioned in my last post on ARM). The Reform is a modular laptop with open-source casing that can easily be 3D printed for replacement. In its original model it used the i.MX6QP, which had 4 cores with a frequency of 1.2GHz and the Vivante GC3000 GPU, which had up to OpenGL ES 3.1. However, in May for the re-introduction of the Reform they announced they would be upgrading the chip from the i.MX6 to the i.MX8. This has quite a few benefits to it, most importantly being the introduction of Vulkan support with i.MX8's integrated GPU (which uses free drivers). This means a lot more power for the ARM laptop, and shows how ARM can push into the realm of personal computing.

+ +

For most people interested in FLOSS computers, the MNT Reform seems to be providing a modern computer with freedom respecting hardware, while avoiding any kind of management engines like with Intel's x86 CPUs. With a GPU supporting Vulkan we can hope to see a laptop that will be good for FLOSS gaming as well as other GPU intensive tasks (such as 3D modeling).

+ diff --git a/blog/posts/2019-06-20-vegetarianism.cfg b/blog/posts/2019-06-20-vegetarianism.cfg new file mode 100644 index 0000000..9f1a5c4 --- /dev/null +++ b/blog/posts/2019-06-20-vegetarianism.cfg @@ -0,0 +1,5 @@ +filename = 2019-06-20-vegetarianism.html +title = Vegetarianism +description = Reflections on vegetarianism and a few of its forms. +created = 2019-06-20 +updated = 2019-06-20 diff --git a/blog/posts/2019-06-20-vegetarianism.html b/blog/posts/2019-06-20-vegetarianism.html new file mode 100644 index 0000000..a915210 --- /dev/null +++ b/blog/posts/2019-06-20-vegetarianism.html @@ -0,0 +1,14 @@ +

Vegetarianism (in its various forms) has become quite popular today, and each vegetarian has adopted this way of life for various reasons (as well as to various degrees of implementation). The reason for becoming a vegetarian is, I believe, important in analyzing and judging the moral sanctity and the effectiveness of becoming a vegetarian. Of the various reasons to become vegetarian, I'll be analyzing three: health, morality, and environment.

+ +

In this post I will use the term vegetarianism to encompass veganism, since it is truly vegetarianism driven to its ultimate conclusion. Not all that I say may relate to a specific kind of vegetarianism, so I ask that you (the reader) interpret my reasoning and see if it applies. I do not have the time (nor the energy) to go over every different kind of vegetarianism, so I must work in general terms.

+ +

Firstly, let's take a look at the health aspect of vegetarianism. We humans are, as pointed out by many vegetarians, opportunistically omnivores. We developed as a species the capability to eat meat in order to survive an era when it was difficult to find edible plants. This was made easier by our development of cooking, which allowed us to kill a lot of harmful bacteria in the meat we eat. However, by eating a vegetarian diet, it is important to make sure you find all the nutrients we get today from meat, which may not be as easy to find as they were when we were hunter gatherers. More importantly, just because you have a vegetarian diet does not mean your diet is healthy! Some of the more unhealthy things are still vegetarian: sugar, tobacco, alcohol, junk food, etc. What's more, this is also part of a very naive idea that health is only about what you eat, ignoring completely the important role of exercise and positive social interaction.

+ +

Next, the issue of morality. The claim is that, just as it is immoral to kill and exploit another human being, the same concept should apply to animals, specifically because animals are conscious, and can feel pain and fear. I find a few issues with this way of thought. First and foremost, I find it to be somewhat homo-exceptionalist ("homo" meaning human). It's based on the idea that we humans are separate from nature and abide by different rules, that we have no responsibilities in maintaining the balance of nature, and (even more concerning) that we are above nature and can choose to be a benevolent species who can decide the life of other animals (hence the vegetarian pet food, and campaigns to spay and neuter pets). Although this philosophy tries to be more naturalist, it ends up falling for the same mistakes propagated by many the Abrahamic religions that Earth is a kingdom and we (as a species) are its rulers (on behalf of God), and we may choose to be benevolent rulers, or malevolent rulers. The reality is that the entire universe is a system, and we humans form part of that system, and therefore we serve a purpose. Just like every other living being on Earth, we help to control the population of our food (whether it be animal or plant). Today, in Spain, there is an ever growing population of wild boar, that despite hunting 60,000 to 100,000 a year, it still continues to grow. Without humans hunting these animals they would grow out of control and destroy the ecosystem (putting many humans and other animals in danger). It's also worth asking what we would do should it be discovered that other beings (such as plants and fungi) have their own form of consciousness (something that has been speculated, especially with the existence of large fungal networks).

+ +

Another part of the moralist vegetarians that is worth noting, is that many will boycott a good or service that uses animal products (such as milk, meat, leather, etc.) in defense of the animal, but will not do the same in cases of clear human rights violations such as child labour, slave labour, or sex slavery. As such it demonstrates a clear contradiction in one's mentality. The only way to have both a vegetarian moral code, and continue to enjoy the fruits of the exploitation of other people is to believe that humans are not only separate from animals (which would contradict with the reasoning behind expanding our morality to animals in the first place), but inferior to them. A very self-hating and unnatural sense of morality. (NOTE: please notice that not all vegetarians have this last mentality, it's something that you must determine on an individual basis, not something to be generalized.)

+ +

Finally, the issue of environmentalism and sustainability. This is, perhaps, the only reason for vegetarianism that seems sound. The logic is that, as a society, we are consuming too much animal product. To create meat, you need to raise an animal, and feed it until it has become large enough that it's worth eating. This process is long and requires a lot of energy and resources. Environmentalist vegetarians do not consume animal product as a way of trying to balance out the extreme wastefulness of the rest of society. Unfortunately, this issue will not be solved by a few million people sacrificing themselves so the rest of us can continue our wasteful ways. The only solution for this issue is for all of us to cut back on our consumption of animal products. It's not necessary to remove it completely, but it is necessary to diminish it significantly.

+ +

Ultimately, I don't think vegetarianism is the solution to health, moral, or environmental problems. In some cases it's a misunderstanding of nutrition, in others a flawed sense of morality, and for some a noble (but futile) attempt to save humanity. In the end, I think that a much better philosophy to advocate (and much more realistic and with better probability to give good results) is community self-sufficiency. By relying on resources within your area for basic necessities, your community will be more sustainable: it cannot consume more than what nature can provide, plus less transport of produce across the globe and therefore using less gas, etc.; less dangerous to game population: by hunting animals in your area, your community will notice when the population is growing or shrinking and know whether you should be hunting more or less each year; and healthier: the diet will consist of plants and animals from your ecosystem, in proportions that are healthier, and it will promote exercise in order to grow/hunt the food you eat, as well as creating positive social interaction between community members while obtaining these foods.

+ diff --git a/blog/posts/2019-07-26-the-cancer-which-is-pre-installed-applications.cfg b/blog/posts/2019-07-26-the-cancer-which-is-pre-installed-applications.cfg new file mode 100644 index 0000000..924f0c7 --- /dev/null +++ b/blog/posts/2019-07-26-the-cancer-which-is-pre-installed-applications.cfg @@ -0,0 +1,5 @@ +filename = 2019-07-26-the-cancer-which-is-pre-installed-applications.html +title = The Cancer Which Is Pre-Installed Applications +description = Ranting about those pesky pre-installed apps on phones and computers that you cannot remove. +created = 2019-07-26 +updated = 2019-07-26 diff --git a/blog/posts/2019-07-26-the-cancer-which-is-pre-installed-applications.html b/blog/posts/2019-07-26-the-cancer-which-is-pre-installed-applications.html new file mode 100644 index 0000000..8f1413c --- /dev/null +++ b/blog/posts/2019-07-26-the-cancer-which-is-pre-installed-applications.html @@ -0,0 +1,12 @@ +

Have you ever bought a new phone and seen that half its storage is already used up by apps you never wanted? Have you ever gotten a new computer and seen that the OS itself occupies 20-30GiB because it comes with a bunch of utilities and features you didn't ask for? If you run almost any UNIX, Linux, or BSD distribution your answer is "no". However, you probably know exactly what I'm talking about, and it's one of the reasons you don't use Google, Microsoft, or Apple products. In my case, I personally don't have this problem, but my grandparents do.

+ +

My grandparents have Android and MacOS devices, and the storage on these is always being filled. It's not because of photos and videos, because even though my Grandmother takes many whenever there is a family event she puts them all on Google servers (Google Photos or something). No, they are filled up to the brim with stupid apps that my grandparents will never use. The only apps my grandparents need are WhatsApp, Wire, phone, camera, browser, and the app to get the bus schedule. However, the phones they have come with a bunch of other applications that they will never use, such as: sports app, stock market app, PDF reader, document editor (which is stupid for a phone anyways), stupid mobile games they've never played, etc., and none of these can be uninstalled. All these extra apps on their devices do nothing more than to complicate their user experience, giving them a harder time managing their devices. At the end of the day, they come to me to solve their issues, and there's nothing I can do since I cannot uninstall the apps. I try to factory reset the apps (i.e. remove updates) which helps a little, but then the app store wants to update them.

+ +

So the question here is, why, for the love of God, do these companies put all this trash on our devices? Answer: politics and profits. OS development companies (especially mobile OS companies) tend to get revenue from contracts with app development companies so their apps are pre-installed on devices, and these contracts tend to include compensation for the OS development company. There is also the issue that smart phones are primarily used and purchased by youths, who have an easier time managing resources and navigating new UIs on devices. This means that the primary demographic these companies are after aren't old people, who would be better suited with a simple UI, few apps, and consistency, but rather they are after the youths who prefer more features, new and shiny UIs, and a changing environment to keep things fresh. So in order to appeal to this younger audience, they treat the elderly like shit (the wonders of the free market, but that's a different topic).

+ +

I will recognize that there are mobiles you can buy that come with plain Android, which come only with certain Google apps installed by default, and are generally much more lightweight. However, there's a catch: they're more expensive. That's right, somehow you're paying more to have less crap on your device. What's more, you typically won't be able to buy these devices directly from your mobile/internet service provider, instead you'll have to buy it separately and set it up yourself (something that the elderly may have problems doing on their own).

+ +

After all this, it becomes quite clear that tech companies care very little for the elderly. Their primary market is the youth, and that's where they make their money; with kids who buy a new phone every 2 years for no good reason.

+ +

I'm pretty sure that many people have a similar situation with their parents/grandparents, and although I do not have a solution for mobile (if you know of a free software mobile OS with a simple and consistent UI, please go to my contact page and send me an e-mail) there is most definitely a solution for laptops and desktops: Linux. Although the installation isn't always easy (you should do this for them), using Linux can be extremely easy (considering the elderly mostly just use the web browser), especially if you know what desktop environment to install. If they are used to using Microsoft Windows, try using KDE. Otherwise, look into using DEs with a simple UI as well as a history without major changes, such as: Cinnamon, MATE, or Xfce. If you're a GNOME fanboy, sorry, but GNOME doesn't make the cut since they had such a massive change to their UI paradigm going from GNOME 2 to GNOME 3. Also, use a distro known for stability and where you can easily automate updates. I've found that rolling release distros are a real help here, despite the supposed instability you get from running new software.

+ diff --git a/blog/posts/2019-07-30-recipe:-mojopicón.cfg b/blog/posts/2019-07-30-recipe:-mojopicón.cfg new file mode 100644 index 0000000..027dde7 --- /dev/null +++ b/blog/posts/2019-07-30-recipe:-mojopicón.cfg @@ -0,0 +1,5 @@ +filename = 2019-07-30-recipe:-mojopicón.html +title = Recipe: Mojopicón +description = The recipe for a spicy hot sauce you can use on meats, fish, sandwiches, or even dip. +created = 2019-07-30 +updated = 2019-07-30 diff --git a/blog/posts/2019-07-30-recipe:-mojopicón.html b/blog/posts/2019-07-30-recipe:-mojopicón.html new file mode 100644 index 0000000..8a62197 --- /dev/null +++ b/blog/posts/2019-07-30-recipe:-mojopicón.html @@ -0,0 +1,24 @@ +

Mojopicón is a Spanish spicy sauce recipe. It goes extremely well with meats, fish, on sandwiches (including burgers and hot dogs), but is mostly used as a dip (really good with french fries). It's extremely simple to make, and quite cheap as well, although it has quite the variety of spices.

+ +

To make mojopicón you will require a blender, preferably a hand-held blender.

+ +

Ingredients:

+ + +

Once the ingredients are ready, all you have to do is blend them all together.

+ +

¡Que aproveche!

+ diff --git a/blog/posts/2019-07-31-the-honorable-sacrifice-of-ones-soul.cfg b/blog/posts/2019-07-31-the-honorable-sacrifice-of-ones-soul.cfg new file mode 100644 index 0000000..7061ed1 --- /dev/null +++ b/blog/posts/2019-07-31-the-honorable-sacrifice-of-ones-soul.cfg @@ -0,0 +1,5 @@ +filename = 2019-07-31-the-honorable-sacrifice-of-ones-soul.html +title = The Honorable Sacrifice of One's Soul +description = +created = 2019-07-31 +updated = 2019-07-31 diff --git a/blog/posts/2019-07-31-the-honorable-sacrifice-of-ones-soul.html b/blog/posts/2019-07-31-the-honorable-sacrifice-of-ones-soul.html new file mode 100644 index 0000000..f79ca20 --- /dev/null +++ b/blog/posts/2019-07-31-the-honorable-sacrifice-of-ones-soul.html @@ -0,0 +1,12 @@ +

Almost every developed civilization has seen killing as unethical, especially when killing someone within one's own tribe. This is for the obvious reason that killing members of your own community harms your community's chances of survival since you have one less member and (in the case of fertile or young community members) harms your community's future (especially if the victim is a woman). However, there have always been times when this rule has been ignored even within the community, primarily as a way of removing undesirables who live only to cause the community harm via the death penalty.

+ +

In the modern era we seem to have a kind of schizophrenia with regards to this issue. On the one hand we have our civil society, which teaches that all human lives are equal and no one has the right to end the life of another. The problem with this idea is that it's based on the notion of individualism: that no matter what an individual does to harm the community, no one has the right to harm said individual (even to prevent future harm to others). On the other hand, we have the military of our societies which dehumanizes the enemy, painting them as pure evil and therefore a justified kill (even though many innocents are often stuck in the cross-fire). This leans more towards authoritarian ideals where all that matters is the word of the commanding officer, and all who oppose are not human.

+ +

This schizophrenia on the issue of killing is also present in other crimes, such as theft and torture. There is no unified code of ethics for both these parts of our world, they are contradictory in their teachings and neither seems to be able to respond to reality. The civil society understands that all human life has value, but fails to recognize that there are instances where our code of ethics must be broken. The military understands that there is a greater cause to fight for, but doesn't recognize the value of human life. So what's missing?

+ +

Put quite simply, our civil society is missing the notion of sacrifice and the military is lacking the notion of responsibility. The civil society doesn't understand that there are times where we must sacrifice of ourselves for the greater good, and the military doesn't understand that it must take responsibility for the lives it ends. In effect, what both these are missing is the concept of sacrificing one's soul for the greater good. Although we must recognize that every human life has equal ethical value, and no killing can be ethically justified (with the exception of self-defense), there comes a time when every man must be willing to sacrifice his life and soul for the survival of his own community.

+ +

Although I personally do not believe in the soul, nor the realms of heaven and hell, I think that for this it is important to think as though there were real. If you commit a crime for the well-being of your community you are not free from judgement, and your crime is by no means ethical (even if it is dismissed/ignored by those you had done it for), and in a sense your soul is still damned to hell. However, this sacrifice of one's soul for the collective good is important and should be applauded (when truly done for the well-being of the community) but the individual who committed the crime should also understand that they have done something horrible which can never be forgiven. Viewing this as a sort of trade gives each of us individually a way of understanding when we are willing to commit a crime for others, while making sure we understand that no matter who we're doing it for, no matter the motive, it is ultimately an evil act that we are committing.

+ +

With this we finally have both sacrifice and responsibility in the same basket. The person who commits a crime for the good of others will recognize that sooner or later they must pay for their crimes, but if they believe that the well-being of their loved ones is more important than the price they will have to pay for the crime, then although their actions may be wrong, they are undoubtedly honorable.

+ diff --git a/blog/posts/2019-08-22-build-libraries-not-apps.cfg b/blog/posts/2019-08-22-build-libraries-not-apps.cfg new file mode 100644 index 0000000..9904420 --- /dev/null +++ b/blog/posts/2019-08-22-build-libraries-not-apps.cfg @@ -0,0 +1,5 @@ +filename = 2019-08-22-build-libraries-not-apps.html +title = Build Libraries, Not Apps +description = A case for people to write libraries and other APIs first, rather than apps. +created = 2019-08-22 +updated = 2019-08-22 diff --git a/blog/posts/2019-08-22-build-libraries-not-apps.html b/blog/posts/2019-08-22-build-libraries-not-apps.html new file mode 100644 index 0000000..22e8595 --- /dev/null +++ b/blog/posts/2019-08-22-build-libraries-not-apps.html @@ -0,0 +1,8 @@ +

In the world of UNIX computing, we love having the freedom to interact with a bit of software using a variety of different interfaces, the most common being Graphical User Interface (GUI), Text User Interface (TUI, think of any curses-like interface), and Command-Line Interface (CLI). The idea was always that you could use any of these alternative interfaces (not all of them officially-supported, but all of them worked) and get the same work done, in an environment that the user found most comfortable. Heck, often times you could integrate one application into another that you were more comfortable using. However, since Linux has gone somewhat mainstream, I've found that many newer applications (especially those based on web technologies such as electron) have strayed from this mentality. They first create an application, which has a bloated UI, and then (if they get around to it) they write up a very limited API, almost as an after-thought. This is the case for applications such as Wire and Telegram.

+ +

From what I can speculate, the source of this new mentality is from web, and the non-technical user mentality. On the web, you have one way of viewing a page: whatever the server gives you. There is no alternative interface (using a text-based browser doesn't count, you're just omitting certain information). The same applies to the non-technical user, people who conform with whatever interface they're first given as the only possible interface to that software/network.

+ +

So what's gone wrong? How can we fix this? Quite simply, think of your app's functional element (what it actually does) and turn that into a library, then write your app using that library instead of directly embedded into your apps code. This way, any feature available in your app is available in any other client that is community made. A perfect example of this is Tox, where the actual work is done by the toxcore library, and every client has the ability to implement the very same features.

+ +

The only reason not to develop in this manner is if you are purposefully trying to make it harder for people to make alternative interfaces to your software, which doesn't sound very friendly, and certainly isn't in the spirit of free or open-source software.

+ diff --git a/blog/posts/2019-09-02-why-you-should-learn-esperanto.cfg b/blog/posts/2019-09-02-why-you-should-learn-esperanto.cfg new file mode 100644 index 0000000..f8fc9cb --- /dev/null +++ b/blog/posts/2019-09-02-why-you-should-learn-esperanto.cfg @@ -0,0 +1,5 @@ +filename = 2019-09-02-why-you-should-learn-esperanto.html +title = Why You Should Learn Esperanto +description = Esperanto had the original goal of being the lingua franca, needless to say it has failed in achieving this. Yet, there are still practical reasons to learn the language. +created = 2019-09-02 +updated = 2019-09-02 diff --git a/blog/posts/2019-09-02-why-you-should-learn-esperanto.html b/blog/posts/2019-09-02-why-you-should-learn-esperanto.html new file mode 100644 index 0000000..c3bcfac --- /dev/null +++ b/blog/posts/2019-09-02-why-you-should-learn-esperanto.html @@ -0,0 +1,16 @@ +

Esperanto is an artificial language, created by Dr. Zamenhof in the late 19th century. Its objective: become the lingua franca, a language that would bridge different cultures of the world, an international second language. This is often referred to in Esperanto as the fina venko ("final victory"). Needless to say, Esperanto is far from achieving this goal, and probably never will. The closest we may ever see is Esperanto being implemented as a European regional language, but even this idea is far-fetched.

+ +

So, why would anyone want to learn a language no one speaks? After all, the primary purpose of a language is communication. Well, there are several, some of which you may be surprised by.

+ +

Firstly, Esperanto is extremely easy to learn, it's estimated that with 150 hours of study the learner can be proficient in the language, while other languages take years to be able to use comfortably. How is this practical? Once you learn one language, it makes is much easier to learn another, especially when you learn basic linguistic concepts, which Esperanto is extremely good at. In Esperanto everything is consistent, there are no irregularities or exceptions, so whenever a word ends in 'e', it's an adverb, always; whenever a word ends in 'o' it's a noun, always; and so on. This means that your brain more easily learns these linguistic concepts and they are easier to transfer to other languages you may learn in the future. Want proof? There's a TEDx talk about Esperanto in UK schools, in school A they had students who had learned Esperanto for 18 months, and in school B students who had learned French for two years. Both groups of students were asked to translate a sentence in French (not Esperanto). The only children to successfully translate the sentence were from school A (those who had never had a French lesson in their lives), and in the averages of the two groups school B performed only marginally better than school A (again, students at school A had never studied French). Esperanto simply gives learners better language comprehension abilities. So, if you're thinking of learning a language (for work or pleasure), consider learning Esperanto first.

+ +

Secondly, the Esperanto community itself is extremely rich. Despite not being a popular language, Esperanto speakers are very interconnected, and there is a truly massive international community. There are people from all around the world who are learning Esperanto just like you would, and would be delighted to have someone to talk to. You may even want to check and see if there is an Esperanto group in your city, you may be surprised. People who learn Esperanto tend to be interesting people precisely because they're taking time out of their day to study a language that "nobody speaks". Rather than people who begrudgingly study a language for work, these people have a true passion for what they're doing. What's more, they tend to be passionate about a multitude of other subjects as well, and are very interesting people overall.

+ +

Thirdly, despite not becoming an official lingua franca, you can actually use Esperanto around the world. Esperantists (the demonym for someone who speaks Esperanto) are usually extremely welcoming people, to the point where there is a website called Pasporta Servo ("Passport Service") where Esperantists offer lodging to other Esperantists! There are apps and websites (like Esperantujo) where you can find Esperantists that live in any given city you're living in or visiting.

+ +

Fourthly, and finally, it's just a wonderful language to learn. If you're a linguaphile, then Esperanto is a beautiful, easy, and robust language to learn. Within weeks of study you'll already be forming complex sentences, within months you'll be chatting with people online, and withing a year you will be able to have splendid conversations with interesting people.

+ +

If you would like to start learning Esperanto, I highly suggest finding an Esperanto group near you, and getting to know the language via Lernu! ("Learn!"). If you're familiar with Duolingo, they also have a course for Esperanto in various languages, but I don't believe it's as good as using Lernu!, which concentrates more on giving you grammatical theory than Duolingo does.

+ +

Ĝis la revido!

+ diff --git a/blog/posts/2019-09-18-how-to-split-tech-monopolies.cfg b/blog/posts/2019-09-18-how-to-split-tech-monopolies.cfg new file mode 100644 index 0000000..8cfd430 --- /dev/null +++ b/blog/posts/2019-09-18-how-to-split-tech-monopolies.cfg @@ -0,0 +1,5 @@ +filename = 2019-09-18-how-to-split-tech-monopolies.html +title = How to Split Tech Monopolies +description = As more and more of us start to conclude that large tech companies such as Facebook and Google must be broken up, the question arises as to how this should happen. This is especially important as often times a single product monopolizes the market (such as Skype). Interestingly enough, the solution isn't a new strategy, but an old one. +created = 2019-09-18 +updated = 2019-09-18 diff --git a/blog/posts/2019-09-18-how-to-split-tech-monopolies.html b/blog/posts/2019-09-18-how-to-split-tech-monopolies.html new file mode 100644 index 0000000..a43704c --- /dev/null +++ b/blog/posts/2019-09-18-how-to-split-tech-monopolies.html @@ -0,0 +1,12 @@ +

Recently we've begun to question the amount of power that large tech companies have over our lives through our data, especially as these companies begin to monopolize the market. Because of this, the solution that is provided by our legal system is to split these companies. The problem is, these companies are often multi-purposed and sell many extremely different products, and many of these products, even if the company were to split, would still hold a monopoly over the market. This is the case of the Skype video conferencing tool or the Google search engine. Even if you were to split a company such as Google based on its products, you would still have market monopolies. Even worse, how do you split something like Facebook which functions precisely because all your friends, family, and acquaintances use it? If you were to split Facebook, people would simply concentrate on the platform that had most of their contacts on it, which would recreate the initial problem. Simply splitting a company may have worked back when they just sold a specific non-social product or service, like repairs, retail, etc. However, with tech companies, especially those that rely on social networks, need a special kind of split that allows consumers to continue to interact with one another independently of which of the new companies they have their account with.

+ +

Think about this: imagine that by contracting a given internet service provider (ISP) you could only communicate with people (or rather, computers) that were also connected to that ISP's network. That is the equivalent of what social networks like Facebook and Skype do. They make sure that if you want to communicate with someone in their network, you must use their product and have an account with them, therefore surrendering your personal data to that company. So how could we allow for users to communicate with one another from separate platforms? Well, there's already a technology that exists that shows us how this is done: e-mail. With e-mail, it doesn't matter what server hosts your mail, what client you use, what protocol you use to access the e-mail server itself. How can this be? Even though e-mail is so versatile and flexible, it uses a single protocol to send e-mails: SMTP. It doesn't matter what service you use, where you host your mail, it all uses SMTP to send e-mails. You could even host your own e-mail server if you wanted to avoid relying on someone else's services!

+ +

So, how would this be applied to something like a social network such as Facebook? For this we have many examples, but the one I'm most familiar with is Diaspora* (the asterisk is actually part of the name). When you setup an account on the Diaspora* network, you don't register your account on any central server like you would on Facebook, but instead you register your account on a node, like if you were to register an e-mail at GMail, Yahoo!, ProtonMail, or even your own server. Then, all your data is hosted on that node, and that node only, but it can be shared with the friends you have on other nodes; similar to how all your e-mails are only on the server you're registered on, but you can send and receive e-mails from any other server. All that's needed is for there to be a common protocol between the servers (which Diaspora* has).

+ +

What about video conferencing tools, like Skype? Exact same principle, and there's even an example: Tox. Tox isn't a program you install on your computer, it's a network that can be accessed by a variety of programs. Don't like how one of them works? Use a different one! You'll still have access to all your friends because no matter the program you choose to use, it's all connecting to the same network.

+ +

Now you may be asking, "if this is such a wonderful idea, why haven't companies been doing this from the start?". Put quite simply, they have an incentive to lock users to their products, and their products alone. Competition is great for consumers, but bad for companies since it means they actually have to make an effort to provide a better product/service, rather than being the only viable option around. If there is no comparable product/service to the one provided by a single company, then there is nowhere else for the consumer to turn, and the company doesn't need to put any effort into swaying the consumer's opinion with good business practices. In this sense, tech companies have taken advantage of how social networks work (i.e. people will tend towards the network where they know the most people) and absorbed you into it.

+ +

Now, is it likely that such a solution will be implemented? No. The most likely scenario is that these companies will not even be split, but instead pay a (relatively very small) fine, and then continue on their merry way abusing people's data. But there's still something you can do about this. If you are truly worried about how your data is being used by these massive companies, look into decentralized alternatives. I have mentioned a few on the Decentralized page of my website, but you can find a much more complete list on Prism-Break (although not all are decentralized... but most are). Then, convince your friends and family to use these technologies and put the social network effect into practice. The more people you convince to use these technologies, the more will join, and the less power large corporations will have over your data.

+ diff --git a/blog/posts/2019-10-01-recent-website-unavailability.cfg b/blog/posts/2019-10-01-recent-website-unavailability.cfg new file mode 100644 index 0000000..aa23444 --- /dev/null +++ b/blog/posts/2019-10-01-recent-website-unavailability.cfg @@ -0,0 +1,5 @@ +filename = 2019-10-01-recent-website-unavailability.html +title = Recent Website Unavailability +description = An explanation as to why my website has been unavailable for the better part of a week. +created = 2019-10-01 +updated = 2019-10-01 diff --git a/blog/posts/2019-10-01-recent-website-unavailability.html b/blog/posts/2019-10-01-recent-website-unavailability.html new file mode 100644 index 0000000..047a8e1 --- /dev/null +++ b/blog/posts/2019-10-01-recent-website-unavailability.html @@ -0,0 +1,2 @@ +

I had not noticed this until someone thankfully brought it up to me last Friday, that my website was down. After looking into it, it turns out that the VPS provider was having issues with a server migration they were doing. They seem to have fixed their problem now, so we're back to business-as-usual.

+ diff --git a/blog/posts/2019-10-25-patches-and-suckless.cfg b/blog/posts/2019-10-25-patches-and-suckless.cfg new file mode 100644 index 0000000..a63808f --- /dev/null +++ b/blog/posts/2019-10-25-patches-and-suckless.cfg @@ -0,0 +1,5 @@ +filename = 2019-10-25-patches-and-suckless.html +title = Patches and Suckless +description = Announcing a new page for patches I use for suckless software. +created = 2019-10-25 +updated = 2019-10-25 diff --git a/blog/posts/2019-10-25-patches-and-suckless.html b/blog/posts/2019-10-25-patches-and-suckless.html new file mode 100644 index 0000000..5a1bc8b --- /dev/null +++ b/blog/posts/2019-10-25-patches-and-suckless.html @@ -0,0 +1,8 @@ +

A while back I was searching for a new terminal and browser to use on Gentoo that wouldn't take ages to compile and didn't have a million dependencies. Along the way, I was recommended to take a look at Suckless. If you're not familiar with Suckless, it's a collection of software (or a development group, doesn't really matter) that aims to develop based on the traditional UNIX mentality, primarily the slogan "Keep It Simple Stupid" (or KISS). You may be asking, "Well, doesn't GNU already do this?". In certain regards, yes, but in others (especially simplicity), no. Although we definitely have all four freedoms with regards to a program like GNU IceCat or GNOME, in order to modify these programs to suit your needs you'd have to spend days (or maybe even weeks) sifting through source-code until you found the segment that pertains to exactly what you wanted to modify, and then you'd have to figure out how to change it to work how you want it to within their very complex codebase. In the end, most of us just give up and put up with what we've got (this has happened to me on various occasions). But putting up with mediocrity isn't the spirit of free software, the spirit is that it's my software and should work as I want it to. This is why, with Suckless software, their programs aim to be as minimal and tiny as possible, with easy build scripts (just a Makefile, really), and simple code. This is so to such an extent that for many of their programs configuration is done before compiling to avoid parsers (if you've ever programmed a parser, these things can be a lot of code and get complex very quickly), instead you use patches and modifications to a condig.def.h file. One may find this tedious at first, because recompiling a program to change configuration is objectively more tedious than a settings menu, but it's worth noting that you're not always changing your settings. Typically, you setup your environment once, maybe over the course of a week, and then never change it again, or at least not for a few years. So why have a program constantly read a configuration file from your computer that has been the same for the past 3 years? When it's hard coded, there's no need for that.

+ +

So, now that we know what Suckless is, let's get back to the story. Suckless has both, a web-browser, Surf, and a terminal, st (meaning simple terminal). So far, st has been extremely useful and I have been using it on a daily basis with no regret. Surf, on the other hand, is a piece of crap. To be fair, this isn't the fault of the guys at Suckless, and they are actually aware of the problem (scroll down to where it says "A sane backend for surf"). Essentially, Surf is an attempt at being a light-weight graphical browser with full support for JavaScript, HTML5, and CSS3. Problem is, in order to have this, they need a web-renderer back-end that will support these, but this task is either impossible or extremely difficult while being light-weight. So for now they're conforming with webkit2 (which takes longer to compile than the Linux kernel or Qt libraries). Therefore, currently what I'm using is w3m mostly, and whenever I'm forced to use some fancy web features (which is less often than I originally thought) I use Firefox from the firefox-bin package Gentoo has.

+ +

Of course, even though I was disillusioned with Surf (or rather, the pain of updating its largest dependency), I still found other software Suckless had to be extremely interesting, namely dwm and sent. I won't talk about sent, since I haven't had a chance to use it in any real-case scenario (I don't do many presentations, and normally I dislike slide presentations to begin with), so instead I'll be focusing on dwm. Up until now I have been using i3 as my window manager, and I still think it's a great window manager, not even bloated, but dwm has certain characteristics that caught my eye. Apart from being another Suckless project (which is always something I look forward to), unlike i3, it automatically reorganizes windows such that the master window (normally the one you're working on at the moment) is in a central place and has more space than the others. All this, in less than 1000 lines of code! Another thing I like is the status bar, which is edited via the WM_NAME attribute using xsetroot -name "status stuff". The overall UNIX mentality with this window manager is simply amazing, and its flexibility has been very fun.

+ +

Now, because Suckless software is configured and modified primarily through user-made patches, I've had to make a few of my own (especially for dwm). These are specific to my use cases (e.g. I have some that create shortcuts for the media keys to cmus), but they can be modified to suit your own needs, or will show you how to make your own patch. Therefore, I'll be creating a new page for patches soon, which will contain a collection of patches that I use for different programs.

+ diff --git a/blog/posts/2019-10-31-what-makes-spanish-awesome.cfg b/blog/posts/2019-10-31-what-makes-spanish-awesome.cfg new file mode 100644 index 0000000..3918cfa --- /dev/null +++ b/blog/posts/2019-10-31-what-makes-spanish-awesome.cfg @@ -0,0 +1,5 @@ +filename = 2019-10-31-what-makes-spanish-awesome.html +title = What Makes Spanish Awesome +description = Despite being much more complicated than a language like Esperanto, Spanish has certain elements that sometimes I wish every language would adopt (even Esperanto). +created = 2019-10-31 +updated = 2019-10-31 diff --git a/blog/posts/2019-10-31-what-makes-spanish-awesome.html b/blog/posts/2019-10-31-what-makes-spanish-awesome.html new file mode 100644 index 0000000..b98bfa4 --- /dev/null +++ b/blog/posts/2019-10-31-what-makes-spanish-awesome.html @@ -0,0 +1,10 @@ +

If you've ever had to learn Spanish for class (especially in the US) you're probably utterly confused as to why there would be anything useful in Spanish that a language like English could adopt. Especially because you are now going over the memories of all those wretched verb conjugations, gendered nouns, adjective conjugations, etc. But I'm not going to be going over those, and instead I'm going to be focusing on two elements of Spanish that are amazing and you probably didn't learn too much about them in your classes.

+ +

First, let's go over the inverse punctuation marks: "¡" and "¿". Have you ever had to read a text out loud in English class, you get to the end of the sentence, and you realize it was supposed to be an exclamation? Or sometimes you've read a sentence that is very ambiguous as to whether it's a statement or a question, so you start pronouncing it as a statement until you reach the end and have to re-read the sentence. This is what inverse punctuation marks are for! Something I love about Spanish is you already know these things about a sentence from the very beginning of it. What makes it even more strange is that, to my knowledge, Spanish is the only language that uses these. Even our neighbors, the Portuguese, don't use them.

+ +

Also, as a side note, before anyone complains that I myself am not using inverse punctuation here, I'd like to note that I'm writing in English. Although I believe it'd be an awesome addition to the English language, this would make the "do everything as it's supposed to be done" side of me cringe.

+ +

Secondly, I want to talk about tildes. In Spanish, if I remember correctly, there are seven rules about tildes/diereses that if you know them, you can pronounce practically any word in the Spanish language. Isn't it a pain in English when you read a new word, you use it in a conversation, and a friend points out that you're pronouncing this wrong? This actually happened to me with the word "adolescence" (I used to emphasize the first 'o'). In Spanish we have three categories for words depending on the tonic syllable (which syllable is emphasized): agudas, where the tonic syllable is on the ultimate syllable; llanas, where the tonic syllable is on the penultimate syllable; and esdrújulas where the tonic syllable is on any syllable before the penultimate syllable. The rules go, that esdrújulas always carry a tilde, llanas carry a tilde when the word ends in any consonant except 'n' or 's', and agudas carry a tilde when the word ends in any vowel, 'n', or 's'. There are then three rules afterwards pertaining to monosyllable words, diphthongs, triphthongs. Finally, you have the diereses which are always used on the letter 'u' ('ü'). This exists because in Spanish the group of letters "gui", for example, is pronounced the same as "gee" in "geese". So in order to get the 'u' to make its sound in that combination of letters for the word "pengüino", it's necessary to add the diereses (basically, it makes otherwise silent letters vocalized). Knowing this, you can pronounce every word in the Spanish language, and write every word you hear (so long as it's not an Andalusian talking, then you'll be missing a bunch of consonants).

+ +

This last bit applies less to a language like Esperanto, where the tonic syllable is always the penultimate syllable, and every letter has a single pronunciation due to lack of digraphs and other linguistic anomalies. However, I still think Esperanto could benefit from adopting the inverse punctuation marks mentioned first.

+ diff --git a/blog/posts/2019-12-02-gentoo-and-how-its-useful.cfg b/blog/posts/2019-12-02-gentoo-and-how-its-useful.cfg new file mode 100644 index 0000000..d6ee436 --- /dev/null +++ b/blog/posts/2019-12-02-gentoo-and-how-its-useful.cfg @@ -0,0 +1,5 @@ +filename = 2019-12-02-gentoo-and-how-its-useful.html +title = Gentoo and How It's Useful +description = A reflection on my experience with Gentoo since I've started using it. +created = 2019-12-02 +updated = 2019-12-02 diff --git a/blog/posts/2019-12-02-gentoo-and-how-its-useful.html b/blog/posts/2019-12-02-gentoo-and-how-its-useful.html new file mode 100644 index 0000000..55754eb --- /dev/null +++ b/blog/posts/2019-12-02-gentoo-and-how-its-useful.html @@ -0,0 +1,10 @@ +

So, for maybe several months now I've been running Gentoo as my main distribution, keeping a dual-boot with ArchLinux. This was mostly because I wanted to start using more suckless software, and for that I needed to use a system where the packages are compiled so that patches can easily be applied. After considering a few options I decided to simply go with Gentoo.

+ +

Now, in case you're not familiar with Gentoo, it's a distribution that uses a package manager called emerge along with a management system called portage that is similar to the ports that some BSD distributions have. Under this system, all packages are compiled (save for some alternative binary packages ending in *-bin), and you have to manually configure and compile software like the Linux kernel. This has come with pros and cons.

+ +

The cons are quite obvious. Running Gentoo requires you to spend some time adjusting your system settings and configurations to match your hardware and software needs. A lot of people aren't accustomed to having to pay attention to what hardware they are using, or adjusting the configuration of their software to meet their needs, so this can be an adventure on its own. There's also the issue of having to wait for absolutely everything to compile. Some packages will take ages to compile, and updates can often take a half hour (with my setup which uses mostly minimalist software, if you use bloated software then prepare for longer compilation times). There are also added compilation problems that you can run into that don't occur with binary distributions.

+ +

However, all this doesn't remove the pros that Gentoo has, that can arguably outweigh this cons. To start, by being able to adjust your configuration to such a specific level, your system will be hyper-customized to your use case, making smaller binaries that only have the features you need. This can also lead to a much faster system, since you're only running code that needs to be run. Having everything compiled also helps you to distinguish what the bloated software is (normally the ones with a ton of dependencies or take hours to compile). So if you run mostly lightweight software then compile times won't be too bad. Finally, you also get to learn a whole lot more about your system. People often think ArchLinux is super advanced, but at least in ArchLinux you don't have to compile a kernel manually and configure it for your hardware. Not that this is hard, but it gives you certain knowledge of the system that you didn't have before.

+ +

So overall, I've seen it as a net-positive. Gentoo will teach you a lot more about your system along the way. It's not the best distribution for everything - I still use ArchLinux for video-games and any media applications - but it definitely has its place in the world.

+ diff --git a/blog/posts/2019-12-09-recipe:-potato-stir-fry.cfg b/blog/posts/2019-12-09-recipe:-potato-stir-fry.cfg new file mode 100644 index 0000000..674f7d7 --- /dev/null +++ b/blog/posts/2019-12-09-recipe:-potato-stir-fry.cfg @@ -0,0 +1,5 @@ +filename = 2019-12-09-recipe:-potato-stir-fry.html +title = Recipe: Potato Stir-Fry +description = +created = 2019-12-09 +updated = 2019-12-09 diff --git a/blog/posts/2019-12-09-recipe:-potato-stir-fry.html b/blog/posts/2019-12-09-recipe:-potato-stir-fry.html new file mode 100644 index 0000000..c6a0582 --- /dev/null +++ b/blog/posts/2019-12-09-recipe:-potato-stir-fry.html @@ -0,0 +1,29 @@ +

Living independently in an apartment, I've learned to make quite a few meals out of cheap ingredients and leftovers. This was a meal that I would make to get through a lot of potatoes that I'd have lying around.

+ +

The tools you'll need are a large pot (to boil the potatoes in), and a wok or large pan.

+ +

Ingredients:

+ + +

Steps:

+
    +
  1. Dice up the potatoes and put them in the pot to boil.
  2. +
  3. Chop up the vegetables to your liking, and sauté them. Normally I sauté the onions and peppers first until the onions are golden, then add the garlic.
  4. +
  5. When the potatoes are nice and soft (but not falling apart) strain them into a colander.
  6. +
  7. Put the vegetables aside on a plate or something and begin to sauté the potatoes.
  8. +
  9. When the potatoes are to your liking, add the vegetables on top and add the pureed tomato sauce or the soy sauce (whichever you prefer) and the spices.
  10. +
+ +

If all went well, you should now have yourself a wok-full of tasty potatoes.

+ +

¡Que aproveche!

+ diff --git a/blog/posts/2019-12-11-moving-away-from-cmake.cfg b/blog/posts/2019-12-11-moving-away-from-cmake.cfg new file mode 100644 index 0000000..7f88879 --- /dev/null +++ b/blog/posts/2019-12-11-moving-away-from-cmake.cfg @@ -0,0 +1,5 @@ +filename = 2019-12-11-moving-away-from-cmake.html +title = Moving Away from CMake +description = Reasons why I've decided to use CMake less often for building code, and am instead using UNIX Makefiles. +created = 2019-12-11 +updated = 2019-12-11 diff --git a/blog/posts/2019-12-11-moving-away-from-cmake.html b/blog/posts/2019-12-11-moving-away-from-cmake.html new file mode 100644 index 0000000..20b33d4 --- /dev/null +++ b/blog/posts/2019-12-11-moving-away-from-cmake.html @@ -0,0 +1,10 @@ +

I've used CMake for quite some time, and I must admit that it's a very comprehensible build system. This is, in fact, what originally made it an attractive option to me, since UNIX Makefiles are somewhat cryptic to read and write. However, as of lately, I've been moving away from CMake, especially for smaller projects that don't have many source files or complex dependencies. There are a few reasons for this.

+ +

To start off, CMake is bloated. I've always known it was bloated, and I know it's not as bloated as other build systems (I'm looking at you GNU Autotools), but I've always just put up with its bloated nature for the convenience of having a readable build script (the CMakeLists.txt file). However, once you get to learn the syntax of UNIX Makefiles, they're much faster and a lot less tedious, which is often what I'm looking for in my smaller projects.

+ +

It's also somewhat dumb to use a program that all it will do is generate an enormous and inefficient Makefile that you could write yourself. This makes sense if we're talking about a build system that needs to accomplish very complicated tasks, with a complex build tree and dependencies, but for most projects this simply is a waste of time, computing power, and disk space. It's much easier to just write a small Makefile.

+ +

Something annoying about CMake is that it's hard to run other programs from CMake. UNIX Makefiles function practically like a shell script, and therefore you can run these commands by just writing them into a target's instructions. With CMake you have to add a custom command to its repertoire and run it from there. This can be extremely annoying depending on how many custom commands you need to run, while with UNIX Makefiles you simply run them like you would in a shell script. This also makes UNIX Makefiles way more versatile, since they can do a variety of tasks simply as part of its built-in functionality without adding custom bits.

+ +

There are some areas where I can see CMake being useful, particularly when we want to test dependencies. Hand-writing this into a Makefile would be time consuming and annoying, even if we had the help of pkg-config, while in CMake it's done almost automatically. So I can understand and will use CMake for large projects. But for anything that's small enough or simple enough, I'd rather just use a UNIX Makefile.

+ diff --git a/blog/posts/2019-12-23-dwm-and-sxhkd.cfg b/blog/posts/2019-12-23-dwm-and-sxhkd.cfg new file mode 100644 index 0000000..8b0544b --- /dev/null +++ b/blog/posts/2019-12-23-dwm-and-sxhkd.cfg @@ -0,0 +1,5 @@ +filename = 2019-12-23-dwm-and-sxhkd.html +title = dwm & sxhkd +description = Using sxhkd with dwm to complete the UNIX way. +created = 2019-12-23 +updated = 2019-12-23 diff --git a/blog/posts/2019-12-23-dwm-and-sxhkd.html b/blog/posts/2019-12-23-dwm-and-sxhkd.html new file mode 100644 index 0000000..b86d2fa --- /dev/null +++ b/blog/posts/2019-12-23-dwm-and-sxhkd.html @@ -0,0 +1,4 @@ +

So in my last post about Suckless I mentioned something about creating a patches page for my mods to dwm. Well, this is no longer necessary. The reason I made this was because I wanted to be able to have more key-binds to run certain applications, not just interact with the window manager. It was somewhat difficult to implement this in a modular way that each patch added different key-binds (e.g. one patch for cmus commands, another for brightness, etc.). Luckily I found a video where they mentioned a universal key-bind program called sxhkd ("Simple X Hot-Key Daemon"). This automatically made my life infinitely better, since now all I needed was a separate config file for just that one application that would handle all my key-binds.

+ +

I'd like to underline how this is truly an example of the UNIX way of doing things. Instead of concentrating all these tasks into a single application, each application is highly specialized to a specific task, it's small, and it does this task well. In this case, rather than having dwm manage all this, sxhkd is managing my key-binds and only my key-binds. If I wish to change to another window manager, I don't have to worry about my key-binds since they're managed by a completely different application.

+ diff --git a/blog/posts/2020-01-13-recipe:-pollo-picantito.cfg b/blog/posts/2020-01-13-recipe:-pollo-picantito.cfg new file mode 100644 index 0000000..5d420b0 --- /dev/null +++ b/blog/posts/2020-01-13-recipe:-pollo-picantito.cfg @@ -0,0 +1,5 @@ +filename = 2020-01-13-recipe:-pollo-picantito.html +title = Recipe: Pollo Picantito +description = A spicy chicken & rice dish. +created = 2020-01-13 +updated = 2020-01-13 diff --git a/blog/posts/2020-01-13-recipe:-pollo-picantito.html b/blog/posts/2020-01-13-recipe:-pollo-picantito.html new file mode 100644 index 0000000..bad4e03 --- /dev/null +++ b/blog/posts/2020-01-13-recipe:-pollo-picantito.html @@ -0,0 +1,28 @@ +

This dish, literally meaning spicy chicken, is not Spanish in origin. In fact, it's probably Latin American. The ingredients are simple and (depending on where you live) cheap.

+ +

Ingredients:

+ + +

Steps:

+
    +
  1. Start boiling the rice while you do all the rest
  2. +
  3. Chop up the onion and peppers.
  4. +
  5. Add some oil to the pan and begin to sauté the onions and peppers until golden.
  6. +
  7. Cut the chicken breast into chunks and throw them in the pan.
  8. +
  9. Cut the garlic and throw it in the pan.
  10. +
  11. When the chicken and vegetables are golden add the jalapeño and keep heating for about 30 seconds.
  12. +
  13. Add the tomato and let is simmer all simmer until the rice is done.
  14. +
+ +

When the food is done, you can serve by adding rice to your plate and then adding some sauce on top.

+ diff --git a/blog/posts/2020-03-11-new-category-and-content.cfg b/blog/posts/2020-03-11-new-category-and-content.cfg new file mode 100644 index 0000000..b611dc3 --- /dev/null +++ b/blog/posts/2020-03-11-new-category-and-content.cfg @@ -0,0 +1,5 @@ +filename = 2020-03-11-new-category-and-content.html +title = New Category & Content +description = An introduction to the new 'Religion' category, and a short exposition of my conversion to the Catholic Faith. +created = 2020-03-11 +updated = 2020-03-11 diff --git a/blog/posts/2020-03-11-new-category-and-content.html b/blog/posts/2020-03-11-new-category-and-content.html new file mode 100644 index 0000000..8d5d96c --- /dev/null +++ b/blog/posts/2020-03-11-new-category-and-content.html @@ -0,0 +1,6 @@ +

Normally, aside from snide remarks here and there, I've refrained from posting content on religion here in my blog. I've had a category on politics before, which I had removed to keep some of my less popular opinions away from my public website. However, upon my conversion to Catholicism I've been questioning whether or not to publish content on religion. It's a topic that I am passionate about, but not one that I would necessarily like to publish due to certain controversial positions that may spell trouble for future employment; being the same issue I have with hosting a politics category. It is not that I am unwilling to defend those positions of the Church, but rather that I'd rather not look for trouble with something as fundamental as my livelihood. Instead, I will do such through other means which are not directly related to my person.

+ +

However, ultimately I have decided to create this category and to write content pertaining to religion for three reasons. First, I am truly passionate about the Faith, and there are many aspects that I find absolutely fascinating. Secondly, there are parts of the Faith that are beautiful and are not necessarily heated issues. Thirdly, I had made certain posts or even code repositories in the past with regards to religion during my years as an Atheist, and I have no intention of removing these to hide my past. They are a reminder of my past, of how far I have come, and of the way many people still view the Faith. Therefore, I find it necessary to balance these with my new-found passion.

+ +

Ave Maria purissima...

+ diff --git a/blog/posts/2020-03-17-modesty.cfg b/blog/posts/2020-03-17-modesty.cfg new file mode 100644 index 0000000..27f03da --- /dev/null +++ b/blog/posts/2020-03-17-modesty.cfg @@ -0,0 +1,5 @@ +filename = 2020-03-17-modesty.html +title = Modesty +description = An exposition to the principle of modesty. +created = 2020-03-17 +updated = 2020-03-17 diff --git a/blog/posts/2020-03-17-modesty.html b/blog/posts/2020-03-17-modesty.html new file mode 100644 index 0000000..b40545a --- /dev/null +++ b/blog/posts/2020-03-17-modesty.html @@ -0,0 +1,16 @@ +

I'm unsure about most people, but throughout my life when I've heard the word "modesty" being used, it has typically been in reference to vestment and how much skin one is exposing. In other words, an immodest vestment would be one that emphasizes the sexual or indecent attributes of the person (typically a woman) while a modest vestment would be one that respects the sacred nature of these and attempts to pull attention away from these. And although this is most certainly a form of modesty, it is a very limited understanding of it.

+ +

Perhaps the easiest way to think of modesty is as an act of charity. It's about making sure you're not drawing attention away from what is important. During the Holy Mass, the object of everyone's attention should be God and Christ in the Eucharist. To dress or act in a way that distracts people from this would be immodest, as you're drawing attention to yourself. You can also interpret this from a positive lens, where it would be modest to dress or act in such a way that you not only do not draw attention to yourself, but remind people of God by giving example of a reverent and respectful behaviour. Even some things that we may interpret as being modest such as wearing a veil for Holy Mass can be immodest, such as if the veil were to be colorful instead of plain, as this draws attention away from God.

+ +

However, the value of modesty is not only limited to the spiritual, but even in much of secular society; which is sadly something that's been less emphasized. Take the example of a school classroom. The objective of the class is to pay attention to the lecture and the material at hand. For anyone (including the teacher) to dress or act in such a way that draws attention away from these is immodest.

+ +

This also explains how modesty is something contextual. A bathing suit is immodest dress in a classroom or at church, but is modest at the beach or pool. To yell and laugh at a funeral is also immodest behaviour, but it is perfectly acceptable when hanging out at the bar with friends. Or perhaps what is probably more astounding to some people, you can be immodest by dressing-up too much. To dress in a suit and tie may be modest dress at a wedding or a similar formal event, but it is extremely immodest to wear to a cook-out in the park.

+ +

It is no surprise, then, that with such a limited understanding of modesty we assume that it is only something that applies to women and in the sexual aspect alone; or to men to a lesser degree, since we generally do not try to emphasize our more sexualized attributes. This leads many men to dress and act in very immodest ways. It is not uncommon for men to dress in such a way that emphasizes their biceps, to wear flashy clothing, to have a strange haircut, and especially any article that expresses our wealth. This last form of immodesty is very common among men, especially as we use it to measure up to one another, not only with vestment, but also with our cars. This is not to excuse the immodesty of women who dress in such a way that draws attention to them sexually, but rather to raise men to the same standard, of which we have been lacking. If someone is to be drawn to us, men or women, let it be by our character.

+ +

It is quite the sign of the times that modesty in all these regards has been losing its presence and importance. Perhaps the last bastion of modesty lies in certain formal events and religious ceremonies. The most probable cause of this is the individualistic mentality of the age we're in. We are taught to make a brand of ourselves and to market ourselves, and as any good salesman knows, the best way to market your product is by figuring out how to set it apart from the rest, especially in the most superficial (and easiest to notice) manner. The first aspect of this is the mentality of "be yourself". The idea is that there is a you that exists that is immutable and does not truly change, or at the very least has no reason to ever change or improve. As such, rather than attempting to perfect and improve ourselves throughout the course of our lives - such as how Christians are called to follow the example of Christ and become more like Him - we instead are supposed to express this inner self. What's more, because we believe this self is at least semi-immutable, or has no reason to change since every person's way of being themselves is equal, we instead ask that the entirety of society change to adapt to our manufactured self. But interestingly enough, we extend this idea of self beyond simply being our character to being primarily about our outward appearance, and above all it is about what we consume.

+ +

However, this ideal ends up running into a contradiction with itself. In order to market ourselves we create an image that seems unique and draws attention to us, but when this image becomes popular then it no longer draws attention and we try to find something else. This falls into direct contradiction with the supposed immutability of one's self, which is why we often fall back to the relativity and equality of each person's self.

+ +

Therefore, taking a step back, it would seem that the most unique thing to do is precisely to be modest. While everyone continues in the rat race of trying to stand out, simply following the example of Christ and working on improving our character would seem to be the most outstanding thing we can do. Don't act in the interest of drawing attention to yourself, but act in the interest of being positively modest, and redirecting people's attention to what is truly important. This itself has much more merit and is deserving of the respect of others.

+ diff --git a/blog/posts/2020-03-18-an-atheist-explains-the-problem-of-evil.cfg b/blog/posts/2020-03-18-an-atheist-explains-the-problem-of-evil.cfg new file mode 100644 index 0000000..acf2c46 --- /dev/null +++ b/blog/posts/2020-03-18-an-atheist-explains-the-problem-of-evil.cfg @@ -0,0 +1,5 @@ +filename = 2020-03-18-an-atheist-explains-the-problem-of-evil.html +title = An Atheist Explains the Problem of Evil +description = A short reflection on a video by an Atheist who solves the problem of evil. +created = 2020-03-18 +updated = 2020-03-18 diff --git a/blog/posts/2020-03-18-an-atheist-explains-the-problem-of-evil.html b/blog/posts/2020-03-18-an-atheist-explains-the-problem-of-evil.html new file mode 100644 index 0000000..a6eecdc --- /dev/null +++ b/blog/posts/2020-03-18-an-atheist-explains-the-problem-of-evil.html @@ -0,0 +1,20 @@ +

The problem of evil is perhaps one of the most common arguments against the existence of God, and it holds much weight especially for those who have experienced some kind of hardship in their life. How can an Omnibenevolent God permit evil to exist? The faithful will typically retort with arguments of how God gave us free will, and how we live in a fallen world. These arguments are valid, but they don't get to the heart of the dilemma, which is the other person's inability to see how God can create more good from the evils he permits to exist.

+ +

As pointed out in paragraph 311 of the Catechism of the Catholic Church:

+
+ He permits [evil], however, because he respects the freedom of his creatures and, mysteriously, knows how to derive good from it +
+

As such, God will never permit an evil if He cannot derive a greater good from it. Yet, this can sometimes be difficult to understand, especially when the evil is something so grave. How could God derive good from the spontaneous death of an infant child? We often believe it impossible to derive good from these evils because we ourselves cannot bear witness to the domino effect of events that this creates. We limit ourselves to the perspective of our own suffering.

+ +

However, there exists a theory in the realm of chaos theory called the butterfly effect. The basics of the theory is that small causes can have significant outcomes. The reason for calling it the "butterfly effect" is because of the famous hypothetical of a butterfly flapping its wings on one side of the Earth causing a tornado/hurricane on the other. Thus, knowing that such small things can have such significant and even unrelated consequences, who is to say that God cannot permit an evil, no matter how grave it may seem, because from it He can derive a much greater good?

+ +

We must also recognize that God is looking at a much larger picture than we are. Whereas an evil may have significant negative consequences for us here today, God may have planned to derive good from this evil 500 years from now. What's more, because God is beyond both space and time, He knows the outcome of everything that happens, and knows how we will freely choose to react to it. As such, it is impossible to disprove, even, that God has this capability! For in order to do this, one would have to be omniscient and omnipresent, i.e. God.

+ +

Now, back when I was an Atheist I enjoyed watching a YouTube channel called Darkmatter2525. The creator makes fun animations where he attempts to debunk religion, primarily Christianity - although I've seen him do videos on Islam as well. One of his videos, titled If God Answered Prayers is ironically a great video explaining butterfly theory such that one can easily see how God can permit evils and still derive good from them 'down the daisy chain'. The video gives the scenario of a little girl who asks god for a kitten. God does not comply and explains to his angel, Jeffrey, how the eventual consequence of giving that girl a kitten would cause a person vital for preventing the Third World War to never exist. As such, by not giving the little girl the kitten, god leaves way for a person to be born who will prevent a world-ending catastrophe.

+ +

Now, the video has its issues, and obviously was not made with the intention of providing a solution to the problem of evil. His intention is instead to argue that God never answers prayers. He tries to argue that because granting even the smallest prayer would have such massive consequences for His plan, that it would be implausible or incredible for God to account for it. This, of course, is simply the fallacy of personal incredulity. God is beyond space and time, it is not as though He had a deadline by which He had to finish His divine plan. The second argument he makes is the typical argument that God cannot have a divine plan and allow us free will. Of course, there are some Christian denominations that have chosen one or the other, but Catholics know both from Sacred Scripture and from Sacred Tradition and the Magisterium of the Church that both can and do coexist. There are many ways to skin this cat, but my preferred method is to give an example that's closer to us. I'm fairly certain that there is someone in your life that you know very well. So well, in fact, that you can predict how they will react to certain stimuli. Yet, the ability to know their reaction does not mean they are without free will. Now, if we are to consider God who not only created you, but was also present at all moments of your life and knows you even better than you know yourself, would it be surprising if God were to know exactly how you will respond to certain stimuli from your environment? Add to this the dimension that God is beyond both space and (more importantly) time, and we can see how God already knows what you will choose out of your own free will.

+ +

I post this because I think the video does a very good job of demonstrating the solution to the problem of evil, and I believe that the fact that it was made by an Atheist makes it all the more interesting. If you're going to watch it, do be prepared, as the video is not at all intended for a religious audience. But more importantly, perhaps it will help you to understand how to talk to your Atheist friends about this topic in a way that they can understand, especially in times of such widespread evils as now.

+ +

May it be according to God's will, and God bless you.

+ diff --git a/blog/posts/2020-03-25-the-lesson-we-could-learn-but-wont.cfg b/blog/posts/2020-03-25-the-lesson-we-could-learn-but-wont.cfg new file mode 100644 index 0000000..1de7d58 --- /dev/null +++ b/blog/posts/2020-03-25-the-lesson-we-could-learn-but-wont.cfg @@ -0,0 +1,5 @@ +filename = 2020-03-25-the-lesson-we-could-learn-but-wont.html +title = The Lesson We Could Learn, But Won't +description = A reflection on the COVID-19 epidemic and what we can learn from this experience. +created = 2020-03-25 +updated = 2020-03-25 diff --git a/blog/posts/2020-03-25-the-lesson-we-could-learn-but-wont.html b/blog/posts/2020-03-25-the-lesson-we-could-learn-but-wont.html new file mode 100644 index 0000000..0379b42 --- /dev/null +++ b/blog/posts/2020-03-25-the-lesson-we-could-learn-but-wont.html @@ -0,0 +1,60 @@ +

With the current spread of the COVID-19 virus, we're currently seeing +the consequences of our highly interconnected global society. What +started out as a small outbreak in a province of China became a global +epidemic in a matter of a few months.Currently, as is rational, the +global focus is on treating the infected and finding a cure. However, +the time will come when this crisis blows over and we will ask +ourselves: how do we prevent this from happening again? Unfortunately, I +fear that rather than trying to find a way to prevent similar incidents +from occurring, we will simply attempt to find ways to mitigate future +casualties. Because the one thing we must change in order to prevent +future events like this would require a change in our way of life that +would inconvenience us greatly; and if there is one thing our modern man +cannot stand, it is to be inconvenienced. We must scale down our society +from global, down to national, regional, and especially local. In +effect, we must practice the principle of Subsidiarity.

+ +

To talk about the solution, we must first clearly outline the +problem: our societies have become globalized and are too +interconnected. This has offered certain kinds of technological +advancements to be made, as well as given us access to a larger variety +of goods/services, it has driven down the prices of these in a global +market, and it has improved our standard of living in the first world as +we export our exploitation of labour to developing nations. But this +comes at a grave cost. Rapid development of technology has caused man to +become naïve, and begin to develop for development's sake rather than to +serve an actual need. The access to foreign goods/services has caused +certain sectors of our national economies to die off, the hindering of +our national sovereignty, the specialization of our economies that makes +us extremely vulnerable to the often random changes in the market. The +low prices have destroyed entire industries in our countries, while +favoring exploitation of workers in a developing nations where labour +laws are either sparse or non-existent. Far from driving us towards a +utopia of sorts, globalization has caused suffering, exploitation, and +the destruction of domestic culture. However, many of us do not see +these (with exception of the last), as we have exported these abroad +where we can conveniently ignore them. As such, we exploit their +nation's resources until they run dry, and while that country panics +trying to find another industry to specialize in, we simply move on to +the next country with resources to exploit.

+ +

But with regards to our problem at hand, the COVID-19 epidemic, +globalization has enabled the rapid spread of any kind of crisis from +one nation to the next. When an epidemic breaks out in one country, it +will inevitably reach all others who participate in this global society. +When an economic crisis hits one country, it will inevitably affect all +others who relied on that country for supply of certain specialized +goods, or demand for others. Such interconnectivity has made us as a +planet more weak and vulnerable. And the only way we can avoid similar +problems from occurring again in the near future is to de-globalize our +society, returning to a primarily local, regional, and national economy +and way of life.

+ +

However, as we can already guess, we are not going to do this. We are +too stubborn and naïve to make any decisions that will truly help us +prevent these crises. Instead, what you will see is a lot of talk, a few +measures taken and protocols designated in order to mitigate the damage, +but no attempt to truly solve the problem at hand.

+ +

My suggestion: leave the cities.

+ diff --git a/blog/posts/2020-04-08-tradition.cfg b/blog/posts/2020-04-08-tradition.cfg new file mode 100644 index 0000000..7dff9df --- /dev/null +++ b/blog/posts/2020-04-08-tradition.cfg @@ -0,0 +1,5 @@ +filename = 2020-04-08-tradition.html +title = Tradition +description = An exposition on the importance of tradition. +created = 2020-04-08 +updated = 2020-04-08 diff --git a/blog/posts/2020-04-08-tradition.html b/blog/posts/2020-04-08-tradition.html new file mode 100644 index 0000000..9800633 --- /dev/null +++ b/blog/posts/2020-04-08-tradition.html @@ -0,0 +1,74 @@ +

In recent times it would seem that, led by the principles of the +Enlightenment, society has decided mostly to leave behind Tradition as a +means of obtaining Truth. With the tools of reason and empirical +evidence, primarily the scientific method, we've become naïve in +thinking that with these tools alone, man can discover absolute and +complete Truth. This has fostered a mentality of rejection to Tradition, +perceiving it as something archaic that no longer applies to this modern +world where men have the ability to discover this truth on their own. +But I believe this dismissal of Tradition is misplaced, and has even led +us down a dangerous path of egoism and pride which may have devastating +consequences for humanity.

+ +

Usually, when we refer to Tradition, we think of ceremonies and +rituals, vestments and hymns. But this is a very superficial and even +ambiguous understanding of what Tradition truly is. When I say +"Tradition", I refer specifically to the accumulated knowledge of tens +of thousands of years, of billions of people throughout history, that +tells us how to live life in a way that is fulfilling and good. In a +sense, Tradition is a form of social evolution that, thanks to our +ability to communicate and learn from one another, is able to advance +much faster than our natural instinct which evolves at a much slower +rate through our genetic code. This obviously does not take away that +some bad mutations may occur and spread themselves like a cancer, but +over thousands of years these bad mutations in Tradition are weeded out +as they fail to survive and provide us with a healthy and fulfilling way +of life. As such, Tradition has an intrinsic merit within itself, as it +is something that is proven to function.

+ +

Alas, this isn't something particularly satisfying to us today, as it +contradicts fundamental aspects of our modern mentality, those primarily +being relativism and individualism. We may be tempted to ask, have +science and reason not replaced the need for Tradition? The problem here +comes from a misunderstanding of what science truly is, how the +scientific method truly works, and what the conclusion of a scientific +study actually means.

+ +

Science as it is defined today in its scientific method, is a +procedure by which we make a general observation of reality, form a +hypothesis, test this hypothesis against data we have collected in +controlled tests, and arrive at a conclusion. The conclusion of a +scientific study is either rejection of the hypothesis because it did +not accurately predict the data, or the acceptance of the hypothesis as +a current theory that gives us a better understanding of the world. +However, this hypothesis is never to be accepted as absolute. For at any +moment the theory may require changes that may be minor or major. As +such, all scientific theories are tentative. Therefore, science can be +used to disprove, but never to prove. It is an approximation of reality, +a perfect representation of reality.

+ +

What is more, because of the inability to create a fully controlled +environment - especially for matters pertaining to the social sciences, +which is what Tradition makes claims on - this makes the results of our +social science studies to be susceptible to all kinds of environmental +factors. Compare this to Tradition, which is the collective learned +experience of even trillions of human beings throughout different time +periods, social contexts, and natural environments. Of these, the latter +seems much more complete and robust than the former.

+ +

Another area in which science lacks ability is that it cannot measure +morality. Science is a tool for approximating an explanation to a +natural phenomena, but it cannot tell us whether such a phenomena is +good or evil. For this we must resort to the areas of philosophy and +logic. Yet, we already have a source that provides us with the closest +moral approximations through historical experience: Tradition.

+ +

All this, of course, is not to take away the merits of science with +regards to the study of the natural world and the cause of natural +phenomena. In this regard, science is a marvelous tool that allows us to +understand this world that God created for us. However, to apply science +to the realm of morality and way of life is simply illogical. In this +regard it is much wiser to trust in the collective experience of our +ancestors over tens of thousands of years that we have had human +civilization.

+ diff --git a/blog/posts/2020-04-17-arm-boards-and-user-control.cfg b/blog/posts/2020-04-17-arm-boards-and-user-control.cfg new file mode 100644 index 0000000..4c47a70 --- /dev/null +++ b/blog/posts/2020-04-17-arm-boards-and-user-control.cfg @@ -0,0 +1,5 @@ +filename = 2020-04-17-arm-boards-and-user-control.html +title = ARM Boards and User Control +description = The ARM architecture has been paving the way for software freedom for a while now. Even without the MNT Reform, there are cheaper alternatives that can still be hacked to respect your authority over your computing. +created = 2020-04-17 +updated = 2020-04-17 diff --git a/blog/posts/2020-04-17-arm-boards-and-user-control.html b/blog/posts/2020-04-17-arm-boards-and-user-control.html new file mode 100644 index 0000000..646fa36 --- /dev/null +++ b/blog/posts/2020-04-17-arm-boards-and-user-control.html @@ -0,0 +1,45 @@ +

In the past I've mentioned both ARM and even the ARM-based laptop +currently in development, the MNT Reform. Since they do not use any kind +of microcode for system instructions, it is a very appealing alternative +to x86 architectures (be it Intel or AMD). No more malware running in +the background possibly reading your memory and sending it off to +Intel/AMD headquarters. What's more, these boards tend to be cheaper and +consume less energy than x86.

+ +

Even so, something that is problematic about ARM is that many of the +boards are for more restrictive devices. What I mean by this is +that generally the smaller the device, the more restrictive it is. We +start with workstations where you can easily replace practically any +piece of it with another; from something as general as the GPU to +something as essential as the CPU itself. But as the device gets +smaller, it becomes less modular. It then becomes impossible to replace +certain parts. In the case of ARM boards this is a very common problem, +as generally they are made for embedded devices, mobile phones, and more +recently netbooks and servers. As such, it is common with these boards +for the components to be directly attached and impossible to +replace. Although, luckily ARM seems to be catching up in this regard as +companies start considering using ARM for different use-cases, such as +personal computers, servers, and even super-computers.

+ +

None of this, however, detracts from the fact that some of the most +free options we have today are ARM-based, when it comes to software +freedom. And it may even begin to make complete software freedom more +accessible to folk since these options can be cheap, and yet powerful. A +good example of this would be the computer from which I am currently +writing this post, an ASUS C201P. It's a really cheap chromebook with +4 GiB of RAM and a four core CPU. It uses a rockchip board underneath, +and one can easily flash libreboot on it. It's even possible to +make use of graphics acceleration without non-free Mali drivers by using +Panfrost - which comes included in the latest kernel versions, since 5.2 +I believe. The only components you won't be able to use because of their +non-free firmware/drivers would be the webcam and the WiFi card.

+ +

Overall, it would seem that ARM continues to make complete user +control over their software more and more accessible. And as their +production diversifies we will likely see boards that allow us to +customize more components, such as the Marvell +MACCHIATObin. It will be exciting to see what ARM has in store for +us and the free software movement.

+ diff --git a/blog/posts/2020-04-19-online-dating.cfg b/blog/posts/2020-04-19-online-dating.cfg new file mode 100644 index 0000000..13269f3 --- /dev/null +++ b/blog/posts/2020-04-19-online-dating.cfg @@ -0,0 +1,5 @@ +filename = 2020-04-19-online-dating.html +title = Online Dating +description = A criticism of dating apps and websites, and how they commercialize relationships. +created = 2020-04-19 +updated = 2020-04-19 diff --git a/blog/posts/2020-04-19-online-dating.html b/blog/posts/2020-04-19-online-dating.html new file mode 100644 index 0000000..75fb541 --- /dev/null +++ b/blog/posts/2020-04-19-online-dating.html @@ -0,0 +1,30 @@ +
+ "The bourgeoisie cannot exist without constantly revolutionizing the + instruments of production, and thereby the relations of production, + and with them the whole relations of society. Conservation of the + old modes of production in unaltered form was, on the contrary, the + first condition of existence for all earlier industrial classes. + Constant revolutionizing of production, uninterrupted disturbance of + all social conditions, everlasting uncertainty and agitation + distinguish the bourgeois epoch from all earlier ones. All fixed, + fast-frozen relations, with their train of ancient and venerable + prejudices and opinions, are swept away, all new-formed ones become + antiquated before they can ossify. All that is solid melts into air, + all that is holy is profaned, and man is at last compelled to face + with sober senses his real condition of life and his relations with + his kind." - Karl Marx, The Communist Manifesto +
+ +

In this quote by Karl Marx, he explains a very troublesome element of +capitalist society: "all that is solid melts into air." This, according +to Marx, is necessitated by the bourgeoisie. This is true in that in +order to obtain profits from new markets, the bourgeoisie must find a +way to commercialize every aspect of our lives, to continuously +revolutionize them. This is, effectively, the task of the entrepreneur, +who is always looking for new markets to commercialize. This is often +thought of as a good thing, as due to the expansion of Liberalism we've +become accustomed to it, but it has very sinister consequences when left +to its own devices without any restrictions or moral direction. Perhaps +the most obvious case of the sinister nature of this trait of Capitalism +is in the emergence of dating applications/websites.

+ diff --git a/blog/posts/2020-04-27-technological-slave-mentality.cfg b/blog/posts/2020-04-27-technological-slave-mentality.cfg new file mode 100644 index 0000000..2df532f --- /dev/null +++ b/blog/posts/2020-04-27-technological-slave-mentality.cfg @@ -0,0 +1,5 @@ +filename = 2020-04-27-technological-slave-mentality.html +title = Technological Slave Mentality +description = With the rise in use of digital technology solutions for our daily tasks, we run the risk of falling further into the technological slave mentality that is so pervasive in our modern world. +created = 2020-04-27 +updated = 2020-04-27 diff --git a/blog/posts/2020-04-27-technological-slave-mentality.html b/blog/posts/2020-04-27-technological-slave-mentality.html new file mode 100644 index 0000000..10d3bce --- /dev/null +++ b/blog/posts/2020-04-27-technological-slave-mentality.html @@ -0,0 +1,83 @@ +

In light of the COVID-19 crisis and the rising trend of digital +technological solutions to our social confinement efforts, I thought I +would take the opportunity to go over the issue of what I call +technological slave mentality. More than once my peers have referred to +me as the anti-computer computer engineer, because whenever I +have the choice I always opt for the most primitive solution; I have a +brick phone, I detest smart devices, I prefer to write using pen +& paper, I prefer to read paper books, I try to avoid cloud +services, etc. But this is not so much out of a hatred for computers or +digital technologies - otherwise why would I be writing this article +from a computer to a website, or why would I study computer engineering? +- but rather that I do not want to be a slave to my computer, and +instead want my computer to be subservient to me.

+ +

The technological slave mentality is such that rather than rightfully +demanding that technology adapt to our needs, we take the docile option +of adapting to the technology that we ourselves created. In other words, +we submit to our creation rather than forcing our creation to submit to +us. As such, rather than getting done what we want or need to get done, +we can only get done that which our creation allows us to.

+ +

This mentality is also a barbaric one in nature, as it contradicts +with the mentality of self-sacrifice of civilization. A civilized man +sacrifices short-term convenience and pleasure for long-term prosperity, +looking not for immediate gain but towards the future. As such, the +civilized man develops technologies, not as a short-term solution to his +problems, but as a long-term foundation for future generations to build +upon. The barbarian, however, lives like the animals, driven primarily +by his instincts and temptations with no ability to sacrifice for a +greater prosperity in the long-term. As such, the technology he develops +is solely for short-term convenience, and future generations are left +with no technological foundation upon which to continue building upon. +When the barbarian is introduced to a new technology he uses it blindly, +regardless of whether it is even applicable in his social context, or +compatible with his culture and heritage. The former leads to +prosperity, the latter to social disintegration and technological +enslavement.

+ +

We see examples of this barbaric mentality all too often in our +modernist society, it's reflected everywhere under the guise of +progress, or even pretending that it is liberating, when all it really +does is enslave us to our temptations and short-term desires. Over and +over again institutions are pressured to "modernize", to "get with the +programme", "enter the 21st century", "become a part of the +technological revolution", etc. This is especially the case in +education, where despite the tried & true methods of teaching that +have worked for hundreds of years, we now find it necessary to +update these to adapt to our modern technologies. But nobody asks +whether or not we truly need such a change in our institutions in the +first place.

+ +

This mentality is not only visible on a societal level, but also a +personal level. When it comes to the use of digital technologies, people +are quick to compromise with their devices, rather than demanding that +the technology submit to them. Heck, this is something that the Free +Software Movement has been protesting for years! When someone's +operating system forces them to reboot the system because it says so, +the correct is response is to ditch that operating system and publicly +condemn the organization that implemented such a terrible characteristic +into their program. But instead people become docile and accept that +they are not in control of their very own property. And when said +organization decides to force you to buy their newest products, the +people who are being used by these technologies will follow like +lemmings.

+ +

Relating this all back to our current situation with the COVID-19 +crisis, it is evident that the use of digital technologies has become +absolutely necessary as an extraordinary measure in order to keep +certain institutions. However, what is problematic is that what should +only be extraordinary measures, some are considering the possibility of +making them permanent solutions. Somehow we are finding it prudent to +replace our stable traditional technological foundation for society with +a modern digital one that is unstable, experimental, defective, and +overly complex. Not only this, but when the confinement is finally over, +the prolonged use of these measures will only further deteriorate the +social structure of our society, which has been suffering already from +the promulgation of anti-social behaviour.

+ +

As such, we must make it abundantly clear that the use of these +extraordinary measures should remain extraordinary, and the moment we +return to ordinary circumstances, ordinary measures should be +restored.

+ diff --git a/blog/posts/2020-05-08-the-advantages-of-e-mail.cfg b/blog/posts/2020-05-08-the-advantages-of-e-mail.cfg new file mode 100644 index 0000000..b2cd394 --- /dev/null +++ b/blog/posts/2020-05-08-the-advantages-of-e-mail.cfg @@ -0,0 +1,5 @@ +filename = 2020-05-08-the-advantages-of-e-mail.html +title = The Advantages of E-Mail +description = Despite how old the technology is, my favorite means of communication is still e-mail. +created = 2020-05-08 +updated = 2020-05-08 diff --git a/blog/posts/2020-05-08-the-advantages-of-e-mail.html b/blog/posts/2020-05-08-the-advantages-of-e-mail.html new file mode 100644 index 0000000..68533e2 --- /dev/null +++ b/blog/posts/2020-05-08-the-advantages-of-e-mail.html @@ -0,0 +1,71 @@ +

I'm not sure if I've touched upon this subject before, but e-mail is +perhaps my favorite means of communication, especially for in-depth +discussions. Despite the surge in modern instant-messaging, and the +continued reliability of snail-mail, I find e-mail to be the perfect +middle-ground that suites my needs.

+ +

To start, comparing e-mail to snail-mail, we see that e-mail is... +well, faster and more flexible. Sure, it's not nearly as personal as a +hand-written letter, but it's nearly instant and much more appropriate +for anything technology related - which seems to be most of what I or +any other person does nowadays, mostly by sending links. What's more, +it's also cheaper since you probably already have an internet +connection - otherwise I'd wonder how you're reading this post.

+ +

But of course, nobody is really comparing e-mail to snail-mail +anymore, but rather to the new means of instant-messaging. However, even +in this regard I see several advantages to e-mail.

+ +

First and foremost, e-mail is a universal protocol. For those that +may not understand what this means, notice how anyone with any e-mail +service provider or any e-mail client can send an e-mail to another +person and it arrives (mostly) the same. This is because the protocol +used to send, receive, and format e-mails is standard and universal. +Every e-mail client and provider has to follow that standard. They can +add new features, but they must all support the same basic +functionality. Compare this to instant-messaging programs where there +are thousands of them, and most of them use their own protocols, which +they don't even make public so others can develop applications to +connect to their network. Instead, we're all forced to install several +of these applications, and none of them function exactly the way we'd +want them to. There have been efforts to create such a standard for +instant-messaging, but overall it has failed. The best attempt at this +is the +IRC protocol.

+ +

Secondly, e-mail is made for larger messages. As you may have +noticed, I like writing very long blocks of text. Especially when I am +discussing a very complex subject. Not only that, but generally my ideas +aren't very well organized, nor are they linear, so being able to type +out an e-mail and go over it, edit, amend, etc. helps me to make a more +coherent message. Also, because of the nature of e-mail, I'm less likely +to get interrupted in the middle of writing a response.

+ +

Thirdly, it's easier to write more complex responses to an e-mail +that touches upon various subjects. This can be done through +in-line responses, +and having +multiple threads to the same conversation. This +helps keep the conversation itself organized. Of course, not all clients +support threading or make in-line responses easier, but there are those +(good) clients that do.

+ +

Fourthly, in e-mail everything is pure text. From the header +information, to the body of the e-mail, to the signature at the end, +everything is done in pure text that you can read and edit (if your +e-mail client allows you to). Sure, someone may choose to have their +e-mail client write the e-mail in HTML - please don't do this, it's +cancer, you should almost never need to do this - but even HTML is just +markup text that can be (semi) readable.

+ +

Finally, e-mail is stable. Something that annoys me with a lot of +instant-messaging programs is that they're always changing things, and +since I'm forced to use their clients, I'm forced to accept their +changes. With e-mail I use the +mutt e-mail client, +and that never changes. They may add support for some new things, but +overall it's always the same.

+ diff --git a/blog/posts/2020-06-19-install-archarm-on-the-emmc-of-the-asus-c201.cfg b/blog/posts/2020-06-19-install-archarm-on-the-emmc-of-the-asus-c201.cfg new file mode 100644 index 0000000..d9171cc --- /dev/null +++ b/blog/posts/2020-06-19-install-archarm-on-the-emmc-of-the-asus-c201.cfg @@ -0,0 +1,5 @@ +filename = 2020-06-19-install-archarm-on-the-emmc-of-the-asus-c201.html +title = Install ArchARM on the eMMC of the ASUS C201 +description = A long and over-complicated explanation on how to install ArchLinuxARM on a librebooted ASUS C201P. +created = 2020-06-19 +updated = 2020-06-19 diff --git a/blog/posts/2020-06-19-install-archarm-on-the-emmc-of-the-asus-c201.html b/blog/posts/2020-06-19-install-archarm-on-the-emmc-of-the-asus-c201.html new file mode 100644 index 0000000..27bda71 --- /dev/null +++ b/blog/posts/2020-06-19-install-archarm-on-the-emmc-of-the-asus-c201.html @@ -0,0 +1,87 @@ +

As I had mentioned in a previous post about ARM boards, I have +recently acquired an ASUS C201P chromebook which I have started to use +more on a daily basis. The advantages of this laptop is that it can be +run with completely free/libre software, firmware, and drivers - +although you will need a wifi adapter to avoid the proprietary wifi +card, which is kind of crap anyways. You can find the information on how +to libreboot it + + here + +(I had a hard time finding this, so you're welcome). It's +actually quite a simple process, and unlike other laptops where you +require all kinds of hardware flashes to install libreboot, on this the +only hardware manipulation you need is to take out a screw... +literally.

+ +

Then, once you have libreboot installed, you just have to install the +Linux distro. I personally prefer Arch-based distros, so that's what I +tried to install. Luckily ArchLinuxARM exists. Now one option you have +is to install the distro on an external SD card, which is what the + + installation guide + +shows you how to do. However, what I wanted to do - and what I've done - +is to install it on the internal eMMC.

+ +

So, why would you want to install your OS onto the internal eMMC? +Firstly, so you don't have to manually tell the laptop to boot into the +external SD slot every time you boot up, for fear of accidentally +booting into the horror that is ChromeOS. But secondly because the +internal eMMC is much faster than your external SD, so startup speeds +are very nice.

+ +

One option you have in order to install a Linux distro onto the eMMC +is to use something like + + PrawnOS + +which is built specifically for the ASUS C201. However, this is debian +based. However, simply using the ArchLinuxARM instructions verbatim that +are meant for an external SD on the eMMC is not going to work either - +trust me, I've tried. So I was considering what the rest of my laptop's +life was gonna be like, having to always be ready to press the right key +combination on startup for fear of booting into an OS so bad, it's only +slightly better than Windows. That was, until I remembered that I had a +friend who had installed PrawnOS on his ASUS C201's eMMC. Why was this +important? It meant that I could see how PrawnOS partitions the eMMC, +and simply copy that.

+ +

Therefore, if you want to install ArchLinuxARM on the eMMC, you've +got to use the following partition setup:

+ + + Disk /dev/mmcblk2: 14.7 GiB, 15762194432 bytes, 30785536 sectors
+ Units: sectors of 1 * 512 = 512 bytes
+ Sector size (logical/physical): 512 bytes / 512 bytes
+ I/O size (minimum/optimal): 512 bytes / 512 bytes
+ Disklabel type: gpt
+ Disk identifier: 5CD647E1-DAD1-4E4A-B9D5-F87D00D1DCAE
+
+ Device Start End Sectors Size Type
+ /dev/mmcblk2p1 20480 86015 65536 32M ChromeOS kernel
+ /dev/mmcblk2p2 86016 30785501 30699486 14.7G Microsoft basic data
+
+ +

The main thing you gotta pay attention to here are the sectors.

+ +

Anyways, you're almost done. The only thing that's left is... to +compile a custom kernel. Yup, wasn't gonna be that easy. Luckily, +there's a guy who setup a PKGBUILD that builds everything +for you more or less automatically. Although I will warn you that it has +a lot of drivers disabled, such as the Atheros ones. So if you want +those enabled you'll have to uncomment a line in the +PKGBUILD file that says make menuconfig so +that during the build process you can enable the needed drivers or +modules. And trust me, there are a lot of them you may want to +enable.

+ +

After this, if I haven't forgotten anything, it should work... I +hope. At least it works for me.

+ diff --git a/blog/posts/2020-07-18-why-the-traditional-latin-mass.cfg b/blog/posts/2020-07-18-why-the-traditional-latin-mass.cfg new file mode 100644 index 0000000..5e6ca7d --- /dev/null +++ b/blog/posts/2020-07-18-why-the-traditional-latin-mass.cfg @@ -0,0 +1,5 @@ +filename = 2020-07-18-why-the-traditional-latin-mass.html +title = Why the Traditional Latin Mass +description = A defense of the Traditional Latin Mass and why we should continue to celebrate it. +created = 2020-07-18 +updated = 2020-07-18 diff --git a/blog/posts/2020-07-18-why-the-traditional-latin-mass.html b/blog/posts/2020-07-18-why-the-traditional-latin-mass.html new file mode 100644 index 0000000..bc67d07 --- /dev/null +++ b/blog/posts/2020-07-18-why-the-traditional-latin-mass.html @@ -0,0 +1,194 @@ +

The most beautiful and reverent form I have seen of practicing the +Liturgy in the Latin Rite has without a doubt been the Traditional Latin +Mass (a.k.a. Tridentine Mass, Gregorian Mass, or Extraordinary Form). +It's a form that has caught my interest since knowing of its existence. +A form that characterizes a truly Catholic Mass, which is the heart of +the Church.

+ +

Unfortunately, it would seem that this form has been substantially +undervalued since the conclusion of the Second Vatican Council and +implementation of the Novus Ordo Mass, despite the significant +importance it has to the Catholic identity. Many simply brush it off as +something that is antiquated. But the Tridentine Mass still has +much to show us, and is still essential to the Catholic identity. As +such, I offer a few points as to why it should be preserved and +promoted.

+ +

Latin

+ +

The first retort one often encounters with regards to the Traditional +Latin Mass is that it's in Latin. People say that they cannot understand +what is being said in the Mass - despite normally having a missal with +both the Latin and the Vernacular. With regards to the language, it is +first important to note the importance of Latin in the Roman Catholic +Church, and second, to realize that the responses are not the central +part of the Mass, like in Novus Ordo.

+ +

Latin is important, being the language of the Church. The Church's +official documents are written in Latin. The version of the Bible +endorsed by the Church, the Vulgate, which is approved to be free of all +errors on issues of Faith & Morals is in Latin. It's also the +language the Mass has been celebrated in for hundreds of years. But +perhaps more than all of these, it is that Christ designated that the +Church should be Roman, as can be deduced from relating the dubbing of +Simon as Peter in Matthew 16:18, and the prophesy from the Old Testament +of Daniel 2:29-45.

+ +

However, when accustomed to the Novus Ordo Mass, one may feel +overwhelmed with so much Latin; trying fervently to keep up the pace +with the responses. But the Latin Mass is truly something that one +should study at home, and not spend the entire Mass reading from the +missal. Instead, study the Mass at home at your own leisure, and during +the Mass take the time to take in what is happening around you; to +observe the beauty of the Divine Liturgy.

+ +

Ad Orientem

+ +

As opposed to the Ordinary Form where the priest faces towards the +congregation (a.k.a. ad populum), in the Extraordinary Form the +priest faces towards the Altar with the congregation (a.k.a. ad +orientum). When I hear ad orientem come up as supposed issue +of the Tridentine Mass, it's typically a point of questioning what the +Mass is for. In reality, it is not necessary for the priest to face the +congregation because the purpose of the Mass is not the priest, but +Christ. We don't go to Mass for the priest, but for Christ, who is in +the Altar and in the Eucharist. In a Mass that is ad orientem +everyone faces towards the Lord, and everyone bows before the Lord like +a court before their King. It demonstrates that we are all below Him, we +are all His subjects.

+ +

Communion on the Tongue

+ +

Although this isn't something specific to the Tridentine Mass, it is +something that is obligatory, while in the Novus Ordo Mass it has turned +into something optional and (depending on the priest) encouraged or +discouraged. The most important aspect of the Catholic Mass is the +Eucharist. The partaking of the Pascal Sacrifice. The eating of the Body +of Christ for our salvation.

+ +

Unfortunately, there has been a lack of respect for the holiest of +Sacraments in recent decades. Ever more, people are beginning to believe +it is something purely symbolic instead of the true Body and Blood of +Christ. It should come to no surprise then, that Communion in the hand, +and especially in some of the more liberalized of Masses, can and has +lead to the abuse of this Sacrament.

+ +

To start, why is it so important to take Communion on the tongue (and +on one's knees)? To put it simply: it shows the due respect not only to +the Lord, but to others. Imagine someone who knows nothing of +Catholicism, or of the Mass, and their only exposure is two people +taking Communion. One goes up to the priest, cups their hands, and +receives a Host, while the other goes up to the priest, gets on their +knees, and opens their mouth so that the priest may properly and +carefully place the Host on their tongue. To this person, the first case +would seem to be nothing more than a priest handing out wafers, while +the second begs the curiosity of the observer to ponder why so much +reverence for what appears to be nothing more than bread. In this sense, +it could be said that Communion in the hand is potentially +scandalous.

+ +

However, it is not only the potential scandal that could be caused, +but also an issue of the abuses that can and do occur, which can only +exist because of Communion in the hand. While the priest has gone +through seminary and has (hopefully) received the formation necessary to +fully understand and handle the Eucharist, we (the laity) have not. As +such, it is much more likely that one of the laity will not take +Communion seriously, and commit an abuse than a priest. Abuses such as +letting particles drop to the floor. This problem is even worse in the +more liberalized Masses that have their congregation take Communion in +the pews, potentially allowing for one of the lay people to pocket the +Host and take it home with them, potentially committing some other +obscenity.

+ +

Even going beyond what would be an intentional mistreatment of the +Eucharist, it also gives way to all kinds of accidental abuses. Such +would be the case, for example, of an elderly person who, unable to keep +their hands steady, accidentally drops the Host or particles of it while +trying to take Communion.

+ +

All this is avoided by simply enforcing Communion on the tongue. Just +as it has been practiced for hundreds of years.

+ +

Respect for Authority

+ +

Something very noticeable about the Novus Ordo Mass as compared to +the Tridentine Mass is the participation of the laity in activities +which used to belong to the priest. More specifically: readings and +handing out Communion (to which the arguments stated above apply all the +more). This is the effect of a modern mentality whereby we wish to +eradicate all remaining notions of hierarchy and authority, or any kind +of differentiation between us; in this case specifically, the difference +between the priest and the laity.

+ +

Perhaps it's an effect of the current liberal culture than it is of +these changes themselves to the Liturgy, but ultimately the changes sure +do not help. When it comes to issues of Faith & Morals, it is +precisely the priest (as an ordained member of the Church) who is to +guide the laity, not for the laity to guide themselves. It is important, +then, for the laity to view the priest as a figure of authority within +their community whom they must respect on matters pertaining to the +Faith. This is diminished when foreground roles are relegated to the +laity. It is one thing for there to be a deacon or altar boy who aids +the priest in his celebration of the Mass, but it is another thing +entirely for the laity to take the foreground. It creates a false sense +of equality of the laity and the presbyterate.

+ +

Authentic Catholic Identity

+ +

The Tridentine Mass is a form that has been a part of celebrating the +Divine Liturgy that has been a part of the Catholic identity for +hundreds of years - albeit with some minor modifications, the most +actual of which is the modifications by Pope John XXIII, which are +celebrated today as the Extraordinary Form. It is something inherently +Catholic that distinguishes it from any other church - save now for +Sedevacantists, which are the result of the changes from the Second +Vatican Council, the change in the Mass being one of them. Meanwhile, +the Novus Ordo Mass was explicitly designed to resemble Protestant +services. It should therefore come to no surprise that many Catholics +who attend to the Novus Ordo Mass +reject Catholic teaching.

+ +

Silence

+ +

The Novus Ordo Mass is filled with a back-and-forth dynamic between +the priest and the congregation. Moments between these responses are +often filled with lyrical music to distract the congregation - in other +words, filler music so the congregation doesn't get bored. But what is +typically lacking throughout all of this is time to be absolutely +silent, to contemplate, to meditate, and to pray. As a bit of a +side-note, the same thing occurs with adoration in parishes that +typically do Novus Ordo Mass. Silence becomes a rare blessing.

+ +

In the Tridentine Mass, silence is extremely important. There are +many parts of the Divine Liturgy where the priest is quiet, most +noticeably during the consecration. This is a beautiful time during the +Mass, when one is on one's knees, to pray and to meditate on the miracle +that is occurring before their eyes: the bread and wine is turning into +the Body and Blood of Jesus Christ. A solemn and reverent silence.

+ +

Centrality of Christ

+ +

But more important than all of this - and what I've been somewhat +alluding to with many of these points - is the centrality of Christ in +the Tridentine Mass.

+ +

As I've pointed out before, the Novus Ordo Mass continuously +distracts the attention of the congregation from Christ who is in the +Altar and in the Eucharist. Whether it be celebrating ad populum, +filler music to cover the silence, or a collective taking of the +Eucharist (as is done in some Novus Ordo Masses), the common trait is +Christ is moved to the background.

+ +

In the Tridentine Mass, Christ is always the center, and He is always +treated with utmost respect. Because the we go to Mass for Him, and for +Him alone.

+ +

If you are interested in attending a Traditional Latin Mass, you can +see if there is one near you in the + + Latin Mass Directory. If you cannot find one, ask your priest. +And remember, the Tridentine Mass +is a right of the faithful.

+ diff --git a/blog/posts/2020-08-08-why-non-techies-should-use-free-software.cfg b/blog/posts/2020-08-08-why-non-techies-should-use-free-software.cfg new file mode 100644 index 0000000..0850bf7 --- /dev/null +++ b/blog/posts/2020-08-08-why-non-techies-should-use-free-software.cfg @@ -0,0 +1,5 @@ +filename = 2020-08-08-why-non-techies-should-use-free-software.html +title = Why Non-Techies Should Use Free Software +description = I use the story of why I began to support Free Software in order to give an example of how even a non-programmer can benefit from Free Software. +created = 2020-08-08 +updated = 2020-08-08 diff --git a/blog/posts/2020-08-08-why-non-techies-should-use-free-software.html b/blog/posts/2020-08-08-why-non-techies-should-use-free-software.html new file mode 100644 index 0000000..e0c6cea --- /dev/null +++ b/blog/posts/2020-08-08-why-non-techies-should-use-free-software.html @@ -0,0 +1,74 @@ + + +

These are the four freedoms that a program must legally provide in +order for it to be considered Free Software. Often times, when trying to +convince non-techies of the advantages of Free Software, these freedoms +seem very abstract and, to be honest, useless to them. They may see the +advantages of freedom 0, but freedoms 1-3 all seem to either be for +programmers or something they would just never use, and don't need +others to have the ability to use. However, those of us who are +familiarized with Free Software know that even non-programmers can +benefit greatly from using Free Software, or (what's the same) avoiding +proprietary software. And for this, I like to use a little anecdote of +when I first started to advocate for Free Software, when I wasn't even +an avid programmer.

+ +

I believe I've mentioned this story twice now, but never in this +context (usually always in my criticisms of Apple). The story goes that +when I was 16 I had my own laptop which was a hand-me-down, my father's +old work computer. It was a Dell Latitude - I can't remember +specifically which model, but it had a port to connect to a dial-up +modem. The laptop was rather old, so it couldn't run Windows, and so I +began to use GNU/Linux. This was, at the time, a purely pragmatic +choice, not a conviction. However, my family (aside from my father) +generally used Apple products, so my music player was an Apple iPod. For +a year I synced my music with the family macbook, until I decided to +move my music to my own laptop so as to become fully independent of the +family computer. So I migrated all my music to my laptop, installed +Banshee (a program to manage music libraries, like iTunes), and synced +my music to the iPod. Or so I thought. When Banshee told me the music +had finished syncing I ejected and unplugged the iPod, scrolled through +the music catalogue and found that... nothing had changed. As if it +hadn't synced. I won't bother you with the details of my troubleshooting +this problem, but eventually I found out that the filesystem that Apple +uses on their iPods has a journaling feature enabled that was not +supported by the drivers that Linux had at the time, but luckily I could +turn off the journaling from a Mac computer. So I did that, came back, +synced my music and it worked... for a time. Then, another day, the +battery on my iPod was low so I turned it off. I came back home, charged +it, turned it on. Then later I tried to sync some new music on to the +iPod and, wouldn't you know it, the journaling system was back on. Every +time the iPod got restarted the journaling system would be enabled. +Which meant that every time the iPod got restarted I had to plug it back +into the macbook in order to turn of the journaling.

+ +

At a first glance, many non-techies may assume that this is the fault +of Linux for not fully supporting the filesystem. But it is in fact the +fault of Apple, who did not wish to disclose documentation on how to +write the drivers to interact with the filesystem. Where the filesystem +used on the iPod documented, and the source for its usage available, any +driver developer could have (and would have) been able to create a fully +functional driver.

+ +

The injustice here is that despite having bought an iPod, I was not +the real owner of that iPod. Apple was. I was simply renting it. For +Apple was able to tell me what kind of software I can use their product +with, despite it being my property. And this isn't something that +affected me because I'm a programmer, but rather it's something that +affects anyone who uses proprietary products. They tell you what to do +with your property because it's beneficial for their business.

+ +

Since then, I aimed to eliminate all proprietary software from my +life (with varying degrees of success). I always looked for the software +which would grant me the most control over my system. I aimed to be the +one true owner of my system in its entirety. And this can only be +accomplished by using Free Software.

+ diff --git a/blog/posts/2020-09-06-the-authentic.cfg b/blog/posts/2020-09-06-the-authentic.cfg new file mode 100644 index 0000000..ad10c43 --- /dev/null +++ b/blog/posts/2020-09-06-the-authentic.cfg @@ -0,0 +1,5 @@ +filename = 2020-09-06-the-authentic.html +title = The Authentic +description = We are constantly told today to be authentic. But what does this truly mean? From a secular perspective, it may seem more appealing to be artificial instead. But there is another answer, an answer that we can know when we find out what Man's true nature is. +created = 2020-09-06 +updated = 2020-09-06 diff --git a/blog/posts/2020-09-06-the-authentic.html b/blog/posts/2020-09-06-the-authentic.html new file mode 100644 index 0000000..7c0b004 --- /dev/null +++ b/blog/posts/2020-09-06-the-authentic.html @@ -0,0 +1,65 @@ +

A while back I had read an article by The Art of Manliness on +why we shouldn't be authentic, but rather artificial. +[1] The logic was that being +authentic drives us towards commodity and effeminacy, seeking +only what we find pleasure in instead of what is difficult which will +truly make us better men. And the advice given is truly positive. But I +believe there's more to being authentic than what meets the eye. +Just that it has been hidden under the layers of subjectivity, vague +language, and secular thought.

+ +

When we look up the word "authentic" in the (Oxford) dictionary, we +get the following definitions:

+
    +
  1. known to be real and what somebody claims it is and not a + copy
  2. +
  3. true and accurate
  4. +
  5. made to be exactly the same as the original
  6. +
+ +

Therefore, the question we're trying to answer is, what is a person's +true being or nature. A philosophical question. If we were +to take materialist approach, we receive the very unsatisfactory answer +that we are no more than a collection of cells with no direction or +purpose. Just urges. As such, it would be no surprise if with this +mentality we were to fall into the effeminacy described in the article. +We end up with something entirely hedonistic in nature. And to reject +this (for whatever materialist reason) is simply to view life as a chain +of suffering and sacrifice.

+ +

But what if we take a different approach, and assume that Man is more +than his material nature? That life is more than simply the response to +external stimuli? This is the poetic or hermetic +alternative that Luke Smith recently went over on his blog. +[2] And although Mr. Smith does a great +job of going over the topic in his post, I believe it is necessary to +expand on one aspect of it - but I would recommend you read his post, +since it goes into much more depth on the issue of the hermetic +alternative, as he puts it - and that aspect is the Christian idea +that Man is made in the image & likeness of God.

+ +

When we commit sin - in other words, acts that offend God - we +corrupt that perfect image that God created us in. After all, it is His +image & likeness. And we restore this through confession and +penance. But there are also things we can do to bring ourselves closer +to this perfect image: works. These help us to develop ourselves both +materially and spiritually, and partake in God's creation how we were +meant to being in His image & likeness.

+ +

Therefore, we should be authentic, but knowing that to be authentic +is to bring ourselves closer to that perfection that God created us in. +And the journey will be a struggle, and it will require sacrifice, but +it will also bring us joy, not only in the next world, but in this one +as we truly live out our real nature.

+ +

+ + + https://www.artofmanliness.com/articles/sunday-firesides-dont-be-authentic-be-artificial/ +
+ +https://lukesmith.xyz/poetic.html +

+ diff --git a/blog/posts/2020-09-28-be-radical.cfg b/blog/posts/2020-09-28-be-radical.cfg new file mode 100644 index 0000000..0ccfeb4 --- /dev/null +++ b/blog/posts/2020-09-28-be-radical.cfg @@ -0,0 +1,5 @@ +filename = 2020-09-28-be-radical.html +title = Be Radical +description = Many people dislike the logical conclusions of their own reasoning, but fail to recognize that this makes their reasoning false. I propose the acceptance of radical thinking and the rejection of any reasoning that does not lead to truth. +created = 2020-09-28 +updated = 2020-09-28 diff --git a/blog/posts/2020-09-28-be-radical.html b/blog/posts/2020-09-28-be-radical.html new file mode 100644 index 0000000..7fc16b5 --- /dev/null +++ b/blog/posts/2020-09-28-be-radical.html @@ -0,0 +1,50 @@ +
+ "So then because thou art lukewarm, and neither cold nor hot, + I will spue thee out of my mouth." - Revelations 3:16 +
+ +

Generally I get along with any kind of person. But this isn't to say +that some kind of people don't frustrate me, as someone who enjoys +discussing topics such as politics, religion, sciences, etc. However, it +isn't the person that disagrees with me that frustrates me, but rather +the person that holds inconsistent opinions, and doesn't follow their +own logic to its ultimate consequences. And there are these kinds of +people on all sides of any argument - including my own.

+ +

This kind of problem usually occurs when speaking to someone on an +issue relating to politics or religion. That is to say, anything +pertaining to the management and governance of the public (i.e. +politics). The issue in question here is not one where two positions the +person may hold seem hypocritical, since this is acceptable so long as +their reasoning can make them compatible. No, the error is when the +reasoning itself changes based upon circumstances. When exceptions are +made to the rules.

+ +

Typically, a person will make these kinds of exceptions in their own +reasoning because they dislike following their own logic to its ultimate +conclusion. They know that for certain cases their very own reasoning +would lead them to support something they see as evil or immoral, or +rule out something that is clearly good. So to compensate, they make +exceptions based upon intuition.

+ +

The problem here isn't so much that people see a problem with their +own logic, but that they make exceptions to it instead of realizing that +if their reasoning leads them to error, their reasoning is erroneous +itself. As such, is it truly that difficult to assume that many of their +other conclusions based upon the same reasoning could also be false? It +is not proven, but it is very likely.

+ +

Essentially, the error here comes from lack of radical belief. He who +believes the wrong thing for the right reasons is much more righteous +than he who believes the right thing for the wrong reasons. We must make +an effort to bring our own reasoning to its logical conclusions, and +when we discover what those are, we have one of two choices: accept +where our reasoning has brought us, or reject our own reasoning. But to +pretend that this inconsistency, this flaw does not exist, is simply to +lie to ourselves and our conscience. For no truth can contradict +itself.

+ +

As such, be either cold or hot, but detest that which is lukewarm. +For at least he who is cold or hot may be correct, but he who is +lukewarm will always be wrong.

+ diff --git a/blog/posts/2020-10-06-rss:-decentralized-subscriptions.cfg b/blog/posts/2020-10-06-rss:-decentralized-subscriptions.cfg new file mode 100644 index 0000000..f924a6d --- /dev/null +++ b/blog/posts/2020-10-06-rss:-decentralized-subscriptions.cfg @@ -0,0 +1,5 @@ +filename = 2020-10-06-rss:-decentralized-subscriptions.html +title = RSS: Decentralized Subscriptions +description = In order to free ourselves of centralized means of media publishing, it's necessary to decentralize our means of subscribing to these, while at the same time maintaining a single place where we can access all of our subscriptions. +created = 2020-10-06 +updated = 2020-10-06 diff --git a/blog/posts/2020-10-06-rss:-decentralized-subscriptions.html b/blog/posts/2020-10-06-rss:-decentralized-subscriptions.html new file mode 100644 index 0000000..217a5de --- /dev/null +++ b/blog/posts/2020-10-06-rss:-decentralized-subscriptions.html @@ -0,0 +1,93 @@ +

For years I've had an RSS feed for my blog, but I truly haven't used +RSS myself for my own subscriptions until quite recently. But since +watching the Luke Smith video on the matter[1] +I've decided to give it a try, and it has definitely been worth it.

+ +

For those who are not aware, RSS is a standardized and universal way +of managing subscriptions that has been around since 1999 (although the +concept is older). The idea is that every site or subscription would +have an XML file that could be pulled by an RSS client, which would +contain all (recent) posts. The client would then show this data to the +user, pointing out the new/unread posts. In other words, basic +subscription stuff.

+ +

But what makes RSS (or Atom feeds for that matter) so great in this +regard is what it does for the user - even the least technical user. +Basically, it's the e-mail of subscriptions: a universal protocol which +you can use on any server with any client.

+ +

Firstly, there's the freedom on the side of the user to choose which +client to use. I personally use newsboat because it's the first +relatively simple curses client I came across, but there are tons more, +including graphical clients. This is great, since it means that we can +interface with our subscriptions however we please. I can use a +curses/terminal environment to manage my subscriptions, and someone else +can use a graphical environment. Nobody is forced to use something they +don't want to.

+ +

But perhaps more importantly, RSS permits the decentralization of the +web. For some reason, we've been relying on built-in subscription +features for platforms like YouTube, Twitter, Facebook, etc. - I don't +know what y'all kids are using nowadays - but this just creates a +dependency on the platform for both the user and the content creators, +ending up in a feedback loop. Users, who do not want to have accounts on +several websites for subscriptions, choose a select few platforms to +create accounts on, which have the most content or their favorite +content. Because of this, creators are forced to use those platforms if +they want to get any kind of visibility. As such, it feeds into there +being a few platforms that have the vast majority of creators and the +cycle continues. As such, these platforms naturally get to decide what +content gets to be on their platform and which content we are suggested +or get to see. It is a way of enslaving both user and creator to their +platform by creating a dependency on them. Basically, user lock-in - +what I criticize companies like Apple for.

+ +

With RSS, this is no longer an issue. You can actually subscribe to +everything in a single place: your RSS client. What's more, you don't +even have to go looking through the five social media sites you already +have accounts on, you just open up the one application and you have +access to all your subscriptions from any platform. This also means that +for those creators who want independence, they can create their own +website, add an RSS feed, and they'd be just as easily accessible as a +person on any other platform.

+ +

And perhaps more importantly, unlike other technologies I propose +which would require you to create (yet another) account and/or give up +some of the content you already enjoy, this doesn't require any such +thing. I myself, using RSS feeds, have subscriptions to YouTube +channels, podcasts, blogs, etc. and I'm fairly certain that both +Facebook and Twitter feeds have RSS/Atom feeds. The only thing you'd +have to do is install a RSS/Atom client and add your subscriptions to +it. And if you're a content creator with your own site, most (if not +all) web frameworks (like Wordpress) come with a way of adding an RSS +feed to your site.

+ +

The world is a much better place when we're not dependent on certain +platforms or companies. Real competition and development comes when +clients are able to move freely and at no cost from one provider to +another. And in this case, that freedom must be enjoyed by both users +and creators with regards to the platforms they use. This cannot be +achieved if using a different platform aside from the few major ones +will automatically make you irrelevant and invisible to the public eye. +We also need a world where people can have the ability to own their +creations, instead of being subjected to malicious terms of use which +tell creators what they can and cannot create, what can and cannot be +monetized, and overall taking ownership of someone's creation.

+ +

If you do end up using RSS, I strongly suggest also looking for +content you may enjoy on other platforms to encourage a movement away +from centralized media platforms. Look for independent sites, blogs, or +alternative platforms (e.g. Peertube as an alternative to YouTube). Talk +about these sites with your friends and family to promote them, and +hopefully we can move further away from the centralized and heavily +controlled platforms.

+ +

+ + + https://videos.lukesmith.xyz/videos/watch/551a1bfb-8a05-4cdb-b5d3-a42758991d83 + +

+ diff --git a/blog/posts/2020-10-07-less-forums-more-mailing-lists.cfg b/blog/posts/2020-10-07-less-forums-more-mailing-lists.cfg new file mode 100644 index 0000000..1db75bd --- /dev/null +++ b/blog/posts/2020-10-07-less-forums-more-mailing-lists.cfg @@ -0,0 +1,5 @@ +filename = 2020-10-07-less-forums-more-mailing-lists.html +title = Less Forums, More Mailing Lists +description = Following the trend I've had lately that older technologies are a lot more universal and decentralized than modern ones, I defend the use of mailing lists as a superior alternative to web forums. +created = 2020-10-07 +updated = 2020-10-07 diff --git a/blog/posts/2020-10-07-less-forums-more-mailing-lists.html b/blog/posts/2020-10-07-less-forums-more-mailing-lists.html new file mode 100644 index 0000000..aba7269 --- /dev/null +++ b/blog/posts/2020-10-07-less-forums-more-mailing-lists.html @@ -0,0 +1,43 @@ +

A while back I did a post on e-mail and why I think it's a superior +means of communication. A middle ground between snail mail and annoying +instant communication. And along the same lines of my previous post on +RSS feeds, I think we should make a return to mailing lists as a +replacement for web forums.

+ +

So in case my reader does not know what a mailing list is, let me +briefly explain. The way a mailing list works is that you subscribe (via +e-mail or web interface) to a given mailing list. Once you do this, you +can send e-mails to a given e-mail address and it will be forwarded to +everyone who is subscribed to the mailing list. In other words, it's a +way of broadcasting messages sent to a single address to everyone +subscribed to the broadcast.

+ +

So, how does this replace web forums? Quite simple: when you send a +new e-mail to the mailing list it starts a new thread, and people will +respond to that thread. What's more, it's actually more versatile than a +web forum, since it allows for conversations to branch out instead of +following a linear progression. If you have a mailing client that's +worth something then it supports showing conversation threads. +Basically, this means that it will show to which message you are +replying to, allowing people to reply to different subthreads of a +conversation, essentially forking it. For an example of this, +check out an actual mailing list like the Suckless "dev" mailing +list[1]. What's more, because it's e-mail, +you can attach anything you want - although usually there's a size +limit, but even web forums have this.

+ +

But perhaps most importantly, with web forums you have to create +accounts for every different web forum you connect to. There have been +efforts to standardize using stuff like OpenID, and now with Google and +Facebook logins everywhere. But it's still kinda clunky. With mailing +lists you only require something that everyone already has: an +e-mail.

+ +

+ + + http://lists.suckless.org/dev/1902/index.html + +

+ diff --git a/blog/posts/2020-10-12-modernism.cfg b/blog/posts/2020-10-12-modernism.cfg new file mode 100644 index 0000000..9bacff2 --- /dev/null +++ b/blog/posts/2020-10-12-modernism.cfg @@ -0,0 +1,5 @@ +filename = 2020-10-12-modernism.html +title = Modernism +description = A critique of Modernism from both the religious and secular perspective. +created = 2020-10-12 +updated = 2020-10-12 diff --git a/blog/posts/2020-10-12-modernism.html b/blog/posts/2020-10-12-modernism.html new file mode 100644 index 0000000..7750a73 --- /dev/null +++ b/blog/posts/2020-10-12-modernism.html @@ -0,0 +1,92 @@ +
+ "The Catholic Church never suits the particular mood of any age, + because it was made for all ages. A Catholic knows that if the + Church married the mood of any age in which it lived, it would be a + widow in the next age. The mark of the true Church is that it will + never get on well with the passing moods of the world."
+ - Venerable Fulton J. Sheen +
+ +

Today, this quote, a critique of Modernism, is probably more +applicable than ever. Both within the Church and in secular society +we're used to hearing the retort "get with the times." A retort usually +encountered whenever a traditional view is defended, all the more if it +is currently unpopular.

+ +

To discuss Modernism we will first need to define it and then +consider two of its consequences: rejection of Tradition, and the +promotion of Liberalism.

+ +

In the same way that Antiquism would be a biased preference +for the old things, Modernism holds a bias for the new things. The idea +that because something is newer it must be better. It should not be +difficult to see how such a bias is completely erroneous, and yet it's a +very common bias in our modern times. This bias truly does derive from a +Marxist view of history, whereby history can only be seen as a chain of +improvements, where all changes that occurred are good, or at least +they were for their time. But in reality, one could say that the +Modernist doesn't truly understand even this principle, since it fails +to see that, even throughout history, anything that was an improvement +had to compete with and eradicate error. Just as today there may be some +good ideas for changes that will improve our society, but they must +compete with and eradicate those ideas that are erroneous. As such, not +all new ideas are good ideas, but rather only some new ideas are good +ideas and they must eradicate the bad ones.

+ +

Of course, even with such a philosophy that simply accepts some of +the new things is still Modernism if it holds bias towards these new +things over the old simply because they are new. This contrasts with +Traditionalism, which builds a foundation of old things which over +thousands of years have been shown rationally and practically to be +beneficial, while adopting changes in form when necessary to better +communicate the essence. Therefore, while Modernism and Traditionalism +may not always contradict in those small areas where the Traditionalist +sees it necessary to adopt newer forms, they will always contradict with +the Traditionalist sees it necessary to maintain the older forms and (in +particular) essence. In this regard, on matters of essence, the +Modernist and the Traditionalist will always be at odds, for the +Modernist holds nothing sacred while the Traditionalist holds essence to +be sacred and immutable, as well as maintaining some forms that are +truly more effective at conveying the essence, which Modernists do not +defend in the first place. As such, Modernism is by its very nature +contrary to Tradition.

+ +

But perhaps most sinister of all would be the element of Modernism's +promotion of Liberalism, a nefarious ideology that deserves a criticism +all of its own. However, here I am not referring to the modern +conception of Liberalism, which is something vague and isn't +always completely liberal in nature, but rather true Liberalism which is +founded in the idea of the sovereignty of Man as both a individual and a +political being from God; or as a much more well-formed man had put +it:

+ +
+ "What naturalists or rationalists aim at in philosophy, that the + supporters of liberalism, carrying out the principles laid down by + naturalism, are attempting in the domain of morality and politics. + The fundamental doctrine of rationalism is the supremacy of the + human reason, which, refusing due submission to the divine and + eternal reason, proclaims its own independence, and constitutes + itself the supreme principle and source and judge of truth. Hence, + these followers of liberalism deny the existence of any divine + authority to which obedience is due, and proclaim that every man is + the law to himself; from which arises that ethical system which they + style independent morality, and which, under the guise of liberty, + exonerates man from any obedience to the commands of God, and + substitutes a boundless license."
+ - Pope Leo XIII, Libertas, The Holy See Official Website, p. + 15 +
+ +

Seeing that God's mandates are eternal, for once and for always, this +puts God and His law at direct odds with Modernism. God's laws are +immutable, and as such they will never change. But this is not +acceptable to the Modernist who adheres to change more than he adheres +to God. As such, it is necessary for the Modernist to adopt Liberalism, +and therefore heresy.

+ +

Modernism is not an acceptable or rational philosophy, as it defies +reason, historical human experience, and God Himself in agreement with +reason. As such, it is a philosophy that must be wholly rejected and +repudiated.

+ diff --git a/blog/posts/2020-10-23-pope-francis-on-same-sex-civil-unions.cfg b/blog/posts/2020-10-23-pope-francis-on-same-sex-civil-unions.cfg new file mode 100644 index 0000000..85bba13 --- /dev/null +++ b/blog/posts/2020-10-23-pope-francis-on-same-sex-civil-unions.cfg @@ -0,0 +1,5 @@ +filename = 2020-10-23-pope-francis-on-same-sex-civil-unions.html +title = Pope Francis on 'Same-Sex Civil Unions' +description = A clarification of the recent distortions by the media of Pope Francis' words. +created = 2020-10-23 +updated = 2020-10-23 diff --git a/blog/posts/2020-10-23-pope-francis-on-same-sex-civil-unions.html b/blog/posts/2020-10-23-pope-francis-on-same-sex-civil-unions.html new file mode 100644 index 0000000..c4e6401 --- /dev/null +++ b/blog/posts/2020-10-23-pope-francis-on-same-sex-civil-unions.html @@ -0,0 +1,128 @@ +

Recently there has been a scandal within the Church over footage +found in the recent documentary "Francesco" on Pope Francis. News +outlets everywhere have been exclaiming how this footage shows Pope +Francis approving of same-sex civil unions. +[1][2][3] +However, it would seem that none of these journalists or newspapers have +bothered to look up the actual footage, put it into the context of what +the Pope is talking about, and understand the true meaning of what the +Church teaches on this issue, which is exactly what Pope Francis is +trying to express.

+ +

So before getting into the issue at hand, what does the Church teach +on the subject of civil unions and homosexuality? On civil marriage, +Pope Leo XIII wrote that "while the civil authority retains in full its +right to regulate the so-called civil effects, the marriage itself is +subject to the authority of the Church" and that "We raise our voice and +totally condemn the so-called civil marriage laws" (Dum Multa § +2-3). And with regards to homosexuality, the Church holds a nuanced +position that is neither acceptance of the behaviour, nor a condemnation +of the person:

+ +
+

"Homosexuality refers to relations between men or between women who + experience an exclusive or predominant sexual attraction toward + persons of the same sex. It has taken a great variety of forms + through the centuries and in different cultures. Its psychological + genesis remains largely unexplained. Basing itself on Sacred + Scripture, which presents homosexual acts as acts of grave + depravity, tradition has always declared that "homosexual acts are + intrinsically disordered." They are contrary to the natural law. + They close the sexual act to the gift of life. They do not proceed + from a genuine affective and sexual complementarity. Under no + circumstances can they be approved.

+ +

"The number of men and women who have deep-seated homosexual + tendencies is not negligible. This inclination, which is objectively + disordered, constitutes for most of them a trial. They must be + accepted with respect, compassion, and sensitivity. Every sign of + unjust discrimination in their regard should be avoided. These + persons are called to fulfill God's will in their lives and, if they + are Christians, to unite to the sacrifice of the Lord's Cross the + difficulties they may encounter from their condition.

+ +

"Homosexual persons are called to chastity. By the virtues of + self-mastery that teach them inner freedom, at times by the support + of disinterested friendship, by prayer and sacramental grace, they + can and should gradually and resolutely approach Christian + perfection."

+

- Catechism of the Catholic Church § 2357-2359

+
+ +

Knowing the teaching of the Church, which is a matter of immutable +doctrine, we can now delve into what His Holiness has or hasn't said, +and whether it contradicts these truths.

+ +

Firstly, not everything from the original interview was put into the +documentary, part of it - the part where His Holiness repeats Church +teaching - is conveniently removed.[4] +Next, it's worth noting the context of what Pope Francis means by saying +that people with same-sex attraction have a "right to a family". He's +talking specifically about people who are being kicked out of their +homes by their parents and family for their attraction. Pope Francis +is essentially repeating Catholic teaching which is found in paragraph +2358 of the Catechism, as cited above.

+ +

But what of the so-called "same-sex civil union law"? Well, if you +speak any Spanish, listen to the words that Pope Francis says in the +interview, and you'll notice he says: "ley de convivencia civil". +The key word here is convivencia, which is tricky as it doesn't +have a perfect translation into English. The most literal translation +would be "co-living", but His Holiness is not referring to a +cohabitation law either. The real meaning of it in this context is quite +simply "getting along". Just like the rest of the interview, he's +referring to a law that would protect people with same-sex attraction +from being kicked out of their homes by their parents. Again, what is +very clearly Church teaching as we see from paragraph 2358 of the +Catechism.

+ +

So how could it be that the media came to such wild conclusions on +this issue? There are probably several reasons, such as the need to +report on something before enough information is available, or that the +subtitles for the documentary use an inappropriate translation, or the +media is really trying its hardest to turn Pope Francis into the +Modernist pope they've always wanted, or simply that Pope Francis has a +bad reputation on this sort of issue mostly due to bad phrasing. +Ultimately, all that deserves an article of its own. But it's worth +noting that this isn't the first time something like this has happened +to Pope Francis. It's all too common for the media to take sound bites +of what he says and pass it off with no context. Perhaps the real +tragedy is that most folks, both outside and inside the Church, will +only get to hear the perversions of his words told in the media, while +never hearing his actual message. And this is driving many people away +from the Church. They're manipulated into believing that Pope Francis is +some doctrinal revolutionary who has come to modernize the Church, when +in reality the most radical thing I've seen him question is the death +penalty - I have heard rumors that he says something about the Just War +Doctrine, but I have yet to confirm this. Other than this, he has been a +very orthodox pope.

+ +

So I have two lessons here: one for non-Catholics, and another for +Catholics. For non-Catholics, don't believe everything you hear from the +media about the Pope. This has happened several times before, and every +time it's been a lie. For Catholics, have a little faith. As Catholics +we believe that this is Christ's Church, and the pope is the Vicar of +Christ. God would not let someone into such a position in His Church +that is going to corrupt Her teachings which are necessary for our +salvation. The Church shall not fall into error. Pray for him, as God +knows he needs our prayers, pray for the souls of those journalists who +manipulate his words, and pray for all those who were scandalized by +this manipulation of what the Holy Father was trying to say.

+ + + https://www.nytimes.com/2020/10/21/world/europe/pope-francis-same-sex-civil-unions.html
+ + https://elpais.com/sociedad/2020-10-21/el-papa-francisco-defiende-las-uniones-civiles-entre-homosexuales.html
+ + https://www.publico.pt/2020/10/21/mundo/noticia/papa-francisco-defende-unioes-facto-casais-homossexuais-1936150
+ + https://nitter.net/Patricio_F99/status/1319124510415650816 + diff --git a/blog/posts/2020-10-27-new-site-migration.cfg b/blog/posts/2020-10-27-new-site-migration.cfg new file mode 100644 index 0000000..a374b46 --- /dev/null +++ b/blog/posts/2020-10-27-new-site-migration.cfg @@ -0,0 +1,5 @@ +filename = 2020-10-27-new-site-migration.html +title = New Site Migration +description = I'm migrating my website... again! +created = 2020-10-27 +updated = 2020-10-27 diff --git a/blog/posts/2020-10-27-new-site-migration.html b/blog/posts/2020-10-27-new-site-migration.html new file mode 100644 index 0000000..efd9bca --- /dev/null +++ b/blog/posts/2020-10-27-new-site-migration.html @@ -0,0 +1,27 @@ +

I'm giving a head's up that my site is going to undergo a massive +migration (relatively) soon. I'm going to be changing servers, and I +would like to take advantage of the situation to also change the base +technology I'm using for my website.

+ +

For quite some time I've been using PHP, which has provided me with +quite a bit of stability. But I've started to notice how much of a +hassle it is, and how vulnerable some of the information that is not on +my home computer is (e.g. my blog posts). It's also always been somewhat +of a mess. I feel like I'm using a cannon to kill a fly. So in my quest +to minimize the complexity of the technologies I use as much as +possible, I've decided to switch to using a static site generator.

+ +

I'll write another blog post at some point on both the issue of +minimizing technological complexity, and the technologies I'll be using +for my website. But the important thing to note is that a lot of links +are going to be broken. Basically everything except the home page. I'm +still unsure as to when this is going to happen, I still have to finish +porting my website (including all the blog posts), and setting up the +new server. After that, I'll likely make the switch as soon as +possible.

+ +

I know that this is probably a hassle for whomever reads my blog (the +select few), especially since I had already done this last year. But +hopefully this is the last time I have to do this... for maybe the next +few years instead.

+ diff --git a/blog/posts/2020-11-05-do-away-with-parties.cfg b/blog/posts/2020-11-05-do-away-with-parties.cfg new file mode 100644 index 0000000..a98e58b --- /dev/null +++ b/blog/posts/2020-11-05-do-away-with-parties.cfg @@ -0,0 +1,5 @@ +filename = 2020-11-05-do-away-with-parties.html +title = Do Away with Parties +description = It is my opinion that having a Democracy based upon party structures has led us to a society of inner conflict, instability, and polarization. As such, I propose as a solution the dissolution of all political party structures. +created = 2020-11-05 +updated = 2020-11-05 diff --git a/blog/posts/2020-11-05-do-away-with-parties.html b/blog/posts/2020-11-05-do-away-with-parties.html new file mode 100644 index 0000000..8ba983d --- /dev/null +++ b/blog/posts/2020-11-05-do-away-with-parties.html @@ -0,0 +1,129 @@ +

In light of the most recent elections and the chaos and tension that +accompanies it, I think it may be important to talk about the way the +democratic system works and one of its key flaws, both in the United +States and in other places (like my home country of Spain). I realize +that this is entering into politics, something that I generally haven't +done for quite some time, but I believe that this is sufficiently +neutral of a topic and answering to something that people from both +sides can see some benefit from.

+ +

In the past, I have been very pro-party. That is to say, I believed +that politics should emphasize the parties and not the candidates. My +reasoning was that when politics focuses on the candidate, we focus on +the candidate's personality and characteristics rather than their policy +which would truly have an effect on the Common Good (which is the +primary function of the State). I also criticized candidate-centric +politics for simplifying politics into nothing more than the campaign, +since the candidate on his own is unlikely to draft a robust, concise, +and coherent policy during his campaigning, while a party can.

+ +

However, something I've come to realize over time is that these are +not the effects of candidate-centric politics, but Democracy itself. By +the very nature of Democracy, in an attempt to appease the Masses, the +level of political discourse must be simplified and popularized so as to +attract the attention of the most people possible. This is not to say +that the majority of people are ignorant or in any way mentally +incapable of understanding politics, but rather that we all have better +things to do than spend all day learning about the state of our +country's politics. The idea of the eight hour work day was that the +worker would work eight hours, sleep eight hours, and have eight hours +to be at home with his family. For the working man to spend time +updating himself on current events, which may not even be relevant to +him or his family, would mean taking time not out of work hours, which +would not be allowed by his superior, not out of his sleep, which is +necessary for his own health, but out of his time to spend with his +family. Time that, although also vital, is often treated as unimportant +or expendable.

+ +

Given that Democracy is not something we are willing to give up, or +at least not in the near future, it does seem apparent that some kind of +change is still necessary to combat the most negative effects it has: +instability, divisiveness, and polarization. The solution to which, I +believe, lies in the dissolution of political parties in favor of an +electoral system that functions solely on the basis of candidates with +absolutely no affiliation to any political organizations.

+ +

Political parties exist as an inherently collectivist idea, whereby +the entire party and all its constituents rally around a common ideology +with more or less variation. As such, a party is not so much defined by +the people in it, but by an ideology to which its constituents conform. +This on its own limits the diversity of combinations of policy that +could be possible in a Democracy. Aggregate to this that a party system +will tend towards the concentration of different ideological currents +into a single party so as to consolidate power. This happens not only in +the United States, where there is a sole office to be taken by the +winning candidate, but even in parliamentary systems as we have in +Spain. Any Third-Way ideas that do not fit neatly into the Left-Right +dichotomy adopted by mainstream politics will be unwelcome and expelled +from the political arena.

+ +

From the concentration comes a lack of flexibility or nuance in +political policy and discourse. Candidates are forced to hold party +lines, which are made on a basis of ideology and voter research (i.e. +demagogue). When different times call for different prudential measures, +the parties will religiously stick to their Man-made ideologies with no +consideration for temporary expedient measures. Examples would be such +as those of the Libertarian who will refuse to enact any State Welfare +programme despite desperate need of such aid, or the Socialist who will +refuse to consider some deregulation of certain sectors of the economy +to allow for smaller enterprises to grow. To these party candidates, the +party line is what is sacred, not the Common Good.

+ +

If we were to dissolve all political party structures, and elect on a +basis of candidates alone, then many of the barriers to dialogue and +diversity of policy would be eliminated. Candidates would no longer be +funnelled into certain ideological boxes, but be free to espouse a more +nuanced solution to our problems. Nor would it be necessary to make any +ideological declarations, as one would not need to be part of any +particular party in order to win an election. Third-Way candidates would +be on equal standing as the conventional Left-Right dichotomy. It now +becomes more difficult to discern who the mainstream candidates will +be.

+ +

It is likely, of course, that in the beginning of such a system +being implemented many candidates will attempt to associate with the old +labels and parties so as to gain more votes. In doing this, many voters +may feel the need to still vote for one of these candidates (although +they will likely be many) so as to avoid a greater evil from being +elected. This can be remedied by using a ranked voting system. Allowing +voters to choose candidates based upon a ranked list rather than only +voting for a single candidate. All ballots that ranked first the +candidate that won the least amount of votes will transfer their votes +to the candidate ranked second on their ballot, and the process +continues until a final winner is determined.

+ +

In a greater attempt to combat the errors of party systems and +Democracy over all, it should also be prohibited to do any kind of +publicity, campaigning, or propaganda of any sort outside designated +(and equally alloted) spaces. E.g. publicly hosted debates and +interviews with each of the candidates as well as a public platform on +which each candidate can publicize their programmes and policies for the +public. In this manner, we avoid political elections being turned into +spectacles for our entertainment, and keep them bland as nothing +more than a discussion on policy.

+ +

As candidates would no longer be associated with parties or +ideologies of any sort, the polarization of society would diminish as we +begin to appreciate more nuance in each other's opinions; recognizing +that we may agree for different reasons, or disagree but have similar +intentions. Rather than viewing our political adversaries as polar +opposites of our own view, we will see them as people with differing +opinions that may, at times, be misguided. We will begin to consider +candidates not as opposed to one another, but with different ideas on +how to achieve a common goal: the Common Good.

+ +

We are living in one of the most divisive times, not only in the +United States, but in many places. The COVID-19 pandemic and the +consequent economic recession have led us down a path of uncertainty +and desperation, moving us to take desperate measures. It is absolutely +clear that the manner in which our political systems currently function +is not helping the situation, but rather fueling the fires of the +already roaring flame. A change is needed for the good of our +compatriots. It may be very unlikely, or even implausible that such +changes could occur, much less now, as all parties are doing their best +to seize as much power as possible; but this should not stop us from +trying to make changes in the system. We must remember that our +compatriots who think differently from ourselves do so in hopes that it +will be better for our country, and ultimately it is better for the +Common Good when we are not at each other's throats.

+ diff --git a/blog/posts/2020-11-12-new-website-setup.cfg b/blog/posts/2020-11-12-new-website-setup.cfg new file mode 100644 index 0000000..534430e --- /dev/null +++ b/blog/posts/2020-11-12-new-website-setup.cfg @@ -0,0 +1,5 @@ +filename = 2020-11-12-new-website-setup.html +title = New Website Setup +description = An overview of the new technologies and setup I have for my website. +created = 2020-11-12 +updated = 2020-11-12 diff --git a/blog/posts/2020-11-12-new-website-setup.html b/blog/posts/2020-11-12-new-website-setup.html new file mode 100644 index 0000000..4c04d48 --- /dev/null +++ b/blog/posts/2020-11-12-new-website-setup.html @@ -0,0 +1,56 @@ +

So the date on this post may be wrong by the time you're reading it, +mostly because I'm not sure when I'm gonna be done setting up the +server, but I hope it's today. However, you probably will have noticed +(if you visit my website somewhat regularly) that a lot has changed. +It's the migration I was talking about a few posts ago.

+ +

To start, let me explain the change in framework: something I've been +thinking about lately is the vulnerability of my blog posts, which +before were stored in a database file on my VPS. If for any reason I +were to lose that data, I'd lose all the blog posts. I was also +frustrated with the complicated way of posting new articles that I had +setup: I'd write the post in an HTML file on my computer, and then I'd +login to my hand-made dashboard on my website, to post it there with all +the relevant fields. It seemed like a lot of double work that could be +easily simplified.

+ +

Luckily for me, due to recent developments with my VPS host, I'm +moving services, and I figured I'd take advantage of this to start +fresh. So I decided I'd port my website to a static site generator. +Originally I was going to use one I had recently created, called +sssg, but +as I was developing some of the more complex features for it, I +discovered that a simple SSG already existed with enough features to +give me what I needed: +saait. +It's quite minimalist and yet it provides me with the features necessary +to host all my website's content, such as my blog and news feeds. Now +it's all statically generated, so all you're pulling is pre-compiled +HTML, and not generated on the spot by a PHP script as it was +before.

+ +

So, since I'm excited about all the changes I have to my website, I'm +going to explain the setup (for the most part).

+ +

First, as I've already explained, my website is generated statically +with saait on my personal computer. I will likely be creating a git +repository where I can host the source for you all to see, since that +will also allow me to easily edit my website code from my other +computers. Second, I synchronize my website's generated files with the +server with RSync. As for the HTTP server I'm using, I've chosen to use +lighttpd for simplicity's sake.

+ +

I also now have two different modes of newsfeed: Atom and RSS. I also +noticed, as someone who uses newsfeeds for a lot websites, that I enjoy +those that have the content in the newsfeed itself so I don't have to +open up the browser, but can read it right inside my newsfeed +application - which, as I mentioned in a previous article, is newsboat - +so now for both Atom and RSS feed the entire content of my blog posts is +in the newsfeed item itself. If this does present a problem later on, I +can change it to only give the description, which will make the XML +files lighter to download - currently the Atom feed is 468KB and the RSS +feed 440KB, so I don't think it's too much to download.

+ +

All in all, I'm quite happy with the way things have turned out, so I +hope I'll be able to keep this setup for... at least a few more +years.

diff --git a/blog/templates/atom.xml/footer.xml b/blog/templates/atom.xml/footer.xml new file mode 100644 index 0000000..f2d5538 --- /dev/null +++ b/blog/templates/atom.xml/footer.xml @@ -0,0 +1 @@ + diff --git a/blog/templates/atom.xml/header.xml b/blog/templates/atom.xml/header.xml new file mode 100644 index 0000000..a447333 --- /dev/null +++ b/blog/templates/atom.xml/header.xml @@ -0,0 +1,8 @@ + + + ${sitetitle} + ${description} + ${siteupdated}T00:00:00Z + + ${siteurl}/blog/atom.xml + diff --git a/blog/templates/atom.xml/item.xml b/blog/templates/atom.xml/item.xml new file mode 100644 index 0000000..9eec96f --- /dev/null +++ b/blog/templates/atom.xml/item.xml @@ -0,0 +1,15 @@ + + ${title} + + ${siteurl}/blog/${filename} + ${updated}T00:00:00Z + ${created}T00:00:00Z + + ${author} + ${siteurl} + + ${description} + ${title} +

Last modification on

+ %{contentfile}]]>
+
diff --git a/blog/templates/index.html/footer.html b/blog/templates/index.html/footer.html new file mode 100644 index 0000000..8e11c0b --- /dev/null +++ b/blog/templates/index.html/footer.html @@ -0,0 +1,12 @@ + + + + + + + diff --git a/blog/templates/index.html/header.html b/blog/templates/index.html/header.html new file mode 100644 index 0000000..b7f4bd8 --- /dev/null +++ b/blog/templates/index.html/header.html @@ -0,0 +1,55 @@ + + + + + + + + + + + ${title} - ${sitetitle} + + + + + +
+

The Music in Noise

+

"If there were one million families praying the Rosary every day, the entire world would be saved." - Pope Saint Pius X

+
+ + + + + +
+

Blog

+

Feeds: RSS | Atom

+
    diff --git a/blog/templates/index.html/item.html b/blog/templates/index.html/item.html new file mode 100644 index 0000000..511a309 --- /dev/null +++ b/blog/templates/index.html/item.html @@ -0,0 +1 @@ +
  • - ${title}
  • diff --git a/blog/templates/page/footer.html b/blog/templates/page/footer.html new file mode 100644 index 0000000..c92efd7 --- /dev/null +++ b/blog/templates/page/footer.html @@ -0,0 +1,11 @@ +
+ + + diff --git a/blog/templates/page/header.html b/blog/templates/page/header.html new file mode 100644 index 0000000..04139c2 --- /dev/null +++ b/blog/templates/page/header.html @@ -0,0 +1,52 @@ + + + + + + + + + + + ${title} - ${sitetitle} + + + + + +
+

The Music in Noise

+

"If there were one million families praying the Rosary every day, the entire world would be saved." - Pope Saint Pius X

+
+ + + + + +
diff --git a/blog/templates/page/item.html b/blog/templates/page/item.html new file mode 100644 index 0000000..3061b5b --- /dev/null +++ b/blog/templates/page/item.html @@ -0,0 +1,3 @@ +

${title} - ${created}

+%{contentfile} +

Last updated:

diff --git a/blog/templates/rss.xml/footer.xml b/blog/templates/rss.xml/footer.xml new file mode 100644 index 0000000..3a9dbde --- /dev/null +++ b/blog/templates/rss.xml/footer.xml @@ -0,0 +1,2 @@ + + diff --git a/blog/templates/rss.xml/header.xml b/blog/templates/rss.xml/header.xml new file mode 100644 index 0000000..396ef6b --- /dev/null +++ b/blog/templates/rss.xml/header.xml @@ -0,0 +1,8 @@ + + + + ${sitetitle} + ${description} + ${siteurl} diff --git a/blog/templates/rss.xml/item.xml b/blog/templates/rss.xml/item.xml new file mode 100644 index 0000000..d8c96d4 --- /dev/null +++ b/blog/templates/rss.xml/item.xml @@ -0,0 +1,10 @@ + + ${title} + ${siteurl}/blog/${filename} + ${siteurl}/blog/${filename} + ${created}T00:00:00Z + ${author} + ${title} +

Last modification on

+ %{contentfile}]]>
+
diff --git a/config.cfg b/config.cfg new file mode 100644 index 0000000..9d1a0d1 --- /dev/null +++ b/config.cfg @@ -0,0 +1,27 @@ +# defaults: can be overwritten by any page. + +# last updated the site. +siteupdated = 2020-11-12 + +# site title (part of page ${title} probably). +sitetitle = The Music in Noise +# prefix site url. +siteurl = https://themusicinnoise.net +# site mail used for contact "mail link". +sitemail = nicolas AT ortegas DOT org +# site generator. +sitegenerator = saait (https://git.codemadness.org/saait/file/README.html) + +# page + +# page language. +lang = en +# author (global default). +author = Nicolás Ortega Froysa +# site keywords (global default), don't use too many. +keywords = programming, language, music, society, religion, blog +# site description (global default). +description = Personal website for publishing projects and a blog. + +# default title. +title = diff --git a/favicon.png b/favicon.png new file mode 100644 index 0000000..fd7fbe5 Binary files /dev/null and b/favicon.png differ diff --git a/nicolas@ortegas.org_pub.asc b/nicolas@ortegas.org_pub.asc new file mode 100644 index 0000000..108cbe5 --- /dev/null +++ b/nicolas@ortegas.org_pub.asc @@ -0,0 +1,52 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQINBF1tHWMBEADMUQKXf3AJTj9nA3q+Wx0+18DkNcKJn3NLb4mcOuskB/gGneQ4 +4XT5GKh9qbVQg332F8IsA0J4JW7jgk0HRYIgnNaGDU99Vs2zXuxCv9thWVzlxMX6 +7aNULFiGnbdH3c2UwR0Phf6YZeQALYq1VemOf8040UfiiXJydgPPTjbmvQoPcqDA +F9eACoFgJMmFztlRrVFB/8D+Z7oUmONPgqZ6xRQubfvLlGAOqIr6x6r99ZSsU6s9 +RhLzleDMkKaihimuzLcVN80W73T7EN5fSqzpMh6ZVYjX+xsFeO6DYCX6X4rtu887 +MH9Db9A+HyLLpkv/ZwIaFRmGHO7G5FcTBB22Y6Ow6G/v/d5hih5KcCNpOeQzL3Ks ++zhpFtquuddV6d5uFOU5bQkAysOqyECkVHzZzAgUNUSYqVj7bPGzTDNsSlv6QCrE +bnMayj0ON/OoNe1Ny7kiKsXqAbS0HGUADBWgV39ldEKrGkyIhfhBkYIdDpn51OyA +SqbI3v6VeH0C2liKf9fBqm1jTRFQgzWbfGzhwIE1SNkrHdxGFwUP5bLqz0z98tQW +fjBPFnA249IfDC3A+AobDcPbY05ttTbNbiDaA0KtlqgdCm1ZjnbNs8X2BAtBLEn0 +63kDHSIs0veddGBGy9R4I2jJyuBnuXRP4NiyhYLvmXGo94cxyPyxLlQNXwARAQAB +tCxOaWNvbMOhcyBPcnRlZ2EgRnJveXNhIDxuaWNvbGFzQG9ydGVnYXMub3JnPokC +VAQTAQgAPhYhBLU3SnhScYVo3tQOf5EHGp/x/Q9uBQJdbR1jAhsDBQkJZgGABQsJ +CAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJEJEHGp/x/Q9u1VwQAKiHMehB0zsMljTu +4y4c5TpQlvf9kNtn9eoCz6BmekS2I0SLJBQr16Tr0Fgg7glXSzODhgooIpLA6QUq +cqHeojGWSwXqnrm1paHvbXJoVwe5KRJUoAB5kJ/a9fdxG+3MipK+qn4PsVfKOX0O +IIcUpoBgQ8H5HRUKNn7tyTsfD5muvGaE2kor/S6HhWkrM95o8vsGL1VTSQ8eqtoY +itQuplO/eQQuTt3gbMdaQMV6AwHS1VCHrKnxkstJiYgQr5fK1+QrPiR9BdU+OhRX +SOAAZ8RzRlxF1nnot2UYGXG/pBpUrdXfmVo4tHeCnmkLtTbf8aA2GmxDb3GqV9lI +GLI4VP8WZvacKc8K8TiLGkiLDfGadDLXvHFiVdqAi2BZ97a8fxzXzQHsIg8PbKXL +8/qXh+tfHNEFPt4x+xnLRPoyOEmK2PqV3pww85kySRNDBo/+y98Dbd/prnsGKCVM +ZhaCzN3Rh+Bc2J/VZzcYtItaVBehWPxqiFgpMlHKj8JXexMUP9kk0xes3IVRgQW8 +ejCs4Y7/oN0PBNoGm3cNuMp46Dnjt9McHbNDzWutk+QjGZVHGNA++qtlMiOy85+K +6iJTGNGwaomgou1JFmSekiQM0Pkeqs9fN/zhHsrwSXO5qXGmQv4hBjwPAJa2tmcG +UPgpN3BZoN23qvCQqqF4fOVRnweEuQINBF1tHWMBEADMJ+GyyeTUC3GRohjm12nU +8Qwj+XO7H+wQYQxzAkCqg5KbmwYbXhUttL7Y8sLfYntgYXAzwRgUa3hc0sYfQ0Ja +UIGH9apvTevVSqrEkSyN4D9pW7+ff5pvbP5PgXp6gG2IHHLCeMixi7Fh4KrIANj3 +GdsNsxyH9PSIYMghXnB8AKogTOnHe+lji1Yziju2RJj05LXWC8CIrG3Rf243d596 +wibSYR4O19tjzF+zb8p3tmyV3sOmZBGs8Hp0KpKIzPapsGjo5qH93+bbHVNAj7FH +sLmTXjmFtCryXc5M7600a43Pcn6zqMZqKjadHtUSxZ8szpBi6rjADQdLvzrU3KC7 +3EVzLjZwpVffULXARtj+YxJvXSMN5O3rfWTj5bHTRr1LMFXXvGeTf5H4L7r45XIO +DqKheudaVqIkWDJAfWjkoxuF5PKISRJzJ3HwHypqhyh4g+yqX25YFXF1z8hBGo9b +Nuo1AK6RyewF+BT4aqo+0HbAI3iKRyZdFhqx4WhzFx9wn2isjpAM80LrWfxIp4wL +SXc2KYFIHzeHdrvM+izGPYnyKNsXdN6Jdt/1S4NICKPjRHKb89sZiivGWtu7WJJm +yuN3dmqDArAkZJn3aONPjTkRmp9yHJKuuFxEQTOUwhTWytpnCzDamK0QLmOxaQfk +wyGaAO3rEKSwSpDklDozlQARAQABiQI8BBgBCAAmFiEEtTdKeFJxhWje1A5/kQca +n/H9D24FAl1tHWMCGwwFCQlmAYAACgkQkQcan/H9D27aJg//WdcS9LwU6GwFJJ9G +SpaXfCtezlY1egFuRlKIoDXtmVgkFXhqFXCoGyQbg2YkFGlviyzjpetuU8DdSyxE +Ngp+8/jkL6pHxnnFmtQsnEPITPCg34rfQgslaM08dxwruUpNuwRnb5ziqFAoHadW +BZ4w21OZhQAY/YA5GyFBlhNsjSnxchpOW0qgKYfb8TPuQmMYBI4RLNIz3C6G+uBT +LQ0s/I+jQXgM737MGI/rJj0d6awNKuyjKyphKGN/tK8YXVEYBfCy3znhUiBCTBe7 +wj6zW1LTMmzFL/c54Y66p/EzLpAXvAcyLo8fWOMFAw4WiJQlKFaVXu9TOCUJaIIl +Gkzs63Vjx1uqmGY2D12f3OiFD67msx0WLm8wvSQaonk4DGWjYFtKmMP1PaE6vdTw +VugwAn7Xz+PJCZ5I8YaI/Q/TALvp0GEPdUFeon898O2l5z8x18wqbpcinIJjso4O +FCjoysEBuwkLUs8NESw/68IVTgxXGwVHy1DFgCuwKcC3Hix+2JOwg/yhkiDhrB/o +JAqTePCinCyOkl+0WXxpvpwEkInwPaxzCbefsNygN69R+kok+MXBPEeGhoM9I4yl +EeHBOAybMxbmDsyW/fuMZ+k/JKT6V4AQWtYoFCNuDYz/edFIuDypY0gmtSCsLss4 +FaNCfVMcpf2d/vJi5aKyqpO2u2w= +=lqBZ +-----END PGP PUBLIC KEY BLOCK----- diff --git a/pages/contact.cfg b/pages/contact.cfg new file mode 100644 index 0000000..640aeba --- /dev/null +++ b/pages/contact.cfg @@ -0,0 +1,6 @@ +filename = contact.html +title = Contact +description = Directory of mediums I can be contacted by, as well as a link to my PGP key. +keywords = email, pgp, irc, contact +created = 2020-11-08 +updated = 2020-11-08 diff --git a/pages/contact.html b/pages/contact.html new file mode 100644 index 0000000..df49cae --- /dev/null +++ b/pages/contact.html @@ -0,0 +1,30 @@ +

I am available by various means of online communication. If you are +going to send me an e-mail then please encrypt your messages by using +my public encryption key. If +you attach or send me a link to your public key I will make sure to +encrypt any and all replies.

+ +

Don't know how to encrypt e-mails? Don't worry! Just follow the FSF's +E-Mail +Self-Defense Guide and encryption will be as easy as clicking a few +buttons. If you use a web mail service (such as GMail or Yahoo!) you can +use Mailvelope +to encrypt your e-mails following their very simple instructions.

+ +

E-Mail

+

nicolas@ortegas.org - +Public PGP Key

+ +

IRC

+

Aliases: nortega, naortega

+ + diff --git a/pages/decentralized.cfg b/pages/decentralized.cfg new file mode 100644 index 0000000..5b1ba63 --- /dev/null +++ b/pages/decentralized.cfg @@ -0,0 +1,6 @@ +filename = decentralized.html +title = Decentralized +description = List of free software applications that use decentralized networks for client communication. +keywords = decentralization, code, free software, privacy +created = 2020-11-08 +updated = 2020-11-08 diff --git a/pages/decentralized.html b/pages/decentralized.html new file mode 100644 index 0000000..f0d8960 --- /dev/null +++ b/pages/decentralized.html @@ -0,0 +1,91 @@ +

This page is dedicated to creating a list of decentralized +applications as an alternative to popular centralized ones. What follows +are different types of online tools that we use day-to-day, a +centralized example, and (if existent) a decentralized alternative. If +you have anything to add to this list, please send me a message via any +means available on my contact page. One +requirement is that the technology not only be decentralized, but also + +free software. Some of these examples may be centralized but still +respecting your freedom, these will be marked with the prefix +"[free]".

+

E-Mail

+ +

Instant Communications

+
    +
  • Centralized: + +
  • +
  • Decentralized: + +
  • +
+

Internet Routing/DNS

+
    +
  • Centralized: +
      +
    • Google DNS
    • +
    • OpenDNS
    • +
    +
  • +
  • Decentralized: + +
  • +
+

Media Uploading

+
    +
  • Centralized: + +
  • +
  • Decentralized: + +
  • +
+

Social Media

+
    +
  • Centralized: +
      +
    • [non-free] Facebook
    • +
    • [non-free] Twitter
    • +
    • [non-free] Google+
    • +
    +
  • +
  • Decentralized: + +
  • +
diff --git a/pages/doublesgame.cfg b/pages/doublesgame.cfg new file mode 100644 index 0000000..8da5e30 --- /dev/null +++ b/pages/doublesgame.cfg @@ -0,0 +1,6 @@ +filename = doublesgame.html +title = DoublesGame +description = A game that you can program while waiting for your new distro to install. +keywords = programming, doubles, game +created = 2020-11-08 +updated = 2020-11-08 diff --git a/pages/doublesgame.html b/pages/doublesgame.html new file mode 100644 index 0000000..ea08413 --- /dev/null +++ b/pages/doublesgame.html @@ -0,0 +1,34 @@ +

DoublesGame is not a game that you download, install, and run, per +se. Rather, it is a game that you write yourself. The idea of the game +is that it is something to do while you're installing an OS and have +time to kill (because the installer is cleaning your hard drive for +encryption, or it's downloading updated packages, or anything else, +really, we know that shit takes forever). The idea of the game is that, +using your favorite editor provided by the image by default (typically +`vi' or `nano') you write using your favorite +language provided by the image by default (you are typically given a C +compiler, an assembler, a bash shell, and a Python interpreter, but if +your image provides something else then that's fair game) a game which +has the following characteristics:

+
    +
  • + Query the user in an infinite loop the answer to + `2^n', where `n' is a variable that + you continuously increment and starts at 1. +
  • +
  • + If the wrong answer is given the user will be asked to try + again. +
  • +
  • + If `0' is given as an answer the game exits (since + there are no doubles that equal 0). +
  • +
+

If you would like to add extra rules you may do so, in fact, it is +encouraged in order to make the game last longer.

+ +

This game will require that the user at least use conditionals, +loops, variables, and user I/O. There are some examples in multiple +languages in +this repository.

diff --git a/pages/dreaming-in-bytes.cfg b/pages/dreaming-in-bytes.cfg new file mode 100644 index 0000000..efeb3fb --- /dev/null +++ b/pages/dreaming-in-bytes.cfg @@ -0,0 +1,6 @@ +filename = dreaming-in-bytes.html +title = Dreaming in Bytes (2016) +description = Electronic album. +keywords = music, electronic +created = 2020-11-08 +updated = 2020-11-08 diff --git a/pages/dreaming-in-bytes.html b/pages/dreaming-in-bytes.html new file mode 100644 index 0000000..67df1ed --- /dev/null +++ b/pages/dreaming-in-bytes.html @@ -0,0 +1,41 @@ +Improv I album cover +

Track Listing

+ + + + + + + + + + + + + + + + + + + + + +
N.TitleAudio
018-BIT NIGHTMARE [00]ogg mp3
02Hello World [00]ogg mp3
03Late Night Runnaway [00]ogg mp3
+ +

Info

+

This is an electronic album, a little different from what I'm used to +making. I took a lot of inspiration from one of my favorite chiptune +artists, LukHash. +The songs in this album were all developed with +LMMS, and you can +download the project files as well as the album below. Any custom +samples that I may have used for the songs are included in the source +tar ball.

+ +

License: CC-BY-SA 4.0 International

+ +

+ Download [FLAC]
+ LMMS Project Files (src) +

diff --git a/pages/home.cfg b/pages/home.cfg new file mode 100644 index 0000000..8aef50b --- /dev/null +++ b/pages/home.cfg @@ -0,0 +1,4 @@ +filename = index.html +title = Home +created = 2020-11-07 +udpated = 2020-11-07 diff --git a/pages/home.html b/pages/home.html new file mode 100644 index 0000000..a97a04f --- /dev/null +++ b/pages/home.html @@ -0,0 +1,18 @@ +

Welcome to my personal website, The Music in Noise. This is +where I post a lot of my own personal projects, as well as keeping a +blog.

+ +

The content of my website normally consists of works relating to +programming, music, language learning, cooking, etc. I am fluent in +English and Spanish, having lived in the United States and Spain for +several years. In my free time I like to study languages. Up until now +I've studied Japanese, Esperanto, Portuguese, and most recently Latin. +I'm always looking for language partners, so if you know any of these +languages and/or are interested in learning them, feel free to send me +an e-mail; you can find my address on the Contact page.

+ +

At the moment I am a student at the University of Seville, Spain, +where I am studying Computer Engineering. I am also a graduate of the IB +Diploma Programme of 2015, which I undertook in St. Paul, Minnesota, +United States, with higher level exams in Economics, Spanish, and +English.

diff --git a/pages/ice-in-the-fall.cfg b/pages/ice-in-the-fall.cfg new file mode 100644 index 0000000..f795c3e --- /dev/null +++ b/pages/ice-in-the-fall.cfg @@ -0,0 +1,6 @@ +filename = ice-in-the-fall.html +title = Ice in the Fall (2014) +description = Instrumental guitar piece. +keywords = music, instrumental, guitar +created = 2020-11-08 +updated = 2020-11-08 diff --git a/pages/ice-in-the-fall.html b/pages/ice-in-the-fall.html new file mode 100644 index 0000000..b9ff51d --- /dev/null +++ b/pages/ice-in-the-fall.html @@ -0,0 +1,23 @@ +Ice in the Fall album cover +

Track Listing

+ + + + + + + + + + + +
N.TitleAudio
01Ice in the Fallogg mp3
+

Info

+

This album contains a single song, Ice in the Fall, which is +an instrumental piece. It was made just with an electric guitar, an amp, +and some pedals. Although the chords themselves are rather simple, the +effects make the music sound more interesting.

+ +

License: CC-BY-SA 4.0 International

+ +

Download [FLAC]

diff --git a/pages/improv-i.cfg b/pages/improv-i.cfg new file mode 100644 index 0000000..571904d --- /dev/null +++ b/pages/improv-i.cfg @@ -0,0 +1,6 @@ +filename = improv-i.html +title = Improv I (2013) +description = Improvised experimental album. +keywords = music, synth, experimental +created = 2020-11-08 +updated = 2020-11-08 diff --git a/pages/improv-i.html b/pages/improv-i.html new file mode 100644 index 0000000..9bee0fc --- /dev/null +++ b/pages/improv-i.html @@ -0,0 +1,33 @@ +Improv I album cover +

Track Listing

+ + + + + + + + + + + + + + + + + + + + +
N.TitleAudio
01Bells of Timeogg mp3
02Sounds of the Heartogg mp3
03Washing Machineogg mp3
+ +

Info

+

This is an experimental album I made with the +ZynAddSubFX Synthesizer. +The objective of the album was not to create quality music, but to play +around with the synthesizer and get used to it.

+ +

License: CC-BY-SA 4.0 International

+ +

Download [FLAC]

diff --git a/pages/music.cfg b/pages/music.cfg new file mode 100644 index 0000000..e2cce34 --- /dev/null +++ b/pages/music.cfg @@ -0,0 +1,6 @@ +filename = music.html +title = Music +description = Collection of music I have personally composed and produced. +keywords = music, rock, electronic, experimental +created = 2020-11-07 +updated = 2020-11-07 diff --git a/pages/music.html b/pages/music.html new file mode 100644 index 0000000..fb208f8 --- /dev/null +++ b/pages/music.html @@ -0,0 +1,27 @@ +

On this page you can find all my releases under the alias of The +Music in Noise. There's no real consistency in genre or style, it's +much more of a strange bazaar in which I publish whatever is influencing +me at the moment. Some of these albums are more elaborated and planned +while others are completely improvised.

+ +

You can also find my music on +Jamendo, +as well as on LBRY +@TheMusicInNoise. +I also upload some covers to my personal LBRY page +@nortega. +

+ +

Studio Albums

+ diff --git a/pages/projects.cfg b/pages/projects.cfg new file mode 100644 index 0000000..eeedee6 --- /dev/null +++ b/pages/projects.cfg @@ -0,0 +1,6 @@ +filename = projects.html +title = Projects +description = List of my various different projects, most of which are code-related. +keywords = programming, code, software, development +created = 2020-11-08 +updated = 2020-11-08 diff --git a/pages/projects.html b/pages/projects.html new file mode 100644 index 0000000..508e0f4 --- /dev/null +++ b/pages/projects.html @@ -0,0 +1,71 @@ +

This page contains a non-extensive list of both personal projects and +projects I have contributed to, many are software related, but others +are related to my music. Some of these projects are incomplete while +others are dead. Enjoy!

+ +

Music

+

I've been playing the guitar for many years now, and I've also had +time to play around with synthesizers and drum machines.

+ +

The Music in Noise

+

Yup, this website is named after my solo artist alias. This is an +ongoing project of mine in which I play with different styles and create +music. There's not really any consistency with the genre, it's really +just whatever I find entertaining at the moment.

+ +

LBRY Channel

+

I upload some covers and random guitar stuff to a LBRY channel I've +got. I've even made some acoustic covers of metal songs, like "Higher" +by Creed.

+ +

Software

+

I have been interested in coding and computers for a very long time, +having used GNU/Linux as my main operating system since I was 15. I know +plenty of programming languages, but my favorites are most definitely C +and C++. You can find more of my personal projects on +my GitLab.

+ +

BasicKernel

+

A basic kernel written for the x86 architecture. It's a small project +I'm doing to learn kernel development from the ground up, using the book +Writing a Simple Operating System from Scratch +as a guide.

+ +

Colonel

+

A personal kernel project that I've been working on, my goal being to +write a kernel and bootstrap a userland in order to be able to compile +projects for the OS.

+ +

Decentralized

+

A collection of different free software applications that use a +decentralized networking model to communicate between clients.

+ +

DMUX

+

This is a project I worked on for a year with +Brigham Keys (back +when it was still a C++ project). The aim was to create a 3D car derby +shooter game.

+ +

DoublesGame

+

This really isn't a program on its own, but rather a fun little +programming game you can play while waiting for your operating system to +finish installing.

+ +

Indivisible

+

This is a fun little program I wrote that generates prime numbers +using a parallelized computation algorithm, using +OpenMP +to parallelize the computations.

+ +

NeoComm

+

This is a small project I've been working on which aims at using DHT +networking to create a decentralized and anti-censorship alternative to +IRC.

+ +

Prism-Break

+

I contributed a few Spanish translations to this site, since I saw a +lot of it was still in English.

+ +

SpaceShipSim

+

An educational simulation on how an object behaves in a frictionless +environment such as that of space, using the Allegro5 libraries.

diff --git a/pages/summer.cfg b/pages/summer.cfg new file mode 100644 index 0000000..a62f9fb --- /dev/null +++ b/pages/summer.cfg @@ -0,0 +1,6 @@ +filename = summer.html +title = Summer (TBA) +description = Alternative rock album. +keywords = music, rock, alternative, guitar +created = 2020-11-08 +updated = 2020-11-08 diff --git a/pages/summer.html b/pages/summer.html new file mode 100644 index 0000000..e56620e --- /dev/null +++ b/pages/summer.html @@ -0,0 +1,80 @@ +Improv I album cover +

Track Listing

+

Side 1

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
N.TitleAudioEtc.
01Lazy Daysogg mp3lyrics
02Family Vacation
03Where Are You?ogg mp3lyrics
04Late Night Thoughtsdemo (ogg)lyrics
05Can You Remember Me?
06Linda's Open Doorsdemo (ogg)lyrics
+ +

Side 2

+ + + + + + + + + + + + + +
N.Title
01Lonely Avenue (Going Commando Cover)
02Brilliant White of a Distant Sun ([dK] Cover)
+ +

Info

+

+This is an album in progress. Since it's a more complex album that I +decided to put quite a bit of effort into, it will take longer to +finish. However, I can say that it will be a conceptual album with the +theme being summer (hence the title). I have many of the song ideas +written down, many of which were written from the summer of 2013 to +autumn of 2014. This album also will contain a second side made +available on this webpage composed of covers of some +free culture +songs.

+ +

So far the tools/software that have been used to record this album +have been Audacity, +QjackCtl, +Guitarix, +ZynAddSubFX, +and Hydrogen.

+ +

License: CC-BY-SA 4.0 International

diff --git a/style.css b/style.css new file mode 100644 index 0000000..f29b259 --- /dev/null +++ b/style.css @@ -0,0 +1,95 @@ +/* + * This is free and unencumbered software released into the public domain. + * + * Anyone is free to copy, modify, publish, use, compile, sell, or + * distribute this software, either in source code form or as a compiled + * binary, for any purpose, commercial or non-commercial, and by any + * means. + * + * In jurisdictions that recognize copyright laws, the author or authors + * of this software dedicate any and all copyright interest in the + * software to the public domain. We make this dedication for the benefit + * of the public at large and to the detriment of our heirs and + * successors. We intend this dedication to be an overt act of + * relinquishment in perpetuity of all present and future rights to this + * software under copyright law. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + * + * For more information, please refer to + */ + +body { + background-color: #fdf6e3; + color: #45575C; +} + +#main-table { + width: 100%; +} + +#main-table, #nav, #content { + border: 1px solid black; +} + +td { + vertical-align: top; + padding: 10px; +} + +header { + text-align: center; +} + +#nav { + width: 20%; +} + +#nav ul { + padding-left: 20px; +} + +ul { + margin-top: 5px; +} + +p { + font-size: 16px; +} + +a { + color: #185885; +} + +a:visited { + color: #9B225D; +} + +h3, h4 { + margin-bottom: 0px; + padding-bottom: 0px; +} + +#page-title { + text-align: center; +} + +#album-cover { + width: 300px; + display: block; + margin: 0 auto; +} + +.track-list td { + padding: 1px 10px; +} + +footer { + text-align: center; +} diff --git a/templates/page/footer.html b/templates/page/footer.html new file mode 100644 index 0000000..c92efd7 --- /dev/null +++ b/templates/page/footer.html @@ -0,0 +1,11 @@ +
+ + + diff --git a/templates/page/header.html b/templates/page/header.html new file mode 100644 index 0000000..04139c2 --- /dev/null +++ b/templates/page/header.html @@ -0,0 +1,52 @@ + + + + + + + + + + + ${title} - ${sitetitle} + + + + + +
+

The Music in Noise

+

"If there were one million families praying the Rosary every day, the entire world would be saved." - Pope Saint Pius X

+
+ + + +
diff --git a/templates/page/item.html b/templates/page/item.html new file mode 100644 index 0000000..5f73e0e --- /dev/null +++ b/templates/page/item.html @@ -0,0 +1,2 @@ +

${title}

+%{contentfile}