software


If you need to perform a data recovery from an external ZFS [zfs] volume you may find those hinds helpful:

  1. Attach encrypted partition where ZFS pool resides with:
    geli attach /dev/your_device_partition
  2. Import ZFS pool at given mountpoint (/mnt/zfs):
    zpool import -af -R /mnt/zfs
  3. Modify mount point location for a given dataset that may have mountpoint set to none what marks it as no mount (note this mountpoint will append to parent mount point location):
    zfs set mountpoint=ROOT zroot/ROOT/default
  4. Mount and mount all pool datasets:
    zfs mount -a
    zfs umount -a
  5. Mount/umount given dataset:
    zfs mount zroot/ROOT/default
  6. You can verify if your ZFS pool is active with:
    zpool status
  7. You can see what ZFS datasets are available with mount points with:
    zfs list

[zfs] https://www.freebsd.org/doc/handbook/zfs.html

If you encounter lots of CAM/CRC errors when using encrypted ZFS on some SSD drives on FreeBSD, that is caused by TRIM. You need to disable it in boot loader prompt or add below line to /boot/loader.conf:

vfs.zfs.trim.enabled=0

If you encounter any strange network related behavior on a windows based pc, especially after windows update, use this to resolve most of the problems and save some time, remember to reboot pc afterwards ๐Ÿ˜‰

netsh winsock reset

SoundFlower [1] is amazing Free and Open-Source extension to macOS BSD that allows you to create Virtual Audio Device in order to Route and Record Applications Audio. This is especially important for activities like Online Streaming and Presentation/Lectures Recording.

If you need more advanced Audio Routing with a nice GUI and lots of options try Loopback [2] from RogueAmoeba [3].

Thank you for this amazing fork and keeping it Open-Source! ๐Ÿ™‚

[1] https://github.com/mattingalls/Soundflower
[2] https://rogueamoeba.com
[3] https://rogueamoeba.com/loopback

If you want GRUB to remember your last choice add:

GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true
to /etc/default/grub and run sudo update-grub to apply new configuration.

If you encounter a problem with running Python [python] scripts on a “bare” Blender Player [blender], make sure that both PYTHONHOME and PYTHONPATH are set correctly to match your needs. You can also use native Blender python with a simple shell script:

#!/bin/sh
export PYTHONHOME="/path/to/blender/python/"
export PYTHONPATH=$PYTHONHOME"/bin"
/path/to/your/blenderplayer $@

[python] https://www.python.org/
[blender] https://www.blender.org/

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 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 ~/.config/matplotlib/matplotlibrc (or directly in a matplotlib file located in current working directory) configuration file. Then remember to use modern interpreter and meet dependencies requirements. Example below:

$ mkdir ~/.matplotlib
$ echo "backend : Qt5Agg" >> ~/.config/matplotlib/matplotlibrc
$ echo "backend : Qt5Agg" >> 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 [4].

[1] https://matplotlib.org/
[2] https://www.python.org/
[3] https://www.qt.io/
[4] https://matplotlib.org/faq/usage_faq.html

Next Page »