Skip to content

Instantly share code, notes, and snippets.

View kapad's full-sized avatar

Rohan Kapadia kapad

  • Bengaluru, India
  • 02:43 (UTC +05:30)
View GitHub Profile
@tatumroaquin
tatumroaquin / wsl2-usbipd-kernel.md
Last active April 10, 2025 09:52
WSL2 custom kernel for usb support

WSL2 USB/IP Kernel Build

At the time of writing WSL 2 does not have official support for interfacing with USB type devices. To solve this, a fork of the usbip project is modified by Microsoft to allow virtual connectivity between USB devices on a host via the USB/IP protocol.

Though it is recommended to use the usbip from a Windows 11 host, there is a way to build a custom WSL2 Kernel in Windows 10 with usbip driver support enabled for USB Mass Storage devices.

This is a supplementary guide which allows for a more linear step by step instruction to eliminate the confusion introduced by the official documentation.

Install USB/IP Client

8.2.3. HTTP log format
----------------------
The HTTP format is the most complete and the best suited for HTTP proxies. It
is enabled by when "option httplog" is specified in the frontend. It provides
the same level of information as the TCP format with additional features which
are specific to the HTTP protocol. Just like the TCP format, the log is usually
emitted at the end of the session, unless "option logasap" is specified, which
generally only makes sense for download sites. A session which matches the
"monitor" rules will never logged. It is also possible not to log sessions for
@kapad
kapad / dataUriToBinary.js
Created June 13, 2017 07:45
Convert a base64 encoded data URI to binary
let convertDataURIToBinary = (dataURI) => {
var BASE64_MARKER = ';base64,';
var base64Index = dataURI.indexOf(BASE64_MARKER) + BASE64_MARKER.length;
var base64 = dataURI.substring(base64Index);
var raw = window.atob(base64);
var rawLength = raw.length;
var array = new Uint8Array(new ArrayBuffer(rawLength));
for(var i = 0; i < rawLength; i++) {
array[i] = raw.charCodeAt(i);
@philipstanislaus
philipstanislaus / sane-caching.nginx.conf
Last active January 1, 2025 14:28
Sample Nginx config with sane caching settings for modern web development
# Sample Nginx config with sane caching settings for modern web development
#
# Motivation:
# Modern web development often happens with developer tools open, e. g. the Chrome Dev Tools.
# These tools automatically deactivate all sorts of caching for you, so you always have a fresh
# and juicy version of your assets available.
# At some point, however, you want to show your work to testers, your boss or your client.
# After you implemented and deployed their feedback, they reload the testing page – and report
# the exact same issues as before! What happened? Of course, they did not have developer tools
# open, and of course, they did not empty their caches before navigating to your site.
/*
* Copyright 2013 Alex Pacini.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
# Hello, and welcome to makefile basics.
#
# You will learn why `make` is so great, and why, despite its "weird" syntax,
# it is actually a highly expressive, efficient, and powerful way to build
# programs.
#
# Once you're done here, go to
# http://www.gnu.org/software/make/manual/make.html
# to learn SOOOO much more.
8.2.3. HTTP log format
----------------------
The HTTP format is the most complete and the best suited for HTTP proxies. It
is enabled by when "option httplog" is specified in the frontend. It provides
the same level of information as the TCP format with additional features which
are specific to the HTTP protocol. Just like the TCP format, the log is usually
emitted at the end of the session, unless "option logasap" is specified, which
generally only makes sense for download sites. A session which matches the
"monitor" rules will never logged. It is also possible not to log sessions for
@kapad
kapad / screen-man-simple.md
Last active August 1, 2018 21:23
Simplified man page/usage instructions for Linux screen command

Starting or re-entering an already running session (Works regardless of whether the session was detached properly or the internet connection went kaput)

Command: screen -D -RR If multiple users are going to share the same machine and all want to use screen, then use screen -D -RR <screen-alias>

To start with screen will only have one screen.

To start a new screen keyboard shortcut is

@alexpacini
alexpacini / markDown.css
Last active March 27, 2016 20:56
Markdown CSS extended from http://kevinburke.bitbucket.org/markdowncss/ to be used with MarkDown Extra on StackEdit
/*
* Copyright 2013 Alex Pacini.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
@alexpacini
alexpacini / template.html
Last active July 8, 2020 13:46
Custom StackEdit template
<!--
1: Using prettify
-->
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title><%= documentTitle %></title>