Among available instant messengers most have or are using an open source protocol which was created at the end of the last century: XMPP (also known as its previous name "Jabber"). It is an extensible protocol (the "X" of XMPP stands for "eXtensible") and generally softwares using it add their own custom pieces on top of it. Indeed, Google Talk was using XMPP and other messengers like Apple's iChat, Facebook Messenger and Skype have or have had integrations with XMPP. A security report from Cisco Talos shows that the Zoom videoconferencing software uses XMPP too (however, the security breach mentioned is due to Zoom's custom implementation and not due to XMPP on its own). Concerning WhatsApp, it seems it is using FunXMPP which looks like a lightened version of XMPP.
XMPP is thus a widespread protocol, but most people have never heard of it and only used it through interfaces integrated onto other proprietary ecosystems. This is kind of a frustrating idea for people who would like to promote the use of secure and free software ("free as in freedom") services. Commercial XMPP services are broadly used, but not the open source ones.
I'm not an XMPP expert. I could only install some XMPP clients a few years ago to look at it. Yet, I have never got the opportunity to use it daily because nobody was ready to install a XMPP client. We have to face the fact that it is easier to tell everybody to go on Facebook Messenger to communicate instead of telling them to create an account on jabberfr.org or another server, then to install a compatible XMPP client for its platform: Gajim, Psi or Dino for GNU/Linux, Psi also for Windows, BeagleIM for MacOS, Conversations for Android and ChatSecure for iOS (this is not an exhaustive list). Even though, it is not sure you will well communicate because each client and each server does not necessarily implement the same XEP (XEP is the name of the possible extensions of the XMPP protocol). That implies that sharing files doesn't always work, nor videoconferencing, etc. In short, many choices are possible, but it is not clear for somebody who just want to communicate with other people without having a technical background.
I discovered Snikket a few days ago and I let me hope that this project is on the right track. Snikket is a project created by the developers of Prosody which is a XMPP server. So the people behind Snikket are already experienced with XMPP but it doesn't stop here. As a matter of fact it is not just another XMPP client, but more a standardization, or a vertical integration, of already existing XMPP services. In concrete terms, to communicate with Snikket messenger, you need to install a Snikket server or join an already existing one, then install the Snikket client on your smartphone. The same name is used for the mobile app and the server app. This project doesn't reinvent the wheel because the Snikket client is in fact just the Conversations app which color has been changed from green to yellow, and the server is Prosody combined with Let's Encrypt.
I have the feeling that the people behind the Snikket project have at least understood partly XMPP's shortcomings in its adoption by the general public. The project tries to simplify user's experience by explaining them clearly its functioning and by giving one simple answer to which app to install. By offering only one app per platform you don't need to think much which one to choose and the interactions between all the different apps work without having to configure anything.
Another point: Snikket works by invitation. It means it is required that somebody gives us an invitation to join the network, or else you need to install your own server. I think I can see several reasons for this choice. First of all, it helps system administrators to manage progressively the traffic of users on their servers. It can avoid service outage due to an overload. Secondly, it allows to have one Snikket server per family or circle of friends. As soon as they register, users of the service can communicate with other users they know (members of a server automatically see in their contact list other members of the same server). Finally, it allows to limit the size of servers. The whole point of the project is to facilitate servers creation. In that respect it is possible to create its own server when there is no other to join. It could help to increase the number of Snikket servers and to really have a quite homogeneous decentralized network.
It is really easy to setup a Snikket server. I could try it by myself and I had a fully operational messaging service in 30 minutes.
Here again a clear choice has been done. The installation is done with Docker and Docker-compose. To sum up, you need to:
That's all.
I find that a good job has been done to make the installation of the messaging server easy. The next level could be to directly offer a virtual image to be run in a "cloud" hosting provider with only some domain name to specify. It could also be possible to offer an application for Synology's NAS and also an application for the Yunohost platform. How far is it possible to facilitate a server's installation? The ideal would be to spread system administration skills.
Once the Snikket server installed, you need to run a command on the server to generate an invitation and to share the link with the person who wishes to join the network. This page shows the instructions to install the mobile application and to join the Snikket network. Maybe there could be still some improvements, but it is already a great step in terms of onboarding.
A clarification: Snikket's application is today only available on Android, but it is possible to use other XMPP app for other platforms. I could test ChatSecure on an iOS device and it worked with the Snikket server. However the registration is a little bit different. You first need to install the XMPP app on the smartphone, then follow the invitation link in the browser and once on the invitation page, click on "register an account manually" to create your XMPP account on the web interface. Afterwards you can enter your credentials into the XMPP app to connect.
There are already many instant messengers and all suffer or benefit of the network effect. So it is never obvious to foresee the success of a messenger.
In Snikket's case, I think it is a good initiative for spreading the XMPP protocol. The initiators, I think, are on the right track for it. In comparison with Matrix, which is also an open source messenger that I follow closely, I think the reference implementation Synapse is too complex to install and too resource-consuming. As for the web and mobile interface of Riot, I find it too heavy and not reactive enough. Even if I use today more Riot than XMPP, I prefer not to host a Matrix server while I feel capable to host one in XMPP.
For the future, I hope that Snikket's team will manage to keep a rythm (despite the current context due to Covid-19) and that it will manage to create a move. Snikket has been publicly announced during the FOSDEM in February and is still considered in alpha stage. I look forward to Snikket reaching maturity.
Check out Snikket.
]]>I used to recharge my phone every two days because I had a reasonable use of it. Then one day I configured and replaced my old VPN with a new one and I suspect that it is since that day that my battery has lost in endurance forcing me to recharge my phone every day. I'm not sure if this is the root cause, but it's not the subject of this article.
So when I noticed that the battery consumption was unreasonable despite using my phone very little, I turned on the power-saving mode. The advantage of this mode compared to the airplane mode is that you can continue to receive calls and SMS messages. You can also continue to surf the Internet, but only the active application can access it. And I reload my phone every three days now.
By having this mode activated, my mailbox doesn't update itself anymore and I have a more sober use of my smartphone. I disable the power saving mode alone to benefit from the 4G connection the time to recover emails then I reactivate it immediately. Now on weekdays I check my phone only during breaks. Once in the morning before going to work, once during lunch break, then once before going back to work. That's it.
I am more and more detached from my phone but I can still be contacted in case of an emergency. People who want to join me can still send me a text message of which I will be notified or call me directly.
With the Qowala project we are working on regaining control over our 2.0 lives, that is, our use of social networks and digital devices. These tools bring us a lot of things and sometimes too much. In the case of the phone, we are constantly being interrupted and we don't have any more time to ourselves when all it takes is simple gestures and good habits to find a life balance.
If you consult your phone often, for example for social networks, if you consult your phone even in your bed before going to sleep, I advise you to to take back control with your smartphone, which can be useful but also time-consuming. A simple rule: no phone in the room and the charger outside the room too. You'll sleep better.
]]>21/02/2018 at 21h22 Update : the plugin has finally been published on the Chrome Store and I precised the members of the Qowala team.
This browser extension allows you to track the amount of time you spend per day on social networks and to see the tracking over a week. It is already configured for the most popular social networks but you can also add websites yourself to follow, for example your Mastodon instance (as we can't guess the domain name of your instance) or even, you can follow websites that are not social media because there is technically no difference in the way we count the time spent.
We made this plugin as part of the Qowala project (with Adrien Touminet and Antoine Beauvillain) to make people aware of the time they spend on social networks. Indeed, during the development of our Qowala service, we realized that in order for people to see a usefulness in controlling their social life 2.0 (the mission of the Qowala project), it is first necessary them to be aware of their use of social networks and that they want to change that. In short, lots of work needs to be done to raise awareness.
We wanted to use the plugin to accompany a communication campaign with videos about our use of social networks. This means explaining that we can spend far too much time on these networks and lose productivity, that they can reduce the quality of our interactions with those around us, that they can misuse our personal data, etc.. However, we don't have enough skills to run this campaign, so we only have this plugin today.
The plugin has been available for several months already on Firefox and is technically compatible on Chrome too (being a WebExtension), but it is necessary to load it manually because we didn't want to create an account on the Chrome Store. so you can also find it on the Chrome Store.
The plugin is of course open source (more precisely, free software under the French CeCILL license) like the whole Qowala project and its source code is available on Github.
The development of the plugin was a good experience especially because Baptiste Gelez contributed a lot to the point that today almost all the plugin code has been rewritten by him. Thanks to him for his invaluable help!
]]>"Zero to Maker" describes how the author discovered the Maker Universe and how he became a Maker himself. The difference between a Maker and a hacker is the same as between Open Source and Libre software: minus the politics. I appreciated this book because his author dealed with several subjects from learning and not giving up to how all those collaborative initiatives can help science and to create new kinds of companies. The author's message is that it has never been as easy as today to create new things.
]]>[...] be thought of as a “just-in-time” educational model, teaching on demand, rather than the more traditional “just-in-case” model that covers a curriculum fixed in advance in the hopes that it will include something that will later be useful (p.21)
When I asked Joel about his business, he couldn’t stop talking about how valuable this environment has been to his development. As soon as he opened up a physical store and showroom, his business took off. He was learning from his audience: what they liked, where and how they were using his knives, and how much they would pay. It was more than a store; it was a catalyst for building his community (p.22)
Have we drifted so far away from the things we use that we are completely unable to re-create the simple objects that are ubiquitous in our everyday life? (p.25)
Even after he scaled down his goal to re-creating only 5 of the nearly 100 materials, Thwaites still had an enormous challenge on his hands. He had no idea where to get the materials, or even where to start looking (p.26)
The project was a huge success in proving the complex interdependency of our world. Thwaites discovered that the novelty of Do-It-Yourself, or DIY, is misunderstood—or as he phrased it, “The point at which it stopped being possible for us to make the things that surround us is long past. (p.27)
But making, as I discovered early on, was about the art of finding other people—seeking out teachers, creating and joining like-minded groups, collaborating with strangers—and co-creating together. As long as you have an initiative to get started, it quickly evolves to Do-It-Together, or DIT. (p.27)
We’ve also discovered, contrary to popular belief, that we can build a profitable business with this open model (p.40)
The group has collaborated to create a number of different autonomous flying devices, including the ArduPlane and the ArduCopter autopilots. In addition, Chris has spun out a company, 3D Robotics (p.42)
[...] chances are there’s someone out there with the advice you need. All it takes is a little Internet research, a thoughtful email, and a little bit of audacity (p.45)
[...] the more we share, the more people share with us, and the better our project becomes (p.57)
We’ve worked hard at sharing, and the better we’ve gotten, the more help we’ve received. (p.57)
The builders were given sets of IKEA furniture to assemble, whereas the non-builders were given completed sets that they could inspect. Later, they were asked to bid on their furniture. Not surprisingly, the builders tended to bid much more, an average of 63 percent higher (p.70)
And again, they found the builders valued their own creations five times more than those of others! (p.70)
The team ran another variation of the experiment with LEGO kits, but this time had the builders and non-builders disassemble their kits after completion. They found that once the kits were taken apart, the builders and non-builders valued them equally (p.70)
Buying = Thing Making = Thing + Learning + Story (p.71)
In my experience, unfinished or unsuccessful projects still hold a lot of value because the learning and story still accompany the process: Buying (Fail) = Crappy Thing Making (Fail) = Crappy Thing + Learning + Story (p.72)
“It took nine months, involved traveling 1,900 miles to some of the most remote places in the United Kingdom, and cost me £1,187.54 ($1,837.36). This is clearly a lot of time, effort, and money expended for just an electric toaster that didn’t work… an object that Argos sells for just £3.94 ($6.10). (p.72)
I still refer back to the book that guided the course curriculum, Rapid Viz, by Kurt Hanks and Larry Belliston (Cengage Learning, 2006), and block off hours of the week to work on my sketching (p.73)
But before I gave in to my weakest consumer instincts, I figured I’d try to fix it. At the very least, I’d take it apart to see how it worked. (p.75)
Market forces, like low prices and convenience, have created an arms race for product unfixability (p.76)
It is based on the idea that “If you can’t open it, you don’t own it (p.76)
This turns out to be great news for all of us because Gene decided to offer the software to other tool-lending libraries to use. The service is currently in place at the Vancouver Tool Library, with others planning to adopt it soon. You can learn more about the specifics on their website, localtools.org (p.90)
Not that I totally disagree with Rogers’s and Moore’s analysis of technological innovation, I just think it only tells half the story; it focuses solely on the rate of adoption, ignoring both the nature of use and the rate of “un-adoption.” (p.109)
In the real world, adoption can hardly ever be explained by a simple bell curve. Tools and technologies are continually replaced. The reasons are endless: shiny and newer, cost barriers, unforeseen market shocks, supply issues, and so forth. (p.109)
Goods made by passionate consumers-turned-entrepreneurs tend to radiate a quality that displays craftsmanship rather than mass-manufactured efficiency (p.114)
In the past few years, dozens of new companies and products, like Pix4D and OpenDroneMap, have sprung up to capture this interest and find economic application. (p.123)
We’re trying to maximize our Return on Adventure; we wanted the project to add something to our lives and the lives of everyone in the OpenROV community. The strategy has paid off. Of course, we’re leaving a lot of money on the table by selling the kits at the lowest price possible, but we’d rather more people have access to the ROVs (p.140)
It’s the new American Dream: a person has a wild and creative idea, prototypes it until he or she gets it right, throws the project up on Kickstarter, makes gobs of money, and starts a new business. On the surface, that’s easy to digest. It’s the story all the blogs and magazines want you to believe. However, for new makers, this over-simplistic idea can be dangerous (p.141)
[...] have come from people or teams that made something that they themselves actually wanted (p.143)
With Kickstarter projects, I think the natural tendency for creators is to spend too much time thinking about the pitch and not enough time thinking about the audience. Not that the pitch isn’t important, but more time should be spent thinking about the audience (p.148)
But what was more interesting to me was the rallying of the TechShop community around Adam’s success, with numerous other members chipping in to help with various steps in the process. (p.154)
After seeing a flyer that Adam posted offering hourly work and seeing the growing work area that the Coin Cube was taking up, he decided to join the fun. During that month, he worked over 30 hours for Adam. (p.155)
For a software company, going from a thousand users to a million is a matter of server space and code. For a hardware company, it’s an entirely different process and supply chain. (p.160)
If you look behind the curtain at the fastest-growing companies in the maker movement, you’ll likely find a writer or media person behind it. (p.167)
Driven by convenience and a glut of consumable entertainment, the DIY ethos was slowly replaced by DIFM (Do-It-For-Me) (p.178)
Great innovations and inventions were almost always correlated with a childhood that had access to tools and making experiences (p.179)
Of course, that all sounds dangerous, and it actually is! But Gever found that danger could be a tool. He theorized that, through controlled and careful experiments with danger, kids could learn the true value of safety as well as develop the creative confidence they needed to succeed on future projects (p.181)
The default behavior is to stop working when things get hard. But at a young enough age, you can teach them that working hard is fun (p.182)
Children whose parents gave them tools to build with, or who involved their kids in home repairs, were the same children who had no fear of failure. (p.182)
All of the learning and tinkering she was doing at Crash Space (and even at home) wasn’t suited for children and, in many cases, wasn’t even a safe environment for them (p.183)
My generation grew up with Saturday morning cartoons. My kids will grow up with Saturday morning making (p.187)
Astronomy and ornithology both have a long track record of including the work of nonprofessionals in their research. In both cases, the formula is simple: Low-Cost Tools + Open Standards + Connected Enthusiasm (p.194)
As Timothy Ferris wrote in Seeing in the Dark (Simon & Schuster, 2002), it is these low-cost tools combined with the networking enabled by the Internet that has fueled the renewed momentum for amateur astronomy (p.194)
The culture that emerges around these groups has always been the critical glue for turning interest into networked science and discovery (p.197)
Collectively, the group knows more than any one individual, and the Internet enables this to happen at scale (p.197)
For too long, science has been isolated in the ivory towers of academic institutions, accessible only to a few. This is a new way forward that invites everyone to explore, get involved, and take responsibility—each of us a critical node in the new planetary nervous system (p.198)
Not only are the tools allowing scientists to do their jobs at lower cost, they’re changing the audience completely and making it so anyone can ask the questions. (p.200)
frugal science toolset (p.200)
Again, as with the Foldscope, he recognized the limitations of using expensive medical diagnostic equipment in developing country settings, this time seeing an expensive centrifuge machine being used as a doorstop in Uganda because there was no electricity to run it (p.201)
That organized enthusiasm usually takes the form of a “hackathon” or “makeathon,” where a group of people form teams and work diligently for a weekend-long blitz of ideas and hacks (p.202)
Everyone coming together for that weekend and working in the same direction showed them what was possible when they worked together. They discovered more than tools—they found each other (p.203)
Make for the Planet (makefortheplanet.com) The Smithsonian put on event called the Earth Optimism Summit. The goal of the event was—instead of focusing on all the challenges and threats to the natural world, ecosystems, and species—to focus on the solutions. (p.203)
Tikkun Olam Makers (tomglobal.org) Tikkun olam is a Hebrew phrase that means “healing the world.” Tikkun Olam Makers is an Israeli startup focused on using the creative power of makers to solve problems for people with disabilities (p.204)
It was exactly that optimistic ignorance that put us in a position to succeed (p.206)
Instead of hiding behind what we didn’t know, we flaunted our ignorance (p.207)
(Eventually, many of the early OpenROV contributors became employees of the company (p.207)
Either way, we’ll have an interesting story to tell, and at the end of the day, I think that’s what we’re all looking for: a better story to tell. A narrative with more meaning, more excitement, and more agency (p.208)
First, you need to know my passed usage of readers. It is the first time that I own a reader, but I already lent one of the first Amazon Kindle during several months. So, beside this experience, I'm writing here as someone who doesn't know very much about the subject and only had a basic usage of a Kindle.
The reader is pretty pleasant to use. Its small size and light weight allows to store it easily and hold during a long time without getting tired. About the aesthetic, I don't find it very pretty, but not awful as well.
The screen definition is quite good, it is in its name (Muse HD), but I cannot say if it is really different comparing to other readers.
One thing I would like to point out about the hardware are the buttons to turn pages. The Amazon Kindle offered triggers which were nicer to use while the Bookeen has only simple buttons that you need to press quite a little. But is not really uncomfortable.
I was interested into a reader for the following reasons:
So I will describe below the way I use the e-reader, but you need to understand everything is not due to the reader itself. They are cases where I use the reader and if some points may be painful, it is not necessarily because of the reader.
The e-reader is quite good for this usage: I read while in the subway, but also in bed because the tiny format is very practical. You can hold it the arms stretched while lying down in bed without getting tired. Also, even when they are a lot of people in the transport, the small size allows you to continue to read. In comparison with big books I can read, I could do nothing when I was squeezed in the transport.
I can store a lot of books in the e-reader even though I don't have much yet, maybe 10 in addition to those given by Bookeen by default. Indeed, it is very convenient to read on the device, but I still like to have real books, newspapers and magazines : some may have special graphics with non-reproducible colors, some books may be like artworks with a well designed cover and simply I like to possess books that I have read and for which I may have some kind of attachment. So, having the e-reader allows me to save space in my library, but it is still filling up slowly. I still continue to buy and own physical books.
I often see free PDF and EPUB or at a free price (especially in the free software world) and which are not physically available. As I don't like to read long texts on a computer screen, having an e-reader is convenient in order to read comfortably. When the content is in Epub, there is no problem. However, when it is in PDF, the layout is often too small thus not easy to read.
Concerning Web content, I have not found a simple solution to read website's articles. Genma suggests a system with Wallabag and a Python script to load article in the e-reader, but it's too much hacking for my liking and when I think about it, the e-reader doesn't correspond to my way of reading news. I usually read my RSS feeds every morning on my computer and I share the interesting articles on several social networks according to the people it might interest. In order to do the same with the e-reader, I would need to have the possibility to share to the networks with it (taking into account that the device only has Wifi, but no 4G) and also have a good display for Web articles because the latter don't have a classical layout like simple books (it is even worse when talking about an Open Source project on Github).
Finally, my needs were partially answered for some content we can find on the Web, but not all.
As I'm working on a report and I need to read quite an amount of texts, the e-reader can be very convenient to easily annotate span of text. The Cybook allows to either hover a text or annotate a text, but there is a small issue with the selection tool. I didn't find a way to select text which is across several pages, I could bypass the issue by changing the level of zoom, but that is really not practical.
After having annotate texts, I can export them into .epub.annot,
.csvand
.txt` and retrieve them by connecting the e-reader to my computer through USB. However, I don't know what to do with it. In terms of usage, I would have liked to import them into a service like Diigo on which I store all the articles for my report, but I didn't find in Diigo how to import annotations. In fact, it seems that even for other e-readers, there is no good solution to reuse annotations in other tools.
Regarding Wallabag, it would be interesting that they develop better annotation and collaboration functionalities in order to approach services likes Diigo and Delicious. With the integration of Wallabag in the Booken e-reader, I would be able to synchronize my annotations and share them directly with other people.
In conclusion, the e-reader is good in terms of hardware and does what we expect it to do, but with no bonus. As e-reader exist since quite some time, I thought they were going to have more advanced features like a Wallabag integration and a better annotation management. So yes, the dictionary on-board is very convenient as it allows me to rapidly get the meaning of an unknown work. However, it may be one of the only added value in comparison to a simple book.
Yet there is a great potential. I'm seeing the e-reader as a productivity tool allowing to read, process and share text. It is the only device on which reading long texts is convenient.
A part of Bookeen's e-reader's software is under GPL license. If its technical team is too small, maybe Bookeen may do a good move by making the device more "hackable" in order to let the community add new features and have more often updates.
Anyway, my article may seem rude because the Bookeen Cybook Muse HD is very nice, but I'm quite frustrated it is not better exploited.
PS: After having published the French version of my article, Bookeen had answered several points on Twitter. I will not translate everything to English, but in short Bookeen is working on a new UI which will then allow to integrate Wallabag. That's why there a not many updates for the moment and Wallabag is still not available.
]]>It means to host services like emails, your website or a RSS feed aggregator on a computer at home. I better suggest to host your own service on a server hosted by a professionnal. We could call that self-management instead of self-hosting as it is not technically hosted at your home, but there is not really a word for it from what I know. Indeed, managing your own services hosted by a professionnal is already something difficult to do. If you want to host the services at home, you will then have even more constraints.
There are three principal categories:
Each category has his own pros and cons. Higher the level it is (in our case the SaaS), easier it is to install, but it's often more expensive and you have less control on the way it works. Lower the level it is (in our case the IaaS), more you will master the way it works, it is often cheaper, but it also more difficult to manage and it takes time.
We can speak about self-hosting when using a PaaS or lower, because you can choose wich software to install. If you choose the software we can admit that you master the way of operating and therefore you have to take the responsibility. It is however more complicated if we go into details.
If we look the three levels of cloud computing I described above, we can say that hosting services at home is even a lower level than IaaS, because you have to manage the hardware in addition.
The advantage of self-hosting at home is that you can control absolutely all the working of your services whereas in the case of a hosting provider you delegate the hardware and/or the software management (according to if you chose IaaS or PaaS) to avoid to have to do it yourself.
Summing up with the Wordpress example:
I begin with the drawbacks in order to finish my blog post with more positives things like the advantages and all the possible solutions. I will first list all the issues with self-hosting, then I will continue with those that add when you choose to self-host at home:
If you want to host the services on your own server at home, you have at least three more constraints to take into consideration:
Now that I have listed all the drawbacks, here are the advantages:
Here are some solutions to make the disadvantages less an issue.
Self-hosting is often recommended in the Free Software and Open Source communities in order to take back control on your personal data. However, it is easy to say, but difficult to put into practice as it requires quite some technical skills.
Today, self-hosting is still mostly done by people who knows Computer Science, but it is also difficult to maintain the services on a day-to-day basis. We often omit the maintenance cost. It means that whatever each one skills, maintaining services requires time, and according to each one priorities, this time may not be available.
With this blog post, I wanted to show objectively to the advanced users that self-hosting is on a good way, but it's still not that great. Initiatives like Cozy Cloud and Yunohost are helping a lot, but it still limited to people who knows to use the command-line. So, we have to continue to democratizate these tools.
There are especially two subjects for which there is still no good solution: data backup and server security. Encouraging amateurs to self-host without training may increase the risk for them to see their data lost or their server compromised by a pirate. It can be argued that these issues doesn't concern only self-hosting, but you have to admit that services like Gmail and Dropbox are quite good to ensure their users don't have any problem and to remove a burden.
First of all, in order to make self-hosting more accessible, we can encourage initiatives like Indie Web, Yunohost, Cozy Cloud and "Dégooglisons Internet" (in French). Next, there are today great tools (like Docker and Ansible) to enlight services management. We should use them and improve our skills in order to:
Doing this will allow people to have a bigger choice than only the GAFAM (Google Apple Facebook Amazon Microsoft) to use Internet services and to host their data. And for the advanced users it will be less time-consuming and less complicated to self-host.
One tip for those who want to self host their own services: gather yourself with friends or pay an association like the CHATONS that you trust, because it will be easier for you to manage (and time is money). If you are several to manage the services you can share the tasks and do the work on a rotating basis.
Finally, what I'm writing here is exactly what Framasoft is doing by publicly hosting services accessible to everyone, explaining how to self-host ourselves and encouraging associations to offer services themselves. Concerning myself, I will try to help by continuing to write articles about this subject that I hope will help you to better self host you own services.
]]>elementaryOS was a great Linux distribution for me, it was the one which made me stay. Before, I had tried Mandriva, Kubuntu, Ubuntu and Xubuntu but none of them made me feel comfortable with their interface and I always switched back to Windows. So, elementaryOS is really important to me as it was the first Linux distribution I used on a daily basis and during several months. However, I had some issues with elementaryOS so I decided to switch to Solus.
Among the issues I had with elementaryOS Freya was the lack of reactivity from the team concerning issues. For example, when I dragged and dropped an icon, the mouse pointer had a glitch which is quite annoying (I'm talking about this issue). And as you can read on the issue, even though you can maybe fix it manually, the bug is still here. Another issue which is more an overall impression is that basic applications are quite buggy. I'm talking about the email application (previously Geary) and the File manager which can crash at any moment. So, I can be tolerant of some things, but I can't allow that after months this kind of stability issues are not fixed.
To be precise, I used elementaryOS Luna and Freya. I did not try the latest Loki version because as it is Ubuntu-based, you need to reinstall the computer to have a clean upgrade. And as Freya is based on Ubuntu 14.04, the support for my hardware had ended. All these reasons made me reinstall my computer with a clean Solus installation instead of elementaryOS.
When I first got to know Solus, about one and a half years ago under the name "Evolve OS", I didn't think this Linux distribution would survive. Imagine: one guy alone was building a Linux distribution and its desktop environment from scratch. That's totally insane. However, we can now see that the main developer isn't alone anymore and that a community is slowly getting up. I have to precise some things: Solus is not totally made from scratch. In fact, the developers intelligently reused some components. For example the eopkg
package manager (which will become sol
) is a fork of the PiSi Package Manager. Also, the desktop environment is integrated with GNOME which allows to benefit of all the community work of GNOME.
The big advantage of Solus is the same as for MacOS: integration. As everything is integrated with the project, each element of the distribution behaves well with the other applications. I'm using GNOME on another computer, but it's on Solus that I could say for the first time that the LibreOffice interface is quite "pretty" (however, that's subjective).
It also means that for a newbie, everything works out-of-the-box. Yes, even Nvidia graphic cards and later on the Optimus technology for laptops. The Solus team is doing a great work on integrating and simplifying the use of graphic cards other than Intel with their Linux Driver Management. I really think Solus is easier to use than any other GNU/Linux distribution and Windows. Even for me, I was glad to see during the installation that I could encrypt my hard disk with LVM by simply checking a checkbox (since Solus 1.2.1). That's awesome!
Concerning the project management, I love how Ikey Doherty, the lead developer, puts energy into his project. I once had an issue for logging in Solus's forum so I went to Solus's IRC channel and some minutes later Ikey resolved my issue. Also, Joshua Strobi does a great job of communicating about the project. Every week / two weeks he writes a blog post detailing all the news about the project. Also, you need to know that if some application is not available on Solus, if you ask for it on the forum you are very likely to see it in the software center one or two days later.
So, Solus' maintainers are incredibly reactive!
As for everything, nothing is perfect. For example the classic Alt-Tab shortcut for switching between windows is not very intelligent. Usually, the first window you get is the last one on which you were, but currently it is just browses all windows in the order. Also, the Alt-Shift-Tab shortcut for doing the same in the other direction doesn't work for me.
I think it's currently the worst issue I'm having so it's not so bad. I have to point out that this issue is known by the team and they have it on their Todo list for Budgie.
Concerning a more overall experience, I think Budgie's interface could be improved. Some choices made for Raven, the right-panel of Budgie are not very ergonomic according to me. For example, the button to open Raven looks too much like an "Exit" button. Even though I understand that you can interpret this icon as "opening sidebar", we users are used to see this kind of icon to exit. Another issue is the "Power-off" button on Raven which in fact can only log out the user. If you wish to shutdown the computer, you have to click on the "Power-off" button located in the notification center. Well, could be better.
As an overall, I'm very satisfied about Solus and how the project is being led. Comparing to elementaryOS, Solus chose to master the foundations of the operating system by making it from scratch and I'm seeing it like a success. About the above cons I pointed out, I'm completely optimistic that the team will fix these issues and enhance the user interface.
With all the hard work of Solus' team, I think they manage to remove barriers for newcomers and newbies to try Linux by making it easier to install and use than most operating systems. So in some way, Solus solves Linux's general issue of not being enough accessible to the public.
Thank you Solus's team!
]]>I went for some days in the mountains in France and as the Internet connection wasn't very good, I didn't use my computer. However, I was really fine not going on Facebook. After I came back, I got to see that Facebook has spammed my email box with emails informing about my contact's activity. But, only partial information like "John Doe has shared a picture" and that's all, I would have to connect on Facebook to see this picture. It is of course a way for Facebook to bring me back on the website as it had detected I haven't logged in since some days.
Actually, Facebook biggest revenue comes from advertising and for this to work the company needs people to see the adverts. So it is understandable that the social network is keeping on trying to get you on the platform, so you can use it and see the adverts. However, spending all our time on the platform is not necessarily good for us.
One issue I have with Facebook is that it allows too much interaction between users and the platform. It happened that someone of my contacts added me to a group, without asking me, which looks very much like some scam where cars are being sold for "free or very cheap". So, I got notifications about the Facebook group activity, even though I didn't ask anything. The problem here is that you can easily get submerged with useless and unwanted information and filtering everything takes time.
The previous point raises another point about people's behaviour. In the above case, it was one of my contacts which did the action of adding me to a scam group, not Facebook. Therefore, I think we should educate people about the Netiquette in order to allow us, users of social networks, to interact with healthy relationships and to not be overwhelmed by all these interactions which becomes unmanageable at a human level.
Even though I just pointed out that Facebook is especially a tool and that in fact it is us which are making a bad or a good use of it, the Facebook company has also its role. When Facebook sends email because a contact posted a link unrelated to you, because a friend has its birthday, because you may know some people and would like to add them as a contact, etc. the company is keeping on trying to make you interact with the platform. Facebook is stalking us because it wants us to keep using its services and interactions between contacts are a good way to retain its users.
Now that I have highlighted some issues with Facebook, I will not end my blog post like this. If you also have these issues or similar ones with Facebook and you can't just stop using it, I would recommend each of us to change our way of interacting on Facebook and to begin with some basic rules:
PS: Words in bold in the blog post may explain you the idea behind Qowala
]]>The first things I appreciated from Android when coming from Windows Phone are the number of available applications, more precisely, the number of open source applications that are available. F-droid, the repository for all these open source applications is quite good, and even though you may not find everything, almost all my apps are coming from there.
Moreover, when with Windows Phone I felt I had a quite smart phone, with Android I feel like I really have a computer. I can do everything I do with a computer, even using the terminal!
Now, there are also things I liked in Windows Phone. The Windows phone interface is really nice, simple and efficient. As the background is black (you can also choose white, but most people don't), on a LED screen black pixels are off so it saves on battery. Furthermore, the app list is ordered alphabetically, which means, you can simple press on a letter to choose the first letter of the app name and you can easily find the app you were looking for.
With Android, I'm always searching my apps because they are on several rows and columns. I know you can perform a search across your apps, but it is simply not adapted to a list of apps in my opinion because it is too much: you have the usual complete keyboard with little buttons which comes out whereas on Windows phone you have just big buttons for the app's first letter.
In Windows Phone, the system and usually also the apps are quite stable and well developed. You know that Windows Phone hardware is usually less powered in comparison to Android phones (less number of processor cores, less amount of RAM), but it still works pretty well even with 3D games. On Android it is now going very high on hardware: do you imagine that the latest Samsung's Galaxy Note 7 as eight cores and 4Go of RAM?!
As Windows Phone's software had really been well designed, it could run flawlessly on cheap hardware and without major bugs. During the three years I had the Lumia 930, I only had about three times weird crashes which obliged me to do a hard reset of the phone which is like rebooting it.
On the Lumia phone I had, it was shipped with lots of Nokia's software and it was very good. Especially Here maps which was a good GPS. Sadly, Nokia is not very active anymore on mobile since its mobile department has been bought up by Microsoft.
I had quite some difficulties to migrate my data to Android, but I found a nice tutorial to export SMS.
Matteo Contrini explains how to export messages with Microsoft's "contacts+message backup" Windows Phone app, then to convert the XML file where are stored the messages with his Python script from Github and then to import the messages with "SMS Backup & Restore”
For the contacts, I chose to import them on my OwnCloud server and then to synchronize them with the DAVDroid tool on my phone.
I lost some MMS in the process because they are not managed by Matteo Contrini's Python script, but I don't mind because I didn't have much of them.
Well, I'm happy to now use Android, but Windows Phone wasn't as bad a people may say!
]]>First, when I got my Fairphone, I tried Fairphone OS delivered with it which is Android with Google apps. There are quite a lot of apps pre-installed! Among them, almost all are from Google. You should have seen the amount of battery all these apps were using in background! Two days later, I switched to Fairphone Open to get rid of all this bloatware.
It's quite easy to install Fairphone Open. At first, I only knew that I had to download it from here and to launch it from the file explorer Amaze and that's how I did. However, it seems it's already possible from the Updater app to switch from Fairphone OS to Fairphone Open.
Since I switched, I feel that the battery last longer and that I have less data usage. I think every Fairphone user should switch to Fairphone Open even if they use Google because they will gain in battery life and performance. They can still install Google apps later on if they need to, but this way they can only install the required apps and they could even install free software implementations of Google services which seems to be less battery-hungry.
I really dislike apps which have too much permissions when it's not needed. Why does a torchlight app need access to contacts? It seems iOS users can download apps on their iPhone and then authorize access to some resource according to the context. This is already good, but I don't think they can have a fine-grained control on the apps. In any case on Android there is nothing like that so let's fix it by installing XPrivacy!
I license the following tutorial under CC-BY Creative Commons license so anybody from the Fairphone community can reuse it:
Getting control on apps by Killian Kemps is licensed under a Creative Commons Attribution 4.0 International License.
This app allows users to have complete control on every app on the phone and to give access accordingly. It's so powerful that it can make app crash, but no worry, you only need to give permissions back to make the app work again. To install XPrivacy we will have to follow three steps:
Disclaimer: I wrote this little tutorial to help other people to do what I did without having to search everywhere for information. I'm a new Android user and I can not guarantee that all the following actions will have no issues.
What does it mean? Being root on Android means the same thing as being root on Linux (normal, as Android is based on Linux). So, when you are root you can do everything on your phone without restriction, including doing things Google's Android usually don't want you to do because you may break your phone. So usually for this reason, you lose your warranty on your phone when you try to become root. In our case, we can assume that as Fairphone is giving us an easy access to it, it may be covered by the warranty.
Why becoming root? In our case we need to become root because of the XPrivacy app which can't work otherwise.
To become root on Fairphone Open it is quite easy: activate the Developer mode by tapping several times on the build name in Settings (don't be shy, just do it even if it seems weird) and then activate root mode in Developer settings. And voilà!
If you wish, you can already install the XPrivacy app now, which will give you a checklist of everything needed to make it work, but you can also simply follow the tutorial in this order.
It was quite complicated to find how to install XPrivacy and Xposed. After some research, I found this post on the Fairphone forum which gives a good idea of the procedure, and also these instructions in german on android-hilfe.de. So, if I missed something below, you may find more information in those links.
So I rewrite here the entire procedure in English:
Yes, it's was a little bit long, but now you have the Xposed Framework working. Next and last step will be easier.
We are almost there. We installed the needed base and now we can go to what we want.
After having installed the Xposed Framework:
That's it! Now you have a phone without bloatware, without proprietary apps and with a better control of future apps you will install.
]]>Fairphone is a company working on the fairest possible smartphone by checking that workers have good working conditions, that resources don't come from corrupted mines, but also by building a modular and easy-to-repair phone. It's the first smartphone to get 10 /10 at an iFixit review for its repairability and the reason is that they worked together in partnership on the phone. So social and ecological values are the main point about Fairphone and that's what I really like.
With a price tag of 525€ the phone seems expensive compared to technically similar phones and I would otherwise never spend this amount for a phone. However, since I got to know Fairphone, I knew it had to be my next phone because I had to support this initiative. Now that an alternative exists, I could not allow myself to buy another phone which doesn't come from Fairtrade anymore. I would have felt guilty for not making efforts for those workers building phones.
Concerning the software, it is running Android, but there is also more choice than that. At first, Fairphone offers Fairphone Open which is Android without Google stuff and that is what I'm currently using. Secondly, there are initiatives for more operating systems like a community port of Sailfish OS. So the community is growing and it will help to have a bigger panel of software for the Fairphone 2 hardware.
Now, some things I have to point out. As written above, Fairphone was working with Jolla to support Sailfish OS on the Fairphone 2 in October 2015. Almost one year later there is still no official support. There are little things like this which may undermine the relationship between Fairphone and the community. It may be explained by the fact that Fairphone is still a small company and may have other issues to deal with, but I don't know more.
As said, until now I was using a Lumia with Windows phone. It worked pretty well. However, they are two big issues: the lack of apps and that Windows phone is a proprietary system built by Microsoft. I couldn't use open source apps, Windows phone was always the last to get apps (whenever it gets) and even Microsoft puts Windows phone on a side. Now with Fairphone, I have a quite open hardware with an open source operating system (Fairphone Open) and with open source apps. Great!
Well, would you buy a Fairtrade phone?
]]>TL,DR: I write here the reasons why I stopped using Pluxml and why I chose Grav. I also explain that I wrote a Python script to migrate my Pluxml articles to Grav which is available on Github. Also, it is important to take into consideration url redirections from previous CMS pages.
The reasons I wanted to leave Pluxml was that the default editor is plain HTML and I was using a plugin to have something a little better called TinyMCE. However, there were sometimes bugs and I didn't feel comfortable writing my posts. I really wished to be able to write in Markdown which I find elegant, simple and still can be powerful. Another reason was that managing static pages was complicated because I could really only edit in HTML. Moreover, I didn't find a good solution to manage different kinds of content (blog posts on one side and projects on the other side). Finally, in terms of SEO, URLs were not the best.
Now you may say that I could fix almost all these problems by searching other plugins or by developing some myself. However, I'm not very inclined to develop something in PHP. I mean, I'm not comfortable with this language and I don't really like it. Even though PHP 7 seems to be quite good now. Maybe my decision here wasn't 100% rational :D .
After some long research and testing some CMS like Pico, I finally ended with Grav because
The big issue I've been facing was to migrate all Pluml articles stored as XML files to Grav articles written in Markdown files. I searched quite a lot a plugin or a script which could do the work, but sadly I only found one script on Github and it didn't work.
So, after some people motivated me, I chose to write myself a Python script to migrate my articles. It took me a day, so about 6 hours according to Wakatime. It only converts the XML files into Markdown with the help of the html2text library originally written by Aaron Swartz, but also create the file structure needed by Grav and copies the images to the right folder.
If you are interested to see it or if you may need it. Here it is, all open source ! https://github.com/KillianKemps/Pluxml-to-Markdown
Something quite important that I didn't think at the beginning is that by changing a CMS, the links of the pages may also change. And that could break a lot of links coming from search engines but also from other websites. So, to the deal with it, I needed to set up redirections rules and guess what? It is natively implemented on Grav. I just had to add it to the configuration and regular expressions also work.
I spent more time searching for a good CMS than to integrate it. Considering I already had the design in HTML and read Grav's great documentation, it took me a day to implement it as template, one more day to write the migration script and a final day to check everything is okay and to setup the url redirections. 3 days. Not so bad.
Later on I will see if I made the good decision or if I should have kept Pluxml :D.
]]>I wanted to change my blog because it had some issues concerning typography and display on mobile: it wasn't very comfortable to let people read long texts. For a blog, it's quite a paradox. The blog also had some minor issues, like some pages with the CMS default design and other pages which I didn't design well, so the overall experience of my website wasn't very consistent.
As I said in my previous post about my new logo, the way how a logo, or here a website, is designed, tells a lot about a person's personality. So, the main reasons I changed the design was to improve the readability of the content and also to tell people "hey, I like to apply the KISS principle on what I do. So, I applied it on my website". Hope you enjoy the new design!
]]>First, people may ask why do I wish to have my own logo when I'm not a company. My use of personal branding is not to be able to do advertising or other form of communication. In fact, I may use this logo only on my website, my CV and my visiting card. So, only mediums that I own. Having a visual identity helps people to distinguish a part of my personality and have a brief overview of my profile. Between a developer having a website styled like a terminal with linux command line entries, and another developer having a website using Google's Material design, you already see there is a distinction between a Linux-fan and a Google-fan developer.
My previous logo
It took me a lot of time to design my logo. Even with the help of Antoine Beauvillain, who gave me some inspiration and helped me to design the first iterations, it took me more than two weeks to finally know what I want. I may publish a later post on the process of designing the logo and the intermediate logo I got.
So, these are the principles I had in my mind when I designed this final logo:
After having thought a long time about it, I decided to do something with time. Because in everything I do, I pay attention to time like an obsession and I always try to optimize what I'm doing. Also, I have worked, and am working, on some projects related to time management while some other projects are still ideas on paper.
Trying to represent time, I searched everything which could be related, from watch to sand-glass. But I found all this representation to complex (I remind you that I wanted to follow the KISS principle), so I ended up with this spiral form. The reason is that philosophers like Bergson say that time rolls in itself and I'm really interested to consider time differently as just a cycle. Time is like an undended flow which can't stop.
My final logo after two weeks of research
Well, what are your impressions? I'm also going to redo my website, so you will see a new design in a short time.
]]>So, the first thing to say is that I didn't master any front-end framework when choosing Vue.js. I already used AngularJS during some months on 2-3 projects, but i clearly don't understand everything. It's a little bit "magic". I did use ReactJS too during one month. Again, some aspects are still obscure and I find the framework very complex, even more when combined with Redux. Finally, I just know Vanilla Javascript quite good because I've been working on Qowala for one year now.
Vue.js logo
Well, my previous experiences with other frameworks sure helped me to understand Vue.js. First, the way VueJS allows data-bindings is very similar to how AngularJS does and this is something I like from AngularJS.
<div id="app">
{{ message }}
</div>
The component-oriented aspect of Vue.js is also very similar to how ReactJS is working (and also Qowala in some primitive form :D), again it helped me to learn to use Vue.js very quickly.
The project for which I used Vue.js began in February, but because of some issues on the database it was given and the time for fixes to come, my team and I could finally really work on it only one month among the three planned. At the end, after the business, design and the database work, I really coded the interface in about four days. According to the WakaTime extension I'm using in Neovim, I logged in 31 hours working on the interface the last 7 days to which we can add at least 3 more hours which I spent before this last week (I'm not a premium user so i only have the last 7 days statistics, but I consider becoming one).
To bootstrap the front-end, I used the Vue.jsCLI to create a Webpack-simple template in my folder, and I already had a nice structure to write my files. It allowed me to benefit of the hot-reload and to write .vue files (one file per component which contains HTML, CSS and Javascript), but not to have too much with unit-testing which I knew I would never have time to do. That's really a good point with Vue.js: it is easy to start with this new framework and no need for a tutorial, only a well- structured guide is sufficient to begin with. What I mean by tutorial is a step-by-step guide explaining things with a project example like the one for AngularJS. In fact, if you compare the homepages from Vue.js, React and AngularJS2, you will find out that the first is very straightforward and simple comparied to the two others which are more verbose and multiplying examples. It already gives the spirit of each framework.
After having bootstrapped, I rapidly got to add the vue-router module to be able to manage several pages and after setup the API, I also added vue-resource for making requests to it. That's everything I needed concerning my front-end framework. Once I could do requests to the API, I needed a more specific library which is Highcharts to put the data into charts. And finally for setting points on a map I used Mapbox. During all the process of developing and adding these dependencies, I never felt it was too much (and indeed it is not) and always knew exactly why I was adding it. One of my biggest fears when using frameworks is to continuously add some module because it may improve one aspect of the framework, but in this case, and considering what was needed for this project, i really had no issue with this.
Well, I'm really impressed by Vue.js and how simple it is. I like the Zen ofPython, and you may realize that Vue.js follows it in some way as it is simple and explicit. No magic. Only what you expect it to do. And if you have an issue, you are very likely to see that Evan You, the developer, has already talked about it in its guide.
I can only recommend you to try Vue.js yourself and make the community grow.This one is vastly expanding even though there are not much resources other than the official guide and Stack Overflow. However, I think these resources are sufficient and prove that Vue.js is really simple and easy to use.
]]>