Skip to content

Instantly share code, notes, and snippets.

@eljojo
eljojo / irb_from_ruby.rb
Last active December 1, 2024 20:35
calling IRB from ruby
require 'irb'
IRB.init_config(nil)
IRB.conf[:PROMPT_MODE] = :DEFAULT
IRB.conf[:VERBOSE] = true
class IrbStringInputMethod < IRB::InputMethod
def initialize(line, output)
@line = line
@read = false
@eljojo
eljojo / function.rb
Last active July 20, 2023 06:08
Simple Open AI API Client
# frozen_string_literal: true
module Ai
class Function
# Returns a formatted function payload
def to_payload
{
"name" => name,
"description" => description,
"parameters" => parameters,
@eljojo
eljojo / css_classes.rb
Last active June 18, 2023 23:41
proof of concept on how to have Phlex generate CSS classes
# frozen_string_literal: true
module Views
module CssClasses
extend ActiveSupport::Concern
class CssHelper; end
class_methods do
def css_helper
@eljojo
eljojo / Item URI2.js
Created December 21, 2022 16:54
zotero uri
{
"translatorID":"90ed0f17-6ead-42fe-afb9-d34adb230099",
"translatorType":2,
"label":"Item URI para cucho",
"creator":"jojo",
"target":"html",
"minVersion":"2.0",
"maxVersion":"",
"priority":200,
"inRepository":false,
@eljojo
eljojo / hardware-raspberry-pi.nix
Created January 9, 2022 01:12
nixos raspberry pi
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[
"${fetchTarball "https://github.com/NixOS/nixos-hardware/archive/2a7063461c3751d83869a2a0a8ebc59e34bec5b2.tar.gz" }/raspberry-pi/4"
];
boot.kernelPackages = pkgs.linuxPackages_rpi4;
boot.kernel.sysctl."vm.swappiness" = 0;
[Unit]
After=docker.service docker.socket
After=ifup@eth0.service
Wants=ifup@eth0.service
[Service]
ExecStart=/usr/bin/docker run \
--rm \
--name=traefik \
@eljojo
eljojo / 0_reuse_code.js
Created July 5, 2017 13:17
Here are some things you can do with Gists in GistBox.
// Use Gists to store code you would like to remember later on
console.log(window); // log the "window" object to the console
@eljojo
eljojo / hash_manipulation.rb
Created December 8, 2015 19:41
some playing with functional programming and ruby
# A HashManipulation is a helper object.
# The idea is to aid when modifying hashes.
# changes = HashManipulation.new
# changes.key { |key| key.upcase }
# changes.value { |value| value.length }
# changes.("children" => [1, 2, 3]) # {"CHILDREN" => 3}
module Reports
class HashManipulation
def initialize
@key = -> (obj) { obj }
@eljojo
eljojo / growth_hacking.md
Last active August 29, 2015 14:22
Growth Hacking

I know about the existence of Growth Hacking and I know that as a StartUp one of your goals is to, well, grow as much as possible.
I also know about the existence of promotional posts, and how they can benefit both writers and companies looking to reach audiences.
What I didn't know, is how low some companies can go in order to promote their business for free.
Without further ado, here's an email I got yesterday. Let it speak by itself.

Hi Jose Tomas,

We’d love to see what tips you have for social media marketers. 

We would like you to create a post on your personal blog where you share

<html>
<head>
<title>This is the title</title>
<link rel="stylesheet" href="http://railsgirls.com/assets/bootstrap.css">
<link rel="stylesheet" href="http://railsgirls.com/assets/bootstrap-theme.css">
</head>
<body>
<h1>Hello HTML!</h1>
<p>How's it going?</p>
<form action="/add_to_list" method="get">