Note: on legacy intel system the path may be /usr/local/etc/clamav instead of /opt/homebrew/etc/clamav/
$ brew install clamav
$ cd /opt/homebrew/etc/clamav/
$ cp freshclam.conf.sample freshclam.conf
<script lang="ts"> | |
import { useIntersectionObserver } from "@vueuse/core"; | |
import { ref, nextTick } from "vue"; | |
function onIdle(cb = () => {}) { | |
if ("requestIdleCallback" in window) { | |
window.requestIdleCallback(cb); | |
} else { | |
setTimeout(() => { | |
nextTick(cb); |
<template> | |
<div> | |
<div v-for="(item, i) in items" :key="i" v-intersect="onIntersect" :data-last="i === items.length - 1"> | |
<slot :item="item"></slot> | |
</div> | |
</div> | |
</template> | |
<script lang="ts"> | |
import { Component, Prop, Vue, Watch } from 'vue-property-decorator'; |
const MY_DOMAIN = "agodrich.com" | |
const START_PAGE = "https://www.notion.so/gatsby-starter-notion-2c5e3d685aa341088d4cd8daca52fcc2" | |
const DISQUS_SHORTNAME = "agodrich" | |
addEventListener('fetch', event => { | |
event.respondWith(fetchAndApply(event.request)) | |
}) | |
const corsHeaders = { | |
"Access-Control-Allow-Origin": "*", |
function sync() { | |
var id="XXXXXXXXXX"; // CHANGE - id of the secondary calendar to pull events from | |
var today=new Date(); | |
var enddate=new Date(); | |
enddate.setDate(today.getDate()+7); // how many days in advance to monitor and block off time | |
var secondaryCal=CalendarApp.getCalendarById(id); | |
var secondaryEvents=secondaryCal.getEvents(today,enddate); |
library(tidyverse) | |
# binviz Veles-like binary visualizaiton | |
binViz2d <- function(filename, alpha = 1/100, maxsize = 5000000, | |
save = TRUE, polar = FALSE, sample = FALSE, | |
sample_size = 2000000, do_density = FALSE){ | |
# setting dens_plot as NA simplifies the logic below a bit | |
dens_plot = NA |
CloudFlare is an awesome reverse cache proxy and CDN that provides DNS, free HTTPS (TLS) support, best-in-class performance settings (gzip, SDCH, HTTP/2, sane Cache-Control
and E-Tag
headers, etc.), minification, etc.
List of all my presentations over the past five years.
John Willis
Twitter: https://twitter.com/botchagalupe Linkedin https://www.linkedin.com/in/johnwillisatlanta