Skip to content

Instantly share code, notes, and snippets.

🍺
public volatile void

Rémy F. yne

Block or report user

Report or block yne

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View dom.c
#include <stdio.h>
#include <stdint.h>
#include <termios.h>
#define LEN(ARR) ARR,sizeof(ARR)/sizeof(*ARR)
#define RGBA(R,G,B,A) ((R<<24) | (G<<16) | (B<<8) | A)
#define RGB(R,G,B) RGBA(R,G,B,255)
typedef enum{
RULE_NOP,
RULE_TEXT_COLOR,
@yne
yne / generic.lambda.c
Created Aug 12, 2018
C11 Lambda + Generic
View generic.lambda.c
#include <stdio.h>
#define fn(c) ({int _ c;_;})
#define list(c) sizeof(c)/sizeof(*c),c
#define map(LIST, CB) _Generic( (CB), int(*)(int, int, int*): map_arr, int(*)(int): map_val)(list(LIST), CB)
int map_val(size_t total, int *array, int (*cb)(int)) {
for(int i = 0; i < total; i++)
array[i] = cb(array[i]);
}
int map_arr(size_t total, int *array, int (*cb)(int, int, int*)) {
View gist:e2e352b8aabf8c8598dad3bc388a9071
<!doctype html>
<html>
<script>$=document.querySelectorAll.bind(document);</script>
<style>
body {
font-size:2em;
margin:0;height: 100vh;
display: grid;
grid-template-columns: 1fr 5fr;
grid-template-areas: "header header" "aside main" "footer footer";}
@yne
yne / sceAvDecode.c
Created Nov 24, 2017
PsVita sceAv Decode usage
View sceAvDecode.c
static void vita_setup(int videoFormat, int width, int height) {
int width=960;
int height=544;
char rasm_buff[DECODER_BUFFER_SIZE];
int dbuf_idx = 1;
/* Init display and decoder*/
gs_sps_init();
SceUID displayblock = sceKernelAllocMemBlock("display", SCE_KERNEL_MEMBLOCK_TYPE_USER_CDRAM_RW, 2 * FRAMEBUFFER_SIZE, &((SceKernelAllocMemBlockOpt){ sizeof(SceKernelAllocMemBlockOpt), 4, FRAMEBUFFER_ALIGNMENT}));
void *base;
sceKernelGetMemBlockBase(displayblock, &base);
@yne
yne / main.c
Created Sep 2, 2017
PSV Progress
View main.c
#include <string.h>
#include <stdbool.h>
#include <psp2/types.h>
#include <psp2/kernel/processmgr.h>
#include <psp2/message_dialog.h>
#include <psp2/display.h>
#include <psp2/apputil.h>
#include <psp2/gxm.h>
#include <psp2/ctrl.h>
#include <psp2/kernel/sysmem.h>
@yne
yne / postinstall.sh
Last active May 3, 2018
wget -O- git.io/yne.install | bash
View postinstall.sh
#!/bin/bash
set -x
crontab -l | grep -q .wall || (echo '0 * * * * ID=$(curl -sL gist.githubusercontent.com/yne/729655bd0557bfde7a088e15b40b9e6d/raw/ | shuf -n 1);for t in jpg png; do curl -sfL nik.bot.nu/o$ID.$t -o "$HOME/.wall"; done') | crontab -
#wget http://ppa.launchpad.net/oiteam/xfce4/ubuntu/pool/main/x/xfce4-windowck-plugin/xfce4-windowck-plugin_0.3.1-0ubuntu1~oiteam0_$(uname -m | grep -q 64 && echo amd64 || echo i386).deb &&
#until sudo dpkg --install *.deb ; do sleep 10 ; done
#rm -f *.deb
#curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/microsoft.gpg >/dev/null
@yne
yne / ipbook.py
Created Mar 12, 2017
Google AppEngine most recent visitor page
View ipbook.py
#!/usr/bin/env python
from flask import Flask
from flask import request
from datetime import datetime
app = Flask(__name__)
#app.config['DEBUG'] = True
from google.appengine.ext import ndb
class Client(ndb.Model):
addr = ndb.StringProperty(indexed=True)
date = ndb.DateTimeProperty(auto_now=True)
@yne
yne / upnp_port.c
Created Mar 12, 2017
UPNP port forwarding managment
View upnp_port.c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <fcntl.h>
#include <netinet/in.h>
#include <ctype.h>
#include "miniwget.h"
#include "miniupnpc.h"
#include "upnpcommands.h"
@yne
yne / flv_parser.c
Created Mar 5, 2017
Unfinished FLV parser
View flv_parser.c
#include <stdio.h>
#include <fcntl.h>
typedef struct{
char unsigned F;
char unsigned L;
char unsigned V;
char unsigned version;
char unsigned video:1;
char unsigned res2:1;
@yne
yne / kh_diff.c
Created Feb 13, 2017
khash diff example
View kh_diff.c
#include <inttypes.h>
#include <stdio.h>
//#include "klist.h"
#include "khash.h"
#define kh_forall(h) for(khint_t __i=kh_begin(h);__i!=kh_end(h);++__i)if(kh_exist(h,__i))
#define kh_diff(name, old, new, on_add, on_keep, on_del)\
kh_forall(new){/*find added(exist in new, not in old) and kept(exist in both) entries */\
khiter_t __j = kh_get(name, old, kh_key(new,__i));\
if((__j==kh_end(old))||(!kh_exist(old,__j))){on_add;}else{on_keep;}\
You can’t perform that action at this time.