Skip to content

Instantly share code, notes, and snippets.

View gwainor's full-sized avatar
🪡
ta'veren

Gökhan Öztürk gwainor

🪡
ta'veren
View GitHub Profile
@axelbdt
axelbdt / django-postgresql-15.md
Last active May 22, 2025 02:15
# Django and PostgreSQL 15, the rules have changed

Django and PostgreSQL 15, the rules have changed

Postgres 15 is just out, and while there is a lot to love about this new release, you're in for a surprise if you try to set it up with Django following tutorials like this one.

The reason is stated in the release announcement:

Remove PUBLIC creation permission on the public schema (Noah Misch) The new default is one of the secure schema usage patterns that Section 5.9.6 has recommended...

Provided your web app doesn't access your database as a superuser (it shouldn't) and uses a dedicated user, it is not allowed to use the public schema anymore. You have to create one for this specific user, and the next section will

@cb109
cb109 / vscode_python_sort_imports_isort_on_save.md
Last active April 29, 2025 08:19
VSCode: Python Sort Imports on File Save (isort)

VSCode: Python Sort Imports on File Save (isort)

  • Make sure the isort extension is installed in VSCode

Update April 2025

The latest VSCode update brought the requirement to use a python environment 3.8+ for isort:

2025-04-24 13:28:29.888 [info] No interpreter found from setting isort.interpreter
@aopell
aopell / SettingsManager.cs
Last active May 7, 2021 13:30
C# JSON Settings Manager
using System;
using System.IO;
using System.Threading;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System.Collections.Generic;
namespace DiscordBotNew.Settings
{
public class SettingsManager
@darconeous
darconeous / engenius-eap600-enable-ssh.md
Last active March 24, 2023 20:02
Enabling SSH on Engenius EAP600

Enabling SSH on Engenius EAP600 (and maybe other models)

This tutorial will walk you through the steps needed to get root SSH access on an Engenius EAP600 dual-band WiFi access point. SSH doesn't come enabled out of the box on these things, so if you want to SSH into the device (which is running an old version of OpenWRT), keep reading.

@wesbos
wesbos / tab-trigger.js
Created November 16, 2015 19:33
How to properly get a TAB trigger working with Emmet inside of JSX
{
"keys": ["tab"],
"command": "expand_abbreviation_by_tab",
// put comma-separated syntax selectors for which
// you want to expandEmmet abbreviations into "operand" key
// instead of SCOPE_SELECTOR.
// Examples: source.js, text.html - source
"context": [
{
@paulfarino
paulfarino / EOL-semicolon.sublime-macro
Created November 12, 2015 04:41
Sublime Text Macro to insert a semicolon at the end of a line
// Add the following to `Sublime Text > Preferences > Keybindings - User`
[
{ "keys": ["command+shift+;"], "command": "run_macro_file", "args": {"file": "Packages/User/EOL-semicolon.sublime-macro"} }
]
// The macros should look like the following
// The file should be placed in `cd ~/Library/Application\ Support/Sublime\ Text\ 3/Packages/User/EOL-semicolon.sublime-macro`
[
{
@max-mapper
max-mapper / 0.md
Last active May 12, 2025 13:51
JS hoisting by example

JavaScript function hoisting by example

Below are many examples of function hoisting behavior in JavaScript. Ones marked as works successfuly print 'hi!' without errors.

To play around with these examples (recommended) clone them with git and execute them with e.g. node a.js

Notes on hoisting

(I may be using incorrect terms below, please forgive me)

@itsmikita
itsmikita / uninstall-laravel-workbench-package
Last active July 15, 2020 18:33
How to remove/uninstall Laravel workbench packages
Since I was looking all around how to uninstall packages and after reading tones
of documentations here's the short how-to uninstall a workbench package in Laravel
(or how I managed it to work out):
1. Remove package service provider from 'providers' array in app/config/app.php
2. Remove the package folder in workbench/
3. Run:
@schacon
schacon / gist:1
Created July 15, 2008 18:17
the meaning of gist
This is gist.
There are many like it, but this one is mine.
It is my life.
I must master it as I must master my life.
Without me gist is useless.
Without gist, I am useless.