Build an application you can drag-and-drop videos onto to compress them significantely:
Make sure you have ffmpeg installed (brew install ffmpeg).
Create a new Apple Script app: AppleScript on open filelist repeat with i in filelist tell application "Terminal" do script "ffmpeg -i " & POSIX path of i & " -vcodec h264 -acodec mp2 " & POSIX path of i & "_compressed.mp4" end tell end repeat end open
# app/models/user.rb
...
enum role: { user: 0, author: 1, admin: 2, robot: 3 }
scope :human, -> { user.or(author) }
scope :terminator, -> { admin.or(robot) }
Produces
User.human.to_sql
#=> "SELECT \"users\".* FROM \"users\" WHERE (\"users\".\"role\" = 0 OR \"users\".\"role\" = 1)"
I've known for a long time that you can submit values with submit buttons so you can track which button was used to submit the form e.g.
language-htmlHowever, today I needed to actually submit the form to a completely differnt action. Turns out you can do this with formaction attributes
language-htmlwifi_password() {
airport="/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport"
ssid="`$airport -I | awk '/ SSID/ {print substr($0, index($0, $2))}'`"
pwd="`security find-generic-password -D 'AirPort network password' -ga \"$ssid\" 2>&1 >/dev/null`"
echo $pwd
}
$ wifi_password
password: "!forHackers"
Copy this into .git/hooks/pre-commit (remove .sample)
#!/usr/bin/env ruby
require 'english'
require 'rubocop'
ADDED_OR_MODIFIED = /A|AM|^M/.freeze
changed_files = `git status --porcelain`.split(/\n/).
select { |file_name_with_status|
file_name_with_status =~ ADDED_OR_MODIFIED
}.
map { |file_name_with_status|
file_name_with_status.split(' ')[1]
}.
select { |file_name|
File.extname(file_name) == '.rb'
}.join(' ')
system("rubocop #{changed_files}") unless changed_files.empty?
exit $CHILD_STATUS.exitstatus
Make it executable
$ chmod +x .git/hooks/pre-commit
You're good to go, from now it'd run rubocop against your changes and prevents from commiting unless you fix the offences.
How to skip pre-commit? just pass -n to git commit
$ git commit -n -m "[hotfix] blah blah"
Did you know you can show all TODOs/OPTIMIZE/FIXME in your rails app with rails notes?
$ rails notes
app/helpers/users_helper.rb:
* [10] [TODO] Use ActiveSupport extension methods for Date/Time
app/services/slack.rb:
* [20] [OPTIMIZE] Replace library with core Net::HTTP
You can even focus with notes:todo etc.:
$ rails notes:todo
app/helpers/users_helper.rb:
* [10] [TODO] Use ActiveSupport extension methods for Date/Time
New method allowing you to create a Hash from an Enumerable:
%w(driver owner drivy).index_with(nil)
# => { 'driver' => nil, 'owner' => nil, 'drivy' => nil }
%w(driver owner drivy).index_with { |role| delta_amount_for(role) }
# => { 'driver' => '...', 'owner' => '...', 'drivy' => '...' }
# Find in which commit it's been deleted
$ git rev-list -n 1 HEAD --
4058ef780d2f6c4c6d57cfd7fd4ebe14c9dc28b3
# Restore it back
$ git checkout 4058ef780d2f6c4c6d57cfd7fd4ebe14c9dc28b3^ --
Use brew cleanup to get some spaces back!
Use brew cleanup -n to list what's gonna get cleanup
Use brew cleanup
<3
install hub first with brew: brew install hub then use a simple command, like at the example below: hub pull-request -m "best pr ever" -b oozou:develop -h feature/awesome-improvements
or even smarter:
hub pull-request -m "best pr ever" -b oozou:develop -h $(git rev-parse --abbrev-ref HEAD)
for more detailed info how to make pull requests see at hub pull-request --help