Skip to content

Instantly share code, notes, and snippets.

View cblavier's full-sized avatar

Christian Blavier cblavier

View GitHub Profile
#!/bin/sh
mkdir -p h264
for i in *.mkv ; do
ffmpeg -i "$i" -bsf:v h264_mp4toannexb -map 0:v -map 0:1 -map 0:a:1 -map 0:s:1 -vcodec libx264 -acodec copy -scodec copy "h264/$i"
done
@cblavier
cblavier / box2d.ex
Last active July 12, 2017 13:55
Postgrex extension to handle Postgix box2d data type
if Code.ensure_loaded?(Postgrex.Extension) do
defmodule Postgrex.Box2D do
@moduledoc """
Postgrex Extension to save and load box2d data types.
"""
alias Postgrex.Point
alias Postgrex.Box2D
#!/bin/ash
PATH=/bin:/usr/bin
site=www.google.fr
logfile=/var/log/monitor-internet.log
interval=60
ping_delay=5
reboot_delay=600
livebox_ip=192.168.1.1
livebox_password=password
defmodule StringUtil do
def raw_binary_to_string(raw) do
raw
|> String.codepoints()
|> Enum.reduce(fn(w, result) ->
if String.valid?(w) do
result <> w
else
<< parsed :: 8>> = w
mix xref graph --sink lib/my_app_web/controllers/campaign_controller.ex
lib/my_app_web/views/admin/admin_campaign_log_view.ex
├── lib/my_app_web/router.ex (compile)
│ ├── lib/my_app_web/controllers/admin/admin_tag_controller.ex
│ │ ├── lib/my_app_web/router.ex (compile)
│ │ ├── lib/my_app_web/plugs/authorization.ex (compile)
│ │ │ └── lib/my_app_web/router.ex (compile)
│ │ ├── lib/my_app_web/controllers/helpers/error_helpers.ex (compile)
│ │ │ ├── lib/my_app_web/views/error_view.ex
$> mix n_test 1 4
$> mix n_test 2 4
$> mix n_test 3 4
$> mix n_test 4 4
@cblavier
cblavier / semaphore.yml
Created October 7, 2019 16:54
SemaphoreCI pipeline
version: v1.0
agent:
machine:
type: e1-standard-2
os_image: ubuntu1804
fail_fast:
stop:
when: "true"
@cblavier
cblavier / wait_helper.ex
Created October 7, 2019 15:26
Wait helpers, used with Elixir hound browser testing library
defmodule MyApp.WaitHelper do
use Hound.Helpers
def wait_until(fun), do: wait_until(1000, fun)
def wait_until(0, fun), do: fun.()
def wait_until(timeout, fun) do
fun.()
rescue
Hound.NoSuchElementError -> retry(timeout, fun)
@cblavier
cblavier / facade.ex
Last active November 2, 2019 11:38
defmodule MyApp.Facade do
defmacro facade(mod) do
quote bind_quoted: [mod: mod] do
Enum.each apply(mod, :__info__, [:functions]), fn {fun, arity} ->
case arity do
0 -> defdelegate unquote(fun)(), to: mod
_ ->
values = Enum.map(1..arity, &(Macro.var(:"arg#{&1}", mod)))
defdelegate unquote(fun)(unquote_splicing(values)), to: mod
@cblavier
cblavier / rewrite_request_logger_cookie.ex
Created October 13, 2020 12:34
Phoenix plug to rewrite phoenix_live_dashboard request_logger cookie to parent domain