This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Script to set build number in Azure Devops | |
# We want build number of the following form: | |
# "build master efab0 20190505 12:12" | |
# "build pr feature/foo efab0 20190505 12:12" | |
# Builtin Azure Devops build numbering is insufficient, so we override with this script. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(require 'ht) | |
(setq log-this-js-log-format "console.log('%s: ', %s)") | |
(setq log-this-python-log-format "print(\"%s: \", %s)") | |
(setq log-this-clojure-log-format "(print \"%s: \" %s)") | |
(setq log-this-log-formats | |
(ht ("typescript-mode" log-this-js-log-format) | |
("js2-mode" log-this-js-log-format) | |
("js-mode" log-this-js-log-format) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
PATH mevzusu cogu programci icin tam anlasilmayan ve her programlama dilinde farkli cozulen bir sorun | |
ve cok vakit kaybina neden oluyor | |
peki virtualenv ne demek ona deginelim, aslinda virtualenv'in yaptigi su. Senin PATH'inin basina virtualenv klasorundeki bin klasorunu koyuyor | |
yaptigi temelde bu | |
virtualenv calistirmadan once PATH=/usr/bin:/bin diyelim | |
bu durumda ahmet yazarsan ahmet binary'sini o klasorlerde arayacak | |
virtualenv'i aktive ettiginde yaptigi aslinda su | |
PATH=myenv/bin;/usr/bin:/bin | |
dolayisiyla virtualenv cok da bir sey yapmiyor | |
virtualenv'i aktiflestirmeden dogrudan o venv icindeki python'u da calistirirsan ayni kapiya cikar |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import logging | |
import logging.config | |
def configure_logging(): | |
LOG_DIR = "logs/" | |
LOGGING = { | |
"version": 1, | |
"disable_existing_loggers": True, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function mapValues(obj, fn) { | |
return Object.keys(obj).reduce((result, key) => { | |
result[key] = fn(obj[key], key); | |
return result; | |
}, {}); | |
} | |
function pick(obj, fn) { | |
return Object.keys(obj).reduce((result, key) => { | |
if (fn(obj[key])) { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<h1>On Yılda Programlama Öğrenin <sup><a href="#footnote1">(*)</a></sup></h1> | |
<h3>Peter Norvig <sup><a href="#footnote2">(**)</a></sup></h3> | |
<hr> | |
<h2>Neden herkes böyle bir telaş içinde?</h2> | |
Herhangi bir kitapçıya gittiğinizde Teach Yourself Java in 7 Days (7 Günde Java Öğrenin) benzeri, | |
size birkaç günde veya birkaç saatte Visual Basic, Windows, Internet (vs.) öğretmeyi vadeden |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
From https://disqus.com/home/discussion/jasonrudolph/jasonrudolph_blog_programming_achievements_how_to_level_up_as_a_developer/newest/#comment-287120251 | |
Rich Hickey • 6 years ago | |
Sorry, I have to disagree with the entire premise here. | |
A wide variety of experiences might lead to well-roundedness, but not to greatness, nor even goodness. By constantly switching from one thing to another you are always reaching above your comfort zone, yes, but doing so by resetting your skill and knowledge level to zero. | |
Mastery comes from a combination of at least several of the following: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Let's say we have a feed of questions and each question has an answer, and each answer has an id. | |
We want to find the answer with id=5 and update its like count. | |
Assume the data structure is nested, so | |
(def feed (atom {:questions [{:id 1 :answers [{:id 5, text: 'foo', :like-count 4}]}]}) | |
If I know that the answer I'm targeting is at 0th position of 0th question, I can do: | |
(swap! feed update-in [:questions 0 :answers 0 :like-count] inc) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(update-in foo [:bar :baz] ....) | |
What I meant was, each part of the path does an equality check of the original | |
compound data structure. | |
So, it says, give me the subsection of foo where key is *equal to* :bar. | |
Here, the predicate that says "key being equal to" is hard-coded. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var camelCase = require('lodash.camelcase'); | |
const {Map, Record, List} = require('immutable'); | |
class Todo extends Record({ description: null, completed: false }) { | |
toggle() { | |
return this.set('completed', !this.completed); | |
} | |
} | |
const InitialTodoApp = Record({ |
NewerOlder