Skip to content

Instantly share code, notes, and snippets.

Avatar

Federico Ramirez gosukiwi

View GitHub Profile
View blink.agc
View demo
// VARIABLES
// no need to specify type
a = 1.2 // float
name = "Federico" // string
// you can still do it if you want
x as float
x = 1.2
function Double(x as integer)
@gosukiwi
gosukiwi / powershell-bash.md
Last active Jul 4, 2020
Powershell <=> Bash
View powershell-bash.md

Commands

Popular bash commands in PowerShell:

grep: Select-String
  Select-String -r "console" .\foo\**\*.js
  
cat: Get-Content
  Get-Content foo.md
  
View global_events.coffee
App.Lib.GlobalEvents =
###
This will trigger the callback whenever the user clicks on something outside
the given element. If the user clicks on something insied `el`, it will not
trigger the callback.
You can give it many elements using jQuery's `#add`:
$els = $('.my-element').add($('.some-other-element'))
App.Lib.GlobalEvents.onClickedOutside $els, =>
# do something
###
View JS Caching.md

Caching

This can cache AJAX requests across page-loads with custom max-ages:

FIVE_MINUTES = 5 * 60 * 1000
App.Lib.Cache.promise().maxAge(FIVE_MINUTES).cache('/foo', -> $.get('/foo')).then (results) ->
  console.log results
@gosukiwi
gosukiwi / demo.rb
Created May 29, 2019
Custom predicates for Ransack, allows you to search inside a YAML-serialized Array column
View demo.rb
# some model
serialize :my_field, Array
ransacker :my_field_raw, type: :string do
Arel.sql('my_table.my_field')
end
# some view (using simple form)
= search_form_for @q, builder: SimpleForm::FormBuilder do |f|
View base_64.coffee
# This makes sure UTF8 characters don't break the encoding/decoding. For
# more info: https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding
#
App.Lib.Base64 =
encode: (str) ->
window.btoa unescape(encodeURIComponent(str))
decode: (str) ->
decodeURIComponent escape(window.atob(str))
View demo.lisp
;; a plist associating keywords with functions
(defvar *commands*
'(:title title-command))
(defun title-command (params)
(format t "Title command function. Params: ~A" params))
;; I want to read the keyword from the CLI, but it's a char array
;; how can I cast it to keyword?
(apply (getf *commands* (read-line)) '(1 2 3))
@gosukiwi
gosukiwi / common-lisp-cheatsheet.md
Last active May 20, 2021
Common Lisp Cheatsheet
View common-lisp-cheatsheet.md

Common Lisp Cheatsheet

Common Lisp is a general-purpose programming language with functions as first-class citizens. Don't worry about being purely functional, Lisp is Object Oriented too. CLOS is a very powerful object-oriented system!

Useful definitions

The Common Lisp lingo is quite unique:

  • Package: Basically a namespace, a place for symbols to live
  • System: Basically a Library. A bunch of code plus some instructions how it should be treated, for example which other systems it depends on, what should be loaded and/or compiled first, etc. Not in ANSI lisp but widespread. The most common system definition tool is ASDF.
  • Modules: Deprecated and implementation-dependent
  • Quicklisp: Like NPM or Ruby Gems for ASDF Systems.
View rails_issue_32953.rb
# frozen_string_literal: true
begin
require "bundler/inline"
rescue LoadError => e
$stderr.puts "Bundler version 1.10 or later is required. Please update your Bundler"
raise e
end
gemfile(true) do