Skip to content

Instantly share code, notes, and snippets.

View januszm's full-sized avatar

Janusz Mordarski januszm

View GitHub Profile
@januszm
januszm / _mina_puma_apache.conf
Last active July 21, 2016 15:03
Deply Rails App with Puma and Apache via Mina
<VirtualHost *:80>
ServerName www.esdb.cn
ServerAlias esdb.cn
DocumentRoot /home/ubuntu/apps/xxx.com/current/public
<Directory /home/ubuntu/apps/xxx.com/current/public>
Options FollowSymLinks
AllowOverride None
Require all granted
</Directory>
@januszm
januszm / gist:d4ce6dc36a257960dd7acb5c6b1ef6e8
Created December 30, 2017 17:32 — forked from giannisp/gist:ebaca117ac9e44231421f04e7796d5ca
Upgrade PostgreSQL 9.6.5 to 10.0 using Homebrew (macOS)
After automatically updating Postgres to 10.0 via Homebrew, the pg_ctl start command didn't work.
The error was "The data directory was initialized by PostgreSQL version 9.6, which is not compatible with this version 10.0."
Database files have to be updated before starting the server, here are the steps that had to be followed:
# need to have both 9.6.x and latest 10.0 installed, and keep 10.0 as default
brew unlink postgresql
brew install postgresql@9.6
brew unlink postgresql@9.6
brew link postgresql
# Gemfile
# gem "ruby-prof"
# gem "ruby-prof-flamegraph"
# gem "stackprof"
require "ruby-prof"
require "stackprof"
module ProfilerWrapper
def self.stackprof(name)
@januszm
januszm / convert_wkb_to_geojson.rb
Created March 15, 2018 15:00
Convert WKB data from PostGIS to GeoJSON
result = ActiveRecord::Base.connection.execute("select * from my_shapes_table limit 1;")
shape = parser.parse result.values.first.last # .first row , .last column
RGeo::GeoJSON.encode(shape).to_json
# => "{\"type\":\"MultiPolygon\",\"coordinates\":[[[[...]]]]}"
@januszm
januszm / grafana.ini
Created August 7, 2018 18:17 — forked from xlson/grafana.ini
Modifying grafana.ini of a running docker container
[database]
log_queries = true
@januszm
januszm / wait_until.rb
Created March 30, 2019 11:28 — forked from metaskills/wait_until.rb
Never sleep() using Capybara!
# Have you ever had to sleep() in Capybara-WebKit to wait for AJAX and/or CSS animations?
describe 'Modal' do
should 'display login errors' do
visit root_path
click_link 'My HomeMarks'
within '#login_area' do
fill_in 'email', with: 'will@not.work'
fill_in 'password', with: 'test'
@januszm
januszm / graphite_grafana.sh
Last active January 20, 2020 17:27 — forked from mmb/graphite_grafana.sh
graphite/statsd/grafana setup on new Amazon Linux instance
# graphite/statsd/grafana setup on new Amazon Linux instance
# add http://graphite/ to grafana as a data source
sudo su
yum update --assumeyes
yum install --assumeyes docker
service docker start
docker \
run \
@januszm
januszm / ruby_benchmark.rb
Created July 9, 2020 10:46
Ruby quick benchmark
# alternatively use benchmark/ips
n = 100_000
data = "..."
Benchmark.ips do |benchmark|
benchmark.report("include?") do
n.times { data.to_s.downcase.include?('windows') }
end
benchmark.report("match?") do
@januszm
januszm / gist:e25cc9fd7a1ce97fa10e36720c7589e2
Created August 23, 2020 22:21
Print stacktrace without site-packages in debugger
import traceback; [line for line in traceback.format_stack() if not 'site-packages' in line]
@januszm
januszm / install-python-ubuntu.sh
Created February 23, 2021 13:46 — forked from ytspar/install-python-ubuntu.sh
Install Python with Pyenv on Ubuntu (16.04)
sudo apt-get update
sudo apt-get install build-essential git libreadline-dev zlib1g-dev libssl-dev libbz2-dev libsqlite3-dev
curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
# may need this, but install script above should handle it; and yeah, you can do multiline inserts with awk/sed or whatever
echo 'export PATH="/root/.pyenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
source ~/.bashrc
pyenv install 3.6.0