This gist was built by the community of the researchers and was scribed by Kir and Igor from the QIWI/Vulners. We are grateful for the help of all those who sent us the data, links and information. Together we can make this world a better place!
I'm looking at building up some Bluetooth LE programming expertise on Linux, specifically for use with Raspberry Pi 3 B+ and Pi Zero W models.
This is a compendium of libraries and tools that I'm looking at to build that skill on.
On the Raspberry Pi Zero W, a user must be a member of the bluetooth
group to work with tools like bluetoothctl
. Set this up with:
# If your project uses WebView with JS, uncomment the following | |
# and specify the fully qualified class name to the JavaScript interface | |
# class: | |
-keepclassmembers class fqcn.of.javascript.interface.for.webview { | |
public *; | |
} | |
### RxJava, RxAndroid (https://gist.github.com/kosiara/487868792fbd3214f9c9) | |
-keep class rx.schedulers.Schedulers { | |
public static <methods>; |
buildscript { | |
repositories { | |
mavenCentral() | |
maven { | |
url 'https://oss.sonatype.org/content/repositories/snapshots/' | |
} | |
} | |
dependencies { | |
classpath 'com.android.tools.build:gradle:0.9.+' | |
classpath 'com.squareup.gradle:gradle-android-test-plugin:0.9.1-SNAPSHOT' |
// Generates canvas drawing commands from an SVG path string | |
import 'package:path_parsing/path_parsing.dart'; | |
void main(List<String> args) { | |
if (args.length < 3) { | |
print('Usage: width height path_string'); | |
return; | |
} |
import 'package:flutter/material.dart'; | |
import 'dart:math'; | |
void main() { | |
/// | |
/// Launch the application | |
/// | |
runApp(Application()); | |
} |
#!/bin/sh | |
# send a notify message without access to DISPLAY | |
# taken from src/notify-osd.xml in notify-osd and from example in gdbus(1) | |
# 'notify-send' requires 'DISPLAY' and access to other context | |
# this script does not | |
# | |
# **** UGH **** | |
# This depends on DBUS_SESSION_BUS_ADDRESS variable, which is still "per-session" | |
# so, in an environment where you have access to neither, you can't really do this. | |
# |
The Way of the Bullet Journal
This technique is a tool. While I can't say the bullet journal is the best for everyone, I can say that learning to export data from your brain to other systems is essential for being a creative and productive human being. If you walk away from this unenthused by the bullet journal approach, I encourage you to still take seriously the habits it helps promote.
You are a student. You have code to write. Jobs to find. Bills to pay. Life to figure out. Friends and family to love and occasionally say hello to.
All this is to say: you have too much to do for your brain to handle all by itself.
There are many productivity tools that help alleviate overload of the brain. I do not promise this technique will save you, or even remotely help you, but I do promise to provide you with the information you need to get started and decide if it's right for you.
Note: I'm currently taking a break from this course to focus on my studies so I can finally graduate
#define __define_initcall(level,fn,id) \ | |
static initcall_t __initcall_##fn##id __used \ | |
__attribute__((__section__(".initcall" level ".init"))) = fn | |
#define core_initcall(fn) __define_initcall("1",fn,1) | |
#define subsys_initcall(fn) __define_initcall("4",fn,4) | |
#define late_initcall(fn) __define_initcall("7",fn,7) | |
/* trimmed, obviously... */ |