Skip to content

Instantly share code, notes, and snippets.

Aaron Hinojosa ajhino

  • New York, NY
Block or report user

Report or block ajhino

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@ajhino
ajhino / main.asm
Created Apr 4, 2019
x86 Assembly: Scanning an array for a non-zero value
View main.asm
; Scanning array for non-zero value
.386
.model flat
.data
;intArray SWORD 0,0,0,0,4,3,0,-34,-56,7,8
intArray SWORD 0,0,0,0,0,0,0,0,0,0,0,0
.code
main proc
@ajhino
ajhino / finding_duplicates_in_string_using_bitwise_ops.cpp
Created Mar 27, 2019
A simple program to illustrate bitwise masking and merging to determine if a string contains duplicates.
View finding_duplicates_in_string_using_bitwise_ops.cpp
// Simple program to illustrate bitwise ops to check string for duplicates
#include <iostream>
using namespace std;
int main()
{
char * A = new char[20];
cout << "Enter string to be checked for duplicates" << endl;
cin >> A;
@ajhino
ajhino / find_duplicates_in_unsorted_array.cpp
Last active Apr 13, 2019
passing array as ref to maintain size info in C++
View find_duplicates_in_unsorted_array.cpp
// If std::array is not an option (e.g embedded), use the following tactic to maintain size info of array as param
// This method uses non-type template arguments to retain size of array.
// See std::begin() and std::end() for similar approaches.
#include <iostream>
using namespace std;
// @param h {T} represents highest number in given array
// used to determine size of hash array
@ajhino
ajhino / x86MemoryAddressingModes.md
Last active Mar 4, 2019
x86 Memory Addressing Modes with examples
View x86MemoryAddressingModes.md

x86 Memory Addressing Modes

Effective Address

effectiveAddress = BaseReg + IndexReg * ScaleFactor + Displacement

BaseReg = any general purpose register
IndexReg = Index Register - any gen purpose register except Stack Pointer Reg (ESP)
ScaleFactor = 1,2,4,8
Displacement = Constant offset encoded w/in instruction
@ajhino
ajhino / gist:fa626bef810d1fe1024b
Created Sep 15, 2014
Underscore chaining. This example scans a collection, finds all items that match a condition, then returns a new collection from the matches with custom structure.
View gist:fa626bef810d1fe1024b
var subscribersModel = {
users: [
{
'id': '1asdf',
'activeSubscriptions': ['monthly', 'gold'],
'gender': 'm',
'age': '31',
'username': 'CowboyWayne'
},
{
@ajhino
ajhino / js-closure
Last active Aug 29, 2015
Closure demystified. Closure is best expressed when a function returns an anonymous function. If the nested anonymous function references a variable within the parent function context, that variable reference will be accessible when the nested function is invoked.
View js-closure
var multiplyByNumber = function (x) {
return function(y) {
// this nested anonymous function references
// parent 'x' arg variable
return x * y;
}
}
/**
* multiplyBy5 below is a function because multiplyByNumber returns a function.
@ajhino
ajhino / opacity.less
Created Nov 14, 2012
Background Opacity with support back to IE7 using LESS CSS
View opacity.less
/* .bg-opacity() = the workhorse background opacity mixin. takes 2 sets of
* RGB plus opacity making a grand total of 7 params.
* Usage: .alert-box{ .bg-opacity(0,0,0,255,255,255,.75); }
*/
.bg-opacity (@r1: 0, @g1: 0, @b1:0, @r2: 0, @g2: 0, @b2:0, @opacity: .5) {
// convert RGB to HEX for IE mixin
// notice ~ escaping and ` for JS evaluation
@topHex: ~`((1 << 24) + (@{r1} << 16) + (@{g1} << 8) + @{b1}).toString(16).slice(1)`;
@bottomHex: ~`((1 << 24) + (@{r2} << 16) + (@{g2} << 8) + @{b2}).toString(16).slice(1)`;
You can’t perform that action at this time.