Skip to content

Instantly share code, notes, and snippets.

View sjmog's full-sized avatar
🤠
well howdy there

Sam Morgan sjmog

🤠
well howdy there
View GitHub Profile
@sjmog
sjmog / event-driven-systems.json
Created July 4, 2024 10:52
A Blocknote-encoded article about Event-Driven Systems
"[{\"id\":\"f2722cbf-c819-4844-81ee-1cc9816d89a2\",\"type\":\"heading\",\"props\":{\"textColor\":\"default\",\"backgroundColor\":\"default\",\"textAlignment\":\"left\",\"level\":1},\"content\":[{\"type\":\"text\",\"text\":\"Event-Driven Systems\",\"styles\":{}}],\"children\":[]},{\"id\":\"c8f5a658-5e3a-42dc-8d41-6efcc3794909\",\"type\":\"paragraph\",\"props\":{\"textColor\":\"default\",\"backgroundColor\":\"default\",\"textAlignment\":\"left\"},\"content\":[{\"type\":\"text\",\"text\":\"The most advanced scaled systems in the world are \",\"styles\":{}},{\"type\":\"text\",\"text\":\"Event-Driven systems\",\"styles\":{\"bold\":true}},{\"type\":\"text\",\"text\":\".\",\"styles\":{}}],\"children\":[]},{\"id\":\"1fe99a7c-966f-4c32-ab0d-f1e8795eece5\",\"type\":\"paragraph\",\"props\":{\"textColor\":\"default\",\"backgroundColor\":\"default\",\"textAlignment\":\"left\"},\"content\":[{\"type\":\"text\",\"text\":\"In this article, we'll explore:\",\"styles\":{}}],\"children\":[]},{\"id\":\"092a9214-936a-459f-aa5b-7f7
// An implementation of https://css-tricks.com/the-cleanest-trick-for-autogrowing-textareas/ in React
import React, { useRef } from 'react'
const AutoGrowingTextArea = props => {
const grower = useRef(null);
return(
<div className="AutoGrowingTextArea" ref={grower}>
<textarea
@sjmog
sjmog / example-misconception-remedy.md
Last active April 22, 2020 10:06
Misconception: Parameter names and argument names must be the same

Misconception: "Parameter names and Argument names must be the same"

True or false: "parameter names and argument names must be the same"?

Play with the following examples: changing the names of the parameters and the arguments.

As always, try to have a hypothesis for what will happen before you make a change.

Ruby Example

@sjmog
sjmog / todo.rb
Created January 8, 2019 13:20
There's something wrong with this code, which means `print_selected` doesn't work. What is it?
class Todo
def initialize(items)
@items = items
end
def print
print @items.join("\n")
end
def print_selected(index)
# why do we do this?
# (demonstrate working with the object and how nice it is)
# (then talk about the idea of different "layers" in software and how we want each "layer" to be self-contained: Ruby in the MVC!)
def self.create(url:, title:)
return false unless is_url?(url)
if ENV['ENVIRONMENT'] == 'test'
connection = PG.connect(dbname: 'bookmark_manager_test')
else
connection = PG.connect(dbname: 'bookmark_manager')
@sjmog
sjmog / cbl_template.md
Created September 15, 2015 13:27
A template for CBL challenges.
def thing
p "I am great"
end
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Photos with Friends!</title>
<script src="http://code.jquery.com/jquery-1.9.0.min.js"></script>
<script>
/**
* This is the getPhoto library
*/
@sjmog
sjmog / App.js
Created October 11, 2013 19:48 — forked from ankurkaushal/App.js
App.ProjectController = Ember.ArrayController.extend({
)};
App.Project = App.Model.extend({
id : null,
projectname : null,
projectdesc : null,
projectbudget : null
});