_This post will be update on the go due to exam period __ linux.com, a news side about linux and open source brought to us by linuxfoundation, has released its list for _The Best Linux Distros for 2017. Which places Elementary OS as the best linux desktop distribution.
However, surprisingly I disagree. The reason I disagree, is not that I am against Ubuntu3, which I do not like. The reason is that I think linux.com actually overlook a lot of distributions out there which are better suited for desktops. I will here present the three distributions which I see as the best desktop distributions and why, also I will argue why I see Fedora as overlooked.
OpenSUSE: This is a distribution which have had a lot of ups and downs, and I must I abandoned it, in its darkest days. But in the last couple of years, it has been given an infusion of new blood, which strive to make it a really, really good and have update the system and made it more stable, faster than I have ever seen before in a linux distribution. The system is extremely versatile and can be used for both enterprise and private usage, and for prior windows uses does the standard version come with KDE, so it is a very familiar experience. Which is actually the reason why I see it as overlooked, its turn around and familiarity.
Sabayon: This is a gentoo based distribution, which makes Gentoo approachable and it is extremely efficient, easy to use, and very resource light. Meaning that you as a user do not have to spend a lot of money on hardware. An advantage Sabayon has is that it provides almost all good desktop, Desktop Environment and Windows Managers. Additionally everything which working on Gentoo works on Sabayon ensuring continuous development.
Fedora: Fedora is a distribution which is heavily supported by Redhat and by such there is already offered a enterprise version of this distribution. But Fedora is close to bleeding edge and is update every 6 months, providing a stable and really awesome distribution.
So for a long time I have been trying out different ways to take notes for my books and writing character sheets. However no tool I have found actually does exactly what I want. The tools where either too complex or relied to heavily on muse interaction or the internet. The latter is a problem as I have a tendency to disable the internet when I write, to minimise the possible distractions during my process.
So what options do I have then. Well I have a text processing program such as Microsoft Word or LibreOffice Writer, or a note taking program such as OneNote. But and thing all these have in common is that they are uselessly heavy and have a strange workflow in my opinion. This is not saying that they are not excellent applications. So where should I then turn? Well Emacs of course it is my favourite editor and it can actually do a lot of the things I want, with a mode called Org or Organisation mode. But at the moment I do not have the time to learn a new mode (Christmas holly day is coming)… So what to do? Well it turns out that Org mode likes Markdown and so do I. Therefore I will start using it for my notes.
But why do I choose Markdown and not ReStructuredText (rst)? Well first of there is not a big difference and I just prefer the syntax of Markdown. However it is also to streamline the amount of formats I use and as I am already using Markdown for this blog, README files, university notes and so on. It just makes sense to go Markdown.
So now you know why, but what does this mean? It means that I will come with some blog post about how to use Markdown in Emacs, how to convert it pdf’s and latex and a few other things.
So as you might have noticed, the blog is in scrambles. There are a couple of reasons for this which I will cover in this blog post. I will also cover why I have not be blogging, but also what topic I will blog about in the near future and also a bit about what is going on in my life.
So let us get started
Scrambles and why
If you have followed this blog for a while you will noticed, that I have changed back to a more standard Jekyll theme (if you know Jekyll). This change was committed and worked as it should. However, I wrongly executed a commit all script in the blog root and by such a lot of draft post was published which I was working on. Therefore the blog is currently in scrambles, and it will take me a bit of time to edit and sort out the problems.
Why I have not been blogging and what to come
When I started at my Masters degree back in September, at lot of things change. Firstly the project group which I have been a part of for the past two and half years, split into atoms and I had to find a new group. Luckily I found that during the summer break, but it still have taken some adjustments and by such I have spend a lot of time on that.
Secondly, due to a (sorry Professor) hopeless course and style of lecturing, I have had to study an entire course based only on literature, instead of lectures and literature. Which is a completely new concept to me and it has consumed a lot of time.
Finally, due to different aspirations I have had during the summer break and start of the semester. I have been completed stressed out, all at my own account and fault. However, it have had me lash out at friends and comrades, resulting in me having to patch up a lot of things.
Those three factors have done such that I have been completely drained of energy and times. Hopefully I will become better at controlling myself and spend time on project I 100 percent care for and find less stressful.
What is going on with my life
I am still attending Aalborg University, just as a master student instead of a bachelor. I have also both chosen a topic and found a project for my 9th semester project and master thesis. Which I will begin in about a year. However, at the moment I am not at liberty to name the subject of either project nor thesis. I will state that it is about performance benchmarking and parallel programming. I have also found a supervisor to each project, again not at liberty to say who (yet). I will though state that the both will be done in collaboration with a company (guess which) and I might need a co-supervisor from another department at the university.
Topics to come
Here I will write a few topics I am going to write blog post about in the coming months
- Going Markdown
- Functional programming, why its a curse and a blessing
- Emacs, a welcome home
- Archetypes - A “class” of characters in my books universe
- The war and the fall that followed - Prelude to my book (a very shorted version of the back storry)
- Why I continue with Mac
- Goodbye Manjaro, hello again Fedora
- MacBrew - A new open source project
- irisPause - The saga continues
- More book stuff
I have developed software libraries for some years now and part of that have been learning to designing API’s for idiots. What I mean with that is; People with gladly use a software library without reading the full documentation for it, and then when do something which the API was never intend for. They complain that it is not acting as it is supposed to. One of the things I have experienced are people whom either expect and object to change or not change if it is parsed to a function or procedure. Therefore if either happens, they think the library is broken and needs to be fixed. This often happens when a user have not read the documentation for a function they are using. I found that a way to actually avoid this is by applying a restriction on the input given to a function. This is the restriction of saying this will not change or this is constant. Effectively making a object immutable, for a given function or and entire application.
So what does this mean? Well before we get started let me explain the concept of constant. I will base
this in C++ but it can be applied in C#, Java and such, but it might need the application of other keywords.
For instance in C# it is
readonly. Now back to C++, in C++ we have two usages of constant I will explain
but both using the keyword ‘const’. One is the application of making a variable immutable by applying the
when we declare the variable.
const int x = 10;
Let us break down, we have a integer x, x is 10 and it is constant 10. What this means is that x will ALWAYS be 10 and it cannot be changed. Therefore if yourself or another developer uses x, you can always be certain that it is 10. This is very neat as there will be no confusion, when testing and function and its results. It also ensures that there are no discussion when you have to determine the value of variable.
The second usage of ´const´ is function based immutability. Just to emphasis I will show a function signature;
float avg(const int data, const int size);
What we have is the function signature for method calculating the average of integer values in an array. As you can see, I have applied the ‘const’ keyword to both data and size. This is to tell the user of the function that in the function ´avg´ we will never change either data nor size. Emphasising to the user that if he/she uses this function, the content of data and size will not change and are in good hands.
There is a third option of using
const in C++, but I have never actively used it myself, but it is used to
explicitly tell that a function cannot change member variables of a class and are only applicable when doing object
So I will start at university again next week and by such my summer is over and so it is time for me to decide between Emacs and Atom.
First I would like to remind you why I decided to try out other editors. I started trying others editors due to RSI problems and I suspect one of the reasons for my RSI issues was Emacs and it strange key bindings. This let to that I wanted to try out other editors.
I started out with trying out both Spacemacs and Atom. Where I found Spacemacs impossible to setup at least for me and therefore I ended to only focused on Atom. Which I have already written a blog post about this topic, so see that please.
So what is the result and why is the result as is? Well I have actually decided on something I usually do not do. I have decided to continue to use both Atom and Emacs.
I normally never use two tools for the same thing, but I simply do not think I have spend enough time with Atom yet to dismiss, but I still prefer Emacs (surprise). But do really like Atom, and would like to get to know it even more. Because I think with a couple of months additional usage of Atom, it might actually become my preferred editor (if I can get the damn British dictionary to work).
That is actually basically that. The only difference I will be using Atom only at work and for my study development work. While I will continue using Emacs for writing my documents and books.
subscribe via RSS