Skip to content

Instantly share code, notes, and snippets.

Decentralize and democratize the Web.

Jacky Alciné jalcine

Decentralize and democratize the Web.
View GitHub Profile
jalcine / conf.d-gzip.conf
Last active Jun 6, 2020
microformat2 nginx configuration.
View conf.d-gzip.conf
# vim: set ft=nginx :
# Enable compression.
gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types image/* text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
View webfinger.cpp
QString extractUserName(const QString& path) {
const auto parts = path.split("/", QString::SkipEmptyParts);
if (path.startsWith("/@")) {
return parts.first();
if (path.startsWith("/users")) {
return parts.last();
View gist:3a6cbcc642b856f036c82e01a1d4e6bc
So while doing some roadmap planning for GoodForPoc's API, I noticed a few
things that were coming up that could lead into potential issues. One notably is
how we would handle authentication and authorization. There's the option of
using Warden, a Rack-based authentication (with subtle authorization
capabilities) for Sinatra, but we'd have to write a lot of this logic by hand.
It'd be nice to leverage the community's work in the land of Devise or OmniAuth
here. That plus adding any form of social login tool would also have to be
written by hand for the project.
Migrations and data loading is also done a bit by hand (though made easier

Keybase proof

I hereby claim:

  • I am jalcine on github.
  • I am jackyalcine ( on keybase.
  • I have a public key ASAtgza3H2biYzp31HcDnfJ83FcpYgbdw8cm6rf8WRBMIgo

To claim this, I am signing this object:

jalcine / Contract Killer
Created May 22, 2017 — forked from malarkey/Contract Killer
The latest version of my ‘killer contract’ for web designers and developers
View Contract Killer

Contract Killer

The popular open-source contract for web professionals by Stuff & Nonsense

  • Originally published: 23rd December 2008
  • Revised date: March 15th 2016
  • Original post


Raspberry Pi VPN Router

This is a quick-and-dirty guide to setting up a Raspberry Pi as a "router on a stick" to PrivateInternetAccess VPN.


Install Raspbian Jessie (2016-05-27-raspbian-jessie.img) to your Pi's sdcard.

Use the Raspberry Pi Configuration tool or sudo raspi-config to:

jalcine / gist:509b4cc280226eec5c49876106239d29
Created Jan 8, 2017 — forked from mtigas/gist:952344
Mini tutorial for configuring client-side SSL certificates.
View gist:509b4cc280226eec5c49876106239d29

Client-side SSL

For excessively paranoid client authentication.

Using self-signed certificate.

Create a Certificate Authority root (which represents this server)

Organization & Common Name: Some human identifier for this server CA.

openssl genrsa -des3 -out ca.key 4096
openssl req -new -x509 -days 365 -key ca.key -out ca.crt
View user_test.exs
user = insert(:user)
insertedFilterList = insert_list(4, :filter, %{owner_user: user})
|> Enum.into([], fn filter -> end)
|> Enum.reverse
ownedFilters = Repo.preload(user, :filters).filters
|> Enum.into([], fn filter -> end)
assert ownedFilters == insertedFilterList
View gist:6c7bf87633b28f64df63c4754b5a8a3d
(lldb) platform select remote-linux
Platform: remote-linux
Connected: no
(lldb) platform connect connect://localhost:1993
Platform: remote-linux
Triple: x86_64-pc-linux
OS Version: 4.4.0 (4.4.0-23-generic)
Kernel: #41-Ubuntu SMP Mon May 16 23:04:25 UTC 2016
Hostname: arno.jalcine
Connected: yes
View gist:0c3e3821fa60fd2adca7ecb6f0e5c03f
~ λ _ strace -p $FIREFOX_PID
strace: Process 25668 attached
strace: [ Process PID=25668 runs in x32 mode. ]
--- SIGVTALRM {si_signo=SIGVTALRM, si_code=SI_TKILL, si_pid=25668, si_uid=1000} ---
strace: [ Process PID=25668 runs in 64 bit mode. ]
rt_sigreturn({mask=[]}) = 0
--- SIGVTALRM {si_signo=SIGVTALRM, si_code=SI_TKILL, si_pid=25668, si_uid=1000} ---
rt_sigreturn({mask=[]}) = 140720930945712
--- SIGVTALRM {si_signo=SIGVTALRM, si_code=SI_TKILL, si_pid=25668, si_uid=1000} ---
rt_sigreturn({mask=[]}) = 140247581681664