Skip to content

Instantly share code, notes, and snippets.

View jacksonh's full-sized avatar
🎯
Focusing

Jackson Harper jacksonh

🎯
Focusing
View GitHub Profile
@jacksonh
jacksonh / gen-epub.ts
Created August 24, 2023 07:27 — forked from kebot/gen-epub.ts
Generate Epub for Omnivore Articles
// get a list of articles based on search endpoint
import { gql, GraphQLClient } from 'npm:graphql-request'
import sanitizeHtml from 'npm:sanitize-html'
import epub, { Chapter } from 'npm:epub-gen-memory'
const OMNIVORE_API_KEY = ''
const OMNIVORE_ENDPOINT = 'https://api-prod.omnivore.app/api/graphql'
const graphQLClient = new GraphQLClient(OMNIVORE_ENDPOINT, {
headers: {
@jacksonh
jacksonh / introrx.md
Last active August 29, 2015 14:06 — forked from staltz/introrx.md

The introduction to Reactive Programming you've been missing

(by @andrestaltz)

So you're curious in learning this new thing called (Functional) Reactive Programming (FRP).

Learning it is hard, even harder by the lack of good material. When I started, I tried looking for tutorials. I found only a handful of practical guides, but they just scratched the surface and never tackled the challenge of building the whole architecture around it. Library documentations often don't help when you're trying to understand some function. I mean, honestly, look at this:

Rx.Observable.prototype.flatMapLatest(selector, [thisArg])

Projects each element of an observable sequence into a new sequence of observable sequences by incorporating the element's index and then transforms an observable sequence of observable sequences into an observable sequence producing values only from the most recent observable sequence.

@jacksonh
jacksonh / Makefile
Created November 17, 2013 20:06 — forked from dstnbrkr/Makefile
PROJECT = Artsy
BUNDLE_ID = net.artsy.artsy.beta
CONFIGURATION = Beta
WORKSPACE = $(PROJECT).xcworkspace
SCHEME = $(PROJECT)
APP_PLIST = $(PROJECT)/App/$(PROJECT)-Info.plist
IPA = $(PROJECT).ipa
DSYM = $(PROJECT).app.dSYM.zip
body {
font-family: Helvetica, arial, sans-serif;
font-size: 14px;
line-height: 1.6;
padding-top: 10px;
padding-bottom: 10px;
background-color: white;
padding: 30px; }
body > *:first-child {
id exp = [VRXVerbalExpression create:^(VRXVerbalExpression *r) {
r.startOfLine();
r.then(@"http");
r.maybe(@"s");
r.then(@"://");
r.maybe(@"www.");
r.anythingBut(@" ");
r.endOfLine();
}];

Here is an essay version of my class notes from Class 1 of CS183: Startup. Errors and omissions are my own. Credit for good stuff is Peter’s entirely.

CS183: Startup—Notes Essay—The Challenge of the Future

Purpose and Preamble

@jacksonh
jacksonh / gist:3267802
Created August 5, 2012 23:13 — forked from bvanderveen/gist:3260382
Objective-C assertion ideas
- (void) assertionIdeasLikeNUnit
{
[Assert that:@"foobar" is:[Equal to:@"other"]];
[Assert that:@"foobar" isNot:[Equal to:@"other"]];
[Assert that:collection isAll:[Less than:@10]];
[Assert that:collection isAll:[Less thanOrEqualTo:@10]];
[Assert that:collection isAll:[Less thanOrEqualTo:@10]];
[Assert that:collection isAll:[Greater than:@10]];
[Assert that:collection isAll:[Greater thanOrEqualTo:@10]];
Please connect your device to your computer and follow the following steps on your computer.
Step 1: Download the iPhone configuration utility from http://www.apple.com/support/iphone/enterprise/
Step 2: Install/Launch the iPhone configuration utility.
Step 3: Click on your phone inside the iPhone Configuration Utility.
Step 4: Click on the Console.
Step 5: Use the app as normal!
using System;
using Manos;
namespace pies
{
public class DBModule : ManosModule
{
public DBModule ()
{
}