Run, Developer, Run!

Clipboard Manager Tip

Clipboard Manager QR

Don't underestimate how useful Clipboard Managers, and especially Clipboard Manager Actions could be. It allow you to link applications not connectible by other ways. For example by hotkey:

  • Url copied from Vivaldi (Chrome) → Script that queues download to Synology NAS
  • Url copied from Chrome → Play video stream in Vlc (without complicated hacks)
  • Add bookmark
  • Save to Instapaper
  • Show QR code to quckly transfer copied text to your mobile phone
    • qrencode %s -s 15 -o /tmp/qr.png && xdg-open /tmp/qr.png - open in image viewer
    • qrencode "%s" -o /tmp/qr.png && notify-send -i /tmp/qr.png " " - open in Dunst notification
  • ...

Taking and Editing screenshots on Linux

Best Tool For taking screenshots in Linux Ubuntu

Windows and Mac users have Lightshot - simple tool that allows you to take, caption and edit screenshot in seconds. Unfortunately, on Linux we either stick with command line tools like scrot. Or use Shutter, which if you ask me is terrible: app starts too slow, editing requires multiple clicks, there multiple windows...

Theres awesome screenshot tool called Deepin Screenshot. It have Lightshot-like intuitive interface, that allows select windows or area, and edit screenshots instantly.

Theres bug, when screenshot included selection frame. This and other bugs are fixed in my fork, complete with other improvements like multi monitor support:

Source on Github

Better Notify OSD Alternative

Notification OSD Alternative

Ubuntu's Notify OSD was great idea, most of functionality unfortunately wasn't implemented. It seems will never be completed.

If you are still using Notify OSD it that and replace with with Dunst.

Dunst advantages over Notify OSD:

  • Can show more than one message ⚠
  • Minimalistic
  • Highly configurable
  • Message stacking
  • Group duplicated messages
  • Close messages on click
  • Notifications with critical urgency (notify-send -u critical test), don't dissapear automaticaly and will be only closed on click
  • idle_timeout so you don't miss notification if you are not near computer
  • Custom rules for certain applications
  • History
  • Supports urls
  • Works fine in multiple monitor configuration

See sample config.

Read More →

System Wide Snippet Expansion Ubuntu

Unicode symbols (like x ) look nice, and we should use them more often. But typing them is not fun at all. Either you need to remember long numeric codes or take hands from keyboard to do multiple mouse clicks. Ligatures have right idea that -> should be converted to , +- to ± etc, but whats the point of it, if only selected apps with rare font are able to show them?

On another topic, I hate to type long words like "unfortunately" and "successful" and always make mistakes in them. So I want to autocomplete them. And expand frequently used phrases like "Thank you".

So I suggest you to use global snippets which will work in any app like Slack, Sublime Text, Intellij Idea, Browser input fields e.t.c. As bonus script to do that is very minimalistic - it relies on simulating keyboard shortcuts to select, cut and paste text. Original idea by sessy, my version is heavily modified and have number of improvements.

Works like this:

  • Type ->, press hotkey, get .
  • Type 15eur, press hotkey, get 15€.
  • Type unf, press hotkey, get unfortunately.
  • Type thx, press hotkey, get Thank you.
  • ...

Read instalation, and add your own snippets:

Source on Github

Sublime Text Python Tips

Python 3 print autocompletion

Working with both Python 3 and Python 2.7 in Sublime? Can't make yourself used to type print with brackets? Put this simple snippet in your Sublime Text User Package directory. It will autocomplete print statement with brackets.

Bonus tip for Linux users. Tired to switch build system from Python to Python 3 and back? Just want to Sublime Text use shebang/hashbang when running Build (F7) command? I.e:

  • If your file starts with #!/usr/bin/python3 use Python3
  • If your file starts with #!/usr/bin/python use Python
  • If your file starts with #!/usr/bin/env python use default Python version
  • If your file starts with #!/bin/bash or perl e.t.c., run file defined app..

Put this simple build system in your Sublime Text User Package directory, then select Tools → Build System → Run, and you will have universal runner based on file first line.

Designer tip

Nice looking color scheme

So you are programmer and not designer, but need to highlight something by using different colors? Create scheme, graph or some kind of drawing? Please don't use bold default colors like RED #FF0000 GREEN #00FF00 and BLUE #0000FF, or your creation will look like something from nineties.

Just go to COLOURlovers Top where people with taste and free time created and evaluated color palettes, that just look nice. If you need more colors use Adobe Color wheel to find colors that match. Its quick and simple, but your work will instantly look stylish and professional.

Booting Ubuntu from USB External Drive on Macbook Air

Macbook Air Ubuntu

So I have that tiny USB 3.0 bootable 32GB drive, where I have copied (using dd) Ubuntu instalation from my workstation. It's very convenient to have it, as I can boot from it on any machine (even inside VirtualBox), and instantly get my familiar working environment1.

Story is,that recently I've tried this trick with Macbook Air, and was very disappointed - despite as Ive holded button firmly during boot, my awesome USB wasn't detected.

Thing is that my Ubuntu installation had BIOS boot mode, but Macbooks only support EFI boot.

If you Google that problem, you will find extremely complex solutions.

Here's much more simple one, which will not require any modifications in your Ubuntu installation, and it will still be bootable on computers without EFI support.

Read More →

Simple Hackable Pomodoro Timer

Pomodoro Timer Slack Status and Do Not Disturb

There are tons Pomodoro timers out there. But they are either not customizable, or have "Enterprise Architecture" with multiple methods and calls in the source code, making it complicated to quickly make changes. What if want to quickly customize timer for yourself?

You may want to:

  • Score Habitica habits on completed or canceled Pomodoros
  • Set Slack to "do not disturb" mode while Pomodoro is running
  • Set Tomato Emoji as Slack status, so your colleagues get that you are "trying to concentrate"
  • Update Beeminder to match goal of completing n Pomodoros per day
  • Change color to match your favorite breed of tomato
  • ...

So I've created one more Pomodoro timer. Less than 50 lines of *very simple cross-platform1 Python script. By default, it displays "always on top" window with a timer in window and title.

Source on Github

The code has no options, as its self-explanatory and intended to be hacked and modified to fit your specific vision of how Pomodoro timers should work. Read More →

Proper way to create alert box in Markdown

Sometimes, especially when writing documentation, you might want to put text in a nice colored box. To highlight info, notes, warnings, alerts etc. Like this:

Markdown colored alert box

The problem here is that there no such tag in markdown. So your only option is to use html or macros. As markdown is not processed inside html tags and following code:

<div class="note">       
    **NOTE**: Source [here](//

Will look like this:

Markdown warning

So you either need to make all text inside warning box html (which is ugly and inconsistent) or look for a better solution. Read More →


If you wake up from amnesia, and found yourself near computer, first thing you need to type is whoami. After that, you probaly want to type history to recall whats happened. Third logical question would be whereami, but unfortunatelly command does not exist by default. So prepare yourself to sudden amnesia now, and add to your aliases:

alias whereami='curl'

It will show your ip and location. Also useful to check which VPN are you using.

More Bash and Fish goodness.

←Prev 1 2 3 4 5 6 7 8 Next→



Me on Twitter, Mastodon and Github

We have RSS!

© 20xx

Hosted on Cloudflare Pages, which is awesome!