My computer setup

Here’s a HyperList of my current computer setup – for reference in case someone is looking for inspiration:

PC = Samsung NP900X4C

OS = Ubuntu Linux (16.04) (http://www.ubuntu.com/)

Shell = zsh (http://www.zsh.org/)

Terminal = urxvt (http://software.schmorp.de/pkg/rxvt-unicode.html)

Text editor = VIM (http://www.vim.org/)

Document production = LaTeX (https://www.latex-project.org/)

Programming Languages

Mail User Agent = mutt (http://www.mutt.org/)

  • Mail filtering = mail_fetch (from GMail accounts)

SMTP client = msmtp (http://msmtp.sourceforge.net/)

Instant communication = Weechat (https://weechat.org/)

HP-41 link = pc41 (https://github.com/isene/pc41)

Newsreader (RSS) = Newsbeuter (http://newsbeuter.org/)

Window Manager = i3 (http://www.i3wm.org/)

Information display = Conky (https://github.com/brndnmtthws/conky)

Browser = Qutebrowser (https://github.com/The-Compiler/qutebrowser)

Office suite = LibreOffice (https://www.libreoffice.org/)

Presentation viewer = Impressive (http://impressive.sourceforge.net/)

 

conky-screenshot

Tech stuff: Julia, Vim & Vizardry

Been doing lots of tech stuff lately. Here’s a sharing of some highlights.

Through the years I’ve been programming in more than a dozen different languages. Since many years I have more or less settled on Ruby besides my HP-41 projects programmed in FOCAL and MCODE. Now and then I get this urge to learn a new programming language, and after an extensive search for something neat, I finally landed on Julia. I’m trying her out while reading the book, “Getting started with Julia Programming Language“.

The book is good. The programming language seems excellent. It boasts a complete GitHub-based package system to extend the language with various modules. Although it’s a general purpose language, its strength lies in maths and natural sciences. It’s very fast and with a pretty clean and natural syntax. You can even do straight forward math like this:

f(x) = 2sin(3x)^2

And by then executing the function “f” with x as 0.8, you get the answer straight:

f(0.8)
0.9125010165605526

There is a chance I could be falling in love here🙂

I’ve also been doing lots of work on my Conky setup resulting in this as my “bare” desktop:

conky

If you have any questions about scripts or conky setups, just ask by leaving a comment here.

Then there is VIM – perhaps my the tool I use the most. I’ve been using VIM for writing everything from HyperLists and notes to e-mails, short stories and books since around 2001. It’s a fantstic text editor. But it lacks a good package manager for add-ons:-/

But then I found Vizardry. Using Pathogen as a base to install extensions, Vizardry will let you search for add-ons, install it with a breeze and remove it just as easily. If you’re a VIM user, this is a must. Go get it! You will thank me🙂

Wanted: Top developers/innovators

Here’s a rare opportunity for software developers, innovators, sysadmins, geeks: Join in the creation of a true “innovation garage”. I have taken on the task of creating a subsidiary for a client of mine. The “Dualog Innovation Garage” will spearhead the company’s innovations thrust in the maritime industry. Here’s a short intro:

Dualog (dualog.com) is a Norwegian based company with offices in the UK, Denmark and Singapore. Dualog delivers software to optimize onboard Internet under narrow bandwidth conditions in addition to other functionality for crew, management and ship owners. The company is financially very solid and is gearing up for new innovations in accordance with their tag line “Innovations at sea delivered with passion.” The task at hand is to build an “innovation garage” with 4 world class developers willing to move above the Arctic circle (Tromsø), go crazy with innovation and shock the maritime world. Anything goes in terms of new ideas, new technology and new ways of working – as long as it helps the company make waves and expand by amazing their customers.

Dualog

It would be a dream job for any die hard or playful geek. It would mean doing what you really love. Not dragging your feet to work every day but instead feeling that inner urge and excitement when you get up in the morning. You would be living your passion. A bit like my earlier blog post, titled “Xtreme“.

You can be old or young, a rookie or a seasoned veteran, shy or outgoing. But you have passion and something unique to offer. You make stuff happen.

Interested? Send an e-mail to Geir Isene (geir@a-circle.no)

We will adopt the HP garage rules

We will adopt the HP garage rules🙂

Gall’s law

This needs wider recognition:

A complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over with a working simple system.

From Gall’s Law on Wikipedia.

social_network

Thanks to Geir & Jonas @ Telemark Fylkeskommune for bringing this law to my attention.

Free and Open Source Software – the next surge

Free and Open Source Software (FOSS) won its battle for mainstream acceptance many years ago. Now it’s everywhere. It’s running the Internet and providing the foundation for software giants like Amazon, Google, Facebook, Twitter and Apple. People are using FOSS like never before with Wikipedia being the biggest knowledge base in human history, Linux enjoying 83% market share on smartphones and 98.8% of the World’s supercomputers, Ubuntu users counting one billion, large corporations opting for FOSS, etc.

The next surge will come from security. There will be a backlash from politicians’ craving for a more controlled society. There is a continual push for invading the privacy of ordinary citizens by hollowing the security of software. The UK, China and the US are leading the assault on privacy by trying to make it mandatory for vendors to build backdoors into their encrypted software. This would mean that anyone using Unfree and Closed Source Software will be running software that is insecure by design. Enough awareness about this security threat will push companies in the direction of FOSS. And the ordinary citizen will follow.

Because – with FOSS, there is no vendor to strong-arm and bully into submission, and any backdoor will be open for all to see.

How-to-Remove-Backdoor.Mevade

Killing ads on Facebook

Simply add this to a custom CSS style sheet in your browser:

.ego_section,.mvs._5j5u._5jqk.clearfix,._54b-,div[data-referrer*="substream"] div[data-ownerid*="u_ps"],div[class="_4-u2 mbm _5jmm _5pat _5v3q _5sq8 _5x16"][data-xt-vimp*="log_initial_nonviewable"],._54b{display:none!important}

Any decent browser (like the one I use, “qutebrowser“), will have the option of using a custom CSS style sheet when rendering pages. The above code only affects Facebook and makes ads not show up.

You may of course use another ad-block system, but this is the leanest, less resource intensive and most elegant I have seen. Thanks to a3cAnton.

Conky revisited

It’s pefecting. And perfecting. And so it’s time to revisit my conky setup. From the conky github page, we read:

Conky is a free, light-weight system monitor for X, that displays any kind of information on your desktop.

It can display anything on your Linux (or *BSD) desktop; Your calendar(s), the weather, system information, text or fancy graphics. It can also be a simple, slim and non-intrusive line of information at the top of your desktop. Like on my system:

conky-screenshot

Conky is the text line on the top, starting with the time (22:32). The rest is my weechat communications hub (which is my first desktop out of the 5 desktops I normally have). The window manager is i3.

conky0

To get this conky line, you can use my conkyrc config file. Let’s go through it step-by-step:

conky1
The first part is the time and date and the week number in parenthesis (with the day number in the week – starting with monday – as the number after the period). The code goes like this:

${time %H:%M  %Y-%m-%d (%V.%u)}

Show time and date, week number and day number in the week

conky2

${execi 1800 /home/geir/bin/weather1no.rb} ${execi 1800 gcal -c | awk '/Moon/, /$/' | sed -e 's/^.*: //'}

Show the Moon phase (config in .gcalrc), “-” indicates a waning moon while “+” indicates a vexing moon.

conky3

C: ${if_match ${cpu cpu0}80}"\#ff0000"${else}"\#aaaaaa"${endif} }

Show CPU load (pad to two digits), system load and CPU temperature (color red if above 80 deg celsius)

conky4

M: ${if_match ${memperc}<10} ${endif}${memperc}% ${swapperc}%  D: ${fs_free_perc /}%

Memory usage (padded to two digits), Swap usage, Disk usage

conky5

IP: ${if_up wlan0}${addr wlan0} (${wireless_essid wlan0}${if_match ${wireless_link_qual_perc wlan0}<100} ${endif}${wireless_link_qual_perc wlan0}%) /dev/null; then echo "O"; else echo "X"; fi;}>

Show IP address, wifi essid and strength (if wifi). Print “” if the address can be reached (www.vg.no), and “” if not

conky6

${if_existing .mail.lock}.${else} ${endif}${exec echo `cat /home/geir/.mail2 | grep G`}  ${exec echo `cat /home/geir/.mail2 | grep A`}${if_existing .nomail} [NoMail]${endif}${if_existing .nonet} [NN]${endif}${if_existing .mail.fail} [NL]${endif}

Show a dot if the script mail_fetch.rb is running, a space if not. Content of local imap Maildir boxes that are watched by mail_fetch. Show ” [NoMail] ” if the NoMail directive is set via mail_fetch. Show ” [NN] ” if mail_fetch cannot get Net access. Show ” [NL] ” if mail_fetch fails to login to local or remote server.

conky7

V: ${texeci 3 /home/geir/bin/conky_vol.sh}${texeci 3 /home/geir/bin/conky_volM.sh}
L: ${texeci 10 xbacklight -get | awk '{print int($1)}'}
${battery_short BAT1}${if_match ${battery_percent BAT1}<6}  ${blink XXXXX} ${endif}${if_match ${battery_percent BAT1}<4}${execi 60 i3lock -c 000000 && sudo pm-suspend}${endif} " , "color" : ${if_match ${battery_percent BAT1}<5}"\#ff0000"${else}"\#dddddd"${endif} }

Show volume level (and “[Off] (from aumixer) if volume is off). Show LCD brightness level. Battery percentage and three spaces to pad the output from the right edge. Write out “XXXXX” if battery is below 6%. Suspend if battery is below 4%. The far right is reserved for the system tray (you see nm-applet residing there with the wifi link quality showing as an icon). Dropbox and other icons pop up there as needed.

I also have a more detailed system information conky on my desktop as well as my calendar for the next two weeks. Mora about those in a future post (maybe).