Skip to content

Instantly share code, notes, and snippets.

View mugli's full-sized avatar
🤷

Mehdi Hasan Khan mugli

🤷
View GitHub Profile
@mugli
mugli / letsencrypt.md
Created January 6, 2017 07:55 — forked from xrstf/letsencrypt.md
Let's Encrypt on Ubuntu 14.04, nginx with webroot auth

Let's Encrypt on Ubuntu 14.04, nginx with webroot auth

This document details how I setup LE on my server. Firstly, install the client as described on http://letsencrypt.readthedocs.org/en/latest/using.html and make sure you can execute it. I put it in /root/letsencrypt.

As it is not possible to change the ports used for the standalone authenticator and I already have a nginx running on port 80/443, I opted to use the webroot method for each of my domains (note that LE does not issue wildcard certificates by design, so you probably want to get a cert for www.example.com and example.com).

Configuration

For this, I placed config files into etc/letsencrypt/configs, named after <domain>.conf. The files are simple:

@mugli
mugli / HTML-presentation-tools.md
Created April 25, 2017 21:12 — forked from vasilisvg/HTML-presentation-tools.md
HTML presentation tools

#HTML presentation tools

There are many HTML presentation tools and they are all created for slightly different reasons. Here's an overview. Please let me know if I forgot any.

##CSSS

CSS-based SlideShow System

Effective Engineer - Notes

What's an Effective Engineer?

  • They are the people who get things done. Effective Engineers produce results.

Adopt the Right Mindsets

@mugli
mugli / Oauth2.md
Created July 26, 2018 08:04 — forked from mziwisky/Oauth2.md
Oauth2 Explanation

OAUTH2

The Problem

I’m a web app that wants to allow other web apps access to my users’ information, but I want to ensure that the user says it’s ok.

The Solution

I can’t trust the other web apps, so I must interact with my users directly. I’ll let them know that the other app is trying to get their info, and ask whether they want to grant that permission. Oauth defines a way to initiate that permission verification from the other app’s site so that the user experience is smooth. If the user grants permission, I issue an AuthToken to the other app which it can use to make requests for that user's info.

Note on encryption

Oauth2 has nothing to do with encryption -- it relies upon SSL to keep things (like the client app’s shared_secret) secure.

@mugli
mugli / cloudSettings
Last active September 13, 2020 08:33
Visual Studio Code Settings Sync Gist
{"lastUpload":"2020-01-24T07:05:34.982Z","extensionVersion":"v3.4.3"}

Keybase proof

I hereby claim:

  • I am mugli on github.
  • I am mhasan (https://keybase.io/mhasan) on keybase.
  • I have a public key ASCwWUfWDZ5wFSs-4qU91rQQ9Nrf6mGDtt7_65QeUPb2Bgo

To claim this, I am signing this object:

@mugli
mugli / query_finder.sql
Last active February 10, 2019 05:52 — forked from mezis/query_finder.sql
Finding long-running queries in MySQL
SELECT id, concat('kill ', id, ';') as kill_command, state, command, time, info
FROM information_schema.processlist
WHERE command <> 'Sleep'
AND info NOT LIKE '%PROCESSLIST%'
ORDER BY time DESC LIMIT 50;
@mugli
mugli / findLongRunningOp.js
Created December 3, 2018 06:08 — forked from kylemclaren/findLongRunningOp.js
Find and (safely) kill long running MongoDB ops
db.currentOp().inprog.forEach(
function(op) {
if(op.secs_running > 5) printjson(op);
}
)
@mugli
mugli / homebrew_multiple_mysql_versions.md
Created December 10, 2018 05:48 — forked from benlinton/multiple_mysql_versions_for_development.md
Multiple MySQL Versions with Homebrew

Multiple MySQL Versions with Homebrew

For homebrew version 0.9.5.

brew -v # => Homebrew 0.9.5

Install the current version of mysql.

# Install current mysql version

brew install mysql