Skip to content

Instantly share code, notes, and snippets.

@pau1m
pau1m / svg2scad.py
Created October 11, 2024 20:39 — forked from phrz/svg2scad.py
Converts SVG path notation to OpenSCAD polygon(): supports M,L,C,Z with Bézier interpolation to points.
import string
from collections import OrderedDict
from itertools import count
# precision of output points
decimals = 2
svg = '''M0,0 L66,0 L66,140 L0,140 L0,0 Z M17.5356193,9.91374504 L7.89629934,9.91374504 L7.89629934,34.6390567 L13.9842872,34.6390567 L13.9842872,27.741635 L17.6136633,27.741635 C21.6461094,27.741635 24.6445573,27.0341777 26.6090071,25.619263 C28.5734569,24.2043483 29.555612,21.9699927 29.5554723,18.9161962 C29.5554723,15.8625389 28.5993435,13.5986987 26.687086,12.1246754 C24.7748285,10.6511862 21.7243396,9.91420937 17.5356193,9.91374504 Z M51.2530562,20.2426569 L40.4040722,20.2426569 L40.4040722,9.91374504 L34.3159446,9.91374504 L34.3159446,34.6392308 L40.4040722,34.6390567 L40.4040722,24.9118057 L51.2530562,24.9118057 L51.2530562,34.6392308 L57.3411838,34.6392308 L57.3411838,9.91374504 L51.2530562,9.91391916 L51.2530562,20.2426569 Z'''
def string_to_point_tuple(s):
@pau1m
pau1m / donation.sol.js
Last active May 22, 2022 02:01
Donation smart contract
pragma solidity ^0.4.4;
// TestRPC HD wallet
// warrior minimum breeze raven garden express solar flavor obvious twenty alpha actress
contract Donation {
// Instantiate a variable to hold the account address of the contract administrator
address public owner;
@pau1m
pau1m / AuthorDonationsTest.js
Last active August 21, 2019 13:55
AuthorDonationsTest.js
// Include web3 library so we can query accounts.
const Web3 = require('web3')
// Instantiate new web3 object pointing toward an Ethereum node.
let web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"))
// Include AuthorDonation contract
let AuthorDonation = artifacts.require("./AuthorDonation")
// Test with Mocha
contract('AuthorDonation', function(accounts) {
// Setup a variable to hold the contract object.
@pau1m
pau1m / test.json
Created June 27, 2019 09:25
test_json
[
{
"id": 0,
"hash": "853644d7-12d3-4378-b329-aed939ff5a48",
"title": "ea adipisicing quis veniam eiusmod fugiat",
"description": "Culpa ullamco laborum deserunt reprehenderit sit aute amet. Esse nisi minim dolore laboris occaecat adipisicing anim adipisicing velit id aliquip est commodo. Eu excepteur amet consequat sint. Ullamco reprehenderit irure culpa cupidatat minim excepteur fugiat occaecat ex esse consequat.\r\n"
},
{
"id": 1,
"hash": "967919fc-735f-4851-a505-4c2b817e7582",
@pau1m
pau1m / README.md
Created February 20, 2019 12:35 — forked from hofmannsven/README.md
My simply Git Cheatsheet
@pau1m
pau1m / react-form-set-state-input-and-submit.js
Created December 28, 2018 13:48 — forked from stowball/react-form-set-state-input-and-submit.js
React. Form with dynamic inputs that setState for values and submit
class Form extends Component {
state = {};
renderInput = (name, type, value='') =>
<input onChange={({target}) => this.setState({[name]: target.value})} name={name} type={type} value={this.state[name] || value}/>;
handleSubmit = (evt) => {
evt.preventDefault();
send('/form', this.state);
}
@pau1m
pau1m / vlad_ngrok
Created June 30, 2016 07:55
Use ngrok with drupal vlad vm
ngrok http -host-header=rewrite mydomain.com:80
@pau1m
pau1m / alicesButton.js
Created March 8, 2017 16:08
alices_button
<html>
<head>
<title>Introduction to Dapps. Simple MetaMask example.</title>
</head>
<body>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque ut vestibulum diam. Nam varius eros eu dui molestie, et dignissim orci pellentesque. Praesent in ultrices magna. Fusce placerat eu nibh ut maximus. Nulla laoreet diam ac est congue, et varius ligula sollicitudin. Donec eu mi et sem hendrerit rhoncus vitae eu quam. Phasellus dictum congue erat. Etiam rutrum vel est eget mollis. Praesent volutpat turpis mi, id molestie sapien auctor consequat. Aenean laoreet elit ut lacus suscipit, sit amet fringilla orci dictum. Nam eget rhoncus neque. Vestibulum blandit eu ex a mattis.
</p>
<div id="meta-mask-required"></div>
<fieldset>
@pau1m
pau1m / accounts.ts
Created June 15, 2018 07:41
Ethereum account generation from seed
const Web3: any = require('web3'); // tslint:disable-line:variable-name
const bip39: any = require('bip39');
const hdkey: any = require('ethereumjs-wallet/hdkey');
const web3: any = new Web3();
export class Accounts {
private seed: string;
constructor(seed: string) {
@pau1m
pau1m / createDefaultAccounts.js
Created November 15, 2017 11:15
Handy script for generating Ethereum accounts (json files) from Mnemonic
//const argv = require('minimist')(process.argv.slice(2));
const Web3 = require("web3")
let web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"))
console.log(web3)
let bip39 = require("bip39")
let hdkey = require('ethereumjs-wallet/hdkey')
let mnemonic = "weather cancel symptom owner lumber bitter bread butter dice trial shrug glance"
let hdwallet = hdkey.fromMasterSeed(bip39.mnemonicToSeed(mnemonic))
// Set to m/44'/60'/0' for ledger nano s hardware wallet compatibilty