Skip to content

Instantly share code, notes, and snippets.

View ArthurN's full-sized avatar

Arthur Nisnevich ArthurN

View GitHub Profile
@ArthurN
ArthurN / knapsack.exs
Created February 28, 2024 16:18
Knapsack Elixir
# mostly Copilot generated, have not tested/verified
defmodule ImagePlacement do
def place_images(images, canvas_width, canvas_height) do
# Sort images by size in descending order
sorted_images = Enum.sort_by(images, &image_area(&1), &>=/2)
# Initialize the canvas with the first image
canvas = %{x: 0, y: 0, width: image_width(hd(sorted_images)), height: image_height(hd(sorted_images))}
@ArthurN
ArthurN / instructions.md
Created May 17, 2023 15:47
Long-running ContainerFit POC

Long-running ContainerFit session

Install screen (if not already installed)

On Ubuntu/Debian: sudo apt install screen

On Red Hat: sudo yum install screen

Kick off ContainerFit

@ArthurN
ArthurN / pipeline.yml
Created May 11, 2023 04:20
Fitstack - Azure Pipeline Example
trigger:
- main
pool:
vmImage: 'ubuntu-latest'
variables:
imageName: 'your-app-image'
testScript: 'YOUR-TEST-SCRIPT.SH'
@ArthurN
ArthurN / installation.sh
Last active July 2, 2020 07:29
From pow to puma-dev on macOS keeping .dev domains
# Why:
# 1) Chrome 63 (Dec 8) breaks .dev domains by forcing HTTPS: https://ma.ttias.be/chrome-force-dev-domains-https-via-preloaded-hsts/
# 2) Pow is at EOL, superceded by puma-dev (see http://pow.cx/manual, 6 Version History, 0.6.0, Dec 8 2017)
# Uninstall pow
curl get.pow.cx/uninstall.sh | sh
# If you use powder, you can remove it as well
gem uninstall powder

Keybase proof

I hereby claim:

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

To claim this, I am signing this object:

@ArthurN
ArthurN / BootstrapMultiselect.vue
Created January 24, 2018 15:28
Vue wrapper for jquery bootstrap multiselect
<template lang='slm'>
select.form-control multiple="multiple"
option v-for="option in selectOptions" :value='option.value' {{ option.label }}
</template>
<script>
export default {
name: 'bootstrap-multiselect',
props: {
selectOptions: {
@ArthurN
ArthurN / i18n.rb
Created December 2, 2013 01:07
Monkey-patch Rails I18n.translate to see what keys ActiveModel is trying to use.
#initializers/i18n.rb
I18n.module_eval do
class << self
def translate_with_puts(*args)
Rails.logger.debug "#{args}"
old_translate(*args)
end
alias :old_translate :translate
alias :translate :translate_with_puts
end
module ChronicDateProperty #:nodoc:
extend ActiveSupport::Concern
module ClassMethods
# Define a Reform property which coerces its input via the Chronic parser.
def chronic_date_property(*args)
options = args.extract_options!
field = args.first
property(field, options)
@ArthurN
ArthurN / email.html
Created September 27, 2012 18:24
fatstax email templates
<html>
<head>
<meta name="format-detection" content="telephone=no" />
<style>
h1 {
font-size:14pt;
}
h2 {
font-size:12pt;
@ArthurN
ArthurN / gitconfig
Created May 19, 2012 22:20
Git Aliases
[alias]
st = status
hist = log --pretty=format:\"%h %ad | %s%d [%an]\" --graph --date=short
co = checkout
amend = !git log -n 1 --pretty=tformat:%s%n%n%b | git commit -F - --amend