This Week I Learned - 2017 Week 29

Last week post or some ramblings from the past.


The quest of finance independence will influence or make your adhere to different life principles. Minimalist life style, waste free, child free, debt free, and other approaches. Some of these deliberate choices may against the normal social norms. Is all depends on how aggressively you want to proceed ahead. The biggest obstacle is consumerism, especially in this digital age. Reducing your social media usage (yes, this includes normal Internet surfing) is a good start.


Interesting part that the WiFi extender cannot connect through 5GHz because certain countries does not support channels other than Band 1. It's quite confusing where extending your WiFi coverage if you're using the same SSID as you have to check the BSSID to differentiate which SSID you're currently connecting to. But one thing for sure, I definitely love `nmcli` console tool, probably my favourite software. Always gave me the hidden surprise of its usages and features.
$ nmcli -f BSSID,ACTIVE dev wifi list


Nostalgia bucklespring keyboard sound. Instead of spending a fortune in getting the real physical keyboard, just install the software and enjoy the emulated sounds. Good for the electric typewriter I was thinking of setting up using the underutilized Raspberry Pi.


Chinese cleaver (菜刀), compare to other similar type, is a general purpose kitchen knife.


"We receive subsidies from the government." (more write up from MiniMachines). Now we know why Orange Pi is so cheap, everything is sold as Bill of Materials (BOM) price. It would be nice if the software support is better.


Why you should not use React now due to the the BSD+Patent license issue. Partially open source but with patent grant issue tagged along. Are we going to see more PATENTS file issue in coming future?


"Being unwilling to adopt a necessary amount of structure and process is just as much of a hindrance once you hit a certain size." Full context of the discussion. The observation when you organization reached certain size where formal process is unavoidable. Yet, people are still making the same old mistake over and over again.


Using Linux kernel >= 4.9? Switch to BBR TCP to control the network congestion and increase your Internet speed. It seems to increase the download speed tremendously. Alternative and more detail explanations from APNIC and ACM Queue.


The secret passion of Git checkout. Funny but very well-written guide on using Git checkout. Meanwhile, use rebase by default, if possible for all your branches. While we at it, user `merge --no-ff` if possible because we want to preserve the branch history.


Kindness is underrated (via HN). Being polite, empathy, professional, helpful, or kind? Neither one will get the message across if the receiving end fails or unwillingly to listen. I totally agree with the comment, "On the internet, nobody can hear you being subtle".

LogiFind MSP430 LCD KIT-C - Part 1

As I was looking into available development kit of MSP430, I've made another curiousity purchase of another kit. This time is LogiFind's MSP430 LCD KIT-C, another tiny MSP430 kit using MSP430F413. Device is shown below (screenshot from local reseller, Partsories). As the device is powered through USB Type B connector (typically used by printer or camera), I've to purchase another USB Type A to Type B connector. Driver and documentation is located at LogiFind site.


Power up the device through my lappy seems straightforward, and the LCD immediately displays the current time and three red LED lights (TEST1, TEST2, and PWR) were turned on. The TEST1 and TEST2 LED lights were blinking continuously.

Checking the device info from the USB port in GNU/Linux shows that USB was detected as serial port or USB to serial interface bridge.
$ lsusb
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Even more details on the USB device.
$ sudo lsusb -D /dev/bus/usb/001/003
Device: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
Device Descriptor:
bLength                18
bDescriptorType         1
bcdUSB               1.10
bDeviceClass            0 (Defined at Interface level)
bDeviceSubClass         0
bDeviceProtocol         0
bMaxPacketSize0        64
idVendor           0x067b Prolific Technology, Inc.
idProduct          0x2303 PL2303 Serial Port
bcdDevice            3.00
iManufacturer           1 Prolific Technology Inc.
iProduct                2 USB-Serial Controller
iSerial                 0
bNumConfigurations      1
Configuration Descriptor:
bLength                 9
bDescriptorType         2
wTotalLength           39
bNumInterfaces          1
bConfigurationValue     1
iConfiguration          0
bmAttributes         0x80
(Bus Powered)
MaxPower              100mA
Interface Descriptor:
bLength                 9
bDescriptorType         4
bInterfaceNumber        0
bAlternateSetting       0
bNumEndpoints           3
bInterfaceClass       255 Vendor Specific Class
bInterfaceSubClass      0
bInterfaceProtocol      0
iInterface              0
Endpoint Descriptor:
bLength                 7
bDescriptorType         5
bEndpointAddress     0x81  EP 1 IN
bmAttributes            3
Transfer Type            Interrupt
Synch Type               None
Usage Type               Data
wMaxPacketSize     0x000a  1x 10 bytes
bInterval               1
Endpoint Descriptor:
bLength                 7
bDescriptorType         5
bEndpointAddress     0x02  EP 2 OUT
bmAttributes            2
Transfer Type            Bulk
Synch Type               None
Usage Type               Data
wMaxPacketSize     0x0040  1x 64 bytes
bInterval               0
Endpoint Descriptor:
bLength                 7
bDescriptorType         5
bEndpointAddress     0x83  EP 3 IN
bmAttributes            2
Transfer Type            Bulk
Synch Type               None
Usage Type               Data
wMaxPacketSize     0x0040  1x 64 bytes
bInterval               0
Device Status:     0x0000
(Bus Powered)

Next, is to check the connectivity through MSPDebug.
$ mspdebug --usb-list
Devices on bus 002:
    002:002 8087:0024
    002:001 1d6b:0002
Devices on bus 001:
    001:003 067b:2303
    001:002 8087:0024
    001:001 1d6b:0002

It seems I need to find a way to connect to it either through TI, FET, or Olimex FET driver.
$ mspdebug --fet-list | grep "Devices\|MSP430F413"
Devices supported by FET driver:
    MSP430F1611        MSP430F413         MSP430F6435
Devices supported by Olimex FET driver:
    MSP430F4132              MSP430F6730
    MSP430F5333              Preliminary_MSP430F413

More to connecting through MSPDebug in coming post.