Skip to content

Instantly share code, notes, and snippets.

View ishanjain28's full-sized avatar
🎯
Focusing

Ishan Jain ishanjain28

🎯
Focusing
View GitHub Profile
@forrestbthomas
forrestbthomas / gist:b011842bc77e2812408b
Created May 25, 2015 19:50
Single-byte XOR cipher
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int most_freq_chars(char *decrypt_attempt)
{
struct high_freq_characters {
int E;
int T;

Setting up Vim as your Go IDE

The final IDE

Intro

I've been wanting to do a serious project in Go. One thing holding me back has been a my working environment. As a huge PyCharm user, I was hoping the Go IDE plugin for IntelliJ IDEA would fit my needs. However, it never felt quite right. After a previous experiment a few years ago using Vim, I knew how powerful it could be if I put in the time to make it so. Luckily there are plugins for almost anything you need to do with Go or what you would expect form and IDE. While this is no where near comprehensive, it will get you writing code, building and testing with the power you would expect from Vim.

Getting Started

I'm assuming you're coming with a clean slate. For me this was OSX so I used MacVim. There is nothing in my config files that assumes this is the case.

@mxstbr
mxstbr / idea.md
Last active February 16, 2021 18:33
Code splitting react-router routes with webpack 2

NOTE: Sokra confirmed I had a misunderstanding, Webpack is still a static build tool and the below won't work. It's still a nice concept though...

With webpack 1, code splitting react-router routes is quite tedious. It requires us to repeat the getComponent function over and over again. (See here for an explanation how it works with webpack 1)

Example:

<Router history={history}>
  <Route
    path="/"
@lstroud
lstroud / scrub_opml.groovy
Created April 25, 2014 19:29
This script will convert an opml feed list between file formats (XML, JSON, and CSV), scrub the list for feeds that are still active, filter the list by expression, and de-duplicate the feeds in the list. I built it because I needed to reorganize my feeds. Moving the feeds to a csv file, where the tag column is the folder(s), made it very quick …
/*
Copyright 2014 Les Stroud
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
@stevedonovan
stevedonovan / shared.rs
Created April 14, 2017 13:49
An ergonomic way of saying Rc<RefCell>
use std::rc::Rc;
use std::cell::{RefCell,Ref, RefMut};
use std::ops::Deref;
use std::fmt;
#[derive(Clone)]
struct Shared<T> {
v: Rc<RefCell<T>>
}
@flipace
flipace / gdpr-list.json
Last active June 23, 2023 11:48
List of URLs where you can request your data according to GDPR/DSGVO laws
[
{ "name": "Amazon", "url": "https://www.amazon.de/gp/help/customer/contact-us?", "note": "Select, in this order: 'Digitale Dienste' -> 'Datenauskunft beantragen' -> 'Datenauskunft für eine spätere Zusendung beantragen' -> 'Daten aus allen Kategorien anfordern' -> Namen eingeben und Nachricht vervollständigen. -- Amazon Support Staff will review your request and send you an email, asking about a postal address. If you don't answer to their mail, your request won't be fulfilled." },
{ "name": "McDonalds", "url": "https://corporate.mcdonalds.com/corpmcd/gdpr-rights-center.html" },
{ "name": "willhaben.at", "url": "https://datenschutz.willhaben.at/" },
{ "name": "Spotify", "url": "https://www.spotify.com/account/privacy/" },
{ "name": "Google", "url": "https://takeout.google.com" },
{ "name": "PlayStation", "email": "dpo@scee.net" },
{ "name": "Humble Bundle", "email": "dpo@humblebundle.com" },
{ "name": "REWE Group AT", "email": "datenschutz@rewe-group.at" },
{ "name": "BILLA", "url": "https:
@ldong
ldong / download_egghead_videos.md
Last active December 7, 2023 16:16
download egghead videos

Download videos from egghead

Go to the egghead website, i.e. Building a React.js App

run

$.each($('h4 a'), function(index, video){
  console.log(video.href);
});
@Matthias247
Matthias247 / async_await_cancellation.md
Created May 28, 2019 06:09
Async/Await - The challenges besides syntax - Cancellation

Async/Await - The challenges besides syntax - Cancellation

This is the second article in a series of articles around Rusts new async/await feature. The first article about interfaces can be found here.

In this part of the series we want to a look at a mechanism which behaves very different in Rust than in all other languages which feature async/await support. This mechanism is Cancellation.

@gmurdocca
gmurdocca / socat_caesar_dpi.md
Last active June 28, 2024 15:53
Circumventing Deep Packet Inspection with Socat and rot13

Circumventing Deep Packet Inspection with Socat and rot13

I have a Linux virtual machine inside a customer's private network. For security, this VM is reachable only via VPN + Citrix + Windows + a Windows SSH client (eg PuTTY). I am tasked to ensure this Citrix design is secure, and users can not access their Linux VM's or other resources on the internal private network in any way outside of using Citrix.

The VM can access the internet. This task should be easy. The VM's internet gateway allows it to connect anywhere on the internet to TCP ports 80, 443, and 8090 only. Connecting to an internet bastion box on one of these ports works and I can send and receive clear text data using netcat. I plan to use good old SSH, listening on tcp/8090 on the bastion, with a reverse port forward configured to expose sshd on the VM to the public, to show their Citrix gateway can be circumvented.

Rejected by Deep Packet Inspection

I hit an immediate snag. The moment I try to establish an SSH or SSL connection over o

@Brainiarc7
Brainiarc7 / refind-setup.md
Last active July 18, 2024 14:44
Setting up rEFInd on Ubuntu 16.04 LTS for multi-boot purposes with secure boot enabled.

Deploying rEFInd on Ubuntu 16.04 LTS with secure boot enabled

Hello guys,

For these dual-booting Ubuntu 16.04 with an alternate operating system in UEFI boot mode, it may often be necessary to use a third-party boot manager such as rEFInd, as it's significantly superior to grub2's on UEFI-capable systems.

This write-up assumes that:

(a). The user is running a current Ubuntu 16.04LTS operating system installation (preferably on a dual-boot system)