Sometimes you need to quickly create a hexeditor like dump of a binary file. HEXDUMP is your friend. It may be a standard Unix application or Python module.

Unix hexdump use example:

hexdump -Cv file.bin
00000000  12 01 00 02 ef 02 01 40  28 0d 04 02 00 10 01 02  |.......@(.......|
00000010  03 01 12 01 00 02 ef 02  01 40 28 0d 04 02 00 10  |.........@(.....|
00000020  01 02 03 01 09 02 82 00  04 01 00 80 fa 09 02 82  |................|
00000030  00 04 01 00 80 fa 09 04  00 00 02 08 06 50 07 07  |.............P..|
00000040  05 82 02 40 00 00 07 05  02 02 40 00 00 09 04 03  |...@......@.....|
00000050  00 02 03 00 00 06 09 21  00 01 00 01 22 21 00 07  |.......!...."!..|
00000060  05 81 03 40 00 01 07 05  01 03 40 00 01 08 0b 01  |...@......@.....|
00000070  02 02 02 01 04 09 04 01  00 01 02 02 01 04 05 24  |...............$|
00000080  00 10 01 05 24 01 03 02  04 24 02 06 05 24 06 01  |....$....$...$..|
00000090  02 07 05 83 03 10 00 20  09 04 02 00 02 0a 00 00  |....... ........|
(...)

Python hexdump use example:

python -m pip install hexdump
python -m hexdump file.bin
00000000: 12 01 00 02 EF 02 01 40  28 0D 04 02 00 10 01 02  .......@(.......
00000010: 03 01 12 01 00 02 EF 02  01 40 28 0D 04 02 00 10  .........@(.....
00000020: 01 02 03 01 09 02 82 00  04 01 00 80 FA 09 02 82  ................
00000030: 00 04 01 00 80 FA 09 04  00 00 02 08 06 50 07 07  .............P..
00000040: 05 82 02 40 00 00 07 05  02 02 40 00 00 09 04 03  ...@......@.....
00000050: 00 02 03 00 00 06 09 21  00 01 00 01 22 21 00 07  .......!...."!..
00000060: 05 81 03 40 00 01 07 05  01 03 40 00 01 08 0B 01  ...@......@.....
00000070: 02 02 02 01 04 09 04 01  00 01 02 02 01 04 05 24  ...............$
00000080: 00 10 01 05 24 01 03 02  04 24 02 06 05 24 06 01  ....$....$...$..
00000090: 02 07 05 83 03 10 00 20  09 04 02 00 02 0A 00 00  ....... ........
(...)

Guys at Apple are either stoned or really working hard to make macOS as bad as Windows. macOS High Sierra (10.13) was probably designed by people that were really “high”. They removed TELNET utility that is second most valuable network testing utility after PING. Except for noticeable performance degradation glitches during video modeswitch and other failures macOS really gets close to Windows in its poor design decisions and obvious quality degradation for professional applications.. now I will hardly consider buying another overpriced MacMookPro..

If you want to perform stock factory flashing of a Nexus device and you encounter “fastboot too old” error message, that means you need to update your local fastboot application to a newer version. One additional word would make this interesting error message self-explanatory..

I have just found and reported bug in Android [1] that allows Bluetooth Headset to ring even though the “Do Not Disturb” is set to most strict setting that should give no symptoms of incoming calls.

[1] https://issuetracker.google.com/issues/69537851

I have added support for Panasonic ToughBook CF-F9 U3G GOBI2000 to FreeBSD U3G kernel module [1]. I have added firmware for Panasonic CF-F9 and HP EliteBook 2740p along with gobi_loader updates [2] that are required for 3G modems to work.

At first U3G module will create /dev/cuaU0 interface for QDL firmware load, then after successful firmware load device will reload itself to a modem mode and U3G module will provide additional /dev/cuaU0.* nodes for operations (/dev/cuaU0.2 is the AT command intarface).

In order for this modem to work on FreeBSD you also need to tune some configutation files:

  • /etc/devd.conf:
    attach 100 {
     match "vendor" "0x04da";  #adjust your device VID
     match "product" "0x250e"; #adjust your device PID
     action "/usr/local/sbin/gobi_loader -2000 /dev/cuaU0 /boot/firmware/gobi/";
    };
    
  • /etc/ppp/ppp.conf:
    default:
     set log Phase Chat LCP IPCP CCP tun command
     ident user-ppp VERSION
     set device /dev/cuaU0.2
     set phone *99\#
     set redial 5 10
     set speed 115200
     set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \
               \"\" AT AT-OK-AT ATH OK ATZ OK ATE1Q0 OK \
               AT+CFUN=1 OK-AT-OK \
               AT+CPIN? READY-AT+CPIN=\"YOUR_PIN_HERE\"-OK \
               AT+CGDCONT=1,\\\"ip\\\",\\\"internet\\\" OK \
               \\dATDT\\T TIMEOUT 40 CONNECT"
     set timeout 20
     enable dns
     set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.255 0.0.0.0
     add default HISADDR
    

You now should be able to use your 3G modem connection with ppp -ddial, after you add your local user to the dialer group with pw groupmod dialer -m your_user_name. Remember to have U3G compiled in. Enjoy the Internets! πŸ™‚

[1] https://github.com/freebsd/freebsd/pull/115
[2] https://github.com/cederom/gobi_loader

Matplotlib is a nice Matlab-like environment for Python. If you encounter a backend related problem while using Matplotlib [1] on a Python Virtualenv [2], then you need to explicitly select one (i.e. backend : Qt5Agg) in a ~/.matplotlib/matplotlibrc configuration file. Then remember to use modern interpreter and meet dependencies requirements. Example below:

$ mkdir ~/.matplotlib
$ echo "backend : Qt5Agg" >> ~/.matplotlib/matplotlibrc
$ python3.6 -m venv venv-mac-36
$ source venv-mac-36/bin/activate
$ which python
$ pip install matplotlib pyqt5

Now you can use Matplotlib inside created Python Virtualenv (assuming you had Python 3.6 and Qt5 [3] already installed on your system). Other backends are: TKAgg, GTKAgg, Qt4Agg, Qt5Agg, WXAgg.

[1] https://matplotlib.org/
[2] https://www.python.org/
[3] https://www.qt.io/

It is my great honor to join Free-and-Open-Source ARM mbed [1] development team! πŸ™‚

[1] https://www.mbed.com

If you wonder to use Docker [1] or Travis CI [2] for build test or more advanced automation, note that these are Linux [3] only solutions and will not work with other operating systems such as FreeBSD [4]. You may want to take a look at old good Jenkins [5] for wider application possibilities πŸ™‚

[1] https://www.docker.com/
[2] https://travis-ci.org/
[3] https://www.linux.com/
[4] https://www.freebsd.org/
[5] https://jenkins.io/

I was great pleasure to take part in European Canopy Formation [1] at SkyCamp [2] Polska 2017! So many experienced and relaxed people, so much fun, and so much development (I was part of CRW-16-DIAMOND). Thank you!! Hope to see you soon folks! πŸ™‚

I am also happy to announce that I had become a website editor and administrator πŸ™‚

[1] http://europeancanopyformation.eu/
[2] http://www.skycamp.pl

I am gearing up and starting a new adventure. I have just bought my own PD Lightning 176 canopy dedicated to CRW/CF [1]. Thanks to Simon and the “Lost in Space” crew first jumps were really awsome and safe. Thank you guys! πŸ™‚

[1] https://en.wikipedia.org/wiki/Canopy_formation

Next Page »