- hummus - c++ pdf manipulator
- mimeograph - api on a conglomeration of tools (poppler, tesseract, imagemagick etc)
- pdftotextjs - wrapper around pdftotext
- pdf-text-extract - another wrapper around pdftotext
- pdf-extract - wrapper around pdftotext, pdftk, tesseract, ghostscript
- pdfutils - poppler wrapper
- scissors - pdftk, ghostscript wrapper w/ high level api
- textract - pdftotext wrapper
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var Fiber = require("fibers"); | |
module.exports = await; | |
function await(continuation) { | |
var fiber = Fiber.current; | |
var result; | |
var async; | |
continuation(function (err, value) { | |
if (async === undefined) { | |
async = false; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(function (window, app, undefined) { | |
'use strict'; | |
app.factory('socket', ['$rootScope', function ($rootScope) { | |
var socket = $rootScope.socket; | |
var onCallback = function (callback, args) { | |
$rootScope.$apply(function () { | |
callback.apply(socket, args); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Make sure the socket is coming from our app by matching the session id | |
socketServer.set('authorization', function (data, accept) { | |
cookieParser(data, {}, function(err) { | |
if (err) { | |
accept(err, false); | |
} else { | |
config.sessionStore.load(data.signedCookies[config.sessionKey], function(err, session) { | |
if (err || !session) { | |
accept('Session error', false); | |
} else { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
external router : ReactRe.reactClass = "BrowserRouter" [@@bs.module "react-router-dom"]; | |
external link : ReactRe.reactClass = "Link" [@@bs.module "react-router-dom"]; | |
external route : ReactRe.reactClass = "Route" [@@bs.module "react-router-dom"]; | |
module Router = { | |
let createElement children::(children: list ReactRe.reactElement) => | |
ReactRe.wrapPropsShamelessly router {"children": Array.of_list children} ::children; | |
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var mongoose = require('mongoose'); | |
mongoose.connect('mongo://localhost/test'); | |
var conn = mongoose.connection; | |
var users = conn.collection('users'); | |
var channels = conn.collection('channels'); | |
var articles = conn.collection('articles'); | |
var insertUsers = Q.nfbind(users.insert.bind(users)); | |
var insertChannels = Q.nfbind(channels.insert.bind(channels)); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
FROM node: 14-alpine as build | |
ENV NEXT_TELEMETRY_DISABLED=1 | |
RUN apk add --no-cache libc6-compat | |
WORKDIR /app | |
COPY .. | |
RUN yarn install && \ | |
yarn build | |
FROM node: 14-alpine |
In this talk I'd like to use 5 minutes of my time to explain to the audience why jQuery is simply way better than React.
- Does React have a
fadeIn()
method? Nah, I don't think so. You need to install a react-transition-group package which weighs over 3GB. - Can you do
$.get(https://stackoverflow.com/questions/12345/adding_two_numbers_javascript)
in React? NOPE. - Remember React 3.3.1? Me neither, because they didn't make it. Meanwhile in jQuery land: https://code.jquery.com/jquery-3.3.1.min.js
- Can you learn jQuery for free? Sure! Can you learn React for free? It'll be $500 USD and your left kidney for a conference ticket.
And many, many more.
(This is a completely serious lightning talk proposal, I promise.)
Hi Zach :D
Modals are funny beasts, usually they are a design cop-out, but that's okay, designers have to make trade-offs too, give 'em a break.
First things first, I'm not sure there is such thing as a "simple" modal that is production ready. Certainly there have been times in my career I tossed out other people's "overly complex solutions" because I simply didn't understand the scope of the problem, and I have always loved it when people who have a branch of experience that I don't take the time
OlderNewer