During State of the EU (#soteu) today, there were several references about the notion of democracy and whether nowadays – especially during the #COVID-19 pandemic – it is being guarded as it should be. On the one hand there was the argument that a united Europe, that functions as a single nation, is an undemocratic approach, given that the member states of the #EU are diverse in many senses but that is exactly what makes #europe such a unique continent. On the other hand there were voices that said that during crises, a need for cohesion, community, common goals and a common roadmap is essential if we want to be resilient and come stronger out of the crisis.
As I was listening to the debate I was trying to recall the concept of #democracy from my high school years. Is the “right” democracy the one of ancient Athens? The Roman “democracy”? Today’s representative type of democracy we have in #Greece?
Then I did a little googling and discovered this argument, apparently by #Aristotle:
“No democracy can exist unless each of its citizens is as capable of outrage at injustice to another as he is of outrage at unjustice to himself”.
I am using a low cost laptop for everyday work (browsing, productivity apps for office work and so forth). The main pro of this type of laptop is the low cost, as I already mentioned, whereas the basic con is speed and hard disk limitation. The solution for the latter cis to add a SD memory card that serves as a permanent external drive.
So I have set up my laptop with Ubuntu 18.04 LTS, improving the speed and memory management dramatically and I bought an SD 32GB memory card which I formatted as NTFS in order to be able to plug it both in my laptop that runs Linux and also, if needed, to Windows machines.
One of the top reasons I needed extra space was to be able to sync my Dropbox account with my laptop since I usually need to work on documents when I am away of office i.e. when traveling.
At some point I received an e-mail by Dropbox saying that I had to change my SD card format to EXT4 for Linux, otherwise my Dropbox folder would stop syncing. The e-mail was the following:
A few months ago, we let you know that the Dropbox desktop system requirements were changing. On at least one of your computers, your Dropbox folder will stop syncing because it’s on a file system or partition that no longer meets the requirements.
How to fix
So your files can start syncing again, choose a new location for your Dropbox folder:
Hagnes, Linux 4.13.0-46-generic
Move Dropbox to an Ext4 drive
How to move Dropbox
Why this changed
Focusing on the most common configurations lets us bring you new features, better performance, and the security that your files are safe and synced in Dropbox.
I fail to understand why, since NTFS is the format of choice for Windows can still be allowed as an option for Linux installations but I’ll leave that for another post.
Below you can find the steps I followed to comply with the new guidelines of Dropbox and along with them, I couple of challenges I faced up doing so.
Step 1. You change the format of you SD card from whatever to EXT4 (and only EXT4)
This is an easy step. All you have to do is:
Back up any files you need from your SD card since the format will erase everything.
Format the SD card to EXT4 using gparted:
Open gparted app (or install it if you don’t already have it).
Select the SD card disc from the dropdown of disks.
Unmount the SD card disc.
Right click on the unmounted drive and select format to EXT4.
Apply the changes.
When the format is done, remove the SD card and plug it again.
Step 2. Open the Dropbox app and set as Dropbox folder the SD card
Click on the Dropbox icon on the menu bar.
Choose the tab “Sync”.
Click “Move” to the “Dropbox folder location”.
Choose the path of the newly formatted SD card (you don’t need to create the Dropbox folder).
You’ll see the Dropbox folder appearing automatically in your SD card.
Things that might go sideways
1. You might not have writing rights to your SD cards.
If you find yourself not being able to write things on your SD card after formatting it to EXT4 don’t sweat it! Follow the guidelines on this post and you’ll be all right 🙂
2. Right click on your touchpad is not working
How can the touchpad not working because of the SD card format? You might ask… Not really sure but if you stumble upon this issue, follow the guidelines on this post and your problem will be resolved 🙂
Are you easily getting bored from using the same wallpaper to your Ubuntu machine? Here’s an easy way of enjoying a variety of easily interchangeable wallpapers with photos available as public domain, via Unsplash.com.
All you have to do is create an shell script file (i.e. unsplash.sh) using the following code and execute it every time you want a “fresh” wallpaper.
wget -O /tmp/wallpaper.jpg https://unsplash.it/2560/1440/?random
gsettings set org.gnome.desktop.background picture-uri file:///tmp/wallpaper.jpg
What does the work resilience means to you? What are the characteristics of a resilient system? How is resiliency affecting a software system? How can we design and built resilient systems?
During June we had the honor and delight to participate to the 14th International Conference on Open Source Systems (OSS 2018). We presented our work, “Open Source Software Resilience Framework”, a preliminary study that aims to adapt the famous City Resilience Framework, created by Arup with the support of the Rockefeller Foundation, to the Open Source Software Engineering Domain.
A few days ago I received the great news that I was selected to participate to Mozilla Open Leaders program. The aim of the program is to train individuals or teams related to open projects, technology oriented or not. The training is about setting up an open project and help it evolve and, at the same time, curate an open community that will, hopefully, form around the project. The underlying goals of the program is, of course, working towards an open web and a healthy Internet.
(image available under CC BY 4.0 International by Mozilla)
The 5th round open Mozilla Open Leaders starts in approximately one week. There were 78 projects selected from 219 applications. They come from 25 different countries with more than 100 participants. Greece participates with 1 project.
Number of selected projects per country (in alphabetical order)
WordPress platform has become a standard choice when it comes to Content Management Systems, published under Free/Libre Open Source Software (FLOSS) license. Moreover, a huge community built around it is responsible for more than 50.000 plugins, available also as FLOSS. Unfortunately not all WordPress plugins are “playing well” with each other, nor are properly maintained.
Our proposal aims in creating a platform which will crowd source experience on using or combining plug-ins in WordPress installations. In addition, with the application of state of the art software metrics, we will provide a preliminary study on the structure of the source code of the plug-ins. “WordPress Plugin Observatory” (WOPLOB) will be published as FLOSS with the hope that, with the help of Mozilla Network, will evolve to a high quality community of WordPress users that will help to the development of the platform and the data collection.
At Social Mind we base most of our development in FLOSS, particularty in WordPress and Woocommerce. We would be delighted to manage and help the global FLOSS community with a successful platform that will, hopefully, make Internet more effective and safe.
With the motto “Internet must always remain a global, public resource open and available to everyone” Mozilla Foundation, a non profit organization, has for years supported FLOSS development, education with open tools and processes and has developed applications like the well known Firefox browser and Pocket. In addition, it has contributed to the study and education of Internet users in privacy related issues.
There are several ways to analyze software. Depending on the scope we may be interested in the quality of the code, the documentation, the developer’s team and its activity and so forth. Here are some free software metric tools that can get you started with software analysis.
Tools for Static Program Analysis
Static program analysis refers to the analysis of the source code of a software rather than an analysis on an execution level.
PHPQA is a free, open source software project that supports a wide range of analyzers (e.g. phploc, pdeend, phpmetrics, etc.) for PHP. [demo]
Checkstyle, Findbugs and PMD are free, open source software projects for Java, also available as plug-ins for the Eclipse and IntelliJIdea IDEs.
Didn’t find what you were looking for? You can try this exhaustive list of tools, grouped by programing language, maintained by Wikipedia.
Software Engineering Guidelines Compliance
Better Code Hub checks your code base for compliance against 10 software engineering guidelines – and gives you immediate feedback on where to focus for quality improvements. The tool can be used free for open source and non-commercial use.
Community Activity Analysis
Big software projects are usually built from several developers. Those teams or communities – for Open Source projects – are usually organized using a control versioning system (svn, git. etc.). Those control versioning systems are storing valuable data about the activity of those teams / communities the analysis of which can lead to very interesting findings.
GitsGtats – for projects using git-like environments (Github, Gitlab, etc.). [demo]
Grimoire Lab – a very mature tool that can help with data gathering from several platforms (Github, Bugzilla, Slack channels, etc.), data analysis and visualization. [demo] NOTE: If you are interested in using Grimoire Lab for your own projects you can test the online service Cauldron.io (free for public projects on Github).
(the original article – in greek – can be found here)
This year I had the privilege of participating in the maiden voyage of re:publica (2017) in Thessaloniki, as an ODI Open Data Certified Trainer and an entrepreneur, in a panel about smart cities, open data and citizen participation in open government procedures. Following you can watch the video with greek and english subtitles available (thanks to Heinrich Böll Stiftung Greece).
Following you will find three key points that, in my personal opinion, summarize the discussion:
I. Why bother working with open data when the citizens don’t seem to care?
A sound open data infrastructure can, potentially, function as a means of transparency and / or fighting corruption. The possibility that citizens are indifferent towards open data should not discourage a public authority that wants to continuously evolve and become better. Moreover, we need to ask ourselves whether the information published as open data is understandable and has a practical use for the interested parties (citizens, companies, organizations, etc.).
II. Civil servants might hesitate or be negative towards open data education.
Yes they might! However, their reaction depends on the motivators that accompany education. If dealing with open data is, or will become in the near future, a de facto responsibility of all civil servants, the idea that an expert can train them to undertake this “new” responsibility quick and easy, might not strike them as such a bad idea.
III. Open data published by public authorities are usually too “specific” for a third party (i.e. freelancer, company, etc.) to exploit.
A great opportunity accompanying open data is the fact that open datasets can be combined. For example lets say we have an open dataset of the public schools in a city and another open dataset about crime in that same city. Studying them separately those two datasets probably give as basic knowledge but, combined, could become the fuel for an application that could help a young couple to choose in which neighborhood to live.
Open Data can be the means to innovation for companies that develop software, freelance developers, students, researcher and so forth. And (ideally) this software can then function as the interface between the citizen and the public authorities.
Three days ago we celebrated 25 years from the birth of Linux. I have been an Open Source user for over a decate now and I consider myself lucky to be part of this awesome network.
Open Source gave me free access to applications that, have they been proprietary, I would need to pay good money or illegally obtain them. Open Source fueled my research when I was an undergrad computer science student and, later on, during my MSc and currently during my PhD endeavor. As a researcher it gave me the opportunity to be part of EU funded research projects and get paid to study what I love. As a freelancer it gave me the means to rapidly develop software and therefore deliver competitive, high quality and tested software to my clients. It also allowed me to do consulting work for a couple of amazing software development companies and startups.
Anyways, it was not until recently that I realized that it’s not about Open Source! I was invited as a guest speaker to an event of the Arcitecture Dept., Aristotle University of Thessaloniki. My mission was to present a short history of the free software movement / open source initiative and then present applications of open source to the arts / creative professions. I have never touched a similar area before so I tried to think as a creative professional (NOT easy, if you are a tech person!) and imagine how open source, open licenses and so forth could benefit my world.
After my experiment was over the following came in mind: Open Source helped the world get familiar with the concept of sharing the raw materials of a creation, plus know-how (if needed), allowing the community to take it to the next level. Initially, those creations were open source software and their raw materials the source code but, nowadays, we have moved past that. Books, music, video productions, hardware even games are being published under open licenses.
Supporting openness is a choice anyone can make. Following the philosophy of openness however is a whole different discussion. One that I will leave for another post 🙂
Happy new year everybody! In case you are looking for a couple of good resolutions to add to your 2016 list, here’s a bunch of geeky ones coming from software engineering research field 🙂
1. Keep your diff low
Diff (short for difficulty) is one of the Halstead complexity measures. It is used to measure the difficulty of the source code of a specific software system.
Moral: try to measure your difficulty level and keep it as low as possible. If you meet a difficult person, try to engage and understand how s/he thinks. It will help you identify you own difficulty level.
2. Keep your effort low
Effort is another Halstead complexity measure. As you probably already guessed it measures the effort one needs to understand the source code of a specific software system.
Moral: do you open up to people? Do you make it easy for them to understand how you think, where you come from? There is a fine line between mystery and perplexity. Make sure you balance them right.
3. Keep your LCOM low
LCOM (abrr. for Lack of cohesion of methods) is a Chidamber & Kemerer metric measuring the cohesion of a class. High levels of the LCOM increases complexity. Also, classes with low cohesion could probably be subdivided into two or more subclasses with increased cohesion.
Moral: the more things you engage with, the less cohesive you are. Try to focus on the things that really matter.
Say you wanna try (for fun) to experience the Kubuntu desktop environment while you run Ubuntu 14.04. Now say that after you play a while you decide you wanna go back to your familiar Ubuntu interface and you wanna get read of the Kubuntu desktop you have installed.
If you are not lucky (I usually am not!) things will get messy!
Long story short, it happened to me this morning and it took me some time to get things back to normal. Here’s what I did (hopefully it will save you some time).
CALL TO ACTION: If you do the routine and the problem is not resolved or you take some extra steps, or whatever, please leave a comment so as to help future readers 🙂 THANKS!