Skip to content

Instantly share code, notes, and snippets.

View vaibhavpandeyvpz's full-sized avatar
🐢
I may be slow to respond.

Vaibhav Pandey vaibhavpandeyvpz

🐢
I may be slow to respond.
View GitHub Profile
@vaibhavpandeyvpz
vaibhavpandeyvpz / CMakeLists.txt
Created April 8, 2020 10:15
CMake configuration for Gumbo parser.
set(GUMBO_SOURCES
gumbo-parser/src/attribute.h
gumbo-parser/src/attribute.c
gumbo-parser/src/char_ref.h
gumbo-parser/src/char_ref.c
gumbo-parser/src/error.h
gumbo-parser/src/error.c
gumbo-parser/src/gumbo.h
gumbo-parser/src/insertion_mode.h
gumbo-parser/src/parser.h
@vaibhavpandeyvpz
vaibhavpandeyvpz / Distance.php
Created January 26, 2020 08:05
Find nearby records using latitude & longitude (to get distance) in Symfony PHP + Doctrine ORM
<?php
// src/DoctrineExtensions/Query/Mysql/Distance.php
namespace App\DoctrineExtensions\Query\Mysql;
use Doctrine\ORM\Query\AST\Functions\FunctionNode;
use Doctrine\ORM\Query\Lexer;
use Doctrine\ORM\Query\Parser;
use Doctrine\ORM\Query\SqlWalker;
@vaibhavpandeyvpz
vaibhavpandeyvpz / mailgun.php
Last active January 5, 2020 08:47
Send email using PHP/cURL + Mailgun
<?php
// [TODO] Update below parameters
define('MAILGUN_KEY', 'XXX-XXX...XXX');
define('MAILGUN_URL', 'https://api.mailgun.net/v3/mg.domain.tld');
define('MAIL_FROM', '[email protected]');
define('MAIL_REPLY', '[email protected]');
function mailgun($to, $subject, $body, array $params = []) {
$data = array_merge([
@vaibhavpandeyvpz
vaibhavpandeyvpz / Typeahead.cs
Created December 16, 2019 07:00
Common combobox values like countries etc.
namespace Examle
{
public class Typeahead
{
public readonly Dictionary<string, string> Countries = new Dictionary<string, string>
{
{ "AF", "Afghanistan" },
{ "AL", "Albania" },
{ "DZ", "Algeria" },
{ "AS", "American Samoa" },
@vaibhavpandeyvpz
vaibhavpandeyvpz / center-element.js
Last active November 8, 2019 03:09
Center an element horizontally and/or vertically using JavaScript.
function resize($el) {
const data = $el.data('center');
if (data.x) {
const w_width = $(window).width();
const e_width = $el.width();
const margin = (w_width - e_width) / 2;
$el.css('left', margin)
}
if (data.y) {
const w_height = $(window).height();
@vaibhavpandeyvpz
vaibhavpandeyvpz / Example.js
Last active January 7, 2022 23:45
Laravel, Axios & Logout Over AJAX
import React from 'react';
import ReactDOM from 'react-dom';
const handleLogout = () => {
axios.post('/logout')
.then(() => location.href = '/home')
};
function Example() {
return (
@vaibhavpandeyvpz
vaibhavpandeyvpz / bluetooth.sh
Created May 30, 2019 04:15
Enable LEAdvertisingManager1 on RaspBerry Pi Zero W
#!/bin/bash
sudo nano /lib/systemd/system/bluetooth.service
## Changes >>
ExecStart=/usr/lib/bluetooth/bluetoothd
## --- TO ---
ExecStart=/usr/lib/bluetooth/bluetoothd --experimental
## << Changes
@vaibhavpandeyvpz
vaibhavpandeyvpz / wpa_supplicant.conf
Created May 25, 2019 04:08
Headless Connection To Raspberry Pi Zero W w/o Screen/HDMI
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=IN
network={
ssid="VPZ"
psk="SecretWifiPassword"
key_mgmt=WPA-PSK
}
@vaibhavpandeyvpz
vaibhavpandeyvpz / escape.js
Created May 15, 2019 03:53
Escape HTML tags in JS before rendering to DOM.
const e = str => {
const replacements = {
'&': '&amp;',
'<': '&lt;',
'>': '&gt;',
"'": '&#039;',
'"': '&quot;',
};
return str.replace(/[&<>"']/g, match => replacements[match])
};
@vaibhavpandeyvpz
vaibhavpandeyvpz / ActiveExtension.php
Created May 15, 2019 03:48
Twig extension for rendering 'active' class depending on path or route.
<?php
namespace App\Twig;
use Symfony\Component\HttpFoundation\RequestStack;
use Twig\Extension\AbstractExtension;
use Twig\TwigFunction;
class ActiveExtension extends AbstractExtension
{