All posts by Ramesh Jha

5 Best writing software for Ubuntu / Linux

Everything you need for writing was already included in your computer’s Operating System, right? On most Linux distributions, like Ubuntu, you’ll find some text editor installed by default. On Windows, you even have options – between both Notepad and Wordpad! Hurrah! Life is good!

Well, sorry to be the pessimist in the room, but it could be better.

Libre office - Ubuntu 20.04
Libre Office v6.4.6.2 on Ubuntu 20.04 LTS

Theoretically, text editing is a simple affair: you press keys on the keyboard, and characters appear on the screen. Extra options in the editors allow you to style parts of your text differently, bold, italicize them, use different fonts, etc. Practically, though, that’s merely fundamental functionality. When dealing with text, the possibilities are vast. In fact, the tools dealing with the process are even split into sub-genres.

That’s why, for this list, I decided to look at all aspects of writing and present you with a spherical selection of tools. I believe my choices cover all bases, no matter what type of writing hat you’re wearing. Still, I’ve also included a secondary list of other tools you should check. They might be a better match for your needs, wants, and demands.

I should also note that although I’m using those solutions on Ubuntu, all of them are also available on other operating systems. So, you could use them even if you’re on Windows or Mac OS.

Choose Your Weapon

I believe the following five choices are the very first apps you should look into if you’re serious about your writing. I must stress that they might not be the best for everyone, but most people will find what they want for all their word-crafting needs in one of them.

LibreOffice Writer

Back in the Dark Ages of computing, OpenOffice provided to the world of Open Source and Linux a worthy alternative to Microsoft’s Office. Since then, its path split, and now the most popular version of Linux’s prominent office suite is known as LibreOffice. As a full office suite, it comes with spreadsheet, database, and presentation solutions, but Writer was always its main protagonist.

An equivalent to Microsoft’s Word, Writer is a word processor with which many CVs, blog posts, and ebooks have been written. It’s an ultra-versatile solution that provides a comprehensive set of tools to the writer. Tools that can assist in every stage of the writing process, from initial draft to published “final.”

LibreOffice Writer is primarily focused on the writing part, providing everything needed to put words on digital paper. A spellchecker and thesaurus combo can eliminate typos and impress the world with your rich vocabulary. Templates and support for AutoCorrect and predictive text can optimize the actual typing process.

As every self-respecting word processing application, LibreOffice Writer allows you to style your text using bold, italics, headers, lists, etc. It can also create indexes and tables and supports hyperlinks and images.

However, Writer can also work as a basic DTP application if all you want is to produce a relatively simple leaflet or a mini ebook. You can use LibreOffice Writer to set up text frames in a document’s pages, controlling how text flows. You can insert existing graphics or use Writer’s drawing tool to create some from scratch. When you’re done, you can export your masterpiece to multiple, widespread formats, from RTF to PDF.

What LibreOffice Writer lacks compared to many alternatives is a snazzy modern interface and some “smart” features which can make other word processors more enticing. Features like AI-assisted predictive text, as found in Google Docs and Microsoft’s free online Word app, or the ability to visually rearrange parts of a large document, like in Scrivener and Manuskript.

Plume Creator

Designed for novelists, Plume Creator is a multi-talented tool that doesn’t deal only with the writing process itself. It enriches the writing experience by offering useful tools with which you can control the grand narrative. Functions you can use to organize, edit, and improve your work through constant planning and iterations.

At its heart, you’ll find a rich text editor with all the features you’d expect from a typical word processing app. Plume Creator respects how a writer might prefer being left alone with their words and offers a distraction-free fullscreen writing mode. When used purely for writing, it’s no different from any other similar app. It’s before and after the writing process that Plume Creator shows its teeth.

As with apps like Scrivener and Manuskript, Plume Creator enables you to define characters, chapters, and scenes, apart from an outline of your story. And you can also jot down notes. All this extra “data” can assist with continuity and help you stay on track and tell the story you originally envisioned.

Plume Creator allows you to see your novel’s structure with different visualizations, from a linear presentation to a spreadsheet outliner. The different viewpoints can help you pinpoint where you might need to apply tweaks to improve the story’s flow.

Unfortunately, the problem with the much-promising Plume Creator is that it’s stuck at the “much-promising” stage for close to five years now. It feels like it has stopped evolving, and alternatives like Manuskript have caught up with it. Still, it’s worth checking out, for you might prefer its interface and more extensive word counts.


Manuskript is designed primarily for working with longer documents, split into multiple chapters and scenes. “Documents” like books and plays. However, I’ll let you in on a dirty little secret of mine: I’ve been using it to write blog posts and articles instead. That’s because Manuskript offers something I haven’t found in any other alternative: combined support for multiple word targets and color-coding of my progress. If that sounded a bit alien, allow me to explain.

Like Plume Creator and Scrivener, Manuskript is designed from the get-go as a multi-tool for novel writers. Like those apps, it allows you to jot down descriptions about every character and place in your story, flesh-out its world, and create a rich universe. Who knows, you might need to refer to those entries after you meet huge success and Hollywood demands you write six more sequels.

You can then create an outline for your novel and flesh-out scenes and chapters. You are also free to move those around to “remix” your story – useful when you realize you revealed “who did it” in the prologue. Finally, you can either work on each part to assemble your story piece-by-piece or on everything at once. As expected, you can also do “this writing thing” in a distraction-free mode, as is the norm nowadays.

I’m using it for shorter articles because it helps me keep myself in check when I have to deal with specific word counts. Creating an article structure from the very beginning, with clear word targets – no matter how small, helped me stop writing more than I should. Or, rather, much more, for this article was also supposed to stay under the 2K words mark.


There are two distinct approaches as far as the interface of writing-related applications goes. One school of thought prefers having everything and the kitchen sink on the screen—a plethora of options a mere fifty pixels away from their copy. Then, there are the fans of a typewriter’s simplicity, a clean desktop, and zen habits, who believe all those extras are useless fluff. They prefer a clean editing environment without distractions, leaving them alone with their words.

FocusWriter sits smack in the middle, walking the fine line between both approaches.

It achieves this by hiding its interface while you’re writing, working as a proper distraction-free editor. The interface re-appears when the cursor touches the edges of the screen.

Thanks to this dual approach, using FocusWriter feels as if you’re switching between the writer and the editor’s roles. Everyone who writes already does that, anyway. Still, with FocusWriter, the distinction between the two functions is even more apparent thanks to each having its dedicated interface. Or, rather, one of them lacking an interface altogether.

FocusWriter supports the popular TXT, RTF, and ODT file formats. To enhance the writing experience, it comes with different visual themes and optional typewriter sound effects. It supports spell-checking and can present statistics about your progress.

Since many writers tend to be disorganized and somewhat chaotic, FocusWriter stays true to its name by including support for daily goals, timers, and alarms. Setting your mind to dedicate the next X minutes to writing while working towards a goal can boost your productivity and help you stay focused.

If it weren’t for those features, I believe FocusWriter would be a somewhat unremarkable app. Thanks to those, though, it’s one of the best tools for every writer.

Some might argue that Obsidian isn’t a piece of software for writers, just like Google Keep and Evernote aren’t. I understand the point of view, but respectfully disagree, because really, what is writing?

Writing doesn’t have to happen in a word processor, nor a distraction-free environment. Some people prefer researching what they’ll write about, collecting bits and pieces of information. Then, they create relations between everything. They connect the dots like a detective in a crime drama, but instead of the final location on a map, they see their story taking shape. While writing, they continue referring to those snippets of info, jumping between different documents and, many times, tools. If this sounds like your writing process, you’ll love Obsidian.

On the surface, Obsidian’s a note-taking tool that supports Markdown for styling your notes. When diving deeper, you realize it’s a smartly designed application that allows you to build relations between different snippets of information. Then you can check out a graph of those relations to see new ones emerging.

On top of that, it’s got a fluid interface, unlike any other note-taking app. Thanks to this interface, you can open multiple notes in parallel and juggle them on the screen, changing their arrangement however you wish.

All the while, dozens of included or third-party plugins extend Obsidian’s functionality. Among them, you’ll find calendars, Pomodoro timers, automatic footnotes, and the list keeps expanding every day.

But yeah, it’s not an alternative to Word, if that’s what you’re seeking.

Not What You Expected?

As I said, there are many facets to writing and countless tools for every need. If the ones in my primary list aren’t what you’re seeking, maybe one of the following alternatives will do.


One of the most popular writing tools on the planet, and justifiably so, Scrivener was one of the first applications to offer a logical workflow for the whole process of writing a novel or scenario. Although you can dive right in and start writing, Scrivener is best for those who prefer planning ahead. For fiction, you’d want to set up characters, scenes, and bit by bit, start building the world where your novel will take place. For non-fiction, you’d probably keep and organize a massive number of notes and then try to make sense of them and create a logical structure for your work.

With Scrivener, you can do both and more. As it proclaims on its official site, it’s used by all kinds of writers, from students to screenwriters and from lawyers to translators. Unfortunately, I can’t go into all its details since I want this to be a blog post, not a book. The sole reason Scrivener isn’t among my top 5 selections is that it’s a commercial closed-source app in a world of free alternatives – like Manuskript.


Bibisco specializes in writing novels, too. It comes with a range of features that assist in the actual writing and the research and world-building process.

As with other tools specializing in novel writing, with bibisco, you can create entries for characters, locations, and objects, to refer to while writing. You can keep notes, create a structure for your novel, and set up narrative strands and settings.

Then, start writing, organizing your work in chapters and scenes, which you can analyze with integrated tools for length, character distribution, etc. Finally, export your masterpiece in PDF, DOCX, or EPUB format.


A favorite Markdown editor, Typora became ultra-popular thanks to its unique interface that others are still trying to clone. It pulled this off by combining the editor and preview panes of other editors into one so that you can see the results of markdown syntax styled in real-time.

In action, the current piece of text you’re working is presented as if in any other markdown editor, with all markdown syntax visible. At the same time, Typora renders everything else in the rest of the page as final output.

When your work is complete, you can save it in native markdown format or export it as a PDF. Alternatively, you can take advantage of Typora’s support of the open-source pandoc converter to gain access to other popular formats like DOCX.

Google Docs

One word: voicetyping. OK, that was two words, and Google Docs can help with that, too. Google’s online, in-browser, better-in-Google’s-own-Chrome writing solution is far from perfect. Its interface somehow manages to feel both too complicated for a simple word processor and too limited where it shouldn’t be. It ends up like a weird Wordpad with advanced plugins tucked-on but hidden away.

Still, voice typing combined with its Artificial Intelligence-backed predictive text support, that can learn patterns from the way you write, make a killer combination. What’s better than dictating instead of writing, then choosing from smartly pre-selected words when doing final edits on your work?


Typos can make your writing look unprofessional – except if you’re doing it only for your journal. An editor can help you refine your writing and correct some of your typos, but the problem’s that editors cost money. Actually, so does Grammarly, but thankfully it also offers a free plan.

At its simplest, Grammarly is a spellchecker that can ensure your work is typo-free. As you use it, though, you realize why Grammarly is considered the best solution of its kind: it’s not merely an alternative to free options like GNU Aspell. With Grammarly, you can select from a group of goals, different voices, and intends. This way, you can ensure your writing not only is typo-free but also carries the message you want, the way you desire. Would you like to make your pottery tutorials sound friendlier and your CV more authoritative? Grammarly can check your text’s tone and suggest tweaks to find your authentic voice.

If you go for the Premium option, you’ll get more advanced checks, including for plagiarism. Grammarly also offers the option to have your work checked by a human editor. Although this carries an extra cost, it’s much cheaper than hiring an editor on your own. No matter your primary tool for writing, I’m pretty sure you’ll also add Grammarly to your arsenal – at least, the free option.

Write On

I believe that the programs I chose are the best in their field, and at least one of them will crawl its way into your list of favorite writing tools if it’s not already there. Still, there are even more options that many people swear by, which I skipped for the majority of users would bring out the pitchforks.

Yes, you can write a whole book with Vim or write your blog updates with Emacs. Nano is ultra-quick and produces generic TXT files that you can edit even on your smart fridge. Evernote is even more popular than Obsidian for managing and organizing notes if that’s how you’re going to use it.

Still, I regard those as even more specialized solutions. They might look too arcane and “geeky” to the average user. Or they might deal with “writing stuff” but not offer enough to stand out from their peers. The truth is that although I use them for other reasons, I don’t find them as useful as the programs in this list for my actual writing.

Are you using the same tools I do, or are you relying on other solutions for your writing needs, and which?

Author : Odysseas Kourafalos.

The best gift for your kids this holiday season: a Raspberry Pi

It’s that time of the year again, when mommy, daddy, extended family, and friends help perpetuate the myth of Santa Claus by purchasing gifts for the mini-humans among us. Most kids, especially the younger ones, will get some playthings. Many will get clothes, among which there would be an epochal amount of sweaters nobody genuinely likes. A rare few might get some book, but in many cases, it will be of the coloring kind. As every self-respecting geek among us knows, though, all those options don’t hold a candle compared to a modern gadget that can change their lives. A gizmo that can help them grow and become the gift that keeps on giving: a Raspberry Pi.

The Raspberry Pi was initially created as an educational tool. A self-contained computer that would be ultra-affordable, so that every school — and every parent — could buy a bunch without breaking the bank. You see, unlike typical computers and gaming consoles, the Raspberry Pi doesn’t use specialized hardware. It is the equivalent of a simple smartphone, without the “unnecessary extras,” like the display and camera. Even if we don’t fully take advantage of them, modern smartphones are proper mini computers. The Raspberry Pi keeps the “computing” part and loses the fluff.

The first Raspberry Pi sold-out, but it wasn’t kids, students, and schools buying it, as initially intended, but instead, fans of open source and DIY. A full-blown computer at a tiny form factor and an unbeatable price? What an unrivaled combination for tinkerers, programmers, and those who sought an advanced Media Center solution or retro gaming box for pennies!

It’s precisely for the same reasons that the Raspberry Pi is the best gift for every kid who doesn’t already have one. It can work as both a toy and an educational tool. A Raspberry Pi can have the kids thinking, solving problems, using their imagination, and learning new things. At least, when they are not playing Super Mario and re-watching Frozen for the umpteenth time.

Thus, I’ve decided to compile a list of some of the ways this little electronic board can turn into the Best Gift Ever. I am sure at least one of them will entice you to buy a Raspberry Pi, or five. You know, “for the kiddo!”

Project Ideas

You can build hundreds of things with a Raspberry Pi, but I decided to keep things kid-friendly and relatively simple for this list. You can make most of the following projects with, not for your kids. Thus, I’ve avoided more complicated ideas, like building your own arcade cabinet. Those are admittedly more impressive but may also demand the use of potentially dangerous tools like a Dremel.

Make a Lego Case for Your Raspberry Pi

Since you can build many things within some of which it could be embedded, the Raspberry Pi doesn’t come by default with a case. Thankfully, you can purchase both official and third-party solutions to offer your Raspberry Pi a shell to call home. It’s never a good idea to leave electronics exposed.

Thing is, why spend more money to buy a small chunk of uninteresting plastic when you could take advantage of the situation? You can treat the lack of a case as the first project to tackle with your kids. Why not make one together out of one of the most popular and creative toys, one that both kids and adults love? Yes, I’m talking about Legos!

This would be a big no-no if talking about a full-blown PC, but the Raspberry Pi doesn’t get too hot. Thus, there’s no need for large coolers and specialized cases with ample airflow. You can let your imagination loose and build the equivalent of a house for your Raspberry Pi. Build around any of its ports, leaving openings for connectivity. If you prefer planning ahead or would like a simple guide of specific steps you can follow, this one would be a good start.

Set up a Self-Contained Media Center

YouTube’s top 5 most viewed videos are all songs for young kids, and you can find Frozen’s characters everywhere. As Sherlock Holmes would deduce, and every parent knows, that’s because kids not only like their videos but also having them on repeat. With a Raspberry Pi, you can offer them precisely what they want and, at the same time, liberate your exhausted TV or laptop. It’s as easy as flashing a file you’ll download on an SD card, also copying their favorite movies and videos in it, and then booting your Raspberry Pi from it. Done: you’ll have created a self-contained media center for the kids. Add a monitor and a joypad for control, and place it in their room. You can find a guide on how to pull this off at Raspberry Pi’s official site.

This will result in a Raspberry Pi running a Linux distribution dedicated to a single app, the popular KODI media center. KODI supports most media types, so you can throw almost any kind of video and audio files in its folders. Then, add those folders to KODI’s library, and scan their contents. Let KODI detect all file details and automatically download pretty graphics from them Internets, and call it a day.

You can also go the extra step and make a YouTube account specifically for the kids, then add it to KODI’s dedicated YouTube add-on. This way, your kids will not only have access to their favorite Studio Ghibli movies locally, but also be free to listen to Baby Shark three dozen times per day without melting your smartphone.

Since their media center will be Linux-based, you can also configure the underlying system only to allow its use on a schedule. But that’s a story for another time.

Assemble a Tiny Retro Multi-Console

We might gawk at the graphics produced by the latest GPUs, Playstations, and Xboxes, but that’s because we’re adults. Kids don’t care if Snow White’s mirror reflection isn’t ray-traced or how many strands of Rapunzel’s hair are rendered. Raspberry Pi might be underpowered for games like Cyberpunk 2077, but it packs enough power to emulate older consoles. Consoles with thousands of titles, which might not display the fanciest graphics, but shine where it counts: gameplay.

Like in KODI’s case, it’s a simple process thanks to RetroPie, which comes with pre-configured versions of RetroArch and EmulationStation on the Debian-compatible Raspbian Linux distribution. If this sounded like Greek to you, the simple version is this:

  • Download and flash RetroPie on an SD card
  • Copy some games for older consoles and computers in the appropriate folders
  • Boot your Raspberry Pi from the SD card.

RetroPie presents a snazzy interface giving access to all the game ROMs it detects in its folders. I suggest you don’t give your kids access to dozens of systems and tens of thousands of titles all at once, though, if you ever want to see them again. It would be better if you update their retro-console manually every other month. Each time add a handful of new ROMs to their collection to keep things fresh.

Use It as a Desktop Computer and Learn Linux

The official OS for Raspberry Pi was Raspbian, now called Raspberry OS. It’s based on Debian, which just happens to be one of the oldest, trusted, and most widely supported Linux distributions. Like Debian, Raspberry OS can provide a full-blown desktop environment and hundreds of apps to cover every possible need. The Linux ecosystem has something for everyone, from browsers to text editors and from sketching tools to educational software.

This means that you don’t have to spend a small fortune to give older kids and teens a proper computer. The newest Raspberry Pi model packs enough punch to tackle the same tasks as desktop PCs. It shows its limits only with very demanding processes, like rendering 3D graphics, editing video, or heavy multitasking. However, do note that the older models are much more limited. They offer a sub-par desktop experience – especially the first and second-generation options that had even less RAM and a single-core processor.

Play — and Hack — Minecraft

Minecraft isn’t just a game, but a worldwide phenomenon. The first game to be used in classrooms as an educational tool, Minecraft is available for free on Raspberry Pi and accompanies its default OS. Kids will love fooling around in its blocky 3D world, but that’s only the beginning. It’s when they realize this world can be a virtual sandbox, where they can easily build things by stacking blocks, that they’ll genuinely get hooked. But there’s more.

Equipped with a programming interface, Minecraft for the Raspberry Pi can be extended or “hacked” with Python code. By writing scripts to build things in the game, kids can learn actual programming while having fun. Much better than reading for hours to learn how to print “Hello World” on the screen.

There’s not much needed to enjoy Minecraft on the Raspberry Pi since it’s included in its official OS. After downloading the file and flashing it on an SD card, you only have to add a mouse and keyboard to the Pi and hook it up to a monitor. Boot from the SD card, and then locate and run Minecraft.

Scratch the Itch to Code

Older kids and teens can learn how to program in Python through Minecraft, but with Raspberry Pi and Scratch, even younger kids can learn basic programming concepts. Scratch is a visual programming tool with a relatively simple drag and drop interface, through which kids can create their own games and animations. That’s what makes it easier for younger kids than fooling around with Minecraft’s coding side: with Scratch, they won’t have to write a single line of actual code.

More Complex Projects

You don’t need much more than the Raspberry Pi itself for the projects we saw up to now. Those are great ways to get familiar with the Raspberry Pi but don’t take advantage of its true potential. For that, it’s worth investing in some extra parts — and maybe a soldering iron — and setting aside some hours for next weekend. The results, as you’ll see in the ideas that follow, will reward your time and effort.

Put Together a Lunch Box Laptop

A relatively quick and easy to pull-off project, D10D3’s computer-in-a-lunch-box project is precisely what you think: a computer in a lunch box. Take that, MacBooks!

The whole idea is as simple as it sounds. You’ll need the Raspberry Pi itself, two batteries, a mini LCD, a Bluetooth keyboard, and a WiFi dongle. That’s on top of the same cables and SD card you’d use on a typical Raspberry Pi setup. Plus a lunch box. Then, you pack everything inside the lunch box, mount the components in place with some foam tape, and you’ll have a portable “laptop” for the kids. As an alternative, flash RetroPie instead of Raspberry OS and replace the keyboard with a low-profile joystick. Hey presto: a portable mini-arcade instead.

Make Your Own Portable Games Console

Having access to thousands of titles from the whole history of video gaming through a tiny retro console in their room could be the best gift for every kid on the planet. And yet, it isn’t because there’s something even better: being able to take all those games with them wherever they go. Thankfully, by adding some extra bits and pieces to the Raspberry Pi, that’s possible too!

PiJuice’s project will show you exactly how you can do this by combining a Raspberry Pi with an Arduino board, a mini TFT screen, a joystick, four switches, and some cables. Of course, you will also need an SD card to house the operating system and games.

Note that although you can make this with the kids, there is also some soldering involved. You should either perform those steps by yourself or ensure that the kids stay away from the scorching hot soldering iron and the toxic fumes produced during the process.

Turn Your Christmas Lights Into Sound Visualizers

Here’s a fantastic project for this holiday season. One that can turn you into your kid’s superhero, but also into your neighbors’ worst nightmare: turn your light decorations into a massive visualization for Baby Shark! Follow MakinThings’ instructions to see how you can do this. Take note that this is another project you’d better make on your own, not accompanied by your kids. This one involves soldering, too, and depending on the path you choose, it may also require dealing with power cords.

Still, although the kids won’t be directly involved in the process, I’m sure they will appreciate how the whole neighborhood will be able to feel Elsa singing. All. Day. Long.

Make a Web-Controlled Power Strip

This project is indirectly “for the kiddo” and primarily for the parents since it’s you who will be interacting with it. And it can also be linked to many of the projects we saw up to now. At the same time, it can allow your kids unrestricted access to gaming and media in their room and offer you peace of mind. What is this magical project?

Well, the title gave it away: a web controlled power strip.

It might not sound like something revolutionary, but think about it: by following rleddington’s instructions, you can create a group of web controlled power sockets. Then, place them in the kids’ room, and plug in the media center or retro console you made with another Raspberry Pi. The result? The kids will be free to enjoy failing in Battletoads without feeling mommy’s and daddy’s gaze judging them. And you will be able to enforce bedtime by touching a button on your smartphone’s screen.

A Thousand Gifts in One

I’m sure you found at least one project in my list that sounds like a great idea and justifies the purchase of a Raspberry Pi. What’s not initially apparent is that the most important gift isn’t the final result but the process itself. The fact that you’ll be spending time with your kids, working together toward a common goal.

All the while, they’ll be learning about how computers and tech work. What’s even better, though, is that with Raspberry Pi, nothing’s set in stone. When they get bored with a project, it’s easy to tear it down and re-use the Raspberry Pi to create something else. Something new, exciting, but equally enjoyable.

Or, you know, you could buy them a sweater.

Author : Odysseas Kourafalos.

Best Image Editors For Ubuntu in 2020

You might have searched for the best image editors for Ubuntu in 2020 and fell upon dozens of articles bundling a bunch of applications in the same bag. One reason is that the term image editor can mean many things. Still, it’s wrong presenting different applications as if they’re the same thing without explaining where they differ and what makes each one interesting.

You see, image editors deal with computer graphics, and those are split into two big categories. The first is raster graphics, and the second what we can loosely define as math-based graphics.

Raster graphics, more commonly referred to as “bitmaps,” include popular formats like JPG’s, GIFs, PNGs, and BMPs. This type of graphics contains information about the color and coordinates of a specific number of pixels. That’s why they are best viewed in their original resolution and look fuzzy when zoomed in or out.

Math-based formats include modern 2D vector formats, like SVGs and Adobe Illustrator’s popular AI format, and extend to DTP and 3D graphics. The common point between all math-based formats is that algorithms instead of information about each pixel define what appears on the screen. The results are less detailed because those algorithms describe the appearance of pixel groups instead of individual pixels. However, this is also their primary advantage since they can be displayed in any resolution without losing detail and are much smaller in size.

For most people, the term “images” is equivalent to bitmaps. Thus, for this list, I gave a higher priority to programs dealing with such formats. Each can be considered “the best image editor for Ubuntu in 2020,” depending on your needs and preferences. Still, they all excel in their particular fields. Although they are all “image editors,” each one also specializes in a different aspect of graphics and image manipulation. So, even if one doesn’t look like your cup of tea, another may be what you are seeking.


Download GIMP

An ancient and not-so-popular joke between geeks goes something like this: the only thing worse than the GNU Image Manipulation Program’s (AKA: GIMP) name is its interface. As I am typing those lines, GIMP celebrates its 25th birthday, and its interface still looks and feels just like when it first hit our screens. And I don’t mean it in a good way.

GIMP has been often criticized for how its interface is more complicated than needed. However, the excuse is that it packs everything required for bitmap editing, manipulation, or creating graphics from scratch. It is the closest open source and free alternative to Adobe’s pricey Photoshop.

The simplest way to put it is that nothing comes close to GIMP’s feature set. If you want a single application to color-correct your photographs, create mockups, sketch a comic, or even make an animated banner, this is it.


Download Krita

The creatives among us might find GIMP’s interface restrictive, too complicated, straight out annoying. Its features are geared more towards existing image manipulation than creation. Plus, it feels “laggy,” as if it doesn’t prioritize real-time user input. Krita does.

For the older than 18 years old graphic artists among us who might remember it, Krita is the open-source equivalent to Painter. Unlike behemoths like Photoshop and GIMP, programs like Krita and Painter prioritize their graphic engine’s speed and accuracy. When sketching, or painting, or, generally, creating graphics from scratch, you don’t want your computer stuttering, pausing, interrupting your flow.

This fluidity might be the most crucial characteristic of Krita, but it’s far from the only one. Both pencilers and inkers will appreciate how it includes a smooth motion mode to assist when sketching curves. Or how you can rotate the canvas to help with the limited mobility of our human wrist. That’s why Krita today has all but dethroned even the almighty Photoshop for digital sketching and painting.


Download Pinta

Allow me to continue my streak of comparisons between open source applications and their Windows or Mac OS equivalents. If GIMP is an alternative to Photoshop and Krita to Painter, then Pinta is closer to Paint.NET.

Being lighter in features than GIMP is, in this case, a feature on its own. That’s because it results in Pinta feeling much swifter than GIMP in actual use. Its interface is also much friendlier and closer to Photoshop. It’s worth noting that this interface setup is considered a standard in graphics apps since the ancient days of Deluxe Paint on the Amiga.

This places Pinta right in the middle between GIMP and Krita, rendering it suitable for both existing image manipulation and creating graphics from scratch. Like either of them lacks where the other excels, Pinta isn’t better than GIMP or Krita in their respective specialty fields.

However, this also means that it’s more user-friendly than both and a much better option for most people who don’t need the particular features of GIMP or Krita.


Download InkScape

Bitmaps might be more popular than vector graphics, but that doesn’t mean they don’t exist, nor could I ignore them. The best free and open-source tool for the job, if “best” means most versatile and feature-rich, is InkScape.

Just like Adobe’s closed-source and commercially available Illustrator, InkScape doesn’t care about individual pixels, specializing in math-defined vector graphics. Some of its tools look similar to what programs like Photoshop and Krita offer, like the pencil and paintbrush. Here, though, they achieve their results differently. They define a series of points on the canvas, styled to look like those freehand tools.

Most professional illustrators who work with vector graphics, though, don’t rely on such tools at all. Instead, they create and modify those points one by one, carefully defining shapes. Shape by shape, they build their final result, assisted by the rest of the tools, functions, and filters InkScape offers.

Vectors might be different than bitmaps, but you can work with both in InkScape. Instead of defining plain-color shapes, you can use bitmaps to give them an interesting texture. Here’s an idea: let’s say you were creating an illustration of a field in InkScape. Instead of designing a background to “ground” your work, you could skip that step. Instead, you could import an actual photograph of a cloudy sky and place it behind your work layer as a background.

Tools like InkScape are also useful for “quick and dirty” DTP jobs. They are not the best for working on long e-books; neither can they replace programs like InDesign or Scribus. Still, they are perfect for designing single page flyers and leaflets.


Official Page

Typing long commands in the terminal might seem counterintuitive when talking about editing images. Despite having to use it in precisely that way, ImageMagick is an indispensable tool for everyone.

Unlike most other tools of the trade, ImageMagick doesn’t allow real-time interaction with images. Or, to put it simply, it doesn’t let you sketch and paint over existing images. Instead, it specializes in what would be better described as image manipulation instead of editing.

With ImageMagick, you can, for example, add the same watermark to a bunch of images with a single command. Most people use it to batch resize and convert images in one go, though. ImageMagick enables you to build a script that can “take” pictures you save into a particular folder and “transmute” them to the optimal size and format for your blog.


Since the term “image editor” is somewhat vague, you might be looking for something slightly different. Maybe for something like the following:


Darktable is the closest any open-source program has ever got to offering Adobe Lightroom’s feature set on Linux for the enticing price of zero.

Just like Lightroom, Darktable is a non-destructive photo editing application, enabling you to experiment with your files without worrying about your originals. Darktable automatically creates copies of any file you edit, applying all changes to the clone while keeping the original intact.


An image editor specializing in tweaking photographs to make them more presentable, LightZone can help you improve the clarity, colors, and vibrance of your snaps.

LightZone works in two distinct modes: in Browse mode, you can jump between the folders in your file system, see thumbnails of the images inside them, and select them to check out their metadata. By choosing a picture, you can move to the Edit mode. There LightZone offers a list of configurable Styles that affect the selected image in different ways. You can use them to improve your pictures’ looks, remove defects, or follow Andy Warhol’s footsteps.


For light editing and, more importantly, browsing and organizing your images, F-Spot takes the cake. It’s a visual file manager designed specifically for working with images.

You can select multiple images to batch-adjust their brightness, contrast, hue, saturation, and temperature. Then, add some tags for better organization, and maybe export your pictures to web services like Flickr and Picasa. And that’s without taking into account the extra functionality offered by F-Spot’s extensions. It’s a must-have app for everyone dealing with image files on Ubuntu.


I hope you found an image editor for your particular needs among my choices. Those apps cover significant chunks of the image-editing landscape and are generally considered the best at what they do.

Still, you might be interested more in something like GrafX2 or mtPaint if what you’re seeking is arranging pixels next to each other to create retro-looking pixel art. For UI/UX design, you don’t have to re-invent the wheel and design everything from scratch in tools like InkScape, when there are solutions like Figma Linux for precisely that type of work.

Even if you can find other solutions that specialize in a particular sub-field of graphics, though, the tools I talked about are “general enough” to cover all image-editing needs of the average user. This includes editing photos, sketching, painting, transforming, or converting and re-compressing any type of image.

Which type of graphics are you more interested in, and what tools – if any – are you already using to create, edit, view, and manage your image files? Tell me in the comments section bellow.

Author : Odysseas Kourafalos.

Top 5 Linux distros for beginners in 2020

Search for the best Linux distribution for beginners, and you will find dozens of articles that talk about the same thing. They present a list of distributions each article’s writer believes are relatively “easy” for “Linux beginners.” All of them share the same problem, though, and this is where my list differs: they don’t define what they mean with the words “easy” and “beginners.” Strangely, the meaning of those words, when talking about operating systems, is not straightforward.

There are countless distributions available today, and although they are similar in many ways, each of them can be considered “the best” for a different audience. So, for the ones that follow, I decided to talk about specifics instead of a general and vague “easy.” But first, I will have to explain what constitutes, from my point of view, a “Linux beginner.”

The term “Linux beginner” is an umbrella term under which you can find everyone who is not familiar with Linux. This term encompasses at least three different types of Linux beginners:

  1. People who don’t have any or limited experience with computers, who for whatever reason want to use a free (as in beer) operating system instead of a commercial solution.
  2. Those who are already familiar with computers and a non-Linux operating system. An “operating system” which usually translates to a version of either Windows or Mac OS.
  3. The rare few and brave who are using a different operating system, have started feeling its limitations, and have heard that with Linux you can truly understand how computers work. So, they’ve decided to jump ship to Linux precisely for that reason. They are not afraid to get their hands dirty and invest the time to learn new things if that means that, in the long run, they will be the true masters of their computers. They will be the ones making the choices, calling the shots.

Thus, for this post, I chose five distributions while taking into account precisely the needs of those three types of users. I’m pretty sure that if you’ve never used Linux before, you are a member of one of those three categories. Depending on which, the following distributions will give you the best user experience compared to most – if not all – alternatives.

New to Computers: Ubuntu

For many people today, Ubuntu and Linux are the same thing. Everyone can use it, and even many programmers prefer it for its simplicity, huge community, and great support. It’s main superpower, though, is its ease of use from the get-go.

Ubuntu 20.04 LTS - Desktop Screenshot

The people behind Ubuntu, Canonical, have managed to create a desktop experience that everyone can use, even if they have never touched a keyboard before. Most operating systems and desktop environments came with a search function. Still, it was Ubuntu that brought it front and center. In alternatives, you had to hunt down specific menus, options, or programs. Ubuntu suggested you searched for them instead. In that regard, it felt more like a mobile operating system, closer to Android than Windows, Mac OS, or even other Linux distributions.

Unfortunately, this also means that it can be just as chaotic as Android for those familiar with computers. Do you like installing dozens of applications on your computer? Are you jumping between them every single day, continually multitasking? Then, Ubuntu might not be for you. For example, until its latest versions, it was impossible to reorganize its main application menu. All installed software “fell” there, creating a vast stream of icons. That’s why Ubuntu prioritized its search function: the alternative was to scroll page after page after page until either your mouse wheel or your finger broke.

Those who are new to computers, though, are also new to the concept of software. They’ll be more than happy with a safe operating system. One which takes care of all needed updates with almost no need for user input. An operating system that comes by default with most of the programs they need for their day-to-day use and offers easy access to an extensive collection of extra software. All while having a massive community of users who can lend a helping hand when something goes wrong. For those, Ubuntu is probably the best choice.

Download Ubuntu

Windows Users: Zorin OS

Zorin OS is not afraid to present itself as a Windows and Mac OS alternative from the get-go. Pay a visit to its official site, and you will see that it doesn’t talk about what new it brings to the table. Instead, you see all the reasons it is better than Windows and Mac OS (according to its creators).

Zorin OS - Desktop Screenshot

Unlike other distributions, Zorin OS specifically targets those who are frustrated with their current version of Windows or Mac OS. Those actively searching for something that might offer a faster, streamlined, and safer user experience.

Zorin OS comes with a Zorin Appearance app, which allows the user to change the way the desktop looks and works. However, that also means that this Linux distro expects the user to be somewhat familiar with an alternative desktop, which it can mimic.

In many ways, Zorin OS can be considered an “Ubuntu+,” especially since they both share the same code base and (can) have access to the same software. I should note, though, that although it can present a similar “face” to Mac OS, it’s a better choice for Windows users who want to move to Linux. Mac fans would be better off with my next choice.

Get Zorin OS

Mac OS Users: Elementary OS

Mac users usually decide to move to Linux for a different reason than Windows users: they are not disappointed by their operating system, but by their computers, and the company behind both of them, Apple.

Elementary OS - Desktop Screenshot

Although brand-new Macs look sleek and perform great, when looking directly at their hardware and its raw performance in tasks like 3D rendering, they perform like an average PC. And yet, although Apple never equips them with the latest and greatest hardware, they make sure that Mac OS truly flies on them while looking gorgeous.

This explains why Elementary OS looks and works the way it does. It’s designed as the perfect OS for primarily three groups of users. In the first, we find Mac owners who feel the “official” OS for their computer performs sluggishly on their existing hardware. The second consists of all those Mac owners in need of an upgrade, who’d prefer to avoid paying up to twice as much for having the privilege of their new hardware being blessed with Apple’s logo, but who like their OS’s looks, and the user experience it offers. Finally, in the third group, we find everyone who appreciates Apple’s aesthetics, but not Apple’s computers, on which Mac OS is “tied.” Since they can’t install Mac OS on their existing computers (officially), they seek something precisely like Elementary OS.

That’s why Elementary OS comes by default with a single dock at the bottom of the screen, with a minimal set of icons for only the most essential apps, and a clean, transparent menu at the top of the screen. If its icons were glossier or you aren’t sitting close to the screen, you could very well mistake it for a somewhat customized version of Mac OS.

Download Elementary OS

Friendly Ubuntu: Linux Mint

More advanced users might look at options like Zorin OS and Elementary OS and scoff at how they try to simplify the user experience. For all its versatility, they might believe Ubuntu is too restrictive. Or they might just not like how Canonical tries to impose snap on them. They prefer having more control over their computer and operating system. To achieve that, if they chose one of those three options, they would have to invest a significant amount of time undoing some of their defaults. Or install Linux Mint and call it a day.

Linux Mint - Screenshot with Cinnamon Desktop

Linux Mint offers everything those three options do and then some. Cinnamon, its official Desktop Environment, doesn’t try to clone the looks of Windows or Mac OS. Instead, it offers two alternative configurations for its main panel that get close enough to feel familiar. Linux Mint is also based on Ubuntu but applies many tweaks to make the recipe its own. The result looks and works more like a traditional computer operating system than an Android alternative for mouse and keyboard.

Although good in its own right, many consider Linux Mint as “a better Ubuntu.” An operating system with the same rock-steady and safe base, with access to the same vast software library and humongous user community, but without Canonical’s questionable choices and imposed limitations. Ubuntu and Mint are more similar than different, and you can do the same things with both. It’s even possible to turn Mint into Ubuntu, and vice versa. However, it’s simpler to choose one based on your priorities: Ubuntu for ease of use, Mint for control. You can’t go wrong with either.

Linux Mint – Official Site

Brave Learners: Gentoo

Who said that every Linux distribution for beginners has to be easy? Some people don’t look at Linux as an alternative operating system but as an opportunity to learn more about their computers. They want to understand how everything works, how the bits and bytes of software and data collaborate to create what we see on our screens. To take a deep dive and learn how to compile the software they’ll use for their specific needs on their particular hardware. For that, there’s nothing better than Gentoo.

Unlike most other distributions, Gentoo is closer to Linux From Scratch (LFS) and Arch Linux. All three of them expect the user to install the operating system “by hand,” customizing it to their liking in the process. Two things make Gentoo an excellent learning tool. First and foremost, its stellar handbook that explains every step of the installation process in great detail – a lesson on its own. Secondly, its knowledgeable community whose members are eager to help everyone who wants to learn more about Gentoo and Linux.

If you choose Gentoo, though, over the alternatives, prepare for a lot of reading.

Official Site – Gentoo


Your choice of a Linux distribution depends on your past experience and current needs and priorities. That’s why I disagree with most lists presenting “the best Linux distributions for beginners” as if we’re all clones of the same person and decided to write this post. I sincerely hope it helped in your choice of the distribution that will become your entry point to the magical world of Linux. I’d love to hear which one you chose.

Author : Odysseas Kourafalos.

How to Implement Caching in Sinatra/Ruby Apps

Sinatra is a lightweight web framework for Ruby. It’s a DSL that you can easily learn to build web applications faster or create apis that can easily serve millions of requests per day, while using least amount of RAM and CPU cycles (as compare to Ruby on Rails or other ruby frameworks). In this article, you will learn how to further optimise a Sinatra app by adding a simple in-memory caching system.

Ruby is my favourite language and I prefer Sinatra for most of my web projects, except when I’m creating something complex and going with the sensible default of Rails seems like a better choice. Recently, one of my website (sinatra based) was loading slow due to lots of database calls and implementing a caching system was the easiest thing to do to speed up the website. I used memcached because of its simplicity.

What is Memcached ?

Memcached is a high performance in-memory key value caching system. All the data is stored in memory (RAM) and it provides a very fast lookup via their keys. I just wanted to save expensive database calls, memcached is very efficient at this. Persistence was not required otherwise I would have selected redis.

Setting up Memcached on Ubuntu

Install it via your package manager or terminal.

sudo apt-get install memcached

Then you will also need a memcached client for ruby. I used the Dalli Gem. Add this to Gemfile and install it via bundler.

Here is a simple caching strategy I used for a blog. You could use this as starting point and customise it for your need.

Although default memcached config would serve you well but If you want to tweak few things for memcached, look at the configuration file at /etc/memcached.conf. To check the live status (total cached objects, ram consumed, hits, misses etc) use this command :

watch "echo stats | nc 11211"

When you’re working with caching, testing whether it works or not, flushing the cached objects is required sometimes. Here is that handy command to flush all the key-values from the memory :

echo 'flush_all' | nc localhost 11211

You could also pass options block to Dalli instance for setting an expiry timeline for stored objects.

>> options = { :namespace => blog, :expires_in =>, :compress => true }
>>'localhost:11211', options)

By implementing a simple caching using memcached saved me lots of expensive database calls, cpu power, and resulted in faster experience for the users as well. That’s win-win for everyone! (users, servers, developers ). Cache it if you can!

Relevant Links and References :