Skip to content

Instantly share code, notes, and snippets.

Avatar

Alberto Zaccagni lazywithclass

View GitHub Profile
@lazywithclass
lazywithclass / winston-cloudwatch-type-definition.d.ts
Last active Dec 4, 2018
winston-cloudwatch-type-definition
View winston-cloudwatch-type-definition.d.ts
import * as winston from 'winston';
import * as Transport from 'winston-transport';
import { CloudWatch, CloudWatchLogs } from 'aws-sdk';
export namespace WinstonCloudWatch {
export type LogObject = {level: string, msg: string, meta?: any};
export interface CloudWatchIntegration {
@lazywithclass
lazywithclass / blog.md
Last active Feb 21, 2022
Bandwidth throttling on FreeBSD
View blog.md

Bandwidth throttling on FreeBSD

Installing FreeBSD in VirtualBox will help a lot, I've also set

  • PasswordAuthentication yes
  • PermitRootLogin yes

followed by a /etc/rc.d/sshd restart to allow root to login from my tmux environment on the host box. Make sure you have sshd installed and running on the virtual image. This way I could have multiple tmux panes and copy / paste working (which wasn't in my case).

@lazywithclass
lazywithclass / blog-post.md
Created Feb 9, 2018
One year after RC and plans
View blog-post.md
@lazywithclass
lazywithclass / blog-post.md
Last active Jan 9, 2018
[Teaching programming] Lesson six
View blog-post.md

[Teaching programming] Lesson six

(define insert-middle
  (lambda (new lat)
    (cons (car lat) (cons new (cdr lat)))))

We've been experimenting with functions, so we're starting to move away from the list manipulation tasks for their own sake.

@lazywithclass
lazywithclass / blog-post.md
Last active Nov 30, 2017
[Teaching programming] Lesson five
View blog-post.md

[Teaching programming] Lesson five - lazyblog

Joy

When everything works and good definitions and examples just flow naturally and the other person seems to be learning everything you're saying.

I don't have anything particular to say, except the fact that the work from the previous weeks seems to be paying off, over all giving her a method improved dramatically the way she deals with implementing functions from scratch. Also, doing exercises as we go in the book it's way more effective than having her solve them on her own.

@lazywithclass
lazywithclass / blog-post.md
Last active Nov 20, 2017
[Teaching programming] Lesson four
View blog-post.md

[Teaching programming] Lesson four - lazyblog

On exercises

They are way too difficult. I've slowed the pace considerably due to a misjudgement of exercises difficulty.

On giving a method

It was her who raised this point and it actually makes a lot of sense, it's a shame I didn't think about this earlier on.

@lazywithclass
lazywithclass / simulate-work.sh
Created Nov 6, 2017
Simulate work in a directory adding and updating files
View simulate-work.sh
#!/bin/bash
while true; do
filename=$(((RANDOM %10) + 1))
if [ -f $filename ]; then
mkfile 30m data/$filename
else
randomstring=$(LC_CTYPE=C tr -dc A-Za-z0-9 < /dev/urandom | fold -w ${1:-$(((RANDOM %1000000) +1))} | head -n 1)
echo $randomstring >>data/$filename
fi
@lazywithclass
lazywithclass / blog-post.md
Created Nov 6, 2017
[Teaching programming] Lesson three
View blog-post.md

[Teaching programming] Lesson three - lazyblog

Thoughts

There was some confusion on how to use functions and recursion in the end. I didn't spot that previously. I am starting to think that a lot of what "being a teacher" means is to understand when your audience got the idea you're trying to pass on.

So what didn't I understand? For sure the fact that going from

View gist:f3f994bdae98e0abf175d17ef19bce4a
https://github.com/leoliu/ggtags#install-global-and-plugins
### ctags
https://github.com/universal-ctags/ctags/blob/master/docs/osx.rst#building-with-homebrew
### global
@lazywithclass
lazywithclass / exercises.scm
Last active Oct 27, 2017
Exercises after The Little Schemer chapter 2 (2)
View exercises.scm
;; in the previous solution we implemented 2nd and last
;; but we did not define proper return values for the edge cases,
;; this time we will
;; your task will be to provide those values, as you can imagine
;; (sum 4 'gatto) does not have an answer
;; make it so that expressions will return true
;; a suggestion would be to paste the definitions of 2nd and last
;; above the exercises and fix the errors you get, by returning proper values