Skip to content

Instantly share code, notes, and snippets.

View International's full-sized avatar
🪲
Debugging

George Opritescu International

🪲
Debugging
View GitHub Profile
@thisduck
thisduck / delayed_job.rb
Created May 20, 2017 16:45
delayed job profiling
# config/initializer/delayed_job.rb
module Delayed
module Plugins
class Flaming < Plugin
callbacks do |lifecycle|
lifecycle.around(:invoke_job) do |job, *args, &block|
HelperMethods.flaming(name: "DELAYEDJOB--#{job.name}") do
block.call(job, *args)
end
require 'cucumber'
require 'selenium-webdriver'
# require 'cukehub' # optional, but recommended. See cukehub.com for more details
caps = Selenium::WebDriver::Remote::Capabilities.chrome(chromeOptions: { binary: "/Applications/Google\ Chrome\ Canary.app/Contents/MacOS/Google\ Chrome\ Canary",
args: [ "--headless" ]})
Before do
@browser = Selenium::WebDriver.for :chrome, desired_capabilities: caps
end
@simonw
simonw / recover_source_code.md
Last active December 25, 2025 23:58
How to recover lost Python source code if it's still resident in-memory

How to recover lost Python source code if it's still resident in-memory

I screwed up using git ("git checkout --" on the wrong file) and managed to delete the code I had just written... but it was still running in a process in a docker container. Here's how I got it back, using https://pypi.python.org/pypi/pyrasite/ and https://pypi.python.org/pypi/uncompyle6

Attach a shell to the docker container

Install GDB (needed by pyrasite)

apt-get update && apt-get install gdb
@imranismail
imranismail / README.md
Last active January 5, 2017 15:37
Implementing Ruby's lonely operator using Elixir's custom infix function

Implementing Ruby's lonely operator using Elixir's custom infix function

iex> import ViewHelper
iex> user = %{name: "Imran", address: %{postcode: 33160}}
iex> user ~> :name
# "Imran"
iex> user ~> :address ~> :postcode
# 33160
iex&gt; user ~&gt; :address ~&gt; :country
@stummjr
stummjr / splash-spider.py
Last active June 6, 2018 16:22
Scrapy + Splash example
import scrapy
# this example needs the scrapyjs package: pip install scrapyjs
# it also needs a splash instance running in your env or on Scrapy Cloud (https://github.com/scrapinghub/splash)
class SplashSpider(scrapy.Spider):
name = 'splash-spider'
download_delay = 3
def start_requests(self):
@nepsilon
nepsilon / understanding-http-transfer-encoding-chunked.md
Last active December 2, 2016 09:25
Understanding HTTP’s Transfer-Encoding: chunked — First published in fullweb.io issue #74

Understanding HTTP’s Transfer-Encoding: chunked

Simply put, Transfer-Encoding: chunked, in a HTTP response header, tells us the body will be received in several chunks.

This is ideal in 2 scenarios:

  1. When the size of the body isn’t known in advance, like when generating output from a database.
  2. When the size of the body is too big to be fully loaded in RAM before being sent to the client.

In practice, the body has each of its chunks separated with X\r\n, where X is the size of the chunk in hexadecimal. For instance:

@indrayam
indrayam / create-jwt-using-unix-commands-on-mac.md
Last active February 3, 2026 15:18
Create JWT Token Header Using Unix Command line tools ONLY!

Pseudocode:

Y = Base64URLEncode(Header) + ‘.’ + Base64URLEncode(Payload)
JWT = Y + ‘.’ + Base64URLEncode(HMACSHA256(Y))

The steps called out here should work on a Mac as well. The only thing that might be different is the sed command used below. Instead of using -E, you will have to use -r to run sed with extended regular expression support

Use data from this tutorial:

scotch.io

@khanlou
khanlou / Swift2.swift
Last active November 4, 2019 23:14
`any`, `all`, `none`, `first`, and `count` on SequenceType in Swift
import Foundation
extension SequenceType {
@warn_unused_result
func any(@noescape predicate: (Self.Generator.Element) throws -> Bool) rethrows -> Bool {
for element in self {
let result = try predicate(element)
if result {
return true
}
@grantspeelman
grantspeelman / Gemfile
Last active December 16, 2020 13:11
Example Gemfile files preparing for the next rails upgrade (https://grant-ps.blog/2017/07/03/upgrading-ruby-on-rails-in-smallish-steps/)
@next_upgrade ||= false
source 'https://rubygems.org'
if @next_upgrade
gem 'rails', '6.0.0.rc2'
else
gem 'rails', '~> 5.2.0'
end
# rest of gems below ....
@bparadie
bparadie / react-native.d.ts
Last active January 5, 2017 09:11
Incomplete react-native.d.ts, requires react.d.ts from DefinitelyTyped
declare module "react-native" {
import * as React from 'react';
import {ComponentClass, ReactType, ReactNode, ReactElement} from 'react';
export * from 'react';
/**
* Represents the completion of an asynchronous operation
* @see lib.es6.d.ts