<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.3.3">Jekyll</generator><link href="https://dannysalzman.com/feed.xml" rel="self" type="application/atom+xml" /><link href="https://dannysalzman.com/" rel="alternate" type="text/html" /><updated>2024-02-09T16:40:16+00:00</updated><id>https://dannysalzman.com/feed.xml</id><title type="html">Danny Salzman</title><subtitle>Exploring Stale Assumptions</subtitle><author><name>Danny Salzman</name><email>me@dannysalzman.com</email></author><entry><title type="html">Eliminate Bad Habits First</title><link href="https://dannysalzman.com/2024/02/09/bad-habits" rel="alternate" type="text/html" title="Eliminate Bad Habits First" /><published>2024-02-09T00:00:00+00:00</published><updated>2024-02-09T00:00:00+00:00</updated><id>https://dannysalzman.com/2024/02/09/bad-habits</id><content type="html" xml:base="https://dannysalzman.com/2024/02/09/bad-habits"><![CDATA[<p>In our constant quest for improvement, we often gravitate towards adding new habits, skills, or routines to our lives. It’s a forward-thinking approach, fueled by the optimistic belief that more of the right stuff will make us better, happier, and more successful. But there’s a hidden power in the opposite direction that we frequently overlook: the power of removing bad habits.</p>

<p>The concept of compounding is well understood in the realm of finance. Small, consistent investments grow exponentially over time, thanks to the magic of interest working on interest. This principle is celebrated for its ability to generate wealth, but it’s equally potent in a less celebrated domain: the compounding effects of our habits.</p>

<p>Just as positive habits can build up to create massive benefits over time, negative habits can compound, leading to increasingly detrimental effects. It’s not just a matter of bad habits taking up time or energy that could be better spent. It’s about the way these habits can erode our foundations, bit by bit, day by day, in a silent crescendo of consequences.</p>

<p>Consider this: removing a bad habit is akin to stopping a compounding loss. It’s not merely about getting back the time, money, or health that the habit consumes; it’s about halting a negative compounding effect that can be profoundly damaging over time. The absence of a bad habit doesn’t just return us to a neutral state; it lifts a burden that’s been doubling down on our potential, holding us back in unseen ways.</p>

<p>This isn’t to say that adopting positive habits isn’t worthwhile. It absolutely is. But there’s an asymmetry in the impact of negative versus positive habits that we must acknowledge. A bad habit can have a more significant, more immediate detrimental effect on our lives than the addition of a good habit can have a beneficial one. The reason is simple: bad habits often directly counteract our efforts to improve, creating a constant need to overcome self-imposed obstacles.</p>

<p>The process of removing a bad habit often involves deep self-reflection, acknowledgment of the harm it causes, and the implementation of strategies to break the cycle. It’s not easy, and it’s not quick. But the payoff is immense. By removing just one significant bad habit, you can potentially unlock a future that’s been stifled, bit by bit, by the compound interest of poor choices.</p>

<p>So, while you’re considering what new habits to build, take a moment to look in the other direction. What habits are holding you back? What negative compounding can you stop today? The power of compounding works both ways, and sometimes, the most effective way to move forward is to first take something away.</p>]]></content><author><name>Danny Salzman</name><email>me@dannysalzman.com</email></author><category term="essay" /><summary type="html"><![CDATA[An essay]]></summary></entry><entry><title type="html">Welcome to shortcuts!</title><link href="https://dannysalzman.com/2022/03/11/test" rel="alternate" type="text/html" title="Welcome to shortcuts!" /><published>2022-03-11T00:00:00+00:00</published><updated>2022-03-11T00:00:00+00:00</updated><id>https://dannysalzman.com/2022/03/11/test</id><content type="html" xml:base="https://dannysalzman.com/2022/03/11/test"><![CDATA[<h1 id="welcome">Welcome</h1>

<p><strong>Hello world</strong>, this is my first Jekyll blog post from ios shortcuts.</p>

<p>I hope you like it!</p>]]></content><author><name>Danny Salzman</name><email>me@dannysalzman.com</email></author><summary type="html"><![CDATA[Welcome]]></summary></entry><entry><title type="html">Learning [2009]</title><link href="https://dannysalzman.com/2020/11/17/learning-2009" rel="alternate" type="text/html" title="Learning [2009]" /><published>2020-11-17T00:00:00+00:00</published><updated>2020-11-17T00:00:00+00:00</updated><id>https://dannysalzman.com/2020/11/17/learning-2009</id><content type="html" xml:base="https://dannysalzman.com/2020/11/17/learning-2009"><![CDATA[<p><em>An essay I wrote in high school in the style of Thoreau. I still struggle with and contemplate these ideas ten years later</em></p>

<p>These last three days I have partaken in
an experiment of my own devising.
Testing my own will to succeed, to better my own well being,
pushing myself from the mold of normalcy
to a higher plateau of moral righteousness.</p>

<p>I departed to a port of higher learning,
battling the sea monsters and dragons
that I met on the way.</p>

<p>Many in today’s modern world have abandoned ship
and are left floating in this Sea of Ambiguity,
not able to reach the shores of enlightenment.</p>

<p>I do not understand, with the amount of information
available to the average citizen
through the marvels of technology,
how little people are actually learning.</p>

<p>They learn facts and dates, but they don’t become
any wiser because of them.
They learn of Hitler and Mao’s Cultural Revolution,
but not the effects they had on our own existence.</p>

<p>They are learning, but not becoming any wiser.
They study for grades and college credit.
They have become machines that know only facts and equations.
They are puzzled by true questions of wisdom.</p>

<p>Confucius stated that:
“Learning without thought is labor lost;
thought without learning is perilous.”</p>

<p>I have created my experiment for those
that do not know the true meaning of knowledge
and go through life living like a tree without roots.</p>

<p>A clever man without wisdom
is like a beautiful flower without fragrance.
The younger generations today
are growing up without substance,
but it is never too late to start learning.</p>

<p>My journey through the government funded education system
has been a never ending cycle of redundancy.
I can hardly remember my past studies,
since I never truly learned them.</p>

<p>I was taught how to manipulate the information
and obtain the wanted outcome,
but I didn’t learn how these manipulations occur
and what that manipulation meant.</p>

<p>I have learned more from conversing with a wiser man
than I have learned in years of study.
Our schools preach to “commit minds to inquiry,
hearts to compassion, and lives to the service of humanity,”
but they only teach a system of self advancement;
a human assembly line fabricating children
for the dreariness of adult life.</p>

<p>People are so swept into this system set for them
that they are not their own person,
but rather just a template filled in.</p>

<p>You must follow your own independent path.
Choose how to react to the stimuli of nature;
follow your heart, not the rhythmic march of society.
I’d rather follow a dismal path that I have chosen
than a paved road that was selected for me.</p>

<p>As I previously stated, learning is meaningless
unless one applies it to their own existence;
bearings for their own life journey.</p>

<p>For my experiment, I did not learn for the sake of learning,
but for the betterment of my own understanding,
to apply knowledge to my own life.</p>

<p>In school we learn many things, but never
how these things can better our own existence.
Without applying ones knowledge to their lives
you create a generation of robots,
stunted in their ability to think for themselves,
losing the rich diversity that makes life so interesting.</p>

<p>Trying to seek this state of personal knowledge
I began to relate all of my studies to my own experience.
I became more somber and quiet during studies
not to merely listen to the lectures, but to absorb
and then analyze for relevant information.</p>

<p>Immediately, I was isolated from my fellow classmates
because of a lack of communication
that I normally partake in throughout classes.</p>

<p>I feel separated. I hear echoing chatter of colleges,
the future, and grade point averages.
I know that I should be worried about these things,
but I just don’t think college and my future
need, or have to be, a constant focus of attention.</p>

<p>Everyone at New Trier will go to college.
So why does everyone worry?
As I listened to voice thread presentations,
I wondered how all these motifs,
that we spend such an extravagant amount of time researching,
effect our lives in our own small worlds?</p>

<p>I know how the theme of “By the People”
pertains to the Presidential Election,
but how does it effect my life? Why should I care?
I feel a sense of pointlessness and frustration
in the breadth of our lessons.</p>

<p>I think of the way that we are taught,
the system of memorizing until one’s brain
just can’t contain the mess of facts and dates,
and then begins the system of forgetting.</p>

<p>This cycle leaves us as confused as when we started.
We learn a lot about nothing.
If the human race strived to learn
at the higher capacity that I speak of,
it would result in a renaissance of the spirit of mankind.</p>

<p>While one might assume that to be their own persons
one needs to be independent of other’s ideas,
if you take directions along the way,
but keep your destination,
haven’t you kept your own path?</p>

<p>To achieve a happy and honest life
one needs to listen to others
no matter what you might think of their character
or your feelings toward them
because everyone has something wise to contribute.</p>

<p>During discussions, we are all too preoccupied
by our own questions to listen to the answers
given by our fellow students.
We are like horses with blinders
galloping across intersections.
We fail to realize that much of our own questions
are already answered.</p>

<p>During discussions, I felt it hard to contain my own opinion
and listen to the opinions of my classmates,
isolating me from my normal role
of the classroom’s “devil’s advocate.”</p>

<p>I devised a system of virtual advocating,
writing down the thoughts of others
and relating them to each other.
Listening is the most powerful tool a student can use.
Without it, one cannot progress
to any higher level of thought.</p>

<p>While we haven’t reached the level of dystopia of “1984”,
society is becoming more and more singular.
On the surface, there seems to be more choices,
but this can be deceiving.</p>

<p>I have marched to my own step,
danced to my own tune,
and forged my own paths.</p>

<p>We all must consider our path in life.
Is it a sensational adventure,
or a forced march?</p>

<p>As a society, we must learn to listen to one another
and actually think about each other’s opinions.</p>

<p>As the roots of a tree spread down into the moist soil,
they grow in all directions, independent of one another,
but they work together searching for water and nutrients
that keep the tree as a whole growing strong.</p>]]></content><author><name>Danny Salzman</name><email>me@dannysalzman.com</email></author><category term="essay" /><category term="learning" /><summary type="html"><![CDATA[An essay]]></summary></entry><entry><title type="html">Kudoos - How to Train your Remote Employee</title><link href="https://dannysalzman.com/2020/08/25/how-to-train-remote-employee" rel="alternate" type="text/html" title="Kudoos - How to Train your Remote Employee" /><published>2020-08-25T00:00:00+00:00</published><updated>2020-08-25T00:00:00+00:00</updated><id>https://dannysalzman.com/2020/08/25/how-to-train-remote-employee</id><content type="html" xml:base="https://dannysalzman.com/2020/08/25/how-to-train-remote-employee"><![CDATA[<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>How to Train your Remote Employee</title><style>
/* webkit printing magic: print all background colors */
html {
	-webkit-print-color-adjust: exact;
}
* {
	box-sizing: border-box;
	-webkit-print-color-adjust: exact;
}

html,
body {
	margin: 0;
	padding: 0;
}
@media only screen {
	body {
		margin: 2em auto;
		max-width: 900px;
		color: rgb(55, 53, 47);
	}
}

body {
	line-height: 1.5;
	white-space: pre-wrap;
}

a,
a.visited {
	color: inherit;
	text-decoration: underline;
}

.pdf-relative-link-path {
	font-size: 80%;
	color: #444;
}

h1,
h2,
h3 {
	letter-spacing: -0.01em;
	line-height: 1.2;
	font-weight: 600;
	margin-bottom: 0;
}

.page-title {
	font-size: 2.5rem;
	font-weight: 700;
	margin-top: 0;
	margin-bottom: 0.75em;
}

h1 {
	font-size: 1.875rem;
	margin-top: 1.875rem;
}

h2 {
	font-size: 1.5rem;
	margin-top: 1.5rem;
}

h3 {
	font-size: 1.25rem;
	margin-top: 1.25rem;
}

.source {
	border: 1px solid #ddd;
	border-radius: 3px;
	padding: 1.5em;
	word-break: break-all;
}

.callout {
	border-radius: 3px;
	padding: 1rem;
}

figure {
	margin: 1.25em 0;
	page-break-inside: avoid;
}

figcaption {
	opacity: 0.5;
	font-size: 85%;
	margin-top: 0.5em;
}

mark {
	background-color: transparent;
}

.indented {
	padding-left: 1.5em;
}

hr {
	background: transparent;
	display: block;
	width: 100%;
	height: 1px;
	visibility: visible;
	border: none;
	border-bottom: 1px solid rgba(55, 53, 47, 0.09);
}

img {
	max-width: 100%;
}

@media only print {
	img {
		max-height: 100vh;
		object-fit: contain;
	}
}

@page {
	margin: 1in;
}

.collection-content {
	font-size: 0.875rem;
}

.column-list {
	display: flex;
	justify-content: space-between;
}

.column {
	padding: 0 1em;
}

.column:first-child {
	padding-left: 0;
}

.column:last-child {
	padding-right: 0;
}

.table_of_contents-item {
	display: block;
	font-size: 0.875rem;
	line-height: 1.3;
	padding: 0.125rem;
}

.table_of_contents-indent-1 {
	margin-left: 1.5rem;
}

.table_of_contents-indent-2 {
	margin-left: 3rem;
}

.table_of_contents-indent-3 {
	margin-left: 4.5rem;
}

.table_of_contents-link {
	text-decoration: none;
	opacity: 0.7;
	border-bottom: 1px solid rgba(55, 53, 47, 0.18);
}

table,
th,
td {
	border: 1px solid rgba(55, 53, 47, 0.09);
	border-collapse: collapse;
}

table {
	border-left: none;
	border-right: none;
}

th,
td {
	font-weight: normal;
	padding: 0.25em 0.5em;
	line-height: 1.5;
	min-height: 1.5em;
	text-align: left;
}

th {
	color: rgba(55, 53, 47, 0.6);
}

ol,
ul {
	margin: 0;
	margin-block-start: 0.6em;
	margin-block-end: 0.6em;
}

li > ol:first-child,
li > ul:first-child {
	margin-block-start: 0.6em;
}


ul.to-do-list {
	text-indent: -1.7em;
}

ul.to-do-list > li {
	list-style: none;
}

.to-do-children-checked {
	text-decoration: line-through;
	opacity: 0.375;
}

ul.toggle > li {
	list-style: none;
}

ul {
	padding-inline-start: 1.7em;
}

ul > li {
	padding-left: 0.1em;
}

ol {
	padding-inline-start: 1.6em;
}

ol > li {
	padding-left: 0.2em;
}

.mono ol {
	padding-inline-start: 2em;
}

.mono ol > li {
	text-indent: -0.4em;
}

.toggle {
	padding-inline-start: 0em;
	list-style-type: none;
}

/* Indent toggle children */
.toggle > li > details {
	padding-left: 1.7em;
}

.toggle > li > details > summary {
	margin-left: -1.1em;
}

.selected-value {
	display: inline-block;
	padding: 0 0.5em;
	background: rgba(206, 205, 202, 0.5);
	border-radius: 3px;
	margin-right: 0.5em;
	margin-top: 0.3em;
	margin-bottom: 0.3em;
	white-space: nowrap;
}

.collection-title {
	display: inline-block;
	margin-right: 1em;
}

time {
	opacity: 0.5;
}

.icon {
	display: inline-block;
	max-width: 1.2em;
	max-height: 1.2em;
	text-decoration: none;
	vertical-align: text-bottom;
	margin-right: 0.5em;
}

img.icon {
	border-radius: 3px;
}

.user-icon {
	width: 1.5em;
	height: 1.5em;
	border-radius: 100%;
	margin-right: 0.5rem;
}

.user-icon-inner {
	font-size: 0.8em;
}

.text-icon {
	border: 1px solid #000;
	text-align: center;
}

.page-cover-image {
	display: block;
	object-fit: cover;
	width: 100%;
	height: 30vh;
}

.page-header-icon {
	font-size: 3rem;
	margin-bottom: 1rem;
}

.page-header-icon-with-cover {
	margin-top: -0.72em;
	margin-left: 0.07em;
}

.page-header-icon img {
	border-radius: 3px;
}

.link-to-page {
	margin: 1em 0;
	padding: 0;
	border: none;
	font-weight: 500;
}

p > .user {
	opacity: 0.5;
}

td > .user,
td > time {
	white-space: nowrap;
}

input[type="checkbox"] {
	transform: scale(1.5);
	margin-right: 0.6em;
	vertical-align: middle;
}

p {
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}

.image {
	border: none;
	margin: 1.5em 0;
	padding: 0;
	border-radius: 0;
	text-align: center;
}

.code,
code {
	background: rgba(135, 131, 120, 0.15);
	border-radius: 3px;
	padding: 0.2em 0.4em;
	border-radius: 3px;
	font-size: 85%;
	tab-size: 2;
}

code {
	color: #eb5757;
}

.code {
	padding: 1.5em 1em;
}

.code-wrap {
	white-space: pre-wrap;
	word-break: break-all;
}

.code > code {
	background: none;
	padding: 0;
	font-size: 100%;
	color: inherit;
}

blockquote {
	font-size: 1.25em;
	margin: 1em 0;
	padding-left: 1em;
	border-left: 3px solid rgb(55, 53, 47);
}

.bookmark {
	text-decoration: none;
	max-height: 8em;
	padding: 0;
	display: flex;
	width: 100%;
	align-items: stretch;
}

.bookmark-title {
	font-size: 0.85em;
	overflow: hidden;
	text-overflow: ellipsis;
	height: 1.75em;
	white-space: nowrap;
}

.bookmark-text {
	display: flex;
	flex-direction: column;
}

.bookmark-info {
	flex: 4 1 180px;
	padding: 12px 14px 14px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.bookmark-image {
	width: 33%;
	flex: 1 1 180px;
	display: block;
	position: relative;
	object-fit: cover;
	border-radius: 1px;
}

.bookmark-description {
	color: rgba(55, 53, 47, 0.6);
	font-size: 0.75em;
	overflow: hidden;
	max-height: 4.5em;
	word-break: break-word;
}

.bookmark-href {
	font-size: 0.75em;
	margin-top: 0.25em;
}

.sans { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, "Apple Color Emoji", Arial, sans-serif, "Segoe UI Emoji", "Segoe UI Symbol"; }
.code { font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace; }
.serif { font-family: Lyon-Text, Georgia, YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Songti TC", "Songti SC", "SimSun", "Nanum Myeongjo", NanumMyeongjo, Batang, serif; }
.mono { font-family: iawriter-mono, Nitti, Menlo, Courier, monospace; }
.pdf .sans { font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, "Apple Color Emoji", Arial, sans-serif, "Segoe UI Emoji", "Segoe UI Symbol", 'Twemoji', 'Noto Color Emoji', 'Noto Sans CJK SC', 'Noto Sans CJK KR'; }

.pdf .code { font-family: Source Code Pro, "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace, 'Twemoji', 'Noto Color Emoji', 'Noto Sans Mono CJK SC', 'Noto Sans Mono CJK KR'; }

.pdf .serif { font-family: PT Serif, Lyon-Text, Georgia, YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Songti TC", "Songti SC", "SimSun", "Nanum Myeongjo", NanumMyeongjo, Batang, serif, 'Twemoji', 'Noto Color Emoji', 'Noto Sans CJK SC', 'Noto Sans CJK KR'; }

.pdf .mono { font-family: PT Mono, iawriter-mono, Nitti, Menlo, Courier, monospace, 'Twemoji', 'Noto Color Emoji', 'Noto Sans Mono CJK SC', 'Noto Sans Mono CJK KR'; }

.highlight-default {
}
.highlight-gray {
	color: rgb(155,154,151);
}
.highlight-brown {
	color: rgb(100,71,58);
}
.highlight-orange {
	color: rgb(217,115,13);
}
.highlight-yellow {
	color: rgb(223,171,1);
}
.highlight-teal {
	color: rgb(15,123,108);
}
.highlight-blue {
	color: rgb(11,110,153);
}
.highlight-purple {
	color: rgb(105,64,165);
}
.highlight-pink {
	color: rgb(173,26,114);
}
.highlight-red {
	color: rgb(224,62,62);
}
.highlight-gray_background {
	background: rgb(235,236,237);
}
.highlight-brown_background {
	background: rgb(233,229,227);
}
.highlight-orange_background {
	background: rgb(250,235,221);
}
.highlight-yellow_background {
	background: rgb(251,243,219);
}
.highlight-teal_background {
	background: rgb(221,237,234);
}
.highlight-blue_background {
	background: rgb(221,235,241);
}
.highlight-purple_background {
	background: rgb(234,228,242);
}
.highlight-pink_background {
	background: rgb(244,223,235);
}
.highlight-red_background {
	background: rgb(251,228,228);
}
.block-color-default {
	color: inherit;
	fill: inherit;
}
.block-color-gray {
	color: rgba(55, 53, 47, 0.6);
	fill: rgba(55, 53, 47, 0.6);
}
.block-color-brown {
	color: rgb(100,71,58);
	fill: rgb(100,71,58);
}
.block-color-orange {
	color: rgb(217,115,13);
	fill: rgb(217,115,13);
}
.block-color-yellow {
	color: rgb(223,171,1);
	fill: rgb(223,171,1);
}
.block-color-teal {
	color: rgb(15,123,108);
	fill: rgb(15,123,108);
}
.block-color-blue {
	color: rgb(11,110,153);
	fill: rgb(11,110,153);
}
.block-color-purple {
	color: rgb(105,64,165);
	fill: rgb(105,64,165);
}
.block-color-pink {
	color: rgb(173,26,114);
	fill: rgb(173,26,114);
}
.block-color-red {
	color: rgb(224,62,62);
	fill: rgb(224,62,62);
}
.block-color-gray_background {
	background: rgb(235,236,237);
}
.block-color-brown_background {
	background: rgb(233,229,227);
}
.block-color-orange_background {
	background: rgb(250,235,221);
}
.block-color-yellow_background {
	background: rgb(251,243,219);
}
.block-color-teal_background {
	background: rgb(221,237,234);
}
.block-color-blue_background {
	background: rgb(221,235,241);
}
.block-color-purple_background {
	background: rgb(234,228,242);
}
.block-color-pink_background {
	background: rgb(244,223,235);
}
.block-color-red_background {
	background: rgb(251,228,228);
}
.select-value-color-default { background-color: rgba(206,205,202,0.5); }
.select-value-color-gray { background-color: rgba(155,154,151, 0.4); }
.select-value-color-brown { background-color: rgba(140,46,0,0.2); }
.select-value-color-orange { background-color: rgba(245,93,0,0.2); }
.select-value-color-yellow { background-color: rgba(233,168,0,0.2); }
.select-value-color-green { background-color: rgba(0,135,107,0.2); }
.select-value-color-blue { background-color: rgba(0,120,223,0.2); }
.select-value-color-purple { background-color: rgba(103,36,222,0.2); }
.select-value-color-pink { background-color: rgba(221,0,129,0.2); }
.select-value-color-red { background-color: rgba(255,0,26,0.2); }

.checkbox {
	display: inline-flex;
	vertical-align: text-bottom;
	width: 16;
	height: 16;
	background-size: 16px;
	margin-left: 2px;
	margin-right: 5px;
}

.checkbox-on {
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%2358A9D7%22%2F%3E%0A%3Cpath%20d%3D%22M6.71429%2012.2852L14%204.9995L12.7143%203.71436L6.71429%209.71378L3.28571%206.2831L2%207.57092L6.71429%2012.2852Z%22%20fill%3D%22white%22%2F%3E%0A%3C%2Fsvg%3E");
}

.checkbox-off {
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%220.75%22%20y%3D%220.75%22%20width%3D%2214.5%22%20height%3D%2214.5%22%20fill%3D%22white%22%20stroke%3D%22%2336352F%22%20stroke-width%3D%221.5%22%2F%3E%0A%3C%2Fsvg%3E");
}
	
</style></head><body><article id="a8786e28-940e-481a-88b6-5224ae91fc6e" class="page sans"><header></header><div class="page-body"><figure id="9908aef5-23a6-4991-a859-9bcc2b75d3af"><div class="source"><iframe src="https://player.vimeo.com/video/422640276" width="640" height="360" frameborder="0" allow="autoplay; fullscreen" allowfullscreen=""></iframe>
</div></figure><h1 id="2a4b2c92-b4d9-44b3-b7c7-4ad5fbd88f48" class="">What is Kudoos?</h1><p id="1cd3001f-a94e-407c-8984-290fc480de35" class="">Using <a href="https://www.thesprucepets.com/ways-to-reward-a-dog-1118276">p</a>ositive reinforcement to train your employee means you reward the behaviors you like and ignore the behaviors you do not like. You can use praise, life rewards (such as awards, a bonus, or recognition to reward your employees. </p><p id="d65ba3f3-eb84-4ad8-92d4-a70f35f737c0" class="">
</p><p id="263d2fcb-e82e-4f9e-86b7-4a5cb576fb54" class="">The Kudoos is a another effective method to for remote managers to positively reinforce good work for their employees. It’s automatic, safe, and easy!</p><p id="0fbebc76-8f57-4895-9356-c6e0ad14a537" class="">
</p><p id="a0bd861b-11b8-4d8e-88c7-290094860d2c" class="">The Kudoos is an internet connected smart device that dispenses your employees favorite treat when they complete actions or goals specified by their manager. This could be completing a Jira task or crushing a presentation. Kudoos has integrations into Jira, Slack, and Zoom! </p><p id="1995bc0d-074a-4eb3-a44f-3492ccaca93a" class="">
</p><p id="866ee7a3-2c49-41e3-bd6a-b239c3d1ecf6" class="">Use the Kudoos slash command to quickly reward a teammate for a great idea. It’s immediate feedback! They will love it. </p><h2 id="221c5e03-cf83-47c9-922d-746b02e4bf05" class="">Slack Integration 😃</h2><p id="8be6ca5f-721c-4874-bc8b-9934711bc42c" class="">Kudoos also has a custom slack integration to quickly give your team member some Kudoos. </p><h3 id="c7ce9347-9ede-4105-8395-63202283de27" class="">Did they just squash a massive bug? </h3><p id="70d722ee-e23c-4b70-9b78-833e946dc493" class="">Give some Kudoos. </p><h3 id="1900ba19-4c18-4e3a-8111-d74e3976f5e3" class="">Did your employee stay up late crushing some new code? </h3><p id="8edfac47-88d0-4cd5-a836-3f54d2fe63bf" class="">Give some Kudoos.</p><h3 id="f04de163-b370-4780-8abe-35e6adc4b821" class="">Did your badass team grind out another killer sprint to make your deadline? </h3><p id="0580b504-aac6-467b-a3b0-f0689d7f0634" class="">Give some Kudoos. </p><pre id="22d94418-54d8-44cd-aa1f-207964f3981a" class="code"><code>/feed [employee #] [amount] </code></pre><p id="9e79b77d-9238-4b4a-8dcb-f3f1b89b35ff" class="">
</p><h1 id="2397ab48-94c3-4391-8291-3e875c81bf1b" class="">JIRA Integration</h1><p id="b6332038-f25c-4710-afc3-f156f163cd37" class="">Kudoos integrates seamlessly with JIRA to dispense treats when stories or tasks are completed. You can even make the Kudoos dispense based on the story points! </p><h2 id="a87296c6-1f5e-4073-9fd0-179222161b82" class="">Apple Shortcuts Widget</h2><p id="81c3cd31-cfde-45d4-b5c5-27cbba294303" class="">Create a custom iOS home screen button for every employee for instant feedback. You can even use Siri to invoke as well!</p><figure id="defb0ba5-cec1-4fc3-8d1c-66a95cc7f184"><div class="source"><iframe src="https://player.vimeo.com/video/422643406" width="640" height="1138" frameborder="0" allow="autoplay; fullscreen" allowfullscreen=""></iframe>
</div></figure><h2 id="7d18639b-8f6c-48e9-9aa7-16c2a15f7794" class="">What People are Saying</h2><blockquote id="9ce69a02-1a78-4faa-ae67-600aa07607d5" class="">I feel more connected with my team and manager</blockquote><p id="02c2269e-6663-4bb5-8853-033eb822d58b" class="">
</p><h2 id="761768b5-8368-4d52-852c-96d96efd7213" class="">Where do I get a Kudoos? </h2><p id="9990ac6e-1032-4ab0-b3ab-b579075bbc49" class="">There is currently a long waitlist. Please send your order request to givemekudoos (at) fastmail.com</p><p id="e08685a4-6894-4f52-b9e9-ce0ac413598c" class="">
</p></div></article></body></html>]]></content><author><name>Danny Salzman</name><email>me@dannysalzman.com</email></author><category term="project" /><category term="IoT" /><category term="Satire" /><summary type="html"><![CDATA[How to Train your Remote Employee]]></summary></entry><entry><title type="html">Map of PPP Funding</title><link href="https://dannysalzman.com/2020/07/07/map-of-ppp-funding" rel="alternate" type="text/html" title="Map of PPP Funding" /><published>2020-07-07T00:00:00+00:00</published><updated>2020-07-07T00:00:00+00:00</updated><id>https://dannysalzman.com/2020/07/07/map-of-ppp-funding</id><content type="html" xml:base="https://dannysalzman.com/2020/07/07/map-of-ppp-funding"><![CDATA[<h4 id="please-be-patient">Please be patient.</h4>
<p>All data is first downloaded locally for viewing (<s>128MB</s> 79MB!). This is a single static HTML file!</p>

<p><a style="font-size:32px;" href="/files/ppp_map_v1.html">Click here for Full screen visualization</a></p>

<!-- <div>
	 <iframe width="900px" height="700px" frameborder="0" src="/files/ppp_map_v1.html" allowfullscreen="allowfullscreen">unwantedtext</iframe>
</div> -->

<h2 id="gif-of-interactive-map">GIF of Interactive Map</h2>
<p><img src="/files/projects/ppp_dashboard.gif" /></p>

<h2 id="legend">Legend</h2>

<ol>
  <li>Color of the points is based on the approx loan size. The darker the color the higher the loan.</li>
  <li>The size of the points is based on the # of jobs retained. The larger the number the larger the dot.</li>
</ol>

<p>You can edit these parameters and use the built in filtering functionality yourself!</p>

<h2 id="data-disclaimer">Data Disclaimer</h2>

<p>Data is based on the csv from SBA
 PPP Raw Data: <a href="https://home.treasury.gov/policy-issues/cares-act/assistance-for-small-businesses/sba-paycheck-protection-program-loan-level-data">https://home.treasury.gov/policy-issues/cares-act/assistance-for-small-businesses/sba-paycheck-protection-program-loan-level-data</a> [661,218 records total]</p>

<p>As reported this dataset is a big mess and I could not geocode every record. 
 Currently I have 486,701 records which is 73.6% of the original dataset. I’m not completely certain if these records are correct and my current geocoder method wasn’t working, or if there are actual mistakes in the data, my guess is the latter. I might try to take the remaining records through Google’s Geocoder since I used the US Census’s geocoder from the first run. (Getting value for my tax $’s :))</p>

<h2 id="enrichment">Enrichment</h2>
<ol>
  <li>Added an estimateLoan column which is an average of the loan range values</li>
  <li>Added the textual description of the NCID code for every firm.</li>
</ol>

<p>## Updates 
 7/9/2020</p>
<ol>
  <li>Removed columns [RaceEthnicity,	Gender,	Veteran, NonProfit, loanRange, DateApproved] to reduce data loading times and increase performance.</li>
  <li>Removed full addresses and changed to State and Zipcode columns. Allows for filtering by State and Zipcodes.</li>
</ol>]]></content><author><name>Danny Salzman</name><email>me@dannysalzman.com</email></author><category term="project" /><category term="viz" /><category term="data" /><summary type="html"><![CDATA[Please be patient. All data is first downloaded locally for viewing (128MB 79MB!). This is a single static HTML file!]]></summary></entry><entry><title type="html">I Plasti Dipped my Neo Alphasmart</title><link href="https://dannysalzman.com/2020/07/02/i-plasti-dipped-my-neo-alphasmart" rel="alternate" type="text/html" title="I Plasti Dipped my Neo Alphasmart" /><published>2020-07-02T00:00:00+00:00</published><updated>2020-07-02T00:00:00+00:00</updated><id>https://dannysalzman.com/2020/07/02/i-plasti-dipped-my-neo-alphasmart</id><content type="html" xml:base="https://dannysalzman.com/2020/07/02/i-plasti-dipped-my-neo-alphasmart"><![CDATA[<h2 id="ahhh-i-remember-that-thing">Ahhh I remember that thing</h2>

<p>I recently stumbled upon an article on Hacker News that triggered an intense nostalgia.</p>

<p><a href="https://onezero.medium.com/this-35-keyboard-for-children-transformed-me-into-a-novelist-436a55370ee5">This $35 Keyboard for Children Transformed Me Into a Novelist</a></p>

<p>In the early 2000’s I was in middle school and learning about computers on neon blue iMacs and learning to type on little green Neo AlphaSmarts.</p>

<p>After reading the article, I reached out to my mother who actually worked and still worked at my middle school. She talked with the school’s IT guy and before I knew I had a garbage bag with four Neo AlphaSmarts.</p>

<p>Popping in three fresh AA batteries and it powered right back up. It’s gloriously simple. It’s 6 line screen shows just enough text to force you to keep going and not get stuck on a single section of writing. In modern standards, the battery life is “OK” with 700 hours :). When you want to transfer your writing to a computer for posting all it takes is a USB cable and the AlphaSmart simulates a USB keyboard and types your text. No software required.</p>

<h2 id="bonus-story">Bonus Story</h2>

<p>Here is an original story that was still saved on one of the AlphaSmarts. Pretty good for a fourth grader.</p>

<blockquote>
  <p>Once upon a time in a refrigerator their lived one onion named Oniotto, a pepper named piper and a jalopeno named Jalo. One day Jalo wanted to eat a pepper while piper was spy-cing.Piper was so mad. She pushed Jalo! Onioto stopeed piper before she could push Jalo again. Jalo said,”I want to tost a pepper!” Oniotto scrimed “stop your both are acting like 2 year olds!Jalo slammed the refrigereator. Bang! Piper slammed the referigereator. Bang! Oniotto followed Jalo and Piper. Piper walked to the hardware store and got a few things to  make a sling shot.The next day Jalo woke up early and snuck out of the refrigerator.He went to the hardware store to buy stuff for an ax. Piper said,”where is low? oniotto sighed, “hu.why are you acting like this? Why did you call Jalo low? You know this is just stupid Piper
said. Lets tell Jalo that”it was bad to do this.” they found Jalo at the park. Piper said,”this is stupid. Jalo said you’re right.”Lets go home and watch a movie and eat popcorn.” They lived happily aver after.</p>
</blockquote>

<h2 id="we-can-do-better">We can do better</h2>

<p>I wanted to freshen up the old Neo AlphaSmart.</p>

<p>So I followed the instructions to dissasemble one of the Neo AlphaSmarts here <a href="https://sites.google.com/site/dutchg/home">https://sites.google.com/site/dutchg/home</a></p>

<p><img src="/files/projects/unassembled-neo.jpeg" alt="screenshot" style="width:750px;" /></p>

<p>I then used some good old black plast dip spray paint to give the case a more simple and rugged look. The grippy texture also makes it easier to carry for on the go writing.</p>

<p><img src="/files/projects/plasti-dipped-neo.jpeg" alt="screenshot" style="width:750px;" /></p>

<p><em>Drafted on my Neo AlphaSmart</em></p>]]></content><author><name>Danny Salzman</name><email>me@dannysalzman.com</email></author><category term="writing" /><category term="project" /><summary type="html"><![CDATA[My Values]]></summary></entry><entry><title type="html">Swimming as Meditation</title><link href="https://dannysalzman.com/2020/07/02/swimming-as-meditation" rel="alternate" type="text/html" title="Swimming as Meditation" /><published>2020-07-02T00:00:00+00:00</published><updated>2020-07-02T00:00:00+00:00</updated><id>https://dannysalzman.com/2020/07/02/swimming-as-meditation</id><content type="html" xml:base="https://dannysalzman.com/2020/07/02/swimming-as-meditation"><![CDATA[<p>Swimming is well known to be one of the the best exercises. It’s an all body workout with zero strain on your joints. I’ve always enjoyed swimming for this reason and it’s been an activity that I deeply enjoy.</p>

<p>I’m very relaxed when I am swimming. I often have an unusually clear head as well.</p>

<p>What I’ve realized recently is that for me at least this is driven  by the fact that swimming is one of the few activities that by it’s very structure forces you to breath correctly, slowly and deeply from the stomach.</p>

<p>The deep and rhythmic breaths between strokes forces you into a type of moving meditation that I would struggle to obtain in any other activity.</p>

<p>It is a true reminder that meditation is not an act, but a state of mind and  body. It’s not just for people who sit cross legged and say ‘OMMMM’.</p>

<p>I would recommend to anyone  who is attempting to start a mindfulness practice to look first at activities that they already enjoy like walking or swimming and leverage them first to practice controlling your attention.</p>

<p>One, you will be more enthusiastic about working on this practice on a daily basis since you already enjoy the underlying activity. Too often is the strict traditional meditation practice too over whelming for people and  it’ quickly abandoned. It’s not all or nothing!</p>

<p>Two, breath control  is such a  large part of any mindfulness practice that using a tool like swimming that forces you to take deliberate, deep,and spaced out breaths will accelerate your practice.</p>

<p>Stroke, Stroke, Stroke, Breath. Stroke, Stroke, Stroke, Breath. Stroke, Stroke, Stroke, Breath.</p>

<p>Drafted on my Neo AlphaSmart</p>]]></content><author><name>Danny Salzman</name><email>me@dannysalzman.com</email></author><category term="personal" /><category term="health" /><summary type="html"><![CDATA[Stroke, Stroke, Stroke, Breath.]]></summary></entry><entry><title type="html">My Values</title><link href="https://dannysalzman.com/2020/06/17/my-values" rel="alternate" type="text/html" title="My Values" /><published>2020-06-17T00:00:00+00:00</published><updated>2020-06-17T00:00:00+00:00</updated><id>https://dannysalzman.com/2020/06/17/my-values</id><content type="html" xml:base="https://dannysalzman.com/2020/06/17/my-values"><![CDATA[<p>I grew up in a very loving and stable household. The youngest of two, with adoring and attentive parents. Surrounded by a strong, loving family imprinted the importance of relationships, communication, and respect. Mistakes were allowed and encouraged but lying even white ones were quickly punished. My mom would call me Eddie Haskell (from leave it To Beaver fame) when I would tell them what I thought they wanted to hear. Being straightforward and honest with others, my wife my family, and most importantly with myself is always the right decision. This open communication style has followed me into the workplace and has allowed me to navigate traditionally difficult conversations.</p>

<p>My Bubbe will turn 95 years old this summer. Her advice: “make sure to have at least 15 minutes of sheer joy each and every day. Doctor’s orders!” I don’t argue with her. It’s a good reminder to consistently step back and either appreciate the reality of your wonderful life, even when times seem hard or stressful; or to poke fun at overly ambitious and serious expectations. Happiness is reality minus expectations and making sure that equation is balanced and in the black is serious business.</p>

<p>My Dad always took me seriously. Didn’t baby talk or simplify. I would ask questions and we would engage in a deep conversation. This family culture of intellectual curiosity and encouragement of learning new skills has made my life super interesting and rewarding. It seems silly and simple, but my parents engaging and talking with me was very influential and unfortunately unique. It turns out that I am a jack of all trades, a handy guy. This was and is driven by an insatiable curiosity and an almost paranoid level of self-reliance. I like to understand how things work, especially if I rely on them.</p>

<p>This hacker scientist mentality has guided me to meet amazing people and do some unique activities. From starting a technology based hunting company, plotting my heart rate during my wedding, to making moonshine, mastering cooking, or getting my private pilot’s license. I have  a unique and wide spectrum of hobbies and interests.</p>

<p>I really cherish this, since not only do I enjoy these activities, but it allows me to connect in a deep and personal way to a large majority of people I meet. This ability to form authentic friendships quickly, is the ultimate enriching activity. My wife Melissa thinks it is my best quality.</p>

<p>These three pillars of honesty, gratitude, and curiosity form the tripod of my values and ideals. They shape my aspirations of the future and my reflections on the past. They make up who I am and the person I want continue to be.</p>]]></content><author><name>Danny Salzman</name><email>me@dannysalzman.com</email></author><category term="personal" /><summary type="html"><![CDATA[My Values]]></summary></entry><entry><title type="html">META Post - Blog Infrastructure</title><link href="https://dannysalzman.com/2020/06/16/meta-post-blog-infrastructure" rel="alternate" type="text/html" title="META Post - Blog Infrastructure" /><published>2020-06-16T00:00:00+00:00</published><updated>2020-06-16T00:00:00+00:00</updated><id>https://dannysalzman.com/2020/06/16/meta-post---blog-infrastructure</id><content type="html" xml:base="https://dannysalzman.com/2020/06/16/meta-post-blog-infrastructure"><![CDATA[<h2 id="static-website-generation">Static Website Generation</h2>

<p>I write all my posts in markdown and use jekyll to generate a static HTML/JS website. I use a modifed version of the Sidey Theme <a href="https://github.com/ronv/sidey">Sidey Theme</a>.</p>

<h2 id="version-control">Version Control</h2>

<p>All code and content is stored and pushed to a private GitLab repo.</p>

<h2 id="analytics">Analytics</h2>

<p>Simple website analytics are collected through the personal version of <a href="goatcounter.com">goatcounter.com</a></p>

<h2 id="domain-hosting">Domain Hosting</h2>

<p><a href="http://dannysalzman.com">dannysalzman.com</a> is registered on <a href="http://namecheap.com">namecheap.com</a></p>

<h2 id="website-hosting">Website Hosting</h2>

<p>I use a free <a href="http://netlify.com">Netlify.com</a> account to host <a href="http://dannysalzman.com">dannysalzman.com</a>. It is a static website. That’s why it’s so SNAPPY and FAST!</p>

<h2 id="deployment">Deployment</h2>

<p>The Gitlab repo is connected to my Netlify account. Whenever I push a change to ‘Master’ in Gitlab that creates a post commmit hook to Netlify to rebuild and deploy the website with the latest code.</p>]]></content><author><name>Danny Salzman</name><email>me@dannysalzman.com</email></author><category term="meta" /><summary type="html"><![CDATA[How this site works]]></summary></entry><entry><title type="html">Syncing Canvas Files to Your Local Computer Using CanvasSync</title><link href="https://dannysalzman.com/2020/06/06/syncing-canvas-files-to-your-local-computer" rel="alternate" type="text/html" title="Syncing Canvas Files to Your Local Computer Using CanvasSync" /><published>2020-06-06T00:00:00+00:00</published><updated>2020-06-06T00:00:00+00:00</updated><id>https://dannysalzman.com/2020/06/06/syncing-canvas-files-to-your-local-computer</id><content type="html" xml:base="https://dannysalzman.com/2020/06/06/syncing-canvas-files-to-your-local-computer"><![CDATA[<h1 id="motivation">Motivation</h1>

<p>I’m going on a trip with little to no WiFi or cellular access in a few months. I’m currently attending Chicago Booth for my MBA and we use Canvas LMS for our classes. All of or course content is on Canvas, especially as we work remote.</p>

<h1 id="canvassync">CanvasSync</h1>

<p><img src="/files/canvas/canvassync.png" alt="screenshot" style="width:750px;" /></p>

<p><br /></p>

<blockquote>
  <p>CanvasSync helps students automatically synchronize modules, assignments &amp; files located on their institutions Canvas web server to a mirrored folder on their local computer. It traverses the folder hierarchy in Canvas from the top course level down to individual files and creates a similar folder structure on the local computer.</p>
</blockquote>

<p><br /></p>

<h1 id="dependencies">Dependencies</h1>

<p>You will need to have Python3 and Pipenv installed.</p>

<ol>
  <li><code>Python3</code>
    <ul>
      <li>We will leverage the Python scripting language - https://www.python.org/downloads/</li>
    </ul>
  </li>
  <li><code>Pipenv</code>
    <ul>
      <li>Pipenv is a tool to create a virtualenv for your python projects and helps to manage package dependencies.</li>
    </ul>
  </li>
  <li><code>access_token</code>
    <ul>
      <li>You will need to generate an access token for the tool to access your Canvas data. Create one by going to Profile -&gt; Settings -&gt; Approved Integrations -&gt; New Access Token. Don’t share this token and store it in a safe place.</li>
    </ul>
  </li>
</ol>

<h1 id="installation">Installation</h1>

<p>This is all on the command line. I’m on Mac OSX and using iTerm2. We will use CanvasSync which is a Python package created by Mathias Perslev that uses Canvas’s API to download all the files, assignments, assets to your computer.</p>

<ol>
  <li>Create a folder to store the Python script, dependencies, and synced Canvas data
<code>mkdir Canvas_Sync</code></li>
  <li>Move into that directory 
<code>cd Canvas_Sync</code></li>
  <li>Install the CanvasSync package and setup the virtual env
<code>pipenv install CanvasSync</code></li>
  <li>Run CanvasSync
<code>pipenv run canvas</code></li>
  <li>Enter <code>2</code> and enter to start the configuration wizard</li>
  <li>Enter the path to the folder you create.
    <ul>
      <li>Example “/Users/dsalzman/Booth Google Drive/Canvas_Sync”</li>
    </ul>
  </li>
  <li>Enter your Canvas Domain
    <ul>
      <li>Example “canvas.uchicago.edu”</li>
    </ul>
  </li>
  <li>Enter your user token</li>
  <li>Specify which courses to sync. You can just enter 0 to sync all courses.</li>
  <li>Enter 2 to use default settings.</li>
  <li>Enter a password that will encrypt these settings locally.</li>
  <li>Enter 1 to then sync your Canvas folders.</li>
  <li>Depending on how many courses and files this sync could take a while and use a lot of space. My few classes took about 10 minutes and 1GB of data.</li>
</ol>

<h1 id="how-to-refresh-your-sync-folder">How to refresh your Sync Folder</h1>
<ol>
  <li>Move into that directory 
<code>cd Canvas_Sync</code></li>
  <li>Run CanvasSync
<code>pipenv run canvas</code></li>
  <li>Enter 1 to Sync your Canvas</li>
  <li>Enter your password you set above</li>
</ol>

<p><img src="/files/canvas/canvassync-term.png" alt="screenshot" style="width:750px;" /></p>

<h1 id="limitations">Limitations</h1>

<p>If your professor uses Panopto for the video lectures these will not be downloaded. A link to the videos will be, but not the full files. For Booth it seems that there is no option to download those files.</p>

<p>Fin</p>]]></content><author><name>Danny Salzman</name><email>me@dannysalzman.com</email></author><category term="script" /><category term="Booth" /><category term="python" /><summary type="html"><![CDATA[Sync Canvas files to Use Offline]]></summary></entry></feed>