was successfully added to your cart.

Install mjml on Ubuntu – Responsive email framework

By | Super Manual | No Comments
  1. apt-get install npm
  2. npm cache clean -f
  3. npm install -g n
  4. n latest
  5. ln -sf /usr/local/n/versions/<VERSION>/bin/node /usr/bin/node
  6. node -v
  7. npm -i n
  8. npm i -g mjml
  9. mjml template.mjml


Error: EISDIR: illegal operation on a directory, open './' at Error (native)

Upgrade Node.js to the latest stable version

/usr/bin/env: 'node': No such file or directory

apt-get install nodejs-legacy


ASUS Thinker Board

By | Development Environment | No Comments

  • Quad core 1.8GHz ARM Cortex-A17 CPU
  • 2GB Dual channel LPDDR3 memory
  • Gigabit LAN and Bluetooth 4.0 + EDR connectivity
  • 802.11 b/g/n Wi-Fi
  • 4x USB 2.0 ports
  • 40-pin Internal header with 28 GPIO pins
  • Contact points for PWM and S/PDIF signals
  • 1x 3.5mm Audio jack connection
  • CSI port for camera connection
  • DSI port supporting HD resolution
  • 1x HDMI 2.0 port to support 4K resolution
  • Micro SD port supports UHS-I
  • Supports Debian OS with KODI
  • Power supply: 5V/ 2A Micro USB (not included)

Cypress USB Type-C CCG1 CCG2 CCG3 CCG4 PD 主要区别

By | USB | No Comments
Integrated Type-C
Transceiver (number)
1 1 1 2
Memory (Flash, SRAM) 32 KB, 4 KB 32 KB, 4 KB 128 KB, 8 KB 128 KB, 8 KB
Fail safe
Bootloading Feature
Not supported Not supported Yes (Plus simultaneous
bootloading and CPU
Integrated Type-C
(Rp, Rd)
No Yes Yes Yes
Number of
Up to 11 Up to 14 Up to 20 Up to 30
Integrated BillBoard
Class FS
USB 2.0 Device
No No Yes No
Hardware Authentication
No No Yes No
Number of Serial
Communication Blocks
1 2 4 4
Integrated VCONN
No No 1 pair 2 pairs
Integrated 20V
NFET/PFET Gate Drivers
No No 2 pairs No
Supply Voltage 1.8 – 5.5 V 2.7 – 5.5 V 2.7 – 21.5 V 2.7 – 5.5 V
Dedicated VBUS
No No Yes No
Proprietary Charger
No No Yes No
Package 35-pin WLCSP
40-pin QFN
16-pin SOIC
24-pin QFN
14-pin DFN
20-pin CSP
40-pin QFN
42-ball CSP
16-pin SOIC
40-pin QFN

MicroPython PyBoard 概览

By | Others | No Comments


  • STM32F405RG microcontroller
  • 168 MHz Cortex M4 CPU with hardware floating point
  • 1024KiB flash ROM and 192KiB RAM
  • Micro USB connector for power and serial communication
  • Micro SD card slot, supporting standard and high capacity SD cards
  • 3-axis accelerometer (MMA7660)
  • Real time clock with optional battery backup
  • On-board 3.3V LDO voltage regulator, capable of supplying up to 250mA, input voltage range 3.6V to 16V
  • DFU bootloader in ROM for easy upgrading of firmware


  • 30 GPIO
  • 2 I2C 总线
  • 5 UART 串口
  • 2 SPI 总线
  • 20 PWM
  • 16 ADC
  • 2 DAC 数模转换
  • 13 Timer 定时器
  • 16 Ext Interrupt 外部中断
  •  1 Real Time Clock (RTC) 时钟
  • 1 Random Generator
  • 4 LED
  • 1 Accelerometer 加速度传感器
  • 2 Switches 用户按键

Install Java 1.8 on Mac OS El Capitan

By | Development Environment | No Comments

Here’s a few notes on what it took to install Java12 on the latest El Capitan OSX: 10.11.1.

This seems to be the best way to set this up.

Install Cask7:

brew update
brew install caskroom/cask/brew-cask

Install jenv:

brew install jenv
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(jenv init -)"' >> ~/.zshrc

Install latest Java:

brew cask install java

The next is figure out where is the new JDK installed location, normally in the /Library/Java/JavaVirtualMachines/jdk******/Contents/Home/. The JDK version might be different.

jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_66.jdk/Contents/Home/

When you execute the jenv add command, might return an error message shows:

ln: /Users/XXX/.jenv/versions/oracle64- No such file or directory

Then we just create the missing folder as the location above:

mkdir /Users/XXX/.jenv/versions/oracle64-

Check the new Java version:

java -version

That works.

iPad Pro Teardown

By | Hardware | No Comments