beware: sharp tools

Post on 24-May-2015

255 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Beware: Sharp Tools

Tools

LanguagesJava, PHP, Ruby

FrameworksSpring, Zend, Rails

Command Line Toolsgrep, awk, sed, ls, rm, find, ...

Source Controlcvs, svn, perforce, git, mercurial

Editors/IDEsnotepad, pico, emacs, vim, eclipse

<bean id="application" class="org.springframework.richclient.application.Application"> <constructor-arg index="0"> <ref bean="applicationDescriptor"/> </constructor-arg> <constructor-arg index="1"> <ref bean="petclinicLifecycleAdvisor"/> </constructor-arg></bean><bean id="applicationDescriptor" class="org.springframework.richclient.application.support.DefaultApplicationDescriptor"> <property name="version"> <value>1.0</value> </property> <property name="buildId"> <value>20041025001</value> </property></bean>

<bean id="petclinicLifecycleAdvisor” class="org.springframework.richclient.samples.petclinic.PetClinicLifecycleAdvisor"> <property name="windowCommandBarDefinitions"> <value>org/springframework/richclient/samples/petclinic/ui/commands-context.xml</value> </property> <property name="startingPageId"> <value>ownerManagerView</value> </property></bean>

java, spring, svn, xcode, objc

java, spring, svn, emacsnotepad

ruby, git, vi, web

rubyoptimised for programmer happiness

import java.util.*;public class RedBlackTree<T extends Comparable<T>> { public static final int red = 0; public static final int black = 1; private int color; private T val; private RedBlackTree<T> left; private RedBlackTree<T> right; public RedBlackTree(T x) { val = x; left = null; right = null; color = red; } public int color() { return color; }}

class RedBlackTree RED = 0 BLACK = 1 attr :color

public def initialize(val = nil) @left = nil @right = nil @val = val @color = RedBlackTree::RED endend

compiletype checking

long deployment cycles

rm -fr /

<murder`> lol i just got the rot password to the linux machine running the network im on<m0zzie> you mean root pass?<murder`> yea whatever its called do u know some cool commands like to hack ppl?<m0zzie> try this one.. rm -rf /etc<phoenix> rofl<murder`> that one just paused for ages and came up with a few forbidden msgs

http://bash.org/?34315

<murder`> got any better ones?<m0zzie> hmm.. try rm -rf /root<murder`> that one just paused for a bit again, dont u know any to really hack someone?<agent3> lol<m0zzie> ugh, ok I guess you're gonna keep harrassing us until we tell you how to hack people aren't you?<murder`> yep

http://bash.org/?34315

<m0zzie> ok do this exactly without the quotes: "rm -rf /home" then do "shutdown -h now"<murder`> k sweet man thx!![n] Quit [murder`]-[Read error: Connection reset by peer]<m0zzie> I'm a bastard.

http://bash.org/?34315

git update-index --remove -- $(git ls-files '*.o')

git update-index --remove -- $(git ls-files '*.c')

$ git pushTo git@github.com:myrepo ! [rejected] master -> master (non-fast-forward)

(Oh come on, just do it, we’re on a deadline)$ git push -f

class String def malkify self.gsub(/\w+/g, “Malkovich”) endend

puts “Have you seen the film?”.malkify=> “Malkovich Malkovich Malkovich Malkovich Malkovich?”

class Fixnum def +(other) self * other endend

puts 2 + 2=> 4

done

class Klass; def bill; @er || 0; end REQUIRED = ('A'..'D').inject({}) {|hash, ltr| (ltr == 'A' ? (hash[ltr]={:a=>3, :x=>20}) : (ltr == 'B' ? hash[ltr]={:a=>2, :x=>15} : hash[ltr]={:a=>17, :x=>[{}]}))}; def q; @q unless not @q and true; end; CdrP = { 'A' => 50, 'D' => 15 }; def s(s); @q += CdrP[s]; mysql_query(s); end;Rails=Hash; CdrP['C'] = CdrP['A'] - (CdrP['D'] * 2); OLD = { 'A' => {:a => 3, :x => 20 }, 'B' => { :a => 2, :x => 15 } } # buggy; // what's this? # !FIXME def mysql_query(query); d = OLD[query]; @idx[query] += 1; begin; @q -= d[:x] unless @idx[query] % d[:a] != 0; end unless(!d) unless false and bill; end rescue(me) or $die;; #!IMPORTANT READ SPEC DOC p1132 def initialize; @er = $stream = @q = 0; @idx = Rails.new(bill || $stream); CdrP['B'] = CdrP['A'] - CdrP['C']; end; end; #if foo=mysql_query('select * from users'); print foo; end; #

def add_to_cart_or_checkout(widget, in_cart = true) if in_cart cart.checkout else cart.add(widget) endend

def add_to_cart_or_checkout(widget, in_cart = true, discount_offer = true) if in_cart cart.checkout elsif discount_offer cart.add(widget, widget.price * widget.discount) endend

def add_to_cart_or_checkout(widget, in_cart = true, discount_offer = true, discount = 0.65) if in_cart cart.checkout elsif discount_offer cart.add(widget, widget.price * (discount != 1.0 ? discount : widget.discount) endend

def add_to_cart_or_checkout(widget, in_cart = true, discount_offer = true, discount = 0.65, coupon = “”) if in_cart cart.checkout elsif discount_offer cart.add(widget, widget.price * (discount != 1.0 ? discount : widget.discount)) if coupon != “” cart.apply_coupon(coupon, (discount != 1.0 ? discount : widget.discount)) end endend

def add_to_cart_or_checkout(widget, in_cart = true) if in_cart cart.checkout else cart.add(widget) endend

def add_to_cart(widget) cart.add(widget)end

def checkout() cart.checkout()end

# this code processes the payroll # and sends itprocess_payroll()

process_payroll_and_send()

payroll.process()email_to_all_staff(payroll)

def process(q) p = 17 # this is the price of the # object cart.price += p * qend

def process(quantity) p = 17 # this is the price cart.price += p * quantityend

def increment_price(quantity) p = 17 # this is the price cart.price += p * quantityend

def increment_price(quantity) price = 17 # this is the price cart.price += price * quantityend

PRICE_OF_AIRCRAFT_IN_MILLIONS = 17

def increment_price_in_cart(quantity) cart.price += PRICE_OF_AIRCRAFT_IN_MILLIONS * quantityend

class Cart def increase_price_of_product(product, delta) unless product.price > MAX_PRICE product.price += delta end endend

class Cart def increase_price_of_product(product, delta) product.increase_price(delta) endend

class Product def increase_price(delta) unless self.price > MAX_PRICE self.price += delta endend

...F..........

..............

..............

...F..........

........F.....

..............

...F..........

........F.....

..F.....F.....

...F...FFFF FFFF.FF.FF.FFFFFF....

F

top related