Skip to content

Instantly share code, notes, and snippets.

View changmason's full-sized avatar

Mason Chang changmason

View GitHub Profile
@davidteren
davidteren / tailwind_class_builder.rb
Last active February 6, 2026 03:03 — forked from searls/tailwind_class_builder.rb
Here's a custom Tailwind FormBuilder for Rails. To set this up, just set ` ActionView::Base.default_form_builder = FormBuilders::TailwindFormBuilder` somewhere (and customize all the CSS classes)
class TailwindClassBuilder
include ActionView::Helpers::TagHelper
def button_classes(options)
button_type = options.delete(:button_type) { :button }
class_names(
# general classes
"mt-4 px-1 sm:px-3 py-sm sm:py-1 font-semibold bg-transparent border rounded",
case button_type
@kmcphillips
kmcphillips / ci.yml
Created February 23, 2024 02:17
Working MySQL 8 with Trilogy and Rails in Github Actions CI
name: CI
on: [ push, pull_request ]
jobs:
rspec:
runs-on: ubuntu-latest
services:
mysql:
image: mysql:8.0
@acarril
acarril / bootable-win-on-mac.md
Created November 18, 2022 17:49
Create a bootable Windows USB using macOS

For some reason, it is surprisingly hard to create a bootable Windows USB using macOS. These are my steps for doing so, which have worked for me in macOS Monterey (12.6.1) for Windows 10 and 11. After following these steps, you should have a bootable Windows USB drive.

1. Download a Windows disc image (i.e. ISO file)

You can download Windows 10 or Windows 11 directly from Microsoft.

2. Identify your USB drive

After plugging the drive to your machine, identify the name of the USB device using diskutil list, which should return an output like the one below. In my case, the correct disk name is disk2.

@pierrejoubert73
pierrejoubert73 / markdown-details-collapsible.md
Last active April 30, 2026 19:49
How to add a collapsible section in markdown.

How to add a collapsible section in markdown

1. Example

Click me

Heading

  1. Foo
  2. Bar
    • Baz
  • Qux
@maxivak
maxivak / readme.md
Last active March 22, 2023 12:03
Chef. How to run scripts (recipes)

Run Chef scripts locally

There are several options to run recipes:

  • using chef-client with -z option
  • using chef-apply
  • using chef-solo

Before running Chef recipes on the machine, it should be prepared:

@milanaryal
milanaryal / Google Blogger Social Meta Tags.html
Last active March 22, 2020 14:27
Google Blogger/BlogSpot Social Meta Tags for Facebook, Twitter, Google+, Pinterest [v1.0]
<!-- add the following code in the head tag -->
<head prefix='og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# article: http://ogp.me/ns/article#'>
<!-- Share Image -->
<link href='YOUR_LOGO_IMAGE' rel='image_src'/>
<!-- Open Graph Meta Tags -->
<b:if cond='data:blog.pageType != &quot;index&quot;'>
<meta expr:content='data:blog.title' property='og:site_name'/>

專案名稱:Logdawn 部落格網站

主旨:打造一個給理工人使用的部落格網站

基本功能

  • 使用者可以使用 FB、G+、GH 登入

發表文章

I'd like some clarification about Ruby 2.0:
* Is it intended to be a development release?
* If it is not a development release, why are experimental features included?
* Whether or not it is a development release, what process will be used to remove
features after release? (For example, we still have $' and friends years after
Matz has repeatedly said he wouldn't add them in retrospect.)
* Why are APIs like IO.readlines not being fixed to use keyword arguments?
* Why are API changes not being added to RubySpec?
* Is Ruby 2.0 expected to pass RubySpec before release? (This does not allow for
require 'benchmark'
require 'rubygems'
require 'json'
require 'yaml'
include Benchmark
benchmark_iterations = 1
large_single_dimension_array = [42, 123.123] * 5000
large_single_dimension_hash = {}
10000.times do |i|