An adventure through the Snap Store

by Igor Ljubuncic on 9 April 2020

An application store with a large number of entries is a double-edged sword. It’s often a good sign of a vibrant, thriving community of software creators, developers and users working together. But then, people new to the ecosystem may struggle finding relevant content right away. The Snap Store currently offers about 7,000 applications, so exploration and discovery can take quite a bit of time and effort. We’d like to help you find useful, interesting applications by taking you on a little tour through the Snap Store.

Productivity timer

Efficiency is a modern-day commodity. With the pace of life accelerating side by side with the constant evolution in technology (nothing to do with the accelerating expansion of the Universe), we are often time-pressed, and we need to look for ways to improve our throughout. There are many ways to attempt this – one is an application called Productivity timer, which helps you set a steady, high-efficiency tempo for your work.

Productivity timer lets you configure time intervals during which you work, short and long breaks, as well as the overall length of your work session. Once you start it, the timer will count down toward the (first) short break. The application will even announce using text-to-speech that your work session is about to end. During the pause, the keyboard inputs are inhibited, but the mouse cursor works. Presumably, this allows you to do some light surfing or reading – but not type, which would often constitute as work. If you’re looking for convenient ways of improving your productivity, this snap might do the trick.

Cpp-dependencies

If you’re working on a complex software project, tracking all the resources, assets and their dependencies can be a daunting task. Luckily, there are applications that can help you here. Cpp-dependencies lets you map out your projects and figure out how different files relate to one another. Then, you can also create graphs that let you visualize the dependency chart of your project components. Like the neverending list of characters in GoT, only with no dragons.

Cpp-dependencies works well, but it does require a little bit of attention. In some cases, you won’t necessarily provide useful output based on the initial scan, so you need to run the application with the –infer flag. To create graphs, you will need software that can turn dot files into images. Something like graphviz comes to mind. If you’re developing large, complex software projects, and sometimes need to figure out how various parts relate to each other, cpp-dependencies can be quite useful in giving you the answers you need.

cpp-dependencies --infer --stats .
11 components with 12 public dependencies, 16 private dependencies
Detected 2 nodes in cycles
cpp-dependencies --infer --graph test.dot “path to sources”
dot -Tpng example.dot >test.png

Ubuntu ISO Download

A simple tool with a simple task. If you want to grab one of the ISO images for any of the many members of the Ubuntu distro family, you do not need to open a Web browser, and go to each specific download page. You can use this snap to get the images from the command line.

Furthermore, the application helps you verify your downloads, to make sure they are not corrupt. To that end, Ubuntu ISO Download will also retrieve the SHA-256 hash file and the signed GPG hash. The latter is used to verify that the hash file is valid and the expected hash saved. Then, once the ISO is downloaded, the SHA-256 hash is calculated and compared to the expected value. If there is a mismatch, the downloaded ISO image will be removed. Ubuntu ISO Download supports a total of 10 different Ubuntu flavors and editions.

Pixelorama

If you like art, and you’re looking for new ways to express your (digital) creativity, you might be interested in Pixelorama, a free, open-source sprite editor. In essence, Pixelorama looks like a somewhat simplified full-blooded image manipulation software (like say GIMP), and features many of the same tools you need to create art: different tools, brush sizes and types, custom and random brushes, layers, image import, mirror drawing, tile mode, split screen, themes, and quite a bit more. The one thing Pixelorama can’t provide is creative spirit and imagination, but it sure can help you express yourself in a fun way.

Bcrypt-tool

If you think this tool is somehow related to archeological digging in Egypt, you would be mistaken. Bcrypt is a password hashing function – and bcrypt-tool is an application that can generate and check bcrypt hashes. This can be useful if you need to create hashes for applications (without user input), or verify if specific passwords match relevant hashes. You can also specify the “cost” for hash generation – the higher the cost, the more compute power will be needed to create the result.

bcrypt-tool hash 12345678 14
$2a$07$7XvAWiAro.gdBPDnHEYTm.1BRhoSq0nB5Xjl6KPC7exQ59ylK5DDa
bcrypt-tool match 12345678 '$2a$07$7XvAWiAro.gdBPDnHEYTm.1BRhoSq0nB5Xjl6KPC7exQ59ylK5DDa'
yes

bcrypt-tool match 12345679 ‘$2a$07$7XvAWiAro.gdBPDnHEYTm.1BRhoSq0nB5Xjl6KPC7exQ59ylK5DDa’
no

bcrypt-tool match 12345678 '$2a$07$7XvAWiAro.gdBPDnHEYTm.1BRhoSq0nB5Xjl6KPC7exQ59ylK5DDb'
no

Summary

This is just the tip of the iceberg of the practical, fun stuff you will find in the Snap Store, in addition to the big, popular names (the likes of Skype, Spotify, VLC, or perhaps LibreOffice). We hope you find today’s tour valuable. If you have any suggestions or requests on this (or any) topic, please join our forum for a discussion.

Photo by Svetlana Gumerova on Unsplash.

Newsletter Signup

Related posts

Snapcraft development tips: how to troubleshoot snaps with services

In the past, we have discussed various ways on how to debug and troubleshoot potential issues during snap development. The ability to quickly iterate, resolve build process hurdles and publish the application in a timely manner is essential to a robust, positive development experience. Today, we would like to outline a few basic tips and […]

Experimental feature: progressive releases

“No plan survives contact with the enemy.” This is a quote famously attributed to the Prussian field marshal Helmuth von Moltke. It is also quite applicable to software development: “No code survives contact with the user.” In mission-critical environments, staggered deployments of software are a crucial part of controlled updates, design […]

How to set up TurtleBot3 in minutes with snaps (2/2)

Welcome to part two of our TurtleBot3 set up, namely the turtlebot3c project. In part one, we rearranged the launch files and configuration files of the TurtleBot3 so that we have four entry points to our robot’s functionalities. One per application in our snap. Now it is time to build the snap so that it […]