If you're thinking of checking out the Pony programming language, here's a list of things that I think are important to know. This list is based on a Tweet that I wrote.
There are Pony packages for several popular editors.
// funciona somente com v3.1.6, essa estrategia de end/continue | |
// era um backdoor para fazer recursao em types, recursao funcionava somente com interfaces | |
// antigamente pela resolucao de tipos ser lazyness e nao acabar fazendo o compiler cair | |
// potencialmente em um looping infinito na resolucao do tipo, por causa disto tem validacao | |
// no compiler agora e codigos nesse estilo sao barrados pelo compiler | |
type Init<T extends any[], TTail extends any[] = TailArray<T>> = CastArray<{ | |
[K in keyof TTail]: T[keyof T & K]; | |
}> |
If you're thinking of checking out the Pony programming language, here's a list of things that I think are important to know. This list is based on a Tweet that I wrote.
There are Pony packages for several popular editors.
GitHub repositories can disclose all sorts of potentially valuable information for bug bounty hunters. The targets do not always have to be open source for there to be issues. Organization members and their open source projects can sometimes accidentally expose information that could be used against the target company. in this article I will give you a brief overview that should help you get started targeting GitHub repositories for vulnerabilities and for general recon.
You can just do your research on github.com, but I would suggest cloning all the target's repositories so that you can run your tests locally. I would highly recommend @mazen160's GitHubCloner. Just run the script and you should be good to go.
$ python githubcloner.py --org organization -o /tmp/output
import xml | |
import xml.etree.ElementTree as ET | |
from collections import defaultdict | |
PREFIX = defaultdict(lambda: "Svg.Attributes") | |
#PREFIX['href'] = 'Html.Attributes' | |
def open_file(filename): | |
with open(filename) as f: |
Should be work with 0.18
Destructuring(or pattern matching) is a way used to extract data from a data structure(tuple, list, record) that mirros the construction. Compare to other languages, Elm support much less destructuring but let's see what it got !
myTuple = ("A", "B", "C")
myNestedTuple = ("A", "B", "C", ("X", "Y", "Z"))
PREFIX wd: <http://www.wikidata.org/entity/> | |
PREFIX wdt: <http://www.wikidata.org/prop/direct/> | |
PREFIX wikibase: <http://wikiba.se/ontology#> | |
PREFIX p: <http://www.wikidata.org/prop/> | |
PREFIX v: <http://www.wikidata.org/prop/statement/> | |
PREFIX q: <http://www.wikidata.org/prop/qualifier/> | |
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> | |
SELECT ?s ?sLabel ?lLabel ?geo { | |
?s wdt:P31 wd:Q1565828 . |
Note: Don't do this on a production evniroment!
Get the heroku database name:
heroku pg:info
Name can be found in the reponse from the command above. For example: Add-on: soaring-newly-1337
.
Max Goldstein | July 30, 2015 | Elm 0.15.1
In Elm, signals always have a data source associated with them. Window.dimensions
is exactly what you think it is, and you can't send your own events on it. You can derive your own signals from these primitives using map
, filter
, and merge
, but the timing of events is beyond your control.
This becomes a problem when you try to add UI elements. We want to be able to add checkboxes and dropdown menus, and to receive the current state of these elements as a signal. So how do we do that?
const flattenTco = ([first, ...rest], accumulator) => | |
(first === undefined) | |
? accumulator | |
: (Array.isArray(first)) | |
? flattenTco([...first, ...rest]) | |
: flattenTco(rest, accumulator.concat(first)) | |
const flatten = (n) => flattenTco(n, []); | |
console.log(flatten([[1,[2,[[3]]]],4,[5,[[[6]]]]])) |
import List (map, (::)) | |
import Color (Color, rgb) | |
import Keyboard (arrows) | |
import Signal (Signal, (<~), foldp) | |
import Graphics.Collage (square, circle, move, filled, collage, Form) | |
import Graphics.Element (Element) | |
type alias Vector = { | |
x : Float, | |
y : Float |