Skip to content

Instantly share code, notes, and snippets.

View andreineculau's full-sized avatar
:bowtie:

Andrei Neculau andreineculau

:bowtie:
View GitHub Profile
let elementsFromPoint = function(x, y) {
let items = [];
let element;
do {
element = document.elementFromPoint(x, y);
if (!element || element === (items[0] || {}).element) {
break;
}
items.unshift({
@andreineculau
andreineculau / 1.pre.sh
Last active October 26, 2016 13:52
Jenkins - kill all subprocesses in the pre- or post-build phase
set +x
# Add this as the 1st build Exec shell
# Only for situations where you have 1 and only 1 executor per machine
# And you don't care about processes being left running after the job run ends
# Look for processes that have a BUILD_ID env var
# that is NOT the same as the current job's BUILD_ID
# nor same as dontKillMe
echo "Killing orphan spawned processes..."
@andreineculau
andreineculau / sake.sh
Created October 22, 2016 12:08
make stderr without "overriding/ignoring old recipe" warnings
#!/usr/bin/env bash
make $@ 2> >(grep -v "warning: \(overriding\|ignoring\)" >&2)
@andreineculau
andreineculau / amazon-0-logic-1.txt
Created May 6, 2016 20:14
Comment: extrapolating Amazon's logic on banning Kodi from their app store because it is too extensible, thus it allows people to play pirated content.
Traffic lights should be removed because they allow people to cross red lights.
Hospitals should all shut down because treatments there can have harmful effects when done incorrectly.
Companies should stop selling food because it allows people to eat too much and could cause medical problems in the long run.
Tools should be banned because they could be used maliciously.
Stores should all close because it would allow the possibility of shoplifting.
@andreineculau
andreineculau / 1_reference_class_by_name.coffee
Created October 31, 2012 08:10
call static properties of the current class in coffeescript
class A
@temp: 'A'
constructor: () ->
console.log A.temp
class B extends A
@temp: 'B'
constructor: () ->
super
console.log B.temp
@andreineculau
andreineculau / lock-my-mac.sh
Created January 28, 2014 20:33
lock my mac
#!/usr/bin/env bash
# Ask for the administrator password upfront
sudo -v
# Require password immediately after sleep or screen saver begins
defaults write com.apple.screensaver askForPassword -int 1
defaults write com.apple.screensaver askForPasswordDelay -int 0
@andreineculau
andreineculau / aliases.sh
Created October 8, 2013 10:56
bash timer
# After seeing that Mac AppStore has all these timers (both dumb and "smart") that each cost 3 USD (for what?!),
# I think this will do for 0 USD and 5 minutes.
# Works wonders as `timer 5 fuck off` :)
[[ "`uname`" == 'Linux' ]] && alias say="espeak"
function timer() {
minutes=${1:-1}
steep=$(($minutes*60))
wakeup=${@:2}
wakeup=${wakeup:-"time's up"}
@andreineculau
andreineculau / gist:5970012
Created July 10, 2013 20:25
andreineculau: Programming is not only syntax/semantics. Leave that to a readability/simplicity benchmark. Focus on models, patterns, higher level stuff

rambling re: tweet

By no means do I want to sound assertive. I lack a lot of knowledge in the area, so please slap me and set me straight, teach me a thing or two. The only thing that I standby is that it is stupid to explain syntax, to re-invent syntax, to argue about syntax, to have a liberal syntax, etc. Whatever does not matter (i.e. produce added value) should be standardized IMO. Eliminate mundane topics from the discussion to elevate the quality level. There are better things to do. That said readability, performance, simplicity, portability, ... still matter. A lot, I'd say.

Dictionary to level-off the communication

  • syntax - something that a parser can recognize e.g. PEG; the string 'function'
  • semantics - something that a parser can associate syntax to. e.g. AST/parse tree; the fact that the string 'function' is associated with the concept of a function
  • higher level stuff - paradigms (OOP, FP, LP, etc), models/concepts (monads, clas