Skip to content

Instantly share code, notes, and snippets.

View sunny-g's full-sized avatar

Sunny Gonnabathula sunny-g

View GitHub Profile
@ldodds
ldodds / README.md
Last active July 5, 2024 20:11
How to make your own Xanadu demo

Twitter informed that a demo of Xanadu had launched, so I went to have a look. The demo only works in Firefox and it seems to be a cut down version of demos that I've seen Ted Nelson give in the past. But still: running code in the wild.

I met Ted Nelson once when we both spoke at an STM Innovations conference in 2006. I suspect he wouldn't have agreed with my much of my talk which looked at the web as a hypertext system and compared it with earlier approaches. My point of view was that we could bring those features back into the web by creating new services and by exploiting Javascript and web browsers to upgrade our experience of using the web. Evolution doesn't need to happen in a coordinated centralised way.

(When I say I met Ted Nelson, I meant that I shyly sat next to him at lunch while he expounded on various topics and fiddled with the tape recorder he was using to record all his conversations. So maybe, "met" isn't the right word (he won't

@keo
keo / bootstrap.sh
Last active January 25, 2024 15:49
Setup encrypted partition for Docker containers
#!/bin/sh
# Setup encrypted disk image
# For Ubuntu 14.04 LTS
CRYPTFS_ROOT=/cryptfs
apt-get update
apt-get -y upgrade
apt-get -y install cryptsetup
@HelveticaScenario
HelveticaScenario / ReactSurface.js
Last active August 29, 2015 14:00
React.js as a famo.us surface
/*
This is an extension of the famo.us Surface type. It behaves the exact same except that the content
property holds a ProxyConstructor object (the type that gets returned by any of the React component
functions such as those in React.DOM or created by React.createClass) instead of a string or Node.
One thing to note is that the component fed in to content will get an extra prop, _surface, which
is the surface object that holds it
example usage
var TestComponent = React.createClass({
@tsiege
tsiege / The Technical Interview Cheat Sheet.md
Last active December 5, 2025 18:04
This is my technical interview cheat sheet. Feel free to fork it or do whatever you want with it. PLEASE let me know if there are any errors or if anything crucial is missing. I will add more links soon.

ANNOUNCEMENT

I have moved this over to the Tech Interview Cheat Sheet Repo and has been expanded and even has code challenges you can run and practice against!






\

@eulerfx
eulerfx / CSvsES.md
Last active August 6, 2025 18:35
Command Sourcing vs Event Sourcing

Both command sourcing (CS) and event sourcing (ES) rely on determinism for correctness.

The correctness condition for ES is the determinism (purity) of the function State -> Event -> State. Given that this function is deterministic, aka it always maps the same inputs to the same ouputs, we can rely on it to reconstitute state at any point in time. Determinism is typically achieved by ensuring that the Event has all required information to make the state transition, ie no side effects. The Event then is a sort of "closure" of all pertinent information about the event.

The correctness condition for CS is the determinism of the function State -> Command -> Event. Herein lies one of the distinctions between command sourcing and event sourcing - a program can control its output, but it not its input. Since one can't control the input, aka command, one can't in general, enrich it with all required information to make the above function deterministic. A consequence of this is that you can't simply replay a

@eulerfx
eulerfx / Commands.md
Last active October 26, 2021 19:27
Discussion of the notion of commands and events within reactive system

There are some clear distinctions between commands and events but there are also some not so clear. I discuss the notion of a command as an interpretation of an event.

Commands are requests to do something, they are named in the imperative tense and capture intent. In CQRS, commands are distinguished from queries because they invoke behaviors therefore causing state changes whereas queries don't. In some frameworks, there is a distinction between commands and events in that one sends commands and publishes events. Commands are sent to a single logical handler whereas events are broadcast to potentially multiple handlers.

Events are characterized as being in the past tense. In addition to naming this imposes the constraint that events can't be rejected - you can't change the past. Furthermore, an event can be regarded as an outcome of a command - a causality relation.

There are perspectives where the distinction blurs. For example, what is the distinction between a command handler and an event handler?

@venkateshshukla
venkateshshukla / AndroidDevLinux
Last active September 19, 2023 04:20
Setting up your Linux for Android Application Development
Step 1. Preparation
--------------------
First take care of the dependencies for Android Application Development.
Dependencies are -
1. Java
2. ant
3. Eclipse and Android Development tools (IDE)
4. Android SDK and NDK
5. adb
@DanHerbert
DanHerbert / fix-homebrew-npm.md
Last active November 30, 2025 00:47
Instructions on how to fix npm if you've installed Node through Homebrew on Mac OS X or Linuxbrew

OBSOLETE

This entire guide is based on an old version of Homebrew/Node and no longer applies. It was only ever intended to fix a specific error message which has since been fixed. I've kept it here for historical purposes, but it should no longer be used. Homebrew maintainers have fixed things and the options mentioned don't exist and won't work.

I still believe it is better to manually install npm separately since having a generic package manager maintain another package manager is a bad idea, but the instructions below don't explain how to do that.

Fixing npm On Mac OS X for Homebrew Users

Installing node through Homebrew can cause problems with npm for globally installed packages. To fix it quickly, use the solution below. An explanation is also included at the end of this document.

@justmoon
justmoon / gist:9462822
Last active August 29, 2015 13:57
SWIFT over Ripple - proof of concept

Take this example SWIFT message:

{1:F01MIDLGB22AXXX0548034693}{2:I103BKTRUS33XBRDN3}{3:{108:MT103}}{4:
:20:8861198-0706
:23B:CRED
:32A:000612USD5443,99
:33B:USD5443,99
:50K:GIAN ANGELO IMPORTS
NAPLES
@rolaveric
rolaveric / gopherjsResultShort.js
Last active August 29, 2015 13:57
The extract from gopherjsResult.js which doesn't include the builtin library code.
// Lines 8-13
var go$global;
if (typeof window !== "undefined") {
go$global = window;
} else if (typeof GLOBAL !== "undefined") {
go$global = GLOBAL;
}
// Lines 1425-1461
go$packages["github.com/rolaveric/gopherjs/pet"] = (function() {