This guide is to improve the KDE Plasma experience on X11. It particularly applies to those using the modesetting driver (mainly Intel graphics cards)
This is a crucial step. XLibre and xorg-git contain the "TearFree" feature for modesetting, which is not available in the standard releases. If you use a driver other than modesetting, check that the TearFree option exists for your driver.
Installation depends on the distribution you use. On Arch Linux and derivatives:
Xorg-git:
| const CryptoJS = require("crypto-js"); | |
| const EC = require('elliptic').ec; | |
| const secp256k1 = new EC('secp256k1'); | |
| function publicKeyToAddress(pubKey) { | |
| let address = CryptoJS.RIPEMD160(pubKey).toString(); | |
| return address; | |
| } | |
| function privateKeyToPublicKey(privKey) { |
| package main | |
| import ( | |
| "bufio" | |
| "bytes" | |
| "encoding/binary" | |
| "flag" | |
| "fmt" | |
| "github.com/spf13/nitro" | |
| "io" |
| // This is free and unencumbered software released into the public domain. | |
| // | |
| // Anyone is free to copy, modify, publish, use, compile, sell, or | |
| // distribute this software, either in source code form or as a compiled | |
| // binary, for any purpose, commercial or non-commercial, and by any | |
| // means. | |
| // | |
| // In jurisdictions that recognize copyright laws, the author or authors | |
| // of this software dedicate any and all copyright interest in the | |
| // software to the public domain. We make this dedication for the benefit |
| // Pin Definitions | |
| // Rows are connected to | |
| const int row1 = 5; | |
| const int row2 = 6; | |
| const int row3 = 7; | |
| const int row4 = 8; | |
| const int row5 = 4; | |
| const int row6 = 3; | |
| const int row7 = 2; | |
| const int row8 = 1; |
| // Pin Definitions | |
| // Rows are connected to Digital | |
| const int rowPin[] = { 6, 7, 8, 5 }; | |
| // FSRs connected to Analog | |
| const int fsrPin[] = { 2, 3, 4, 5 }; | |
| // The 74HC595 uses a serial communication | |
| // link which has three pins | |
| const int clock = 12; |
At Vimeo, on the transcoding team, we work a lot with Go, and a lot with C, for various tasks such as media ingest. This means we use CGO quite extensively, and consequently, have run into bits that are perhaps not very well documented, if at all. Below is my effort to document some of the problems we've run into, and how we fixed or worked around them.
Many of these are obviously wrong in retrospect, but hindsight is 20/20, and these problems do exist in many codebases currently.
Some are definitely ugly, and I much welcome better solutions! Tweet me at @daemon404 if you have any, or have your own CGO story/tips, please! I'd love to learn of them.
Table of Contents
| package main | |
| import ( | |
| "./binding" | |
| "fmt" | |
| ) | |
| func main() { | |
| binding.PrintHello() | |
| binding.Seed(1) | |
| fmt.Println(binding.Random()) |
| localhost(~/src) % gccgo -v | |
| Using built-in specs. | |
| COLLECT_GCC=gccgo | |
| COLLECT_LTO_WRAPPER=/opt/libexec/gcc/arm-linux-gnueabihf/4.8.2/lto-wrapper | |
| Target: arm-linux-gnueabihf | |
| Configured with: ../gccgo/configure --prefix=/opt --enable-languages=c,c++,go --with-ld=/usr/bin/ld --enable-shared --without-included-gettext --enable-threads=posix --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libitm --with-system-zlib --with-cloog --enable-cloog-backend=ppl --disable-cloog-version-check --disable-ppl-version-check --enable-multiarch --enable-multilib --disable-sjlj-exceptions --with-arch=armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with-mode=thumb --disable-werror --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf | |
| Thread model: posix | |
| gcc version 4.8.2 20130927 (prerelease) (GCC) | |
| localhost(~/src) % go run -compiler gccgo helloworld.go | |
| Hello gccgo |