This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
Just a small weekend experiment... | |
First experimental implementation of the Langosh language ("plain", i.e. really minimal version). | |
Langosh is meant to be a language which: | |
- can be easily machine-generated from Scratch-like visual programming tools (Blockly preferably) | |
- interpreter is small enough to fit in a small MCU (ATMega328 preferably) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* Pleroma light theme customization */ | |
#app { | |
background-image: none !important; | |
background-color: rgba(241, 241, 241, 1); | |
} | |
#heading { | |
background-image: none !important; | |
background-color: rgba(255, 255, 255, 1) !important; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
Basic Golang struct embedding example | |
Try it here: https://play.golang.org/p/HGfzu4m6AB8 | |
*/ | |
package main |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
Duck typing in golang example. | |
You can try it here: https://play.golang.org/p/kHRnpmA206r | |
*/ | |
package main |
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Simple Phoenix authentication plug | |
# | |
# - based on Plug's session store | |
# - redirects unauthenticated requests to login page "/login/<request url>" | |
# - /static/... requests are not authenticated | |
# - authentication is valid as long as session is valid (you can change this behaviour easily) | |
# Because we need session to be fetched BEFORE this plug, we must put this to router.ex: | |
#---------------------------- |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |