tag:blogger.com,1999:blog-28435423516110560122024-02-19T12:49:21.638+01:00Alex's blogThoughts and ideas about programming, scripting, automation, electronics, gadgets, web and technologyUnknownnoreply@blogger.comBlogger46125tag:blogger.com,1999:blog-2843542351611056012.post-26463160247961780342020-08-30T17:29:00.003+02:002021-04-14T06:54:38.320+02:00YAAC is not Yak<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://th.bing.com/th/id/OIP.Y3K5C6_ASC0R8Q4tLumlDQHaFo?pid=Api&rs=1" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="360" data-original-width="474" height="243" src="https://th.bing.com/th/id/OIP.Y3K5C6_ASC0R8Q4tLumlDQHaFo?pid=Api&rs=1" width="320"></a></div>
<br>
<div style="text-align: justify;">
YAAC is not Yak but Gnu, you really ought to k-now wa-who's wa-who. <a href="https://www.ka2ddo.org/ka2ddo/YAAC.html" target="_blank">YAAC</a> is - Yet Another <a href="https://de.wikipedia.org/wiki/Automatic_Packet_Reporting_System" target="_blank">APRS</a> Client written in Java under GNU license. YAAC, I'm quoting here - "can be used as a stand-alone APRS client, an APRS RF-Internet gateway
(I-Gate), or as a AX.25 digipeater". It doesn't matter what does this even mean but this app can actually be used to display multiple <a href="http://flux242.blogspot.com/2020/05/radiosonde-hunting.html" target="_blank">weather sondes</a> at the same time on a map.</div>
<div style="text-align: justify;">
</div>
</div><a href="http://flux242.blogspot.com/2020/08/yaac-is-not-yak.html#more">Read more »</a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2843542351611056012.post-18482141425081051362020-08-10T16:59:00.001+02:002021-02-24T12:31:47.451+01:00How to receive and decode multiple weather sondes with only one RTL-SDR receiver (Part 2)<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcQ3fErFWN3dYsP70SL7-KAQJDF8951QF-Jaog&usqp=CAU" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="258" data-original-width="195" src="https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcQ3fErFWN3dYsP70SL7-KAQJDF8951QF-Jaog&usqp=CAU"></a></div>
As I finished the <a href="http://flux242.blogspot.com/2020/08/how-to-receive-and-decode-multiple.html" target="_blank">first article</a> I got a tip from Zilog80 that he has finished a preliminary version of his <a href="https://github.com/rs1729/RS/tree/test/demod/iq_svcl" target="_blank"><i>iq_server</i></a> concept. <i>iq_server</i> is a kind of a channelizer that allows clients to connect over TCP and request decimated baseband IQ stream of floats for a specific frequency offset. I was really excited to learn about his work because it would allow to allocate/dispose decoding processes upon request dynamically!
</div>
</div><a href="http://flux242.blogspot.com/2020/08/how-to-receive-and-decode-multiple_10.html#more">Read more »</a>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-2843542351611056012.post-10447028911986948662020-08-06T20:52:00.000+02:002020-08-10T19:27:40.646+02:00How to receive and decode multiple weather sondes with only one RTL-SDR receiver<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDC1mktEJoa3X4uVCb_sSddcdJ1QthBTUgeZ1zLzyRpOSIbOmTv5-G3mvS932Mf1t2Dx2lV674Pan9Lj7Bct4tzLI0ZDhoJXJLJsxz6vCAk1RTUSR6-dKSZgsCy-6MzbJkFvYcffIqwpU/s1600/active.receivers.europe.Screenshot_2020-08-01_12-54-34.cropped.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="400" data-original-width="530" height="241" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDC1mktEJoa3X4uVCb_sSddcdJ1QthBTUgeZ1zLzyRpOSIbOmTv5-G3mvS932Mf1t2Dx2lV674Pan9Lj7Bct4tzLI0ZDhoJXJLJsxz6vCAk1RTUSR6-dKSZgsCy-6MzbJkFvYcffIqwpU/s320/active.receivers.europe.Screenshot_2020-08-01_12-54-34.cropped.jpg" width="320"></a></div>
<div style="text-align: justify;">
<b>Note:</b> there's <a href="https://flux242.blogspot.com/2020/08/how-to-receive-and-decode-multiple_10.html" target="_blank">part 2</a> to this article with the script updated for performance<br>
<br>
It could sound strange but I haven't seen a simple solution that would allow me to receive and decode multiple weather sondes at the same time with only one receiver. <a href="https://github.com/oe5hpm/dxlAPRS" target="_blank"><i>dxlAPRS</i></a> software has a channelizer if I'm not mistaken but the software itself is too complex and is designed for things I'm not even interested in. <a href="https://github.com/projecthorus/radiosonde_auto_rx/" target="_blank"><i>auto-rx</i></a> on the other hand would require a receiver per frequency<i>.</i> But is it a problem to get me more RTL-SDR dongles to receive as many sondes as I like at the same time? No, getting an RTL-SDR dongle is not a problem, the problem is the antenna - each dongle would require one. So either I would have to install as many antennas as dongles or I would have to use an antenna splitter. And without an amplifier (LNA) a splitter would reduce signal power by a number of its outputs. So both solutions would require additional hardware and investments. But then I had an idea that it should be possible to build a very simple (and very inefficient of course) channelizer even in bash by multiplexing IQ samples baseband stream into multiple decoding processes.</div>
<div style="text-align: justify;">
</div>
</div><a href="http://flux242.blogspot.com/2020/08/how-to-receive-and-decode-multiple.html#more">Read more »</a>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-2843542351611056012.post-70864168223681999492020-05-24T11:06:00.002+02:002021-04-17T17:43:28.089+02:00Radiosonde Hunting<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjK4EmLrms1HL2e3ONYu_P7zSo_iXlk7pPU1fgL8QvVvZm0iJ1-x-eRV0lpxB0EVTiRsmmIMK5d2J6ij8wOlByWcnE0JA3GoUBB2wIfGqyTE5Fy4rK_sRtocaxI7yWPg_5yvAfGx1G3y4Y/s1600/sondes.europe.cropped.Screenshot_2020-05-03_14-22-21.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="381" data-original-width="484" height="251" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjK4EmLrms1HL2e3ONYu_P7zSo_iXlk7pPU1fgL8QvVvZm0iJ1-x-eRV0lpxB0EVTiRsmmIMK5d2J6ij8wOlByWcnE0JA3GoUBB2wIfGqyTE5Fy4rK_sRtocaxI7yWPg_5yvAfGx1G3y4Y/s320/sondes.europe.cropped.Screenshot_2020-05-03_14-22-21.jpg" width="320"></a></div>
<br>
<div style="text-align: justify;">
There are over hundred of weather sondes sent over the Europe each
day from different locations for weather forecasts and other scientific
or military purposes. Weather sondes are expendable electronic devices
to measure wind speed, air temperature, humidity and pressure. Sondes
attached to a balloon filled with hydrogen or helium ascent up into the
stratosphere where the balloon bursts and the sonde falls down back to
earth with a parachute. </div>
<div style="text-align: justify;">
</div>
</div><a href="http://flux242.blogspot.com/2020/05/radiosonde-hunting.html#more">Read more »</a>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-2843542351611056012.post-36750871901532990402018-06-24T17:15:00.000+02:002018-11-20T12:19:00.488+01:00How to collect wireless sensors readings using rtl_433 and display them using OpenWrt<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD71OC1C2ZG5yti0o_2cfE-3OLQo25VBQjU3H8PWlnTaP6dj9AWfV_6PKOsbCuUusee2d5JYxvYeK0l_hO1k8N-hzbNNyjTFI1QdyMrxuFGkrcUjjdqBD0pyzUikV9Pl4xOdAS8yiY7mE/s1600/funk-thermometer.resized.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="277" data-original-width="480" height="184" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD71OC1C2ZG5yti0o_2cfE-3OLQo25VBQjU3H8PWlnTaP6dj9AWfV_6PKOsbCuUusee2d5JYxvYeK0l_hO1k8N-hzbNNyjTFI1QdyMrxuFGkrcUjjdqBD0pyzUikV9Pl4xOdAS8yiY7mE/s320/funk-thermometer.resized.jpg" width="320"></a></div>
<div style="text-align: justify;">
<b>Goal:</b> to use an OpenWrt capable router to receive wireless sensors reading and log them using OpenWrt <i>luci-app-statistics</i> module.<br>
<b>Why:</b> because my router is always on anyway, so why not to use it to also log wireless sensors readings?<br>
<b>What is needed?</b></div>
<ul style="text-align: justify;">
<li>A router (or any other device) with USB port(s) that is supported by OpenWrt</li>
<li>A RTL-SDR dongle</li>
<li>Wireless temperature/humidity sensors supported by the <i>rtl_433</i> application</li>
</ul>
<div style="text-align: justify;">
<b>Note:</b> I’m referring to the old OpenWrt project name,
which is currently called LEDE, which in turn will be called OpenWrt
again. It’s because of the nonsense they started some time ago by
forking the project and calling it LEDE because they couldn’t agree on
which side they should start counting bits. Some of them there
little-endians and the others big-endians. Finally they have agreed to
use both approaches and now they are busy merging everything back
together and use the good old name [sic!]. So the next release is
supposed to be called OpenWrt as their <a href="https://github.com/openwrt/openwrt/tree/openwrt-18.06" target="_blank">branch name</a> suggest. At the moment this branch is not usable but maybe it will
be released at the end of the year. It is still not known which year
should it be…</div>
<br>
</div><a href="http://flux242.blogspot.com/2018/06/how-to-collect-wireless-sensors.html#more">Read more »</a>Unknownnoreply@blogger.com4tag:blogger.com,1999:blog-2843542351611056012.post-51675122584606734982018-01-04T18:11:00.000+01:002018-01-04T18:16:27.709+01:00A simple apt-get based script to get upgradable packages change logs<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
I do upgrade packages manually on my machine because I want to control when and what to upgrade. Security freaks could argue that it is not secure not to update computers frequently but I believe that chances to get hacked because of an outdated package are less than receive an upgrade that bricks your computer. The recent Canonical fuck up with activating experimental Intel SPI drivers in kernel that bricked some Lenovo laptops is a very good example. Another reason is the time needed to upgrade packages because <i>apt-get</i> is really slow. So basically I need to check what has been changed and only upgrade if really needed.</div>
</div><a href="http://flux242.blogspot.com/2018/01/a-simple-apt-get-based-script-to-get.html#more">Read more »</a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2843542351611056012.post-21359088397042407162017-04-29T10:16:00.001+02:002017-05-01T10:32:08.070+02:00How to Connect the rtl_433 to a remote rtl_tcp server<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlZkqWDLPG6dxi6vUJaTc7UqpJ76DgE2z1Y10MsV2A_N_z0d35VcAnVi8YBqVJ_R-3S9TyPslbTntdcCReD-gTPXqQM4KqSLR0szKoXHIuzJafjNDcKc4RfgCwryzAlUTR4vHK_PJFyK4/s1600/realtek_rtl2832u_01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="120" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlZkqWDLPG6dxi6vUJaTc7UqpJ76DgE2z1Y10MsV2A_N_z0d35VcAnVi8YBqVJ_R-3S9TyPslbTntdcCReD-gTPXqQM4KqSLR0szKoXHIuzJafjNDcKc4RfgCwryzAlUTR4vHK_PJFyK4/s320/realtek_rtl2832u_01.jpg" width="320"></a></div>
One of the issues with the <i>rtl_433</i> application is that it is not
possible to connect it to a remote rtl_tcp server using syntax supported
by other SDR application like <i>gqrx</i>. One of <a href="https://github.com/merbanan/rtl_433/issues/100" target="_blank">proposed solutions</a> is to use the TCP enabled version of the <i>librtlsdr</i> which is a bit complicated. There's actually a much simpler solution.<br>
<br>
</div><a href="http://flux242.blogspot.com/2017/04/how-to-connect-rtl433-to-remote-rtltcp.html#more">Read more »</a>Unknownnoreply@blogger.com4tag:blogger.com,1999:blog-2843542351611056012.post-85718102970015765082016-12-03T22:23:00.000+01:002017-05-09T11:39:20.300+02:00How to create gists from the command line<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<br></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqHVTzNvTAS46MFSKAI3cdNkwPHy9jUnCIjSx_ws-qzOIihfJV5YJhFf-Da3AX6C8a1JrZT3cLyoQZwB2GQCB6HAkHl120RcaczF53Pe2VpVtRm6gOnx2Fvm_rUNxTwEFSmzxYmiqlLEo/s1600/githubgist.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="106" ilo-full-src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqHVTzNvTAS46MFSKAI3cdNkwPHy9jUnCIjSx_ws-qzOIihfJV5YJhFf-Da3AX6C8a1JrZT3cLyoQZwB2GQCB6HAkHl120RcaczF53Pe2VpVtRm6gOnx2Fvm_rUNxTwEFSmzxYmiqlLEo/s320/githubgist.png" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqHVTzNvTAS46MFSKAI3cdNkwPHy9jUnCIjSx_ws-qzOIihfJV5YJhFf-Da3AX6C8a1JrZT3cLyoQZwB2GQCB6HAkHl120RcaczF53Pe2VpVtRm6gOnx2Fvm_rUNxTwEFSmzxYmiqlLEo/s320/githubgist.png" width="320"></a></div>
I was a bit astonished that I couldn't find a working example written in bash on the net that would create gists on the github from the command line. Some examples didn't work at all because they were using old github API or because the text escaping weren't properly implemented. The rest didn't have the functionality I needed.<br>
<div dir="ltr" style="text-align: left;" trbidi="on">
</div></div><a href="http://flux242.blogspot.com/2016/12/how-to-create-gists-from-command-line.html#more">Read more »</a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2843542351611056012.post-39024680017602899922016-09-08T14:19:00.000+02:002017-04-17T12:59:32.828+02:00Visualization of live data streams with the gnuplot and bash (Part 2)<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="text-align: justify;">
In my <a href="http://flux242.blogspot.de/2016/02/visualization-of-live-data-streams-with.html" target="_blank">first article</a> I have demonstrated the <a href="https://github.com/flux242/dotfiles/tree/master/.bin/gp/gnuplotwindow.sh" target="_blank">gnuplotwindow.sh</a>
script and other utilities to feed the gnuplot with live data streams.
Shown scripts are easy to use and if combined together they build
powerful chains of data filters. The only problem with the script is
that it can only display a continuous data stream updating the plot with
each new incoming data sample. To display even more complex data like
scatter or 3D plots a different approach of data feeding is needed. It
would be necessary to update the plot blockwise and input data should
also be fed in blocks. This new concept didn't match well with the <a href="https://github.com/flux242/dotfiles/tree/master/.bin/gp/gnuplotwindow.sh" target="_blank">gnuplotwindow.sh</a>
script so I have written a new script because mixing both concepts in
one script would make it unnecessary complex and unmaintainable. </div>
<div style="text-align: justify;">
</div>
</div><a href="http://flux242.blogspot.com/2016/09/visualization-of-live-data-streams-with.html#more">Read more »</a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2843542351611056012.post-22917741336663790172016-05-22T17:30:00.001+02:002017-05-27T16:50:10.228+02:00Xubuntu 16.04 LTS minimal installation<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://xubuntu.org/wp-content/uploads/2016/04/d09c/xerus-release-art-700.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="[Image]" border="0" height="107" ilo-full-src="https://xubuntu.org/wp-content/uploads/2016/04/d09c/xerus-release-art-700.png" ilo-ph-fix="fixed" src="https://xubuntu.org/wp-content/uploads/2016/04/d09c/xerus-release-art-700.png" width="320"></a></div>
<br>
<div style="text-align: justify;">
Here is the next article from my "Minimal Xubunu Installation" serie. This time I'll be installing Xubuntu 16.04 LTS codename Xenial Xerus. Please read to the end before you start with installation.</div>
<br>
</div><a href="http://flux242.blogspot.com/2016/05/xubuntu-1604-lts-minimal-installation.html#more">Read more »</a>Unknownnoreply@blogger.com3tag:blogger.com,1999:blog-2843542351611056012.post-64278877934512014762016-02-17T04:47:00.001+01:002017-04-17T13:53:14.857+02:00Visualization of live data streams with the gnuplot and bash<div dir="ltr" style="text-align: left;" trbidi="on">
<h2>
</h2>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjx_Kvhr-jNXB_x9EA3H0PYo7Wd1CVrJGum7xEoDO-uXVwrn_-VJvdYDlWXh6XZvo49ynOb5BcvEBa36Sd-yWHnrVBVyR1QwWuiLTPBfYrkxLY8JdJbio1CQFBP-tMDScwjaFq0ko7tlGI/s1600/edited.png" imageanchor="1"><img border="0" height="175" ilo-full-src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjx_Kvhr-jNXB_x9EA3H0PYo7Wd1CVrJGum7xEoDO-uXVwrn_-VJvdYDlWXh6XZvo49ynOb5BcvEBa36Sd-yWHnrVBVyR1QwWuiLTPBfYrkxLY8JdJbio1CQFBP-tMDScwjaFq0ko7tlGI/s320/edited.png" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjx_Kvhr-jNXB_x9EA3H0PYo7Wd1CVrJGum7xEoDO-uXVwrn_-VJvdYDlWXh6XZvo49ynOb5BcvEBa36Sd-yWHnrVBVyR1QwWuiLTPBfYrkxLY8JdJbio1CQFBP-tMDScwjaFq0ko7tlGI/s320/edited.png" width="320"></a></div>
<br>
This article describes a tiny framework consisting mainly of bash
scripts to feed the gnuplot with live data. Different examples are
presented to cover general use cases and usage scenarios. <br>
<h2>
</h2></div><a href="http://flux242.blogspot.com/2016/02/visualization-of-live-data-streams-with.html#more">Read more »</a>Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-2843542351611056012.post-30715723811637261182016-01-05T17:16:00.000+01:002017-05-25T06:19:17.410+02:00How to fix broken power management in Xubuntu 15.10 (16.04)<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
As we know Ubuntu has switched to the new "shiny" init system called <i>systemd</i> since the release 15.04. But the integration of that new init system isn't yet completely finished because some things aren't working as before the switch. Power management that utilized <i>pm-utils</i> previously is completely broken for example and no alternative solution is offered. In this article I'll explain how to restore <i>pm-utils</i>'s old behaviour as a temporary workaround that can be used until a new and of course better official solution will be implemented.</div>
<div style="text-align: justify;">
</div>
</div><a href="http://flux242.blogspot.com/2016/01/how-to-fix-broken-power-management-in.html#more">Read more »</a>Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-2843542351611056012.post-80348220221688793562015-10-25T13:03:00.000+01:002016-06-01T17:33:51.877+02:00Using the i3 tiling window manager with XFCE services<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgId1u6nEK2fGCNII-TsgiuxGCi6Auz7Pm-jBunN7sWPH3ADB34UwtBwBnCerIC6iHMvex4nbIOhPCSpQRTi2hw4efBY8ZGJeiYm6R68LUuobEsteS9abdvXStzOOMb-DyaXkRQ6Hl3Am4/s1600/i3-xfce-desktop.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="179" ilo-full-src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgId1u6nEK2fGCNII-TsgiuxGCi6Auz7Pm-jBunN7sWPH3ADB34UwtBwBnCerIC6iHMvex4nbIOhPCSpQRTi2hw4efBY8ZGJeiYm6R68LUuobEsteS9abdvXStzOOMb-DyaXkRQ6Hl3Am4/s320/i3-xfce-desktop.png" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgId1u6nEK2fGCNII-TsgiuxGCi6Auz7Pm-jBunN7sWPH3ADB34UwtBwBnCerIC6iHMvex4nbIOhPCSpQRTi2hw4efBY8ZGJeiYm6R68LUuobEsteS9abdvXStzOOMb-DyaXkRQ6Hl3Am4/s320/i3-xfce-desktop.png" width="320"></a></div>
<br>
Since around a year or two I've been using i3 tiling window manager together with the xfce4 services as my desktop environment and I'm quite content with the result. The i3-wm can be installed on top of the xfce4 DE without any package conflicts. Such a combination allows to have both DE at the same time and share common settings and applications between them.<br>
<br>
I can't remember exactly why I have chosen the i3-wm as my window manager but maybe it's because I have read that i3-wm has vim style movement keyboard shortcuts. As far as I'm a vim user I decided to 'take it for a spin'.</div>
<br>
</div><a href="http://flux242.blogspot.com/2015/10/using-i3-tiling-window-manager-with.html#more">Read more »</a>Unknownnoreply@blogger.com4tag:blogger.com,1999:blog-2843542351611056012.post-33144599438821236062015-02-14T14:24:00.001+01:002020-11-07T11:48:40.534+01:00Sound volume change notifications using pynotify<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
<div class="separator" style="clear: both; text-align: center;">
<a href="http://i.imgur.com/SWN4Q8W.png?1" style="margin-left: 1em; margin-right: 1em;"><img border="0" ilo-full-src="https://blogger.googleusercontent.com/img/proxy/AVvXsEj79W1OKhzOzV_IOvL15STPJCySu6RR0QTGOEzqeYC_KLFHJLFbTf1He6gQJ3TIoVwhA4bknRrxYW4PF1YbpTNK-khQf1-48Aw-sdxjOZU-NDlPzK8kcuiesy9woV8esUs=" src="http://i.imgur.com/SWN4Q8W.png?1"></a></div>
As I started to use the i3 window manager I wanted to have a visual feedback on sound volume change events. Usually it's done by a daemon that binds to specific keyboard combinations to adjust volume and to send notifications to a notify daemon. In <i>xfce</i> this is done by the <i>xfce4-volumed</i>. I should also point here to other lightweight volume daemons like <a href="http://goo.gl/mvFQSX" target="_blank"><i>volnoti</i></a> or <a href="http://goo.gl/5y2GfX" target="_blank"><i>pa-applet</i></a>. Without a dedicated daemon it is also pretty much simple to handle sound volume keys by a simple <i>bash</i> script which is bind to specific keyboard combinations.</div>
</div><a href="http://flux242.blogspot.com/2015/02/sound-volume-change-notifications-using.html#more">Read more »</a>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-2843542351611056012.post-21619668295429844912014-05-10T15:58:00.000+02:002016-05-23T15:32:33.538+02:00Minimal Xubuntu 14.04 LTS installation<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
<br>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2FXf_UufXAylF2dwEpLMuRIW1_1hcInQz0DRnw4A6iQFrmV_SjsiOSqOdYlecHcGioPlmFgPuj2CL9H7vr6ui4t7b53zuO7lWeZRjQWEOWrqMoCdm3XayvhsOLxl72oSJKmOMZwC9MRM/s1600/xub1404.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="[Image]" border="0" ilo-full-src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2FXf_UufXAylF2dwEpLMuRIW1_1hcInQz0DRnw4A6iQFrmV_SjsiOSqOdYlecHcGioPlmFgPuj2CL9H7vr6ui4t7b53zuO7lWeZRjQWEOWrqMoCdm3XayvhsOLxl72oSJKmOMZwC9MRM/s1600/xub1404.jpeg" ilo-ph-fix="tofix" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2FXf_UufXAylF2dwEpLMuRIW1_1hcInQz0DRnw4A6iQFrmV_SjsiOSqOdYlecHcGioPlmFgPuj2CL9H7vr6ui4t7b53zuO7lWeZRjQWEOWrqMoCdm3XayvhsOLxl72oSJKmOMZwC9MRM/s1600/xub1404.jpeg"></a></div>
I have <a href="http://flux242.blogspot.de/2013/11/minimal-xubuntu-1310-desktop.html" target="_blank">previously</a> described the process of minimal Xubuntu Desktop installation with versions 13.04 and 13.10. Now it's time to install Xubuntu 14.04 LTS!<br>
<br>
<b>Note: </b>There's already a newer article – <a href="http://flux242.blogspot.ch/2016/05/xubuntu-1604-lts-minimal-installation.html" target="_blank">Xubuntu 16.04 LTS minimal installation</a><br>
</div></div><a href="http://flux242.blogspot.com/2014/05/minimal-xubuntu-1404-lts-installation.html#more">Read more »</a>Unknownnoreply@blogger.com8tag:blogger.com,1999:blog-2843542351611056012.post-66242929566592137672013-11-24T09:19:00.002+01:002014-05-19T06:42:05.674+02:00Minimal Xubuntu 13.10 Desktop installation<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtkTUBfb2L33iaRphRU6QyrJ8kQ4gfqeP9DDdIhyzx3yoUMBrCOxTorw5U4ThkcWIzESDe9iUR8Xev7JGtlSeAe4X0FuNPn6CGjeBCwVs724jLpNPm2Yi4kVzhR2p4UN0-P_FydxbxEhc/s1600/xubuntu-brandmark-with-in-circle-logo-400.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="[Image]" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtkTUBfb2L33iaRphRU6QyrJ8kQ4gfqeP9DDdIhyzx3yoUMBrCOxTorw5U4ThkcWIzESDe9iUR8Xev7JGtlSeAe4X0FuNPn6CGjeBCwVs724jLpNPm2Yi4kVzhR2p4UN0-P_FydxbxEhc/s1600/xubuntu-brandmark-with-in-circle-logo-400.png" ilo-full-src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtkTUBfb2L33iaRphRU6QyrJ8kQ4gfqeP9DDdIhyzx3yoUMBrCOxTorw5U4ThkcWIzESDe9iUR8Xev7JGtlSeAe4X0FuNPn6CGjeBCwVs724jLpNPm2Yi4kVzhR2p4UN0-P_FydxbxEhc/s1600/xubuntu-brandmark-with-in-circle-logo-400.png" ilo-ph-fix="tofix"></a></div>
<br>
I have performed a clean install of the newest Xubuntu distribution and I like the result. They have reacted to the bug reports I posted and fixed dependencies to the bloatware and spying packages that were not possible to avoid during <a href="http://flux242.blogspot.de/2013/05/minimal-xubuntu-desktop-installation.html" target="_blank">Xubuntu 13.04 installation</a>. I have also spent some time trying to figure out the minimum set of packages for the network-manager to work. Here's the installation procedure:</div>
<div style="text-align: justify;">
<br>
</div></div><a href="http://flux242.blogspot.com/2013/11/minimal-xubuntu-1310-desktop.html#more">Read more »</a>Unknownnoreply@blogger.com5tag:blogger.com,1999:blog-2843542351611056012.post-44325716808469888252013-09-12T07:41:00.000+02:002013-09-13T14:16:24.791+02:00Multimonitor support in Xubuntu 13.04<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
One new feature planned for the Xubuntu 13.10 release is the multi-monitor support integrated into <i>XFCE</i> desktop. Previously one would have to use <i>xrandr</i> to adjust monitors settings and now it should also be possible with the updated <i>Display Settings</i> dialog. But it is also possible to use this feature in Xubuntu 13.04</div>
</div><a href="http://flux242.blogspot.com/2013/09/multimonitor-support-in-xubuntu-1304.html#more">Read more »</a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2843542351611056012.post-27891866237165236882013-09-03T15:27:00.001+02:002013-09-03T19:48:36.070+02:00Javascript vs Perl vs Python vs Lua speed comparison<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
I have previously compared performance of the three most popular interpreted languages - Perl, Python and Lua (<a href="http://goo.gl/XaykV9" target="_blank">part1</a>, <a href="http://goo.gl/hDw7Cj" target="_blank">part2</a>). The next question was - how do they compare to the Javascript? Unlike the above mentioned languages it was quite unusual to use Javascript outside of a browser sandbox but with developing of the <a href="http://nodejs.org/" target="_blank">node.js</a> this became possible.</div>
</div><a href="http://flux242.blogspot.com/2013/09/javascript-vs-perl-vs-python-vs-lua.html#more">Read more »</a>Unknownnoreply@blogger.com4tag:blogger.com,1999:blog-2843542351611056012.post-46039749540619686182013-08-10T21:24:00.000+02:002013-08-14T18:40:33.360+02:00Redirecting terminal output into any X application<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
Sometimes I want to redirect bash output directly into an X application for further editing. Normally this is done using a temporary file where the bash output is saved and then it is opened by an application. There's a way though to start an X application and paste the bash output into its window automatically.</div>
<div style="text-align: justify;">
</div>
</div><a href="http://flux242.blogspot.com/2013/08/redirecting-terminal-output-into-any-x.html#more">Read more »</a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2843542351611056012.post-43014199359852283922013-07-23T10:35:00.000+02:002013-09-03T17:02:56.262+02:00Python vs Perl vs Lua - speed comparison. Part 2<div dir="ltr" style="text-align: left;" trbidi="on">
As far as people show interest in this topic I decided to perform an additional measurement to the one I performed in <a href="http://flux242.blogspot.com/2013/05/python-vs-perl-vs-lua-speed-comparison.html" target="_blank">Part 1</a>.<br>
<br>
<div style="text-align: justify;">
This time I wanted to compare floating point numbers operations performance because my good friend Anonymous worried about it. He said that I shouldn't have abused <i>lua</i> interpreter with basic arithmetic operations on integers because it's not good at it. He said that I should have tried floating points numbers instead to let <i>lua</i> interpreter shine. I was a bit skeptic about it to be honest but Anonymous's logic was sound.</div>
</div><a href="http://flux242.blogspot.com/2013/07/python-vs-perl-vs-lua-speed-comparison.html#more">Read more »</a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2843542351611056012.post-13585815748739450812013-07-22T13:37:00.001+02:002013-07-27T12:45:30.805+02:00OpenGL Core Profile and an overlay with the QPainter <div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjoLDUubAcPfvYniQUWMm0bsbUp6YLw4E7R70vwJO8sqkb0IHAkvbqf4xlwxPxMZIAHBPMxWlxjgX4Atfpni7liaNJ5Mm0bUNLsopEkHR5d2sT-AUI_OvE58N8JP467p5QVOcQfvkJWqg/s1600/zpkwindow.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="[Image]" border="0" height="243" ilo-full-src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjoLDUubAcPfvYniQUWMm0bsbUp6YLw4E7R70vwJO8sqkb0IHAkvbqf4xlwxPxMZIAHBPMxWlxjgX4Atfpni7liaNJ5Mm0bUNLsopEkHR5d2sT-AUI_OvE58N8JP467p5QVOcQfvkJWqg/s320/zpkwindow.png" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjoLDUubAcPfvYniQUWMm0bsbUp6YLw4E7R70vwJO8sqkb0IHAkvbqf4xlwxPxMZIAHBPMxWlxjgX4Atfpni7liaNJ5Mm0bUNLsopEkHR5d2sT-AUI_OvE58N8JP467p5QVOcQfvkJWqg/s320/zpkwindow.png" width="320"></a></div>
<div style="text-align: justify;">
I've played recently with the OpenGL Core Profile and <a href="http://harmattan-dev.nokia.com/docs/library/html/qt4/qglwidget.html" target="_blank">QGLWidget</a> to see if I can render a scene with only core profile functions and shaders. Everything worked well until I decided to add an FPS counter using overlaid text drawn with the <a href="http://harmattan-dev.nokia.com/docs/library/html/qt4/qpainter.html" target="_blank">QPainter</a>.</div>
</div><a href="http://flux242.blogspot.com/2013/07/opengl-core-profile-and-overlay-with.html#more">Read more »</a>Unknownnoreply@blogger.com4tag:blogger.com,1999:blog-2843542351611056012.post-40310575575093401362013-07-04T16:13:00.000+02:002014-06-14T15:03:35.020+02:00Improving pm-utils power management scripts for pci devices<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNQSjTKrRB3uJeU8F28rVB-CBB2cSZh1zfcgerUTvXLk7hZP1xiD6qHDI_vqd6rdhlUcmQadtKXQ1TMdPVY6qkqa8MShjekt-HlReDzHg0bewK_HBWZrjVq3p0Cc2bPKiWkkEUM1sq2RY/s250/battery_icon.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNQSjTKrRB3uJeU8F28rVB-CBB2cSZh1zfcgerUTvXLk7hZP1xiD6qHDI_vqd6rdhlUcmQadtKXQ1TMdPVY6qkqa8MShjekt-HlReDzHg0bewK_HBWZrjVq3p0Cc2bPKiWkkEUM1sq2RY/s250/battery_icon.jpg" ilo-full-src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNQSjTKrRB3uJeU8F28rVB-CBB2cSZh1zfcgerUTvXLk7hZP1xiD6qHDI_vqd6rdhlUcmQadtKXQ1TMdPVY6qkqa8MShjekt-HlReDzHg0bewK_HBWZrjVq3p0Cc2bPKiWkkEUM1sq2RY/s250/battery_icon.jpg"></a></div>
<div style="text-align: justify;">
By default <i>pm-utils</i> changes power control parameters only for a subset of device classes. The classes id's are hardcoded into the <i>/usr/lib/pm-utils/power.d/pci_devices</i> script. Unfortunately it is not possible for a user to define his own set of classes to be treated by the script.</div>
</div><a href="http://flux242.blogspot.com/2013/07/improving-pm-utils-power-management.html#more">Read more »</a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2843542351611056012.post-7041314673213455842013-05-14T22:45:00.001+02:002013-09-03T16:58:43.245+02:00Python vs Perl vs Lua - speed comparison<div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
I have written the base64 encoding algorithm in Perl, Python and Lua to compare the performance in basic arithmetic and file-io operations. Perl implementation was written a long time ago and it supposed to be a one liner. That's why the script looks so obfuscated:</div>
</div></div><a href="http://flux242.blogspot.com/2013/05/python-vs-perl-vs-lua-speed-comparison.html#more">Read more »</a>Unknownnoreply@blogger.com15tag:blogger.com,1999:blog-2843542351611056012.post-29764329740993907162013-05-11T13:37:00.001+02:002014-02-08T12:57:29.116+01:00Using ssmtp to send email notifications<div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
I've been using <i>ssmtp</i> for a long time to send automatic notifications from all my embedded systems like routers or NASes and also to send anything from a command line to a desired email address. The program is only 8K (whereas <i>mutt</i> is 3.5M) but it can handle secure <i>TLS/SSL</i> connections to <i>SMTP</i> servers. Setup is very easy as only one file has to be adapted. Please read <a href="http://wiki.debian.org/sSMTP" target="_blank">this tutorial</a> to set the <i>ssmtp</i> up.</div>
<div style="text-align: justify;">
<br></div>
<div style="text-align: justify;">
To make it easier to use I have written a bash script that handles email header creation and adds a simple command line interface:<br>
</div></div></div><a href="http://flux242.blogspot.com/2013/05/using-ssmtp-to-send-email-notifications.html#more">Read more »</a>Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-2843542351611056012.post-68665483412217472042013-05-06T14:31:00.001+02:002013-11-24T17:07:55.049+01:00Minimal Xubuntu Desktop installation<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheB3OCcQxyN6t5k4pWHowrPifntdl6C4YCVGsXJyigGmAOVpvX3VJr7hR3QxzjIR6bSFOcNPn4MKj9fFzcPS-9JILC8qbnVhV-9LERorfC7EOnuBoxJGAUGlp0WEY62z4ildVsWzK_s4E/s1600/xubuntu_logo.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="[Image]" border="0" height="97" ilo-full-src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheB3OCcQxyN6t5k4pWHowrPifntdl6C4YCVGsXJyigGmAOVpvX3VJr7hR3QxzjIR6bSFOcNPn4MKj9fFzcPS-9JILC8qbnVhV-9LERorfC7EOnuBoxJGAUGlp0WEY62z4ildVsWzK_s4E/s320/xubuntu_logo.jpg" ilo-ph-fix="fixed" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheB3OCcQxyN6t5k4pWHowrPifntdl6C4YCVGsXJyigGmAOVpvX3VJr7hR3QxzjIR6bSFOcNPn4MKj9fFzcPS-9JILC8qbnVhV-9LERorfC7EOnuBoxJGAUGlp0WEY62z4ildVsWzK_s4E/s320/xubuntu_logo.jpg" width="320"></a></div>
<br>
<u>Edit:</u> I strongly recommend to continue with the <a href="http://flux242.blogspot.com/2013/11/minimal-xubuntu-1310-desktop.html" target="_blank">Xubuntu 13.10 installation</a> because many steps described here are obsolete.<br>
<br>
I spent a day building a minimum Xubuntu installation to avoid bloat-ware installed by default. I was installing Xubuntu on a small 16GB <i>SSD</i> that was used previously as an ExpressCache drive on Windows 7 and that's why I wanted to install minimum set of software for the Desktop to work.</div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
As the basis for the system I've chosen <a href="http://cdimage.ubuntu.com/netboot/13.04/" target="_blank">Ubuntu 13.04 mini.iso</a>. My first attempt was to install Debian <i>Sid</i> branch but software there is already outdated! And installing new software from experimental branch is not possible as apt-get would completely destroy installed <i>Sid</i> system.</div>
</div><a href="http://flux242.blogspot.com/2013/05/minimal-xubuntu-desktop-installation.html#more">Read more »</a>Unknownnoreply@blogger.com8