Dionysis Zindros, National Technical University of Athens dionyziz@gmail.com
pseudonymous anonymous web-of-trust identity trust bitcoin namecoin proof-of-burn timelock decentralized anonymous marketplace openbazaar
Dionysis Zindros, National Technical University of Athens dionyziz@gmail.com
pseudonymous anonymous web-of-trust identity trust bitcoin namecoin proof-of-burn timelock decentralized anonymous marketplace openbazaar
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
| Ruby 2.1.0 in Production: known bugs and patches | |
| Last week, we upgraded the github.com rails app to ruby 2.1.0 in production. | |
| While testing the new build for rollout, we ran into a number of bugs. Most of | |
| these have been fixed on trunk already, but I've documented them below to help | |
| anyone else who might be testing ruby 2.1 in production. | |
| @naruse I think we should backport these patches to the ruby_2_1 branch and | |
| release 2.1.1 sooner rather than later, as some of the bugs are quite critical. | |
| I'm happy to offer any assistance I can to expedite this process. |
| group :production do | |
| gem 'unicorn' | |
| # Enable gzip compression on heroku, but don't compress images. | |
| gem 'heroku-deflater' | |
| # Heroku injects it if it's not in there already | |
| gem 'rails_12factor' | |
| end |
| # Thee will be more information here when I share the entire problem space I'm working on, but | |
| # in short, this is preview material for my second talk in a series called "What Computer Scientists Know". | |
| # The first talk is on recursion, and goes through several examples., leading up to a problem based | |
| # on a simple puzzle that initial estimates based on performance of a previous puzzle would take years | |
| # to solve on modern computers with the techniques shown in Ruby. That sets the stage for improving the | |
| # performance of that problem with threading, concurrency, and related tuning. | |
| # | |
| # The second talk is on threading and concurrency, touching on algorithmic performance as well. | |
| # Using some knowledge of the problem (board symmetry, illegal moves, etc), we reduce the problem space | |
| # to about .5% of what we initially thought it was. Still, the initial single threaded solution took more |
| # unicorn | |
| description "unicorn ruby app server" | |
| start on (local-filesystems and net-device-up IFACE=lo and runlevel [2345]) | |
| stop on runlevel [!2345] | |
| env WORKDIR=/data | |
| env PIDFILE=/data/tmp/pids/unicorn.pid | |
| env CFGFILE=/data/config/unicorn.rb |
| test: | |
| override: | |
| - bundle exec rspec spec | |
| deployment: | |
| acceptance: | |
| branch: master | |
| commands: | |
| - ./script/heroku_deploy.sh <ACCEPTANCE_HEROKU_APP>: | |
| timeout: 300 |
This installs a patched ruby 1.9.3-p385 with various performance improvements and a backported COW-friendly GC, all courtesy of funny-falcon.
You will also need a C Compiler. If you're on Linux, you probably already have one or know how to install one. On OS X, you should install XCode, and brew install autoconf using homebrew.
| #!/bin/sh | |
| filename=$1 | |
| echo "Begin processing file:" $filename | |
| dimensions=$(identify -format '%w %h' $filename) | |
| IFS=' ' read -a array <<< "$dimensions" | |
| width=${array[0]} | |
| height=${array[1]} |
This installs a patched ruby 1.9.3-p484 with the railsexpress patchsets: https://github.com/skaes/rvm-patchsets
You will also need a C Compiler. If you're on Linux, you probably already have one or know how to install one. On OS X, you should install XCode, and brew install autoconf using homebrew.