I hereby claim:
- I am dteoh on github.
- I am dteoh (https://keybase.io/dteoh) on keybase.
- I have a public key whose fingerprint is 981E AFFF 4AE6 5ED3 AC3E 401E 8498 2F30 A58D F5CB
To claim this, I am signing this object:
I hereby claim:
To claim this, I am signing this object:
users = User.arel_table | |
query = users.project(users[Arel.star]) |
par2
is not just for checksumming and recovering Usenet binaries, you can use it for your backups as well.
In my case, I wanted to make sure my RAW and JPG files don't get corrupted by bitrot.
Generating the checksum:
$ cd /the/directory/where/files/are/kept
$ par2 c something.par2 *
$ shasum -a 256 * > shasum256.txt
require 'digest' | |
key = 'the value to hash' | |
num = Digest::MD5.digest(key).unpack('L').first |
In Rails 5, the preferred base class for testing controllers is ActionDispatch::IntegrationTest
.
If you have an API that receives parameters as JSON request bodies, here are some helper methods to facilitate testing:
class ActionDispatch::IntegrationTest
def put_json(path, obj)
put path, params: obj.to_json, headers: { 'CONTENT_TYPE' => 'application/json' }
end
In Rails 4.x, you could add extra test paths to rake test
by overriding the Rake
task like so:
Rake::Task['test:run'].clear
namespace :test do
Rails::TestTask.new(:run) do |t|
paths = ['test/**/*_test.rb']
paths << 'engines/foo_engine/test/**/*_test.rb'
There is a built-in command line utility caffeinate
that can be used to prevent macOS from sleeping.
To prevent macOS from sleeping before a process with given PID exits:
$ caffeinate -w PID
To prevent macOS from sleeping for the next N seconds:
(lldb) expression (void) rb_backtrace() | |
/Users/dteoh/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/puma-3.8.2/lib/puma/plugin/tmp_restart.rb:22: [BUG] pthread_cond_wait: Invalid argument (EINVAL) | |
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin16] | |
-- Crash Report log information -------------------------------------------- | |
See Crash Report log file under the one of following: | |
* ~/Library/Logs/CrashReporter | |
* /Library/Logs/CrashReporter | |
* ~/Library/Logs/DiagnosticReports | |
* /Library/Logs/DiagnosticReports |
[merge] | |
tool = vimdiff | |
[mergetool] | |
keepBackup = false | |
[mergetool "vimdiff"] | |
cmd = nvim -d $LOCAL $REMOTE $MERGED -c '$wincmd w' -c 'wincmd J' |