Skip to content

Instantly share code, notes, and snippets.

@nasitra
nasitra / go.mod
Last active March 10, 2024 00:53
Kill child processes in Go
module sample
go 1.22.1
@nasitra
nasitra / main.go
Created January 14, 2024 01:20
Handle command line input implemented with Go
package main
import (
"fmt"
"os"
"github.com/mattn/go-shellwords"
"github.com/peterh/liner"
)
@nasitra
nasitra / websocket-client.cpp
Created September 21, 2016 13:12
WebSocket client implemented with C++
#include "websocket-client.h"
#include <iostream>
using websocketpp::lib::placeholders::_1;
using websocketpp::lib::placeholders::_2;
using websocketpp::lib::bind;
WebSocketClient::WebSocketClient(std::string uri) {
mUri = uri;
@nasitra
nasitra / carray2slice.go
Created October 31, 2015 02:38
Convert 'C' array to golang slice
func carray2slice(array *C.int, len int) []C.int {
var list []C.int
sliceHeader := (*reflect.SliceHeader)((unsafe.Pointer(&list)))
sliceHeader.Cap = len
sliceHeader.Len = len
sliceHeader.Data = uintptr(unsafe.Pointer(array))
return list
}
@nasitra
nasitra / backtrace.c
Created October 9, 2016 06:31
Print call stack by using libunwind
#include <libunwind.h>
#include <libunwind-ptrace.h>
#include "backtrace.h"
#define MAX_BACKTRACE_FRAMES 64
void unwind(pid_t pid) {
unw_addr_space_t addr_space = NULL;
struct UPT_info* upt_info = NULL;
@nasitra
nasitra / gist:aa378d536888e20056ce
Last active July 23, 2020 09:05
Use member function for pthread and detach in C++
int T::method() {
return 0;
}
// static member function
void *T::threadStart(void *obj) {
int ret;
T *me = reinterpret_cast<T *>(obj);
ret = me->method();
return (void *)ret;
@nasitra
nasitra / client.go
Created May 9, 2016 13:30
Broadcast server implemented with Go and WebSockets
package main
import "github.com/gorilla/websocket"
type client struct {
socket *websocket.Conn
room *room
send chan []byte
}
@nasitra
nasitra / settings.json
Last active December 14, 2018 12:00
Custom color scheme settings to Flatland theme for Visual Studio Code
{
"editor.tokenColorCustomizations": {
"[Flatland_Dark]": {
"comments": "#798188",
"functions": "#F8F8F8",
"keywords": "#FA9A4B",
"numbers": "#B8D977",
"strings": "#C4E2F2",
"types": "#F8F8F8",
"variables": "#F8F8F8",
@nasitra
nasitra / flatland.gcetheme
Last active December 14, 2018 11:56
Color scheme settings of Flatland theme for GoCoEdit
{
"name": "flatland",
"defaults": {
"text_color":"f8f8f8",
"background":"26292c",
"activeline_background":"202325",
"matchingbracket_color":"bbbcbd"
},
"gutters": {
"background":"26292c",
@nasitra
nasitra / index.html
Created November 14, 2017 11:07
Responsively change div size keeping aspect ratio
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
body {
margin: 0;
}