Skip to content

Instantly share code, notes, and snippets.

View llekn's full-sized avatar
🎯
Focusing

Camilo Flores llekn

🎯
Focusing
View GitHub Profile
@llekn
llekn / for-each-dir.py
Last active August 29, 2015 14:20
Python script to execute a shell command on every sub-folder of current folder
#!/usr/bin/env python3
'''Receives a command as argument and executes it on
every sub-folder of current folder.
Useful for commands that should be run multiple times,
like doing a git fetch on a bunch of repos.
Usage: ./for-each-dir.py "command"
Example: ./for-each-dir.py "git fetch"
'''
@llekn
llekn / http-stdout-echo.py
Last active January 7, 2024 23:35
HTTP server that print what is requested to console. Useful for debugging purposes.
#!/usr/bin/env python3
'''Usage:
python3 http-stdout-echo.py -a <bind-address> -p <bind-port>
Examples:
python3 http-stdout-echo.py # (will listen at 127.0.0.1:8080 by default)
python3 http-stdout-echo.py -a 10.3.1.3 -p 5555'''
from http.server import HTTPServer, BaseHTTPRequestHandler
@llekn
llekn / server.rb
Last active March 17, 2017 14:02
Websocket server from scratch using TCPServer
# http://blog.honeybadger.io/building-a-simple-websockets-server-from-scratch-in-ruby/
require 'socket' # Provides TCPServer and TCPSocket classes
require 'digest/sha1'
server = TCPServer.new('localhost', 2345)
loop do
# Wait for a connection
@llekn
llekn / server.rb
Created March 17, 2017 14:01
Websocket server using Eventmachine
require 'em-websocket'
EM.run do
EM::WebSocket.run(host: '0.0.0.0', port: 8080) do |ws|
ws.onopen do |handshake|
puts 'WebSocket connection open'
# Access properties on the EM::WebSocket::Handshake object, e.g.
# path, query_string, origin, headers
@llekn
llekn / .eslintrc.json
Created March 24, 2017 03:01
ES5 compatible ESlint config file
{
"env": {
"es6": false,
"browser": true
},
"parserOptions": {
"ecmaVersion": 5
},
"plugins": [],
"globals": {
@llekn
llekn / overcommit.md
Created June 9, 2017 21:02
Overcommit overview

Overcommit

Overview

Overcommit is a gem that makes easy to add, configure and run tasks on git hooks (script that are run when manipulating a git repo, for example, before making a commit).

Setup

  1. Add the gem overcommit to development environment, or install it globally on you machine with gem install overcommit
  2. On the project on which you want to use overcommit, install the git hooks provided by overcommit: overcommit --install
@llekn
llekn / .overcommit.yml
Last active July 29, 2022 10:32 — forked from gmq/.overcommit.yml
Overcommit configuration for rails/es6 projects
# Use this file to configure the Overcommit hooks you wish to use. This will
# extend the default configuration defined in:
# https://github.com/brigade/overcommit/blob/master/config/default.yml
#
# At the topmost level of this YAML file is a key representing type of hook
# being run (e.g. pre-commit, commit-msg, etc.). Within each type you can
# customize each hook, such as whether to only run it on certain files (via
# `include`), whether to only display output if it fails (via `quiet`), etc.
#
# For a complete list of hooks, see:
@llekn
llekn / http-logger.service.ts
Created August 3, 2018 15:54
HTTP Logger using Angular's `HttpInterceptor`
import { Injectable } from '@angular/core';
import {
HttpRequest,
HttpHandler,
HttpEvent,
HttpInterceptor,
HttpErrorResponse,
} from '@angular/common/http';
import { EnvConfigurationProvider } from 'gl-ionic2-env-configuration';
@llekn
llekn / app.reducer.ts
Created August 3, 2018 15:59
Binding NgRx store with Ionic navigation!
const actionMap: any = {
[gateAccess.REWIND_REGISTRATION]: (state, action) => {
switch (state.step) {
case 'vehicle':
return resetState(state);
case 'driver':
return updateObject(state, { lastAccess: null, step: 'vehicle' });
case 'confirmation':
return updateObject(state, {
lastAccess: null,

Keybase proof

I hereby claim:

  • I am llekn on github.
  • I am llekn (https://keybase.io/llekn) on keybase.
  • I have a public key ASDd9gnza_r1_3CgJE5Sl8ISTG0jJYfCFmTjzhL38bckjQo

To claim this, I am signing this object: