Excel Tables and VBA
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.
It's 2020, and there's now many ways to work with data of arbitrary length in Excel:
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") |