Skip to content

Instantly share code, notes, and snippets.

View jalcine's full-sized avatar
💭
Decentralize and democratize the Web.

Jacky Alciné jalcine

💭
Decentralize and democratize the Web.
View GitHub Profile
@jalcine
jalcine / conf.d-gzip.conf
Last active June 6, 2020 21:48
microformat2 nginx configuration.
# 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;
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();
}
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 (https://keybase.io/jackyalcine) on keybase.
  • I have a public key ASAtgza3H2biYzp31HcDnfJ83FcpYgbdw8cm6rf8WRBMIgo

To claim this, I am signing this object:

@jalcine
jalcine / Contract Killer 3.md
Created May 22, 2017 21:31 — forked from malarkey/Contract Killer 3.md
The latest version of my ‘killer contract’ for web designers and developers

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.

Requirements

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
jalcine / gist:509b4cc280226eec5c49876106239d29
Created January 8, 2017 17:13 — forked from mtigas/gist:952344
Mini tutorial for configuring client-side SSL certificates.

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
user = insert(:user)
insertedFilterList = insert_list(4, :filter, %{owner_user: user})
|> Enum.into([], fn filter -> filter.id end)
|> Enum.reverse
ownedFilters = Repo.preload(user, :filters).filters
|> Enum.into([], fn filter -> filter.id end)
assert ownedFilters == insertedFilterList
(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
~ λ _ 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