Skip to content

Instantly share code, notes, and snippets.

<?php
class Threader
{
private array $tweets, $roots;
private string $user;
public function handle(): void
{
echo "What is your twitter username? ";
@tnorthcutt
tnorthcutt / gformscopyaddress.js
Created January 25, 2012 17:42
Autofill a set of fields (in a gravity form, in this case) based on a checkbox being checked.
jQuery(document).ready(function($) {
$('input#choice_13_1').click(function() {
if($(this).is(':checked')) {
$('#input_2_12_1').val($('#input_2_2_1').val());
$('#input_2_12_2').val($('#input_2_2_2').val());
$('#input_2_12_3').val($('#input_2_2_3').val());
$('#input_2_12_4').val($('#input_2_2_4').val());
$('#input_2_12_5').val($('#input_2_2_5').val());
};
});
@tnorthcutt
tnorthcutt / gist:c3c591b24dc48b56d04b03dc499bd163
Created February 23, 2021 17:13
Keyboard.io Model 01 custom firmware
// -*- mode: c++ -*-
// Copyright 2016 Keyboardio, inc. <jesse@keyboard.io>
// See "LICENSE" for license details
#ifndef BUILD_INFORMATION
#define BUILD_INFORMATION "locally built"
#endif
/**
@tnorthcutt
tnorthcutt / CommitHistory.vue
Last active September 10, 2020 17:09
Gridsome commit history
<template>
<div>
<h3>Revisions</h3>
<div class="space-y-4">
<div
v-for="commit in commits"
v-bind:key="commit.sha"
class="flex border-solid border border-gray-300 p-4"
>
<img
<?php
// ConvertKit API Key:
$convertkitApiKey = 'your-convertkit-api-key';
// Map each of your Clickbank products to a ConvertKit tag ID, or leave this array empty to
// use the default tag for all products:
$convertkitTags = array(
'clickbankproduct1' => 'cktag1',
'clickbankproduct2' => 'cktag2',
'clickbankproduct3' => 'cktag3',
);
@tnorthcutt
tnorthcutt / index.php
Last active September 7, 2020 15:33 — forked from vsoch/index.php
Generate RSS feed for files in a directory folder. Put this file in a folder with files, modify the $allowed_ext variable to customize your extensions, and $feedName, $feedDesc, $feedURL, and $feedBaseURL. Then navigate to the folder on the web to see the xml feed. Done!
<?php
header('Content-type: text/xml');
/*
Runs from a directory containing files to provide an
RSS 2.0 feed that contains the list and modification times for all the
files.
*/
$feedName = "Name";
$feedDesc = "Description";
// in mixins/trailingSlash.js
export default (url) => {
return url.replace(/\/?$/, "/");
};
// in app.js
import trailingSlash from "./components/mixins/trailingSlash";
Vue.mixin({
methods: {
trailingSlash,
@tnorthcutt
tnorthcutt / rm_mysql.md
Created April 24, 2019 14:52 — forked from vitorbritto/rm_mysql.md
Remove MySQL completely from Mac OSX

Remove MySQL completely

  1. Open the Terminal

  2. Use mysqldump to backup your databases

  3. Check for MySQL processes with: ps -ax | grep mysql

  4. Stop and kill any MySQL processes

  5. Analyze MySQL on HomeBrew:

brew remove mysql

@tnorthcutt
tnorthcutt / Member.php
Created April 11, 2019 22:13
Extending spatie/laravel-tags to limit to the current team in a Spark application
<?php
// Relevant parts of my Member.php model, which is the model that I'm applying tags to
/**
* Using our own Tag model
* @see https://docs.spatie.be/laravel-tags/v2/advanced-usage/using-your-own-tag-model
*
* @return string
*/

UsedByTeams Model Trait For Laravel Spark

Automatically limit your models to the current team

So you're using spark, and you have teams enabled. You start creating models and want to have them be team specific. Instead of writing, Model::where('team_id', auth()->user()->currentTeam->id)->get(); use this trait to add that behind the scenes so that every time you call on your model, it's assumed that you mean for the current team.

This assumes that the model has a team_id, while it adds a scope of where team_id = currentTeam->id.

Note: Implicit Route Model Binding in 5.2, auth session doesn't exist at the point of this trait causing issue. fixed in 5.3