Skip to content

Instantly share code, notes, and snippets.

Peter Marreck pmarreck

  • formerly desk.com, thredup.com and lifebooker.com. currently a contractor
  • Long Island, NY
  • Sign in to view email
View GitHub Profile
@pmarreck
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
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
pmarreck / just_use_mailto_links.md
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)
View just_use_mailto_links.md
@pmarreck
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
Enum.sum(
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)
end
end
@pmarreck
pmarreck / brunch-config.js
Created Jan 10, 2018
My working brunch-config.js
View brunch-config.js
exports.config = {
// See http://brunch.io/#documentation for docs.
files: {
// javascripts: {
// joinTo: {
// "js/app.js": '*.min.js'
// }
// },
// stylesheets: {
// // joinTo: 'css/app.css',
@pmarreck
pmarreck / instructions.bash
Last active Oct 29, 2017
How to get Erlang, Elixir, Phoenix and Postgres set up on a new blank Ubuntu cloud9.io (c9.io) 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 c9.io 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
wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb
sudo dpkg -i erlang-solutions_1.0_all.deb
rm erlang-solutions_1.0_all.deb # shouldn't need it anymore
@pmarreck
pmarreck / for_all_the_things.exs
Created Oct 9, 2017
Examples of various uses of the "for" syntax in Elixir
View for_all_the_things.exs
# A list generator:
iex> for n <- [1, 2, 3, 4], do: n * 2
[2, 4, 6, 8]
# A comprehension with two generators
iex> for x <- [1, 2], y <- [2, 3], do: x * y
[2, 3, 4, 6]
# A comprehension with a generator and a filter
iex> for n <- [1, 2, 3, 4, 5, 6], rem(n, 2) == 0, do: n
@pmarreck
pmarreck / ecto_postgres_fulltext_search_querying_example.ex
Last active Apr 16, 2019
How to set up postgres fulltext search triggers, index, and tsvector column on Elixir/Phoenix, with Ecto querying, including ranking and sorting by rank
View ecto_postgres_fulltext_search_querying_example.ex
defmodule YourAppName.Search do
# ...
@doc """
Queries listings.
"""
def query_listings(query, current_user) do
default_scope = from l in Listing, where: l.draft == false or l.user_id == ^current_user.id, order_by: [desc: l.updated_at], limit: 50
id = _try_integer(query)
@pmarreck
pmarreck / implode_bloatware.ps1
Created Sep 29, 2017
windows powershell bloatware removal script
View implode_bloatware.ps1
get-appxpackage messaging | remove-appxpackage
get-appxpackage sway | remove-appxpackage
get-appxpackage commsphone | remove-appxpackage
get-appxpackage windowsphone remove-appxpackage
get-appxpackage phone | remove-appxpackage
get-appxpackage communicationsapps | remove-appxpackage
get-appxpackage people | remove-appxpackage
get-appxpackage zunemusic | remove-appxpackage
get-appxpackage zunevideo | remove-appxpackage
get-appxpackage zune | remove-appxpackage
@pmarreck
pmarreck / actualbiblethings.txt
Created Sep 28, 2017
Uncomfortable Bible Passages
View actualbiblethings.txt
"When a woman has a discharge, if her discharge in her body is blood, she shall continue in her menstrual impurity for seven days; and whoever touches her shall be unclean until evening. Everything also on which she lies during her menstrual impurity shall be unclean, and everything on which she sits shall be unclean." Leviticus 15: 19-20
"When men fight with one another, and the wife of the one draws near to rescue her husband from the hand of him who is beating him, and puts out her hand and seizes him by the private parts, then you shall cut off her hand." Deuteronomy 25:11-12
"Now therefore, kill every male among the little ones, and kill every woman who has known man intimately. But all the girls who have not known man intimately, spare for yourselves." Numbers 31:17-18
"You may purchase male or female slaves from among the foreigners who live among you. You may also purchase the children of such resident foreigners, including those who have been born in your land. You may treat them as your property, pa
You can’t perform that action at this time.