Skip to content

Instantly share code, notes, and snippets.

View jasim's full-sized avatar

Jasim A Basheer jasim

View GitHub Profile
<!DOCTYPE html>
<html>
<head>
<script type='text/javascript' src="http://fb.me/JSXTransformer-0.12.1.js"></script>
<script type='text/javascript' src="http://fb.me/react-with-addons-0.12.1.js"></script>
</head>
<style type="text/css">
.CardsList-Card {
background-color: #ddeeaa;
var BetterBankingPage = React.createClass({
render: function() {
return (
<div className="BetterBankingPage">
<Header />
<AccountsList />
<Footer />
</div>
);
}
@jasim
jasim / test.ml
Last active September 18, 2016 10:20 — forked from gsg/test.ml
type instruction =
| Order of {id: int; price: float; size: int}
| Cancel of {id: int}
| Cancel_replace of {id: int; new_price: float; new_size: int}
let filter_by_oid instructions oid =
List.filter (function
o.id = oid
) instructions
@jasim
jasim / json_to_string.re
Created August 12, 2017 18:45
Reason script to traverse a native JSON object
type json = Js.Json.t;
let x: json = [%bs.raw {|{"a": [1, "hello", 2, {"b": {"c": [100,200, "d", [10,20,30]]}}]}|}];
let rec json_to_string json => {
let array_to_string a => a |> Array.to_list |> String.concat ",";
let emitObject o =>
"{" ^
{
let emitKV (key, value) => key ^ ": " ^ json_to_string value;
@jasim
jasim / bs-express-demo.re
Created July 22, 2018 06:45
A simple bs-express demo with a few custom bindings
/* This example demonstrates how to use bs-express to receive a Json POST request and emit a Json response. */
let myJsonHandler = incoming =>
/* This is the application-level request handler. It is a pure function that takes a string and returns a Json.
In this example, Express doesn't parse the incoming string. We leave it to the application handler so that it has
more control (deal with parsing errors in its own way for example)
*/
incoming |> Json.parseOrRaise |> MyApplication.doSomething;
open Express;
@jasim
jasim / funsrv.md
Created May 12, 2020 16:38 — forked from jcsherin/funsrv.md
Your Server as a Function
  • Side by side terminology of Future and JS Promises to show similarity. This could be setup earlier when Futures abstraction is introduced. The code examples can then instead use JS Promises which should be familiar to frontend programmers.
  • References to Finagle are ad-hoc at best in the current draft. Make it clear to the reader how Finagle is relevant to the paper under discussion, and the goals of the project.
  • Fix signature difference between Future.t and Js.Promise.t in code examples
  • Add an introduction section which sets the context for this narrative. Building a modern web framework which can apply the principles used in building Finagle. Such a web framework written a statically typed language can provide safety guarantees at compile time. The functional style emphasizing immutability, composition, isolation of side effects etc improves our ability to reason about behaviour.
  • Rewrite conclusion section.
  • Include accidental vs essential complexity quote from out of the
-- to be used in init.lua
-- based on https://github.com/fikovnik/ShiftIt/wiki/The-Hammerspoon-Alternative
-- replicates ShiftIt functionality
function setScreenPrimary()
local currentScreen = hs.screen.mainScreen()
currentScreen:setPrimary()
end
function moveToNextScreen()
@jasim
jasim / array_filter_map.rb
Created January 16, 2021 10:41
array exercises
# Two alternative approaches for https://gist.github.com/peeyush14goyal/506689c0227ff7d7a6071c30f1166a27
todos = [
["Send invoice", "money"],
["Clean room", "organize"],
["Pay rent", "money"],
["Arrange books", "organize"],
["Pay taxes", "money"],
["Buy groceries", "food"]
]
# To execute:
# ruby ar_sample_impl.rb
require 'pp'
class ActiveRecord
class Migration
# See original implementation of `create_table` in ActiveRecord:
# https://github.com/rails/rails/blob/main/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb#L296
def self.create_table(table_name)