Skip to content

Instantly share code, notes, and snippets.

View acamino's full-sized avatar
💭
一期一会

Agustin Camino acamino

💭
一期一会
  • MCF Consulting, LLC
  • Quito, Ecuador
View GitHub Profile
@acamino
acamino / .vimrc
Last active October 24, 2016 11:20
Vim Custom Configuration
" Quickly toggle between relative and no relative line numbers
function! NumberToggle()
if(&relativenumber == 1)
set norelativenumber
else
set relativenumber
endif
endfunc
nnoremap <C-L> :call NumberToggle()<CR>
@acamino
acamino / Todo.hs
Last active January 20, 2017 12:33
TODO manager in Haskell
import System.Directory
import System.Environment
import System.IO
import Control.Monad
import Data.List
dispatch :: [(String, [String] -> IO ())]
dispatch = [ ("add", add)
, ("view", view)
, ("remove", remove)
@acamino
acamino / IncomingController.cs
Last active October 5, 2017 15:10
Secure your C# / ASP.NET WEB API by validating incoming Twilio Requests
using System.Net.Http;
using System.Text;
using System.Web.Http;
using Twilio.TwiML;
using ValidateRequestExample.Filters;
namespace ValidateRequestExample.Controllers
{
public class TwilioMessagingRequest
{
@acamino
acamino / IncomingController.cs
Created October 10, 2017 21:51
Secure your C# / ASP.NET Core by validating incoming Twilio Requests
using Microsoft.AspNetCore.Mvc;
using Twilio.TwiML;
using ValidateRequestExample.Filters;
namespace ValidateRequestExample.Controllers
{
public class IncomingController : Controller
{
[ValidateTwilioRequest]
[Produces("text/xml")]
@acamino
acamino / factorial.rb
Created November 7, 2018 18:27
Factorial defined in terms of lambda calculus.
# Factorial
# Keep in mind we want to remove assignment.
ZERO = ->(_) { ->(x) { x } }
# ONE = ->(f) { ->(x) { f[x] } }
TWO = ->(f) { ->(x) { f[f[x]] } }
THREE = ->(f) { ->(x) { f[f[f[x]]] } }
ADD0 = ->(n) { ->(f) { ->(x) { n[f][x] } } }
SUCC = ->(n) { ->(f) { ->(x) { f[n[f][x]] } } }
data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/4VsqRXhpZgAATU0AKgAAAAgAFgEPAAIAAAAGAAABFgEQAAIAAAAMAAABHAESAAMAAAABAAEAAAEaAAUAAAABAAABKAEbAAUAAAABAAABMAEoAAMAAAABAAIAAAEyAAIAAAAUAAABOAE7AAIAAAABAAAAAAITAAMAAAABAAIAAIKYAAIAAAABAAAAAIdpAAQAAAABAAABTIglAAQAAAABAAA5uIgwAAMAAAABAAIAAIgyAAQAAAABAAAGQJAQAAIAAAAHAAA5zJARAAIAAAAHAAA51JASAAIAAAAHAAA53KQwAAIAAAABAAAAAKQxAAIAAAANAAA55KQyAAUAAAAEAAA58qQ0AAIAAAAcAAA6EqQ1AAIAAAALAAA6LgAAOjpDYW5vbgBDYW5vbiBFT1MgUgAAAABIAAAAAQAAAEgAAAABMjAxODowNDoyMiAwNzo1NzoxMAAAIIKaAAUAAAABAAAC0oKdAAUAAAABAAAC2ogiAAMAAAABAAIAAIgnAAMAAAABBkAAAJAAAAcAAAAEMDIzMZADAAIAAAAUAAAC4pAEAAIAAAAUAAAC9pEBAAcAAAAEAQIDAJIBAAoAAAABAAADCpICAAUAAAABAAADEpIEAAoAAAABAAADGpIHAAMAAAABAAUAAJIJAAMAAAABAAAAAJIKAAUAAAABAAADIpJ8AAcAADVWAAADKpKGAAcAAAEIAAA4gJKQAAIAAAADNzMAAJKRAAIAAAADNzMAAJKSAAIAAAADNzMAAKAAAAcAAAAEMDEwMKABAAMAAAABAAEAAKACAAMAAAABDSAAAKADAAMAAAABCMAAAKAFAAQAAAABAAA5iKIOAAUAAAABAAA5qKIPAAUAAAABAAA5sKIQAAMAAAABAAIAAKQBAAMAAAABAAAAAKQCAAMAAAABAAAAAKQDAAMAAAABAAAAAKQGAAMAAAABAAAAAOodAAkAAAABAAAAAAAAA
@acamino
acamino / section.rb
Created December 24, 2019 18:48
Section an array by the given lengths
# section :: [a] -> [Int] -> [[a]]
section = lambda { |arr:, lengths:|
starts = [*0..lengths.size - 1].reduce([]) do |acc, idx|
acc << lengths.take(idx).sum; acc
end
starts.zip(lengths).map { |start, lenght| arr.slice(start, lenght) }
}
arr = [*1..100]