Skip to content

Instantly share code, notes, and snippets.

View ab2005's full-sized avatar

alexandre barilov ab2005

View GitHub Profile
<!DOCTYPE html>
<html lang="en-US" >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Sensor Data Explorer</title>
<link rel="stylesheet" media="all" href="style.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script src="http://ajax.microsoft.com/ajax/jquery.templates/beta1/jquery.tmpl.min.js"></script>
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
@ab2005
ab2005 / README.md
Last active April 15, 2023 09:40
Simple uvc camera capture using libuvc

Run:

  1. brew install libuvc
  2. gcc uvccam.c -luvc -o exx
  3. To get device info run: ./exx 1>/dev/null
  4. To save YUV422 to file: ./exx 2>/dev/null 1>video.yuv

Some ffmpeg experiments:

Record raw YUV422 from camera:

The “classical stack” of Software 1.0 is what we’re all familiar with — it is written in languages such as Python, C++, etc. It consists of explicit instructions to the computer written by a programmer. By writing each line of code, the programmer is identifying a specific point in program space with some desirable behavior. In contrast, Software 2.0 is written in neural network weights. No human is involved in writing this code because there are a lot of weights (typical networks might have millions), and coding directly in weights is kind of hard (I tried). Instead, we specify some constraints on the behavior of a desirable program (e.g., a dataset of input output pairs of examples) and use the computational resources at our disposal to search the program space for a program that satisfies the constraints. In the case of neural networks, we restrict the search to a continuous subset of the program space where the search process can be made (somewhat surprisingly) efficient with backpropagation and stochasti

# -----------
# User Instructions:
#
# Modify the the search function so that it returns
# a shortest path as follows:
#
# [['>', 'v', ' ', ' ', ' ', ' '],
# [' ', '>', '>', '>', '>', 'v'],
# [' ', ' ', ' ', ' ', ' ', 'v'],
# [' ', ' ', ' ', ' ', ' ', 'v'],
@ab2005
ab2005 / index.html
Last active June 28, 2017 23:30
video-overlay
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset=utf-8>
<title>Face Tracking Demo</title>
<style>
body { font-family:Verdana,Arial; }
a { text-decoration:none; color:#666; }
h1 { font-size:20px; padding:0; }
header p { font-size:12px; }
@ab2005
ab2005 / bash-cheatsheet.sh
Created January 16, 2017 07:30 — forked from LeCoupa/bash-cheatsheet.sh
Bash CheatSheet for UNIX Systems
#!/bin/bash
#####################################################
# Name: Bash CheatSheet for Mac OSX
#
# A little overlook of the Bash basics
#
# Usage:
#
# Author: J. Le Coupanec
# Date: 2014/11/04
@ab2005
ab2005 / conv-net.py
Last active January 6, 2017 22:53
TensorFlow Convolution Layer
layer_depth = {
'layer_1': 32,
'layer_2': 64,
'layer_3': 128,
'fully_connected': 512
}
n_classes = 10 # MNIST total classes (0-9 digits)
weights = {
'layer_1': tf.Variable(tf.truncated_normal(
@ab2005
ab2005 / CameraService.java
Last active April 25, 2023 13:00
Camera 2 raw frame grabber
package com.example.ab.myapplication;
import android.Manifest;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.res.Configuration;
import android.graphics.ImageFormat;
import android.graphics.Point;
@ab2005
ab2005 / Readme.md
Last active October 12, 2016 01:01
Information transfer rates

Information transfer rates

Channel Rate
ADSL 24 Kb
Cell
GSM 14.4Kb
Edge 1.5Mb
HSPA 42Mb
LTE2 173Mb
LTE4 362Mb
@ab2005
ab2005 / Readme.md
Last active October 9, 2016 06:20
Cables bandwidth
  • USB 2.0 is rated at 480Mbps. That’s about 60 megabytes per second.
  • USB 3.0 is rated at 5 Gbps. That’s about 640 megabytes per second.
  • eSATA is rated at 3 Gbps and 6 Gbps. That’s about 373 and 750 megabytes per second.
  • Firewire is rated at 3 Gbps (400) and 6 Gbps (800). That’s about 373 and 750 megabytes per second.
  • Thunderbolt is rated at 10 Gbps per channel (x2). Thunderbolt 2 raises that value to 20 Gbps over a single channel. Thunderbolt 3 doubles the bandwidth again to 40 Gbps.
  • Ethernet is rated at 100 Mbps

bit rates