Skip to content

Instantly share code, notes, and snippets.

Simmo Saan sim642

Block or report user

Report or block sim642

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
sim642 / aoc2018-day20-tree.txt
Created Dec 20, 2018
Advent of Code 2018 day 20 regex AST tree
View aoc2018-day20-tree.txt
sim642 /
Last active Feb 21, 2018
HTTPS is Dangerous vol 2, aka webdev view

HTTPS is Dangerous vol 2, aka webdev view

A less-sensational and less-conspiratory follow-up to [Bryan Lunduke's "HTTPS is Dangerous"][lunduke].


While Lunduke focuses on numerous high-level and theoretical issues with HTTPS, which are very controversial, this writing rant looks at actual practical issues regarding HTTPS advocacy and adoption. It is mainly from the point of view of a web application developer, who make up a fraction of web users, but also gives insight into related average user experience. I am basing this off of my own (probably somewhat unique) experiences during a project regarding the topic as there isn't similar discussion elsewhere.

My webapp

I don't consider myself a web developer, let alone a professional one; in fact I despise webdev for many reasons, including the ones discussed below. Nevertheless, a side project of mine, for now ~8 months (on and off), has been a [small webdev project][einstein-js] (referred to as "my webapp" below). **It is a purely

public class Ch5_q7 {
public static void main(String[] args) {
int[] mateArray = new int[21];
int counter = 1, starter = 1;
mateArray[0] = 0;
while (counter < 21) {
if (starter != dividerSum(starter) && starter == dividerSum(dividerSum(starter))) {
if (starter != mateArray[counter-1]) {
mateArray[counter] = starter;
mateArray[counter+1] = dividerSum(starter);
sim642 /
Last active May 15, 2016
Lexicographical array comparison
public final class ArrayUtils {
private ArrayUtils() {
public static <T extends Comparable<T>> int compare(T[] arr1, T[] arr2) {
int length = Math.min(arr1.length, arr2.length);
for (int i = 0; i < length; i++) {
int compare = arr1[i].compareTo(arr2[i]);
if (compare != 0)
sim642 / nio-refactor.diff
Last active May 9, 2016
diff of refactoring Java NIO into shy, produced by shy, after importing git repository to shy
View nio-refactor.diff
--- /src/main/java/ee/shy/cli/command/
+++ /src/main/java/ee/shy/cli/command/
@@ -2,21 +2,21 @@
import ee.shy.cli.Command;
import ee.shy.cli.HelptextBuilder;
import ee.shy.core.Repository;
sim642 / simLCD.cpp
Created Apr 10, 2016
Arduino library for Nokia 5110 screen with complete buffer support
View simLCD.cpp
#include "simLCD.h"
simLCD& simLCD::setSCLK(int pin)
pinSCLK = pin;
sim642 /
Last active Oct 13, 2019
Installing boost libraries for GCC (MinGW) on Windows

Installing boost libraries for GCC (MinGW) on Windows

Folder setup

  1. Extract downloaded boost source, e.g. C:\Program Files\boost_1_59_0.
  2. Create a folder for Boost.Build installation, e.g. C:\Program Files\boost-build.
  3. Create a folder within for building, i.e. C:\Program Files\boost_1_59_0\build.
  4. Create a folder for installation, e.g. C:\Program Files\boost.

GCC setup

  1. Open Command Prompt.
sim642 /
Last active Sep 3, 2015
Parandatud ID kaardi Linuxi paigaldusskript
  1. Lae alla parandatud skript altpoolt (või kopeeri faili
  2. Ava terminal samas kaustas, kus skript paikeb (nt failihalduris paremkliki alt)
  3. Anna käivitusõigused: chmod +x
  4. Käivita: ./
  5. Jälgi skripti käske
sim642 /
Created Aug 28, 2015
Huvitavaid ssh seadistusi
sim642 / cmd_pass2.trigger
Last active Aug 29, 2015
WeeChat password hiding triggers "fixed" for multiple args
View cmd_pass2.trigger
/trigger addreplace cmd_pass2 modifier "6000|input_text_display;6000|history_add;6000|irc_command_auth" "" "/.*/${tg_string}/tg_modifier X^((/(msg|m|quote) +nickserv +(id|identify|register|ghost +[^ ]+|release +[^ ]+|regain +[^ ]+) +)|/oper +[^ ]+ +|/quote +pass +|/set +[^ ]*password[^ ]* +|/secure +(passphrase|decrypt|set +[^ ]+) +)(.*)|.*X${re:+}Xtg_modifier /[^\ ]/*/tg_modifier X^((/(msg|m|quote) +nickserv +(id|identify|register|ghost +[^ ]+|release +[^ ]+|regain +[^ ]+) +)|/oper +[^ ]+ +|/quote +pass +|/set +[^ ]*password[^ ]* +|/secure +(passphrase|decrypt|set +[^ ]+) +)(.*)X${re:1}${tg_modifier}X"
You can’t perform that action at this time.