Skip to content

Instantly share code, notes, and snippets.

View barrysteyn's full-sized avatar

Barry Steyn barrysteyn

View GitHub Profile
@barrysteyn
barrysteyn / .eslintrc.js
Created December 29, 2015 16:53 — forked from nkbt/.eslintrc.js
Strict ESLint config for React, ES6 (based on Airbnb Code style)
{
"env": {
"browser": true,
"node": true,
"es6": true
},
"plugins": ["react"],
"ecmaFeatures": {
@barrysteyn
barrysteyn / README.md
Last active January 22, 2023 22:43
C/C++ Examples For Understanding

Introduction

These toy examples are for helping with understanding C/C++. There is an excellent C++ samples site which demonstrates many useful things.

@barrysteyn
barrysteyn / svn-to-git.md
Last active October 10, 2024 12:27
Migrate From SVN To GIT
@barrysteyn
barrysteyn / README.md
Last active December 29, 2015 15:49
Useful Posix Commands

Useful Posix Commands

These commands are as Posix possible. Where differences exist between operating systems, specific instructions for the OS will be noted.

@barrysteyn
barrysteyn / Base64.md
Last active September 24, 2024 04:37
OpenSSL Base64 En/Decode: Portable and binary safe.

OpenSSL Base64 Encoding: Binary Safe and Portable

Herewith is an example of encoding to and from base64 using OpenSSL's C library. Code presented here is both binary safe, and portable (i.e. it should work on any Posix compliant system e.g. FreeBSD and Linux).

License

The MIT License (MIT)

Copyright (c) 2013 Barry Steyn

@barrysteyn
barrysteyn / .README.md
Last active December 27, 2015 04:58
Vim

VIM

Setup

Copy the .vimrc file below

Useful Commands

@barrysteyn
barrysteyn / substring.cpp
Last active December 20, 2015 07:19
LeetCode: Substring with concatenation of all words (http://leetcode.com/onlinejudge#question_30)
/*
* This is a very cool method to perform the leetcode task.
* It is time O(n) (n being the size of string S) if it is
* implemented with an unordered_map on line 65, otherwise it
* is O(n*log(m)) (m being the size of the vector L)
*
* This method demonstrates how hashes can be used for
* comparison instead of strings. It is inspired by
* the topcoder article: http://community.topcoder.com/tc?module=Static&d1=tutorials&d2=stringSearching
*/
/*
* Dynamic programming at its best! The trick is
* that erasing a character, and inserting a character
* are inverse operations and therefore can be considered
* just one operation (See comments below)
*/
class Solution {
public:
@barrysteyn
barrysteyn / rotate_matrix.cpp
Last active March 16, 2021 06:18
Rotate a matrix by 90 degrees in place: http://leetcode.com/onlinejudge#question_48
class Solution {
public:
void rotate(vector<vector<int> > &matrix) {
int N = matrix.size()-1,
temp = 0;
for (int i=0; i < N; i++) {
for (int j=0; j+i < N; j++) {
//Only one temp variable is needed
/*
* My Canonical example of a C bubble sort
* This is still O(n^2) (no getting away from that)
* but it is slightly more efficient than the classic
* examples given in textbooks because the inner loop
* loops one less every time
*/
void bubbleSort_c(int *arr, int size) {
int temp = 0;