Skip to content

Instantly share code, notes, and snippets.

View Najaf's full-sized avatar

Ali Najaf

View GitHub Profile

I'm Daven, a Canadian and aspiring developer living in Japan.

Background

  • B.A. Economics: University of Waterloo (2008-2012)
  • Study abroad at Ritsumeikan APU (立命館アジア太平洋大学)
  • English teacher for 8 years

Projects

@Najaf
Najaf / mechanize-cheat-sheet.rb
Last active October 15, 2019 11:17
Mechanize Cheat Sheet, take a look at the real documentation here: http://mechanize.rubyforge.org/
# Initialize Mechanize Agent
agent = Mechanize.new
# Visit a web page
agent.get 'http://localhost:3000/'
# get the url of the current page
agent.page.uri #=> http://localhost:3000
# agent remembers the scheme + host, so no need to supply it when navigating somewhere else
#! /usr/bin/env ruby
require 'socket'
def log(source, message)
time = Time.now.strftime("%Y-%m-%d %H:%M:%S")
puts "[%s] %s => %s" % [time, source, message]
end
# Class representing HTTP Requests
#! /usr/bin/env ruby
require 'socket'
def log( source, message)
time = Time.now.strftime("%Y-%m-%d %H:%M:%S")
puts "[%s] %s => %s" % [time, source, message]
end
server = TCPServer.new ARGV.first.to_i
@Najaf
Najaf / bwt.rb
Created May 2, 2017 16:32
Rough implementation of Burrows-Wheeler
# Rough implementation of BW transform
# As described at the wikipedia page: https://en.wikipedia.org/wiki/Burrows%E2%80%93Wheeler_transform
EOF_CHAR = '|'
def bwt(string)
string_with_eof = string + EOF_CHAR
rotations = []
0.upto(string_with_eof.length - 1) do |i|
rotations << string_with_eof.chars.rotate(i).join

Keybase proof

I hereby claim:

  • I am Najaf on github.
  • I am alinajaf (https://keybase.io/alinajaf) on keybase.
  • I have a public key whose fingerprint is 989E 6487 8C4A CDA3 0AF0 0A5B F7B3 0CFC 4514 0684

To claim this, I am signing this object:

puts 'hello world'
@Najaf
Najaf / -
Created January 2, 2014 16:50
def test_gist_from_cli
puts "hello world"
end
@Najaf
Najaf / gist:5431024
Last active December 16, 2015 11:58
Quick tip for implementing access control
# So your PicsController probably looks something like this:
class PicsController < ApplicationController
def update
@pic = Pic.find(params[:id])
@pic.update_attributes(params[:pic])
end
end
# You want to change that to this:
class PicsController < ApplicationController
@Najaf
Najaf / test-gist.md
Created July 19, 2012 08:04
A test gist

A literal haskell gist file

someHaskellCode :: a -> [a]