Skip to content

Instantly share code, notes, and snippets.

Peter Marreck pmarreck

  • formerly, and currently a contractor
  • Long Island, NY
  • Sign in to view email
Block or report user

Report or block pmarreck

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View mix deps.tree output
$ mix deps.tree
├── eliver ~> 2.0 (Hex package)
│ └── enquirer ~> 0.1.0 (Hex package)
├── ecto_sql ~> 3.1.6 (Hex package)
├── gettext ~> 0.13 (Hex package)
├── lz4 ~> 0.2.2 (Hex package)
├── briefly ~> 0.3 (Hex package)
├── number ~> 0.5 (Hex package)
pmarreck / ecto_compressed_term.ex
Created Aug 21, 2019
Ecto compressed erlang term binary custom data type
View ecto_compressed_term.ex
defmodule Mpnetwork.Ecto.CompressedTerm do
@behaviour Ecto.Type
# The functionality below depends on the lz4_erl module.
# Note that pack/unpack stores the decompressed data length as the first 4 bytes
# or assumes those bytes are that value
defp compress(txt) when is_binary(txt) do
{:ok, comp} = :lz4.pack(txt, [:high])
pmarreck / looking_glass.txt
Created Aug 19, 2019
looking glass results for my computer
View looking_glass.txt
traceroute to (, 15 hops max, 60 byte packets
1 Blizzard Blizzard 0.370 ms 0.358 ms 0.356 ms
2 ( 1.086 ms 1.092 ms 1.093 ms
3 ( 1.047 ms 1.055 ms 1.037 ms
4 ( 2.566 ms 2.592 ms 2.592 ms
5 ( 6.869 ms 6.894 ms 6.894 ms
6 ( 167.385 ms 166.230 ms 166.208 ms
7 ( 6.012 ms 6.013 ms 6.041 ms
8 ( 5.651 ms 6.125 ms 6.150 ms
pmarreck /
Created May 14, 2019
Notes on In-House/Cloud Backup Solutions Across All Popular OS'es I Researched

Since it was a lot of work to figure all this out i figured i'd let others know: So I have an assortment of machines on various OS'es now at home, macs, windows, linux. I needed a way to (ideally) back everything up the same way. Also, Apple's Time Machine, as easy as it is to use, was starting to piss me off, at least over a network (taking forever, causing the computer to lag terribly, often saying it had to rebuild the entire backup from scratch, that sort of thing... It always worked fine to a local disk, but I wanted reliable network backup) I decided early on to stick to using S3 protocol to a FreeNAS Mini I already own since pretty much all the backup software I was evaluating was able to speak S3, from all the OS'es. This would also make it easy to switch to actual cloud down the line if that made sense. S3 support provided by Minio was recently added to my FreeNAS and it turns out, Minio is also easily installable on OS X (via Homebrew) and Linux, which meant that I could use my Ma

pmarreck / zip to 7z.bat
Created Apr 17, 2019
How to convert a directory of .zip files to .7z (7zip) in Windows
View zip to 7z.bat
for %%F in (*.zip) do ( "C:\Program Files\7-Zip\7z.exe" x -y -o"%%F_tmp" "%%F" * & pushd %%F_tmp & "C:\Program Files\7-Zip\7z.exe" a -y -r -m0=lzma2 -mx=9 -t7z ..\"%%~nF".7z * & popd & rmdir /s /q "%%F_tmp" )
pmarreck / 7zip files individually.bat
Created Apr 17, 2019
How to 7zip (lzma2 @ max compression) a bunch of files individually in a directory in Windows (assuming you are already in said directory with the command prompt)
View 7zip files individually.bat
# Use this one-liner:
for %i in (*.*) do "c:\Program Files\7-Zip\7z.exe" a -m0=lzma2 -mx=9 "%~ni.7z" "%i"
pmarreck /
Last active Mar 13, 2018
Why You Should Just Use Mailto Links (Instead Of Writing A Weak, Partially-Featured Email Client Inside Your Web App)
pmarreck / procedural_vs_functional.exs
Created Feb 8, 2018
Trying to convert a procedural algorithm into an Elixir functional one.
View procedural_vs_functional.exs
defmodule OutcomesProcedural do
def partitions(cards, subtotal) do
for i <- 0..9, elem(cards,i)>0 do
case subtotal+i+1 do
x when x > 21 -> 0
x when x==21 -> 1
x when x < 21 -> 1+partitions(put_elem(cards, i, elem(cards,i)-1), x)
pmarreck / brunch-config.js
Created Jan 10, 2018
My working brunch-config.js
View brunch-config.js
exports.config = {
// See for docs.
files: {
// javascripts: {
// joinTo: {
// "js/app.js": '*.min.js'
// }
// },
// stylesheets: {
// // joinTo: 'css/app.css',
pmarreck / instructions.bash
Last active Oct 29, 2017
How to get Erlang, Elixir, Phoenix and Postgres set up on a new blank Ubuntu ( project/VM
View instructions.bash
# I had some issues with this and finally culled together instructions from various sites which finally worked
# The first thing you should do is clone your Phoenix/Elixir repo from Github to a blank Ubuntu VM
# The next thing we have to do is remove the stock Erlang which is erlang-base-hipe and not esl-erlang
# (this causes problems later on otherwise)
# But first we will add a new apt source
sudo dpkg -i erlang-solutions_1.0_all.deb
rm erlang-solutions_1.0_all.deb # shouldn't need it anymore
You can’t perform that action at this time.