SELECT
queue,
count(1) FILTER (WHERE state = 'available'),
count(1) FILTER (WHERE state IS NULL OR state != 'available')
FROM oban_jobs
GROUP BY queue;
defmodule SecureSandbox do | |
@forbidden_modules [File, System, Code, Process, :erlang] | |
@forbidden_functions [:eval, :apply, :spawn, :send, :exit] | |
def new do | |
Agent.start_link(fn -> %{binding: [], env: __ENV__} end) | |
end | |
def eval(pid, code) do | |
Agent.get_and_update(pid, fn state -> |
Oban.Job | |
|> where([j], j.completed_at > ago(5, "minute")) | |
|> select([j], fragment("EXTRACT(epoch FROM avg(? - ?))::int", j.completed_at, j.attempted_at)) | |
|> Repo.one() |
iex([email protected])29> Node.list |> Enum.map(fn node -> Enum.map(1..100, fn _ -> {us, :pong} = :timer.tc(Node, :ping, [node]) | |
...([email protected])29> us/2 end)|> Enum.reduce(fn x, sum -> sum + x end) end) |> Enum.map(fn x -> x / 100 end) | |
[413.585, 436.995] |
import chess | |
import chess.pgn | |
import chess.engine | |
from chess import BLACK, WHITE | |
engine = chess.engine.SimpleEngine.popen_uci("./stockfish_20090216_x64_avx2") | |
import bz2 | |
path = "lichess_db_standard_rated_2017-04.pgn.bz2" | |
f = bz2.open(path, "rt", encoding="ascii") |
defmodule Foo do | |
def bar(first_day, second_day) do | |
days_between = Date.diff(second_day, first_day) + 1 | |
dow1 = Date.day_of_week(second_day) | |
dow2 = Date.day_of_week(second_day) | |
weekend_days = | |
Kernel.floor((days_between + dow2) / 7 * 2) + | |
if(dow1 == 7, do: 1, else: 0) - if(dow2 == 6, do: 1, else: 0) |
// complete list of camelCase attributes | |
// https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute | |
const camelAttributes = [ | |
'allowReorder', 'attributeName', 'attributeType', 'autoReverse', | |
'baseFrequency', 'baseProfile', 'calcMode', 'clipPathUnits', 'contentScriptType', | |
'contentStyleType', 'diffuseConstant', 'edgeMode', 'externalResourcesRequired', | |
'filterRes', 'filterUnits', 'glyphRef', 'gradientTransform', 'gradientUnits', | |
'kernelMatrix', 'kernelUnitLength', 'keyPoints', 'keySplines', 'keyTimes', 'lengthAdjust', | |
'limitingConeAngle', 'markerHeight', 'markerUnits', 'markerWidth', 'maskContentUnits', | |
'maskUnits', 'numOctaves', 'pathLength', 'patternContentUnits', 'patternTransform', |
const fixNewLine = require('./index.js') | |
const remark = require('remark') | |
text = "lol\nlol\n```\nlol\nlol\n```\n> lol\n> lol" | |
processed = remark() | |
.use(fixNewLine) | |
.processSync(text) | |
console.log(processed) |
![](data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M224%20387.814V512L32 320l192-192v126.912C447.375 260.152 437.794 103.016 380.93 0 521.287 151.707 491.48 394.785 224 387.814z'/%3E%3C/svg%3E)