Skip to content

Instantly share code, notes, and snippets.

@kharandziuk
kharandziuk / index.js
Created November 20, 2018 10:33
A small script which download all the lessons from https://www.dw.com/en/learn-german/deutsch-warum-nicht/s-2548
const request = require('superagent')
const fs = require('fs')
const path = require('path')
const lessonsDir = path.resolve(__dirname, 'lessons')
const getLink = (season, episode) => {
episode = String(episode).padStart(2, '0')
return `https://radiodownloaddw-a.akamaihd.net/Events/dwelle/deutschkurse/deutschwarumnicht/serie${season}/eng/DWN_Englisch_Serie${season}_Lektion${episode}_dwdownload.mp3`
}
const { Writable } = require('stream')
const fs = require('fs')
const split = require('split')
let counter = 0
const linecounter = new Writable({
write(chunk, encoding, callback) {
counter = counter + 1
callback()
const log = require('debug')('app')
const request = require('superagent')
const H = require('highland')
function batchCreate(bodies) {
const calls = H(bodies)
.map(body => {
log(`start ${body.name}`)
return H(request
.post('localhost:3000/people')
@kharandziuk
kharandziuk / server.js
Created October 24, 2018 17:38
simple server with people enpoing
var debug = require('debug')('app')
const express = require('express')
const app = express()
const port = 3000
app.use(express.json())
app.post('/people', (req, res) => {
debug('call')
setTimeout(
var assert = require('assert')
var solution = function() {
var result = Array.prototype.reduce.call(
arguments,
function(acc, next) {
var woDuplicates = next.filter(function(x) {
var timestamp = x.lastModified.getTime()
if(x.lastModified.getTime() in acc.dates) {
return false
const request = require('superagent')
const express = require('express')
const H = require('highland')
const app = express();
const delay = (ms) => {
return new Promise((resolve) => {
setTimeout(
resolve,
const express = require('express')
const EventEmitter = require('events')
class MyEmitter extends EventEmitter {
timer() {
setTimeout(
() => {
this.emit('tick')
},
200
const request = require('superagent')
const address = 'http://localhost:3000'
async function main() {
for (let i=0; i < 1000; i++) {
let resp = await request.get(address + '/')
console.log(resp.text)
}
}
@kharandziuk
kharandziuk / gist:b729d3f5a67d97b3dbfc91718aa2a232
Created June 13, 2018 10:28
how to start working on a new feature
git checkout -b <branch-name> # task-4 is a bad name, filters is a good name
git fetch origin master
git reset --hard FETCH_HEAD
async function grab(offset = 0, rows = 1000) {
while(true) {
const items = await getAPI(offset, rows)
if (_.isEmpty(items)) {
break
}
await insertDB(items)
offset = offset + rows
}
}