Skip to content

Instantly share code, notes, and snippets.

@joshsmith
joshsmith / powersync-schema.ts
Created January 28, 2024 18:19
Zod schema, Prisma schema, and TypeORM PowerSync schema
// PowerSync TypeORM schema
export const TASK_TABLE = 'task';
export interface TaskRecord {
id: string;
title: string;
description?: string;
completed: boolean;
due_date?: string;
@joshsmith
joshsmith / gist:2041454
Created March 15, 2012 02:49
Geoffrey Moore's positioning framework (for products)

Product Positioning Framework

  • For (target customers)
  • Who must (solve a specific problem)
  • Our product is a new (new product category)
  • That provides (key breakthrough benefit vs. current way of doing things – which solves dilemma)
  • Unlike (competitor in new category)
  • We have (whole product most relevant for you)
@joshsmith
joshsmith / material-colors.json
Created May 17, 2019 14:35
Material UI colors (500) in JSON, not including greys and browns
{
"red": "#f44336",
"pink": "#e91e63",
"purple": "#9c27b0",
"deeppurple": "#673ab7",
"indigo": "#3f51b5",
"blue": "#2196f3",
"lightblue": "#03a9f4",
"cyan": "#00bcd4",
"teal": "#009688",
@joshsmith
joshsmith / mysqlbackup.php
Created October 30, 2010 22:16
A PHP script for emailing and saving MySQL backups with mysqldump.
<?
// Creates a mysqldump and emails the resulting dump file
// Edit the following values
$dbhost = "DBHOST"; // usually localhost
$dbuser = "DBUSER";
$dbpass = "DBPASS";
$dbname = "DBNAME";
$sendTo = "paranoid.programmer@email.com";
$sendToName = "SEND_TO_EMAIL";
@joshsmith
joshsmith / addon.md
Last active March 9, 2017 01:59 — forked from begedin/addon.md

Including the library

Sadly, elements is not a separate library.

It's just a part of the still in development Stripe.js v3, so the only way to include it is to include the whole script in the page somewhere. There is no bower library, no amd/require/commonjs package of any sort.

This is the only way to include it:

@joshsmith
joshsmith / stripe_states.js
Created December 17, 2016 07:02
Stripe Supported States (as of 12/16/2016)
{ name: "Alabama", id: "AL" },
{ name: "Alaska", id: "AK" },
{ name: "Arizona", id: "AZ" },
{ name: "Arkansas", id: "AR" },
{ name: "California", id: "CA" },
{ name: "Colorado", id: "CO" },
{ name: "Connecticut", id: "CT" },
{ name: "Delaware", id: "DE" },
{ name: "District of Columbia", id: "DC" },
{ name: "Florida", id: "FL" },
import Ember from 'ember';
const {
Component,
computed,
get,
run,
set
} = Ember;
@joshsmith
joshsmith / controllers.application.js
Last active November 24, 2016 05:23
Radio Buttons
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
model: function() {
return {
choices: [
'friend',
'foe'
]
{
"name": "code-corps-ember",
"dependencies": {
"pace": "^1.0.2",
"dom-ruler": "0.1.13",
"es5-shim": "^4.5.9",
"FakeXMLHttpRequest": "^1.4.0",
"route-recognizer": "^0.2.6",
"pretender": "^1.1.0",
"Faker": "^3.1.0",
import Ember from 'ember';
/**
`error-formatter' returns a formatted error message. Place within an 'if'
block to return only when there really is an error.
## default usage
```Handlebars
{{#if error}}