Skip to content

Instantly share code, notes, and snippets.

@alex-hhh
alex-hhh / dynamic-select.rkt
Created February 15, 2019 01:49
Dynamic Item Selection
#lang racket/gui
(define font-faces (get-face-list))
(define my-combo-field%
(class combo-field%
(define (construct-menu)
(let ((menu (send this get-menu))
(prefix (send this get-value)))
with recursive
TS(this_week, prev_week) as (
select date('now', '-280 days', 'weekday 1') as this_week,
date('now', '-280 days', '-7 days', 'weekday 1') as prev_week
union all
select date(this_week, '+7 days', 'weekday 1') as this_week,
date(prev_week, '+7 days', 'weekday 1') as prev_week
from TS
where strftime('%s', this_week) < strftime('%s', 'now')),
SE(week, rDist, rDuration, rTss, bDist, bDuration, bTss, sDist, sDuration, sTss) as (
@alex-hhh
alex-hhh / data-types.md
Last active February 14, 2019 11:15
data types
@alex-hhh
alex-hhh / report.md
Created January 31, 2019 12:41
Racket CS performance testing using ActivityLog2

A Racket blog post was published recently outlining the performance of Racket-on-Chez implementation. There was a discussion on the racket-users list, which prompted me to do some testing of my own.

Testing overview

A while ago I wrote a profiler to analyze the performance of various

#lang racket/gui
;; Copyright (c) 2018 Alex Harsanyi
;; 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 to use, copy, modify, merge, publish, distribute, sublicense,
;; and/or sell copies of the Software, and to permit persons to whom the
;; Software is furnished to do so, subject to the following conditions:
#lang racket/gui
;; Copyright (c) 2018 Alex Harsanyi
;; 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 to use, copy, modify, merge, publish, distribute, sublicense,
;; and/or sell copies of the Software, and to permit persons to whom the
;; Software is furnished to do so, subject to the following conditions:
#lang racket/gui
(require embedded-gui)
(define chess-piece-snip-class
(make-object
(class snip-class%
(super-new)
(send this set-classname "chess-piece-snip"))))
(send (get-the-snip-class-list) add chess-piece-snip-class)
#lang racket/gui
(require embedded-gui)
(define chess-piece-snip-class
(make-object
(class snip-class%
(super-new)
(send this set-classname "chess-piece-snip"))))
(send (get-the-snip-class-list) add chess-piece-snip-class)
#lang racket/gui
(require embedded-gui)
(define chess-piece-snip-class
(make-object
(class snip-class%
(super-new)
(send this set-classname "chess-piece-snip"))))
(send (get-the-snip-class-list) add chess-piece-snip-class)
#lang racket/gui
(require embedded-gui)
(define chess-piece-snip-class
(make-object
(class snip-class%
(super-new)
(send this set-classname "chess-piece-snip"))))
(send (get-the-snip-class-list) add chess-piece-snip-class)