Skip to content

Instantly share code, notes, and snippets.

using HTTP, JSON, DataFrames # Julia v1.1
function makedataframe()
return DataFrame(title=String[], url=String[], videoid=String[], favcount=Int64[], dislikecount=Int64[],likecount=Int64[],viewcount=Int64[])
end
function _getpage(apikey, channelurl;
nextpagetoken="")
if nextpagetoken != ""
page1 = HTTP.request("GET", "https://www.googleapis.com/youtube/v3/search?key=$(apikey)&channelId=$(channelurl)&pageToken=$(nextpagetoken)&part=snippet,id&order=date&maxResults=50")
@cormullion
cormullion / juliadebug.jl
Last active April 5, 2019 17:01
juliadebug icon
using Luxor, Colors
function scarab(pos, heading;
legposition=1,
colorant=colorant"blue",
scalefactor=0.5)
sethue(colorant)
@layer begin
translate(pos)
scale(scalefactor)
using Luxor
function bowler()
move(Point(-5., 135.9))
curve(Point(38.5, 135.9), Point(81.3, 135.7), Point(125., 132.9))
curve(Point(142.5, 132.3), Point(159.2, 130.1), Point(176.7, 129.2))
curve(Point(183.5, 128.5), Point(191.4, 127.7), Point(198.5, 126.2))
curve(Point(201.6, 125.5), Point(203.8, 123.2), Point(206.6, 122.8))
curve(Point(208.6, 120.2), Point(209.5, 118.5), Point(210.2, 116.6))
curve(Point(210.2, 119.7), Point(214.7, 112.6), Point(216.5, 110.7))
@cormullion
cormullion / animated-lorenz.jl
Last active February 12, 2019 10:47
animated-lorenz
# static lorenz drawing omitted
function frame(scene, framenumber, lorenzpoints)
background("white") # nontransparent PNG
eased_n = scene.easingfunction(framenumber, 0, 1, scene.framerange.stop)
uptoframe = convert(Int, floor(rescale(eased_n, 0, 1, 1, length(lorenzpoints))))
origin()
draw(lorenzpoints[1:uptoframe], 350, 50, 750)
end
using Luxor, Colors
function main(fname)
weare = ["data scientists", "programmers", "physicists", "statisticians", "ecologists", "web developers", "mathematicians", "economists", "astrophysicists", "machine learning researchers", "HPC developers", "quants", "electrical engineers", "software developers", "bio-informaticists", "economic forecasters", "data engineers", "theoretical biologists", "psychologists", "educators", "insurers", "condensed matter theorists", "research software engineers", "space scientists", "energy forecasters", "geospatial analysts", "botanists", "chemists", "cryptographers", "cyber-security researchers", "algorithmists", "biologists", "natural language experts", "professors", "environmental economists", "flight dynamics engineers", "geophysicists", "materials scientists", "mechanical engineers", "computational mathematicians", "mathematical biologists", "computer vision experts", "quantum particle researchers", "machine learning developers", "whale conservationists", "signal proce
@cormullion
cormullion / splash.jl
Last active January 26, 2019 18:05
splash image
using Luxor
Drawing(1920, 525, "/tmp/splash-img.png")
setblend(blend(boxtopcenter(BoundingBox()), boxbottomcenter(BoundingBox()),
setcolor(.3, .34, .5, 0.7),
setcolor(.1, .1, .15, 0.9)))
paint()
origin()
sethue("grey50")
setline(.25)
@cormullion
cormullion / juliamusic.jl
Last active August 2, 2018 09:20
juliamusic icon thing for george
using Luxor
function drawicon(pos, w)
@layer begin
translate(pos)
squircle(O, w, w, rt=0.3, :clip)
sethue("white")
paint()
sethue("grey20")
setline(15)
@cormullion
cormullion / stringfiddler.jl
Created June 26, 2018 08:18
string fiddler
using Thebes, Luxor, ColorSchemes, Colors
juliacolorscheme = [
RGB(Luxor.darker_purple...),
RGB(Luxor.darker_red...),
RGB(Luxor.darker_red...),
RGB(Luxor.darker_green...),
RGB(Luxor.darker_green...),
RGB(Luxor.darker_purple...),
]
@cormullion
cormullion / stack-ad-2018.jl
Last active September 18, 2018 13:01
code-for-stack-overflow-ad-2018
using Luxor, Colors
chunk(x, n) = [x[i:min(i+n-1,length(x))] for i in 1:n:length(x)]
function frame()
leftmargin = -230
@png begin
background("white")
pl = box(O, 600, 600, vertices=true)
# data
@cormullion
cormullion / pi-day-draw-pi-with-circles.jl
Last active December 30, 2018 17:59
pi-day-draw-pi-with-circles.jl
using Luxor
# drawing pi with circles, rather than drawing circles with pi
function perimeterize(s, n)
# center it
te = textextents(s)
move(-te[3]/2, te[4]/2)
textpath(s)
p = pathtopoly()[1]