Skip to content

Instantly share code, notes, and snippets.

View niran's full-sized avatar

Niran Babalola niran

View GitHub Profile
@niran
niran / keybase.md
Created January 1, 2019 02:47
keybase.md

Keybase proof

I hereby claim:

  • I am niran on github.
  • I am niran (https://keybase.io/niran) on keybase.
  • I have a public key ASB_7Usu_bKGDitcnbgy5ihpZ-1EL8VuWo_Vj1lzZOk1PAo

To claim this, I am signing this object:

Security Sessions at Devcon2 (draft)

The second morning of Devcon2 provided a strong focus on security in the Ethereum ecosystem. Topics included formal verification of contracts, DApp-specific attack vectors, smart contract development best practices and the future of security in the ecosystem.

Presenters were selected from a broad range of backgrounds such as academics and system engineering providing a well-balanced and comprehensive consideration of security in the context of smart contract systems and distributed applications.

The simplicity of the EVM provides fertile ground for the advancement of formal verification techniques. Static analysis techniques which provide visualization and formal verification are becoming more widely available in the form of automated tools. The primary benefit of static analysis is complexity reduction, aiding the alignment of human mental models with high-level language and bytecode abstraction models.

Dynamic analysis techniques provide, among other benefits,

/**
* Export Truffle-generated contract data that can be used without Pudding.
*/
import t from 'tcomb';
import PledgesLoader from '../environments/development/contracts/Pledges.sol.js';
const Contract = t.struct({
abi: t.list(t.Object),
binary: t.String,
Verifying that +niran is my Bitcoin username. You can send me #bitcoin here: https://onename.io/niran
@niran
niran / gist:73efbe13da7403d4a565
Last active August 29, 2015 14:03
City Council, 6/26

My name is Niran Babalola. I'm member of AURA, and I have a deep desire for better public transit in Austin. Better public transit requires that we use the limited transit dollars we have wisely. Rail is a tool that cities like houston have used to save money and expand their transit system. Houston's line has saved money compared to buses since it's second year. Project Connect predicts that the Highland/Grove line will be more expensive per ride than improving buses on that route.

In any other city, that'd be a clear sign that this is a bad plan. Spending more per ride on rail means we have to take that extra money from other bus routes. This line will improve transit in a small area, but it will actually hurt transit in the rest of the city by sucking up too much of our limited funds. Hurting the rest of the city's transit system means putting more cars on the road and making traffic worse.

I'll support any rail line that saves money. This rail line doesn't, so we should put better buses there instead.

import json
import time
from tornado import gen
from tornado.web import RequestHandler
def get_data(id):
time.sleep(3)
data = {'hello': 'world'}
@niran
niran / New-Property-Decorator.sublime-snippet
Created December 9, 2013 17:07
Override Sublime Text's terrible default @Property autocomplete
<snippet>
<content><![CDATA[property]]></content>
<tabTrigger>property</tabTrigger>
<scope>source.python</scope>
<description>New Property Decorator</description>
</snippet>
@niran
niran / date_url.py
Created October 8, 2012 02:03
Django template tag for reversing date-based URLs.
from django import template
from django.template import defaulttags, Parser, FilterExpression
from django.template.defaulttags import URLNode
register = template.Library()
class DateURLNode(URLNode):
def __init__(self, *args, **kwargs):
super(DateURLNode, self).__init__(*args, **kwargs)
@niran
niran / ssh_config
Created August 4, 2012 00:57
Remote port forwarding on boot
Host celes-forward
HostName celes.niran.org
User portforwarder
IdentityFile /root/.ssh/keyfile
RemoteForward 2222 localhost:22
RemoteForward 2280 localhost:80
RemoteForward 9091 localhost:9091
@niran
niran / log
Created March 22, 2012 16:32
Heroku idling
2012-03-22T06:32:11+00:00 heroku[web.1]: State changed from created to starting
2012-03-22T06:32:17+00:00 heroku[web.1]: Starting process with command `django-admin.py run_gunicorn -b 0.0.0.0:10411 -w 3`
2012-03-22T06:32:18+00:00 app[web.1]: 2012-03-22 01:32:18 [1] [INFO] Starting gunicorn 0.14.2
2012-03-22T06:32:18+00:00 app[web.1]: 2012-03-22 01:32:18 [1] [INFO] Listening at: http://0.0.0.0:10411 (1)
2012-03-22T06:32:18+00:00 app[web.1]: 2012-03-22 01:32:18 [1] [INFO] Using worker: sync