Categories
Technology

Pair Programming with ChatGPT

Pair programming is a software development technique in which two programmers work together at one workstation. One, the driver, writes code while the other, the observer or navigator, reviews each line of code as it is typed in. The two programmers switch roles frequently.

~ Wikipedia

Here’s a fun meme!

For a programmer, I think this makes sense. Generative AI has been evolving rapidly. It is only a matter of time (if we are not already there) to reach a point where it will be able to generate source code of adequate, or even high-quality. And this will force us (programmers) to re-invent our role in the industry.

In this post, I am sharing my first pair programming experience with ChatGPT, which helped me to quickly solve a problem (and make an open source repo out of it).

The problem

The other day, I needed to generate a set of QR codes. I am trying to have my first book published (more on that on another post), and we (my team and I) want to enhance the experience by adding QR references on strategic places inside the book. Our first thought was to go and create them manually, using one of the QR generator services available for free. And then, limitations and blockers started coming our way:

  1. Some services had trial / freemium plans that allowed for the QR code creation but, after the trial’s end, only a limited set of the generated QR codes would continue to be functional.
  2. The task was time-consuming. It was counterproductive to have someone do it by hand, multiple times for different services.
  3. The services we spotted didn’t offer bulk QR code generation, we had to create our QR codes, one by one.

Train of thought

At first, we started looking for alternative services online, preferably with bulk QR code generation. While searching, I started thinking that making my own bulk QR code generator shouldn’t be that difficult. I didn’t have previous experience with QR generation applications. However, I was sure that with a little research, I would find some open source libraries that could help me build something quickly.

With the first Google search, I found some great blog posts about generating QR codes. Nowadays, Python is my go-to programming language so, I intentionally looked for solutions in Python. I started reading the first post, and that was when it struck me; what if I asked ChatGPT to build the application for me?

Doing Agile with ChatGPT

OK, I had ChatGPT to work as my software engineer. That meant I had to play the role of the Product Owner and let it know what we were trying to build. I started by crafting the following requirements (in the form of a ChatGPT prompt).

Hello Miss Lemon*,

I want you to help me create a Python script with the following spec:

  • It will use the library Segno to create qr codes
  • It will take as input a .csv file that will contain the following columns:
    • url
    • icon
    • file name
  • For every row of the .csv file the script will do the following:
    • it will create a QR file in .png format with size 3000×3000 pixels.
    • The QR file will have as file name the “file name” of the respective .csv column.
    • The QR will lead to the url of the respective url column of the CSV.
    • In the center of the QR it will include an icon with the file path of the respective icon column of the csv file.
  • The png file will be saved in the parent folder inside a folder called qr_codes

* I am using a custom ChatGPT I have created, that I call Miss Lemon (inspired by the iconic character of Miss Lemon, the personal assistant of Hercule Poirot)

We wanted the result to look like this:

Proof of Concept

With the above prompt, ChatGPT created a proof of concept. In addition to the source code in Python, it also provided me with the following context:

This was very helpful as it highlighted which Python libraries I should have installed in order for the code to work and a sample of the input.csv file that was required for the bulk QR code generation.

The initial source code created by ChatGPT didn’t work 💩, due to the following error:

AttributeError: module 'PIL.Image' has no attribute 'ANTIALIAS'

But.. Stack Overflow quickly solved that, and I had my first QR code generated 🏆!

Iterations

Iteration #1: Functionality improvements

Now that I had a proof of concept, I wanted to make the “product” better. So I fed the result of the application back to ChatGPT and asked it to improve quality with the following prompt:

The new source code suggested by ChatGPT worked fine! Again, ChatGPT provided context on the enhancements:

Iteration #2: Source code documentation

Now that we had an application working properly, the next step was documenting our code. So, I requested ChatGPT to add proper docstrings and comments following Python’s best practices. Here’s the prompt and ChatGPT’s reply/reasoning:

I want you to document it following best practices on Python source code documentation. Also explain in the end why you documented it like that.

(Bonus) Basic Error Handling:

ChatGPT automatically implemented checks for missing files and invalid input data. For example, it added logic to verify the existence of icon files before attempting to overlay them on the QR codes. This ensured the script wouldn’t crash if something went wrong.

Iteration #3: README

With the script ready, I wanted to package the project in a way that would be easy for others to use. This meant adding a README.md file with clear instructions. I asked ChatGPT to draft the README, and it delivered a comprehensive document that included:

  • An overview of the project.
  • Installation instructions for dependencies.
  • Detailed usage steps with examples.
  • Guidance on customizing QR code resolution and icon size.
  • Error-handling tips for common issues.

You can find the README.md file, alongside the whole project, available in this Github repository.

Conclusions

In this post, we created a small-size (in terms of functionality) application. ChatGPT created the respective source code and, after “further discussion” via prompts, it improved the code base.

Notable highlights of the process were:

  • ChatGPT was able to infer some of the requirements (i.e. adding basic error handling in the code).
  • While the discussion was evolving, ChatGPT remembered and applied previous requests. For example, the request for a documented source code was done once, and it was automatically applied in every following iteration by ChatGPT.

I believe that Generative AI can help us craft high-quality source code by generating parts of it and iteratively improving them. For this process to be effective, we have to be able to converse with Generative AI models in a clear and structured way.

NOTE: As I continue to work on this project, I will probably either update this blog post or create follow-up posts, so stay tuned!

Categories
Technology

Χρησιμοποιώντας ευέλικτες μεθοδολογίες για να ανακαλύψουμε τις ανάγκες του δημότη.

Ένα αστικό πείραμα!

Οι ευέλικτες μεθοδολογίες ανάπτυξης (agile practices) είναι μια σειρά από πρακτικές που χρησιμοποιόυμε στην ανάπτυξη λογισμικού με στόχο να αναπτύξουμε το λογισμικό συνεργατικά, η ομάδα να είναι αυτο-οργανούμενη και διαλειτουργική με τους πελάτες / χρήστες τους οποίους ενδιαφέρει η εφαρμογή που αναπτύσσουμε. Οι ευέλικτες μεθοδολογίες ανάπτυξης έγιναν διάσιμες το 2001 όταν δημοσιεύθηκε το Μανιφέστο για την Ευέλικτη Ανάπτυξη Λογισμικού (Manifesto for Agile Software Development). Ο ευέλικτος τρόπος ανάπτυξης λογισμικού χρησιμοποιείται σήμερα κατά κόρον από ομάδες ανάπτυξης λογισμικού ανοικτού κώδικα αλλά και από πολλές νεοφυείς εταιρείες (start-ups).

Οι ιστορίες χρήστη (user stories) είναι μία απο΄τις πρακτικές ευέλικτης ανάπτυξης. Είναι ένας απλός τρόπος περιγραφής απαιτήσεων από τον τελικό χρήστη της εφαρμογής σε φυσική γλώσσα που ακολουθεί το εξής τρίπτυχο:

Σαν [ΡΟΛΟΣ]

Θα ήθελα [ΑΝΑΓΚΗ]

Ώστε [ΩΦΕΛΙΜΟ ΑΠΟΤΕΛΕΣΜΑ]

Με τις ιστορίες χρήστη, στόχος μας είναι να εμπλέξουμε τους τελικούς αποδέκτες της εφαρμογής που θέλουμε να υλοποιήσουμε, από νωρίς στον σχεδιασμό και, μέσα από τις ιστορίες τους, να αντιληφθούμε τις πραγματικές ανάγκες τους. Στην συνέχεια οι ιστορίες (και άρα οι ανάγκες που εμπεριέχονται σε αυτές) προτεραιοποιούνται ώστε να μεταφραστούν σε τεχνικές απαιτήσεις της εφαρμογής που θέλουμε να αναπτύξουμε, από τους προγραμματιστές.

Ιστορίες χρήστη στην τοπική αυτοδιοίκηση

Όπως ένας χρήστης έχει συγκεκριμένες ανάγκες που επιθυμεί να ικανοποιηθούν όταν λάβει στα χέρια του την τελική εφαρμογή (π.χ. για εφαρμογή κινητού, μια ιστοσελίδα ή ένα ηλεκτρονικό κατάστημα), έτσι και ένας δημότης έχει συγκκεριμένες ανάγκες που επιθυμεί να ικανοποιούνται στον δήμο που κατοικεί.

Περισσότερο πράσινο, καλύτερο οδόστρωμα, περισσότερος φωτισμός, καλύτερες προβλέψεις για ΑΜΕΑ, γειτονιές φιλικές προς τα κατοικίδια, περισσότερο parking, μπορεί να έιναι κάποιες από αυτές.

Οι κατά τόπους Δήμοι μπορεί να προσφέρουν κάποια online φόρμα επικοινωνίας, κάποιο τηλεφωνικό κέντρο ή ακόμη και κάποια εφαρμογή κινητού τηλεφώνου για την αποστολή καταγγελιών ή προτάσεων για την αναβάθμιση του δήμου. Συνήθως αυτές οι πληροφορίες δεν βρίσκονται σε ιδιαίτερα εμφανή σημεία ή δεν γίνεται ιδιαίτερη προσπάθεια από τον δήμο να αναδείξει αυτούς του μηχανισμούς ανατροφοδότησης (feedback) από τον δημότη. Επίσης, τέτοιου είδους κανάλια ανατροφοδότησης συνήθως αφορούν πολύ συγκεκριμένα αιτήματα (π.χ. καταγγελία επικινδυνότητας κτηρίου, παρατημένο όχημς, καμμένη λάμπα, πρόβλημα στο οδόστρωμα) και δεν επιτρέπουν τον δημότη να μπορέσει να συνεισφέρει μια πιο γενική επιθυμία του.

Οι ιστορίες χρήστων για έναν δήμο μπορούν να αποτελέσουν εργαλείο συμμετοχικού σχεδιασμού εάν η εκάστοτε δημοτική αρχή θελήσει να λάβει γνώση. Μπορούν να μετατρέψουν την συνήθη, από επάνω προς τα κάτω, λογική διοίκησης:

η δημοτική αρχή κάνει ένα πλάνο και το υλοποιεί και θα κριθεί στις επόμενες εκλογές

σε από κάτω προς τα επάνω:

οι ανάγκες των πολιτών είναι αυτές που αντανακλώνται στις ιστορίες χρήσης. Η δημοτική αρχή θα πρέπει να αναπροσαρμόσει το πλάνο της ώστε να καλύψει κατά προτεραιότητα όσες πιο πολλές από αυτές μπορεί και στον καλύτερο δυνατό βαθμό.

User Stories: Θεσσαλονίκη

Εν όψει των δημοτικών εκλογών του 2023, δημιούργησα ένα πολύ γρήγορο πρωτότυπο μιας εφαρμογής που μπορεί να επιτρέψει στους δημότες της Θεσσαλονίκης να συνεισφέρουν τις επιθυμίες τους (υπό μορφή ιστοριών χρήστη).

Η εφαρμογή είναι απόλυτα ανώνυμη και δεν ζητούνται ούτε αποθηκεύονται προσωπικά δεδομένα. Όλες οι προτάσεις κατηγοροποιούνται ανά Δήμο ενδιαφέροντος και είναι διαθέσιμες ελεύθερα και ανοικτά για να τις βλέπουν όλοι.

Η εφαρμογή είναι διαθέσιμη μέσω του συνδέσμου: https://bio.link/userstoriesskg. Ακολουθώντας τον σύνδεσμο από το κινητό, το tablet ή τον υπολογιστή σας θα δείτε την παρακάτω οθόνη:

Διαλέγοντας τον Δήμο που σας ενδιαφέρει, θα δείτε μία Google Form μέσα από την οποία θα μπορέσετε να υποβάλετε την ιστορία χρήστη:

Όλες οι ιστορίες μαζεύονται σε ένα κεντρικό υπολογιστικό φύλλο Google και είναι διαθέσιμες σε αυτόν τον σύνδεσμο κάτω από άδεια Αναφορά Δημιουργού 4.0 Διεθνές (CC BY 4.0). Επομένως όλοι, πολίτες, υποψήφιοι δημοτικοί σύμβουλοι, ερευνητές, κ.ο.κ. μπορούν να έχουν πρόσβαση στα δεδομένα και τα να αξιοποιήσουν με τον καλύτερο δυνατό τρόπο.

(Photo credit: Leandros Papakarmezis)

Categories
Guest Posts Technology

European forum of the software research community. A fellowship!

Honored and humbled to receive a fellowships from the European Forum of the Software Research Community, also known as SWForum.eu. During the next months I will have the opportunity to publish posts related to my two most favorite topics, Open Source Software and Software Engineering.

SWForum.eu aims to create a self-sustainable online forum that facilitates and encourages both researchers and practitioners as well as projects in software, digital infrastructure and cybersecurity to create intersections of expertise and a multidisciplinary approach to research and innovation. This forum seeks to set in place the European research roadmap and offer cross-fertilisation of competencies to all other research and innovation areas. SWForum.eu works to enhance the visibility and increase the competitiveness of research and innovation in the field of software technologies, digital infrastructure and cybersecurity, especially European funded Research and Innovation Action (RIA) projects. Moreover, the project aims to introduce best practices and technology transfer opportunities to cross-synergise European excellence.

(via SWForum.eu)

Stay tuned!

Categories
Open Content Technology

How to read books borrowed from Internet Archive on your Android device

“The Great Influenza” by John M. Barry borrowed by the Internet Archive lending library.

In the Internet Archive you can find a lending library with more than 3.000.000 books that you can borrow and read online. Depending on the book availability you can borrow a book for 1 hour or 14 days. After this period ends you can renew the book if it is still available. If you want to know more about the lending process there are information available here.

Reading books directly from the browser.

This is pretty much straight forward. All you have to do is create an Internet Archive account by subscribing for free and then choose the book you want to borrow from this catalogue.

Reading books on your Android Device.

Thats is a trickier one. It requires a couple of more steps but after the initial setup, things are really easy.

From your Android device:

Step 1: Download Adobe Digital Editions from the Google Play Store.

Step 2: Download PocketBook Reader from the Google Play Store.

You are ready in terms of applications.

Step 3: Visit a book you have borrowed on Internet Archive. To the left you are going to see a menu that contains this icon:

by clicking it a menu will reveal. In this menu select Downloadable Files (2 formats) and in the next menu click on the Get PDF button.

This will download an .acsm file to your Android device.

Step 4: Open PocketBook Reader app. When you open it, it will require permission to scan your device folder and will automatically find any .acsm files.

Step 5: Click on the .acsm file you want. This will automatically open the Adobe Digital Editions page and require that you login. If you don’t have an account to Adobe Digital Editions page you can create one for free using the respective link.

add adobe drm accounts on pocketbook reader android

After finishing with setting up your account the e-book will download and open.

Happy reading!

Categories
Technology

How to format your SD card to EXT4 for Dropbox compatibility in Ubuntu

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.

[adinserter block=”1″]

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:

Hi Apostolos,

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:

  1. Back up any files you need from your SD card since the format will erase everything.
  2. Format the SD card to EXT4 using gparted:
    1. Open gparted app (or install it if you don’t already have it).
    2. Select the SD card disc from the dropdown of disks.
    3. Unmount the SD card disc.
    4. Right click on the unmounted drive and select format to EXT4.
    5. Apply the changes.
    6. 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

  1. Click on the Dropbox icon on the menu bar.
  2. Select “Preferences…”.
  3. Choose the tab “Sync”.
  4. Click “Move” to the “Dropbox folder location”.
  5. Choose the path of the newly formatted SD card (you don’t need to create the Dropbox folder).
  6. Click “Apply”.

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 🙂

(Photo by Justin Veenema on Unsplash)

Categories
Technology

How to automatically set a random Unsplash photo as your Ubuntu wallpaper using bash script

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.

#/bin/bash

wget -O /tmp/wallpaper.jpg https://unsplash.it/2560/1440/?random
gsettings set org.gnome.desktop.background picture-uri file:///tmp/wallpaper.jpg

Enjoy!

(source code originally found at youness.net)

Categories
Technology

How to completely remove kubuntu desktop from your Ubuntu 14.04

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).

[adinserter block=”1″]

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!

THE ROUTINE

A. You:

sudo apt-get remove --purge kde-plasma-desktop kde-workspace kubuntu* plymouth-theme-kubuntu-logo plymouth-theme-kubuntu-text sudo apt-get autoremove --purge && apt-get autoclean

[via: askubuntu]

Hopefully everything works fine now!

B. If you find yourself missing some system icons 😛 (sound, language, mouse, etc…) try this:
sudo apt-get remove unity-control-center
sudo apt-get install unity-control-center

[via: askubuntu]

Categories
Technology

How to make ClickShare work with Ubuntu

Last time I had to do a presentation was during ODI’s Train the Trainer program. One of the options we were given in order to connect to the projector was ClickShare. If you don’t know what ClickShare is, watch this!

https://www.youtube.com/watch?v=3R-AbOkN_98

In order to use ClickShare you have to plug it to your machine. It works like a USB flash drive so a folder opens and gives you executables for Windows and iOS. Normally you install one of them and you are good to go.

But what happens if you use a Linux machine? Well, you will probably have to use a cable because “this thing does not work well with Linux”. That’s what I was told! But it wasn’t good enough for me 🙂

[adinserter block=”1″]

So, if you happen to use Ubuntu 14.04 LTS and want to use ClickShare, all you have to do is:

  1. go here *
  2. download the Linux launcher
  3. install it to your machine
  4. open the application
  5. plug the dongle

If you are getting steady white light then you are good to go (hit it, it will normally go red and your screen should be up!).

NOTE: According to Barco, they currently support  Fedora 20 and Ubuntu 14.04 LTS. If you are using a different Linux OS this solution will probably not work but you might find some answers to this official thread **!

* [Update] March 10, 2017: Support for the Linux client has ended as it requires an enormous effort to support all the Linux distributions and their quick updates, while the usage rate of the Linux client was/is very limited. (as published on barco.com)

** [Update] June 13, 2017: Thread www.barco.com/en/mybarco/mysupport/productsupport/knowledgebase?kbid=1191&productid=b21eda55-0837-4478-87f6-68d51b71e405 does not exist any more.

[Update] February 17, 2018

Following this gist, some users say that they successfully installed ClickShare to Linux.

NOTE: I haven’t tried it myself so I can’t guarantee it works!

[Update] June 5, 2019

Searching on an old drive I seem to have found the original .deb file that I had installed when I wrote this article. You can download it here.

CAUTION: This .deb meant for Ubuntu 14.04 LTS and was tested back in 2015. The is no guarantee that will work with the current versions of Ubuntu and / or Clickshare. You can try at your own risk. 

[Update] November 14, 2019

I requested support from Barco via Twitter. Here’s our discussion!

Cheers!

Categories
Technology

[Updated] A Windows 10 update tale!

So this is how it started…

I was already aware that Windows 10 will be freely given to previous Microsoft Windows users (even pirates!) but I felt it was not such a big deal. All the machines worth spending time to keep up to date are pretty much doing it themselves and for free since they run on linux (Ubuntu).

The only machine I own and runs on Windows is my home desktop and it runs on Windows only because other people have access to it and I value democracy 🙂

So, home PC running Windows 7, opportunity for trying Windows 10 for free… a geek’s got to do what has got to do!

win10upgrade-7

(image credit)

FYI, the specs of my machine were:

  • Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz 2.34GHz
  • 3,00 GB RAM

The update Golgotha

The core update to Windows 10 went smoothly but once I was prompted to login, Murphy jumped in!

  1. Wireless Mouse / Keyboard inaccessibility: Apparently is a known issue that Microsoft Wireless Optical Desktop 700 v2 doesn’t play well with Windows 10 (yet?). I didn’t expect every single device to work out of the box with Windows 10 but I would expect (at least) Microsoft hardware to be compatible 🙁 Anyways I changed to cable mouse / keyboard and proceeded.
  2. My DVD drive was not automatically detected ( o.O ): Thinking back, over time I have used: Windows 95, Windows 98, Windows XP, Windows Vista, Windows 7. I cannot remember a single time when a CD / DVD drive wasn’t automatically detected! Well, I guess there’s a first time for everything.
    • FIX: Should you face the same problem, this solution worked like charm for me! Don’t forget to restart 😉
  3. After logging in for the first time “special” buttons (start, notifications, search) did not work:
    • FIX: Restart (legit: right click to the windows icon and choose restart) a couple of times and everything should be fine.

The One Drive Perk

Along with Windows 10, came the One Drive suggestion. Once you have updated, the one drive application starts automatically with windows and prompts you to login or create an account if you don’t already have one. Initially I thought about skipping the whole thing since the 59 gigs in Dropbox and the 15 gigs in Google Drive are more than enough for me (at least for the time being). However, since a little more free space to the cloud never hurt anybody I decided to enable One Drive as well. I was surprised (positively) to able to subscribe using my Gmail account and not having to create a new one to Microsoft.

BmzsB1uIcAABzSp

(image credit)

Everything went smoothly and now I have 15 gigs of space that I’ll probably never use 😛

Microsft Office: The unexpected Perk!

After everything was solved I decided that it was time to relax and watch a couple of Gotham episodes! Since I keep the progress of the TV Series I watch on a spreadsheet, initially I went for Libre Office! Then I remembered that I always wanted to give a shot to MS Office 2013 since my last experience was with MS Office 2010. Normally you have to pay but thanks to my academic affiliation, as a PhD candidate with the Aristotle University of Thessaloniki, I get to use it for free!

FireShot Screen Capture #248 - 'Office 365' - portal_office_com_Home#

I think academic accounts are also entitled to 1 TB One Drive space for 1 year!

The future!

Up to now, I have seen several pros and cons to Windows 10. I might get back with another post listing them. There’s also an interesting discussion about Windows 10 features & privacy to the following episode of This Week In Tech.

Enjoy!

[Update: SEP 13th, 2015]

After less than a month of using Windows 10 the graphics card’s driver stopped working. I tried to find a compatible driver with no luck so I (guess what?) rolled back to Windows 7 🙂

Categories
Technology

How to successfully install Microsoft Office to Ubuntu

If you are a Linux enthusiast you are probably already find the title of the post strange and / or insulting. At this point I am going to have to ask you to take a deep breath and consider this…

LIFE IS NOT FAIR!
WHY SHOULD DIGITAL LIFE BE?

Sometimes we are forced to use tools we wouldn’t normally just because our environment “force” us to. For example:

  1. I like using Libre Office but all the partners and employees of my firm are used to work in MS Office. I certainly can’t force the whole company to change ( at least in a day 😉 )
  2. I host Open Coffee Thessaloniki meetings where interesting people share their entrepreneurial experiences with us on a monthly basis. Most of them are using either MS Power Point or Keynote… and love effects on their presentations 🙂

THE PROBLEM

I am using Linux and I want to be able to occasionally use Microsoft Office documents by preserving the Microsoft special format.

SOLUTIONS

#1. Install Microsoft Office Online Apps in Ubuntu.

With this solution we are basically using the online tools connected to MS One Drive to view and edit (?) MS documents. From my experience edit doesn’t work that well 🙂 but still it’s a neat solution to easily view documents.

#2. Install MS Office via Play On Linux.

Wasn’t working (at least for me) for Ubuntu Versions before 14.04. Tried it on Ubuntu 14.04 for Office 2010 and it worked fine.

EXTRAS

You might also want to install MS fonts for better compatibility 😉

Cheers and good luck!

(image credit: sysads)