Skip to content

Instantly share code, notes, and snippets.

/*
Golang's methods are not "virtual" or "overridable".
Don't expect OOP-like inheritance, use composition instead.
Try it here: https://play.golang.org/p/DujbnuHDZAW
*/
package main
@mprymek
mprymek / main.go
Last active February 25, 2018 11:23
/*
Basic Golang struct embedding example
Try it here: https://play.golang.org/p/HGfzu4m6AB8
*/
package main
@mprymek
mprymek / main.go
Last active February 24, 2018 10:02
/*
Duck typing in golang example.
You can try it here: https://play.golang.org/p/kHRnpmA206r
*/
package main
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
# Pop item at index i from list. Returns (item,new_list)
def pop2(l,i):
l1 = l[0:i]
l2 = l[(i+1):]
return (l[i],l1+l2)
def solve(numbers,goal):
solutions = []
for i in range(len(numbers)):
(num,numbers2) = pop2(numbers,i)
defmodule TokenHolder do
require Logger
def start_link(user,passwd) do
Agent.start_link(fn ->
tok_time = get_token user, passwd
{user,passwd,tok_time}
end, name: __MODULE__)
end
@mprymek
mprymek / opencl-test.R
Last active July 18, 2019 14:59
OpenCL in R example
# OpenCL in R example
#
# Kernel "gpu.sum" sums two vectors.
#
# Please note that in R OpenCL library:
#
# 1. the first argument must be the output vector
# 2. the second argument must be the length of the output
# 3. you must convert the input vectors to the right type ("as.double" here)
#
@mprymek
mprymek / gist:c3c3cac7e25404811001
Created May 25, 2015 17:36
Untrusted code compilation experiment in Elixir
defmodule SafeCode do
def compile code do
# we can use [existing_atoms_only: true] here
{:ok, qcode} = code |> Code.string_to_quoted()
unless safe? qcode do
raise "Code is unsafe"
else
qcode |> Code.compile_quoted
end
@mprymek
mprymek / gist:3797cfff72b0adb25085
Last active August 29, 2015 14:21
PureScript Quickstart
## This is a quickstart tutorial for PureScript. Unlike with other tutorials, you don't need
## any build-manager (Grunt etc.) installed globally. We will use locally-installed Gulp.
##
## Prerequisites:
## - cabal (Haskell package manager)
## - npm (Node package manager)
## You will find both of them in your OS' repository.
## install PureScript compiller
$ gcc48 -I /usr/local/include -L/usr/local/lib -lboost_program_options boost_test.cpp
/usr/local/bin/ld: /tmp//ccauzjzJ.o: undefined reference to symbol '_ZSt17__throw_bad_allocv'
//usr/lib/libc++.so.1: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
$ /usr/bin/c++ -I /usr/local/include -L/usr/local/lib -lboost_program_options boost_test.cpp
$ ./a.out --help
Basic Command Line Parameter App
Options: