Skip to content

Instantly share code, notes, and snippets.

View markstachowski's full-sized avatar

Mark Stachowski markstachowski

View GitHub Profile
@ygrenzinger
ygrenzinger / CleanArchitecture.md
Last active August 22, 2025 07:58
Summary of Clean Architecture by Robert C. Martin

Summary of book "Clean Architecture" by Robert C. Martin

Uncle Bob, the well known author of Clean Code, is coming back to us with a new book called Clean Architecture which wants to take a larger view on how to create software.

Even if Clean Code is one of the major book around OOP and code design (mainly by presenting the SOLID principles), I was not totally impressed by the book.

Clean Architecture leaves me with the same feeling, even if it's pushing the development world to do better, has some good stories and present robust principles to build software.

The book is build around 34 chapters organised in chapters.

@railwaycat
railwaycat / emacs-mac-infoplist.patch
Last active March 17, 2018 08:36
patch for document.icns
diff --git mac/templates/Info.plist.in mac/templates/Info.plist.in
index d4b033c659..fe46ab29d8 100644
--- mac/templates/Info.plist.in
+++ mac/templates/Info.plist.in
@@ -21,12 +21,475 @@ along with GNU Emacs Mac port. If not, see <http://www.gnu.org/licenses/>.
-->
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
-<plist version="0.9">
+<plist version="1.0">
@justsml
justsml / fetch-api-examples.md
Last active April 22, 2025 13:44
JavaScript Fetch API Examples
@danisfermi
danisfermi / setupdb.md
Created December 15, 2017 23:00
Setup gdb on Mac OS Sierra/High Sierra

Here are the steps to installing and setting up GDB on Mac OS Sierra/High Sierra. Run brew install gdb. On starting gdb, you will get the following error:

Unable to find Mach task port for process-id 2133: (os/kern) failure (0x5).
 (please check gdb is codesigned - see taskgated(8))

To fix this error, follow the following steps:

@rewida17
rewida17 / termux
Last active March 20, 2025 10:27
Run termux env via eg adb shell
#!/system/xbin/bash
#Based on https://github.com/termux/termux-app/issues/77
export PREFIX='/data/data/com.termux/files/usr'
export HOME='/data/data/com.termux/files/home'
export LD_LIBRARY_PATH='/data/data/com.termux/files/usr/lib'
export PATH="/data/data/com.termux/files/usr/bin:/data/data/com.termux/files/usr/bin/applets:$PATH"
export LANG='en_US.UTF-8'
export SHELL='/data/data/com.termux/files/usr/bin/bash'
export BIN='/data/data/com.termux/files/usr/bin'
export TERM=vt220
@import url('https://fonts.googleapis.com/css?family=PT+Mono');
@import url('https://fonts.googleapis.com/css?family=Oxygen+Mono');
@import url('https://cdn.jsdelivr.net/npm/hack-font@3/build/web/hack.css');
/* causes horizontal lines
@import url('https://fontlibrary.org/face/fantasque-sans-mono');
'Fantasque Sans Mono'
*/
x-screen {
@yortuc
yortuc / KonamiCode.html
Created November 21, 2017 19:52
Konami code implementation with javascript
<html>
<head>
<title>KONAMI CODE</title>
<style type="text/css">
body{
font-size: 60px;
font-family: sans-serif;
}
.fullScreen{
position: absolute;

Build a Tic-tac-toe Game

  1. Create a playable Tic-tac-toe board board game with unique styling and animations using jQuery.

    • Clicks should alternate between the unicode symbol or images for X's and O's when clicking tiles.
    • The current player's turn should be displayed after each click.
    • Clicked tiles should no longer be clickable.
    • A button should be included to start or restart a new game.
  2. Hard Challenge - make the game winnable by detecting when a player gets three-in-a-row.

@tadas-s
tadas-s / Vagrantfile
Created October 27, 2017 12:39
Installing your personal dotfiles on each Vagrant VM you use
# Change this to suit your dotfiles setup and copy to your *HOST* machine: $HOME/.vagrant.d/Vagrantfile
Vagrant.configure(2) do |config|
# Mount your dotfiles to vagrant user's home folder (or wherever you want):
config.vm.synced_folder "#{ENV['HOME']}/dotfiles", '/home/vagrant/dotfiles'
# Install dotfiles on every 'vagrant provision' call.
# For example, let's imagine your your dotfiles have 'install.sh' script:
config.vm.provision 'shell', privileged: false, inline: '/home/vagrant/dotfiles/install.sh'
end
@nelson-ph
nelson-ph / options.zsh
Created October 25, 2017 13:31 — forked from prat0318/options.zsh
`options` command to show all the aliases and functions offered by plugins you have installed via oh-my-zsh
RED=`tput setaf 1`
NOCOLOR=`tput sgr0`
function options() {
PLUGIN_PATH="$HOME/.oh-my-zsh/plugins/"
for plugin in $plugins; do
echo "\n\n${RED}Plugin: $plugin${NOCOLOR}";
if [ -d $PLUGIN_PATH$plugin ]; then
grep -r "^function \w*" $PLUGIN_PATH$plugin | awk '{print $2}' | sed 's/()//'| tr '\n' ', '; grep -r "^alias" $PLUGIN_PATH$plugin | awk '{print $2}' | sed 's/=.*//' | tr '\n' ', '
else