It's 2020, and there's now many ways to work with data of arbitrary length in Excel:
- Power Query's M language
- JavaScript
- dynamic arrays.
But if you use or support older Excel versions, VBA can still be useful.
#Requires -Version 6.0 | |
<# | |
The MIT License (MIT) | |
Copyright (c) 2019 Jari Turkia (jatu@hqcodeshop.fi) | |
Permission is hereby granted, free of charge, to any person obtaining a copy | |
of this software and associated documentation files (the "Software"), to deal | |
in the Software without restriction, including without limitation the rights |
#!/usr/bin/env powershell | |
# This script can keep the computer awake while executing another executable, or | |
# if no executable was passed in, then it stays awake until this script stops. | |
# There are 3 different ways of staying awake: | |
# Away Mode - Enable away mode (https://blogs.msdn.microsoft.com/david_fleischman/2005/10/21/what-does-away-mode-do-anyway/) | |
# Display Mode - Keep the display on and don't go to sleep or hibernation | |
# System Mode - Don't go to sleep or hibernation | |
# The default mode is the System Mode. | |
# Away mode is only available when away mode is enabled in the advanced power options. |
function map([scriptblock]$map, [Collections.IEnumerable]$x, $y) { $x.ForEach({& $map $_ $y}) } | |
# Two parameters | |
map { param($x, $y) $x + $y } @(1,2,3) 10 | |
# Anonymous function as a value | |
$squareIt = { param($x) $x + $x } | |
map $squareIt @(1,2,3) | |
# One parameter |
library(rgdal) | |
library(sp) | |
library(albersusa) # devtools::install_github("hrbrmstr/albersusa") | |
library(spdplyr) # devtools::install_github("mdsumner/spdplyr") | |
library(ggplot2) # devtools::install_github("hadley/ggplot2") | |
library(ggthemes) | |
library(rgeos) | |
library(purrr) | |
library(broom) | |
library(magick) |
# rm -r /tmp/hmda | |
install.packages("MonetDBLite") | |
library(DBI) | |
dbdir <- "/tmp/hmda" | |
con <- dbConnect(MonetDBLite::MonetDBLite(), dbdir) | |
# download at http://homepages.cwi.nl/~hannes/hmda.rds | |
dd <- readRDS("/tmp/hmda.rds") |
An example of using the Watson Speech to Text API to translate a podcast from ProPublica: How a Reporter Pierced the Hype Behind Theranos
This is just a simpler demo of the same technique I demonstrate to make automated video supercuts in this repo: https://github.com/dannguyen/watson-word-watcher
The transcription takes just a few minutes (less if you parallelize the requests to IBM) and is free...but it isn't perfect by any means. It doesn't fare super well on proper nouns:
#!/bin/bash | |
# dontforget | |
# | |
# A stupid script for short term reminders in bash | |
# | |
# Arguments just need to contain a number and a bunch of words. | |
# | |
# The number can be anywhere in the arguments, but there shouldn't | |
# be any other numeric digits. | |
# |
library(shiny) | |
# Example usage: | |
# lmGadget(mtcars, "wt", "mpg") | |
# | |
# Returns a list with two items: | |
# $data: Data with excluded rows removed. | |
# $model: lm (model) object. | |
lmGadget <- function(data, xvar, yvar) { | |
library(miniUI) |
## Install packages if you don't already have them | |
install.packages(c("stringr", "igraph"), dependencies = TRUE) | |
## Load the packages | |
library(stringr) | |
library(igraph) | |
## Read in the data | |
queries <- read.csv("~/Downloads/queries.csv") | |
tables <- read.csv("~/Downloads/tables.csv") |