- https://myapp1.com => OK
- https://www.myapp1.com/ => OK
- http://myapp1.com/ => OK
- http://www.myapp1.com/ => OK
- https://mystaticsite.com => OK
class Stack | |
def self.start_link(state) | |
GenServer.start_link(new(state)) | |
end | |
def self.push(ractor, value) | |
GenServer.cast(ractor, [:push, value]) | |
end | |
def self.pop(ractor) |
ruby '2.7.1' | |
gem 'rails', github: 'rails/rails' | |
gem 'tzinfo-data', '>= 1.2016.7' # Don't rely on OSX/Linux timezone data | |
# Action Text | |
gem 'actiontext', github: 'basecamp/actiontext', ref: 'okra' | |
gem 'okra', github: 'basecamp/okra' | |
# Drivers |
This gist will collects all issues we solved with Rails 5.2 and Webpacker
# Last few parameters(--skip-* part) is only my habbit not actully required
$ rails new <project_name> --webpack=stimulus --database=postgresql --skip-coffee --skip-test
tl;dr Generate a GPG key pair (exercising appropriate paranoia). Send it to key servers. Create a Keybase account with the public part of that key. Use your keypair to sign git tags and SBT artifacts.
GPG is probably one of the least understood day-to-day pieces of software in the modern developer's toolshed. It's certainly the least understood of the important pieces of software (literally no one cares that you can't remember grep's regex variant), and this is a testament to the mightily terrible user interface it exposes to its otherwise extremely simple functionality. It's almost like cryptographers think that part of the security comes from the fact that bad guys can't figure it out any more than the good guys can.
Anyway, GPG is important for open source in particular because of one specific feature of public/private key cryptography: signing. Any published software should be signed by the developer (or company) who published it. Ideally, consu
# Sensible, short .zshrc | |
# Gist page: git.io/vSBRk | |
# Raw file: curl -L git.io/sensible-zshrc | |
# GNU and BSD (macOS) ls flags aren't compatible | |
ls --version &>/dev/null | |
if [ $? -eq 0 ]; then | |
lsflags="--color --group-directories-first -F" | |
else | |
lsflags="-GF" |
The default command key bindings are: | |
C-b Send the prefix key (C-b) through to the application. | |
C-o Rotate the panes in the current window forwards. | |
C-z Suspend the tmux client. | |
! Break the current pane out of the window. | |
" Split the current pane into two, top and bottom. | |
# List all paste buffers. | |
$ Rename the current session. | |
% Split the current pane into two, left and right. |
Tornado HTTP web page with embedded Bokeh widget which communicates with other page of the same application.
autoload_server
Vim provides built-in mechanisms to search through projects in the form of the grep
command.
However, on large projects, grep is known to be slow; and hence people have been switching to simpler searchers like ack, and faster, parallel (metal?) searchers like ag and pt.
Correspondingly, several plugins have been created that integrate these tools in vim: ack.vim, ag.vim, etc.
However, it's actually very easy to get the functionalities these plugins provide (faster search, results in quickfix-window, jumps, previews, and so on) in vanilla Vim itself; in fact, Vim already populates the grep-search results in a quickfix window. We just need to tell Vim to do the following things (use-case: ag):
Not for everyone. Each programmer has their own appreciation of what is good coding music.
(From most influential to least)