Skip to content

Instantly share code, notes, and snippets.

Avatar

Akhmad Fathonih neofreko

View GitHub Profile
@neofreko
neofreko / wait-until-async.js
Created June 1, 2018 01:16
wait until condition becomes truthy. Inspired by former works or wait-until libraries and tutorials.
View wait-until-async.js
const waitUntil = async (asyncCondition, timeoutMs) => {
const wait = ms => new Promise(resolve => setTimeout(resolve, ms));
const intervalMs = 1000;
const startTime = Date.now();
const result = await asyncCondition();
const endTime = Date.now();
const timeSpentMs = endTime - startTime;
console.log(`checking waitUntil condition, timeout in: ${timeoutMs}ms`);
View bumpme
Wed Apr 25 07:10:44 UTC 2018
@neofreko
neofreko / image_has_sentence.rb
Created April 25, 2018 03:55
extract sentence using rtesseract
View image_has_sentence.rb
# brew install tesseract
# gem install rtesseract
# gem install mini_magick
#
# example:
# puts image_has_sentence?('/Users/me/Pictures/hi.png', 'hello world')
require 'rtesseract'
require 'mini_magick'
View keybase.md

Keybase proof

I hereby claim:

  • I am neofreko on github.
  • I am neofreko (https://keybase.io/neofreko) on keybase.
  • I have a public key ASBOuUtqWIaiFCPUC_qesLBjMUSCr05Tjiaw2BZgk0j_vgo

To claim this, I am signing this object:

@neofreko
neofreko / feed-tldr.js
Created October 9, 2015 01:06
parse feed and run tldr on the feed item urls
View feed-tldr.js
var FeedParser = require('feedparser'),
request = require('request'),
summary = require('node-tldr'),
Promise = require('promise');
function summarize(link) {
return new Promise(function(resolve, reject) {
summary.summarize(link, function(result, failure) {
if (failure) {
console.log("An error occured! " + result.error);
View tldr.js
var summary = require('node-tldr');
summary.summarize('https://aws.amazon.com/blogs/aws/are-you-well-architected/', function(result, failure) {
if (failure) {
console.log("An error occured! " + result.error);
}
console.log(result.title);
console.log(result.words);
console.log(result.compressFactor);
console.log(result.summary.join("\n"));
@neofreko
neofreko / 00-rebuild-nginx.config
Created February 19, 2015 09:38
Configuring TCP service on Elastic Beanstalk ref: http://qiita.com/neofreko/items/2cca6951c9a6cfd92245
View 00-rebuild-nginx.config
packages:
yum:
git: []
gcc: []
gcc-c++: []
make: []
zlib-devel: []
pcre-devel: []
openssl-devel: []
libxml2-devel: []
@neofreko
neofreko / delete-fb-test-users.php
Last active August 29, 2015 14:07
Delete fb test users recursively
View delete-fb-test-users.php
<?php
// jSON URL which should be requested
$app_id = 'app id';
// get access token here:
// https://graph.facebook.com/oauth/access_token?client_id=<app id>&client_secret=<app secret>&grant_type=client_credentials
$app_access_token = 'access token';
$json_url = 'https://graph.facebook.com/v2.1/'.$app_id.'/accounts/test-users?access_token='.$app_access_token;
@neofreko
neofreko / anno.txt
Created December 28, 2013 19:20
Given a node annotated with this JSON, how would you visualize those nodes. How do you browse thru it?
View anno.txt
[ { start: 13,
end: 19,
spot: 'DESIGN',
confidence: 0.158,
id: 8560,
title: 'Design',
uri: 'http://en.wikipedia.org/wiki/Design',
abstract: 'Design is the creation of a plan or convention for the construction of an object or a system (as in architectural blueprints, engineering drawings, business processes, circuit diagrams and sewing patterns). Design has different connotations in different fields (see below). In some cases the direct construction of an object (as in pottery, engineering, management, cowboy coding and graphic design) is also considered to be design.',
label: 'Design',
categories: [ 'Design', 'Architectural design', 'Arts' ] },
View yql-404.xml
<?xml version="1.0" encoding="UTF-8"?>
<table xmlns="http://query.yahooapis.com/v1/schema/table.xsd">
<meta>
<author>Akhmad Fathonih</author>
<description>URL 404 check</description>
<sampleQuery><![CDATA[
USE 'https://www.dropbox.com/s/n6xzivkwyfz3lhm/yql-404.xml?dl=1' AS mytable;select * from mytable where url = 'http://bit.ly/13uffkf']]></sampleQuery>
<documentationURL></documentationURL>
</meta>
<bindings>